#servicos {
  /*background-color: #dee2e6;*/
  background-color: rgba(184, 184, 184, 0.11);
  scroll-margin-top: 80px;
}

#contactos {

  background-color: rgba(184, 184, 184, 0.11);
  scroll-margin-top: 80px;

}

#sobrenos{
  scroll-margin-top: 125px;
}

#portefolio{
  scroll-margin-top: 225px;
  scroll-margin-bottom: 225px;
}





/* Remove margens e preenchimentos padrão do body */
body {
  margin: 0;
  padding: 0;
  font-family: 'Open Sans', sans-serif;


}

.logo-grande {
  height: 78px;
  /* Ajuste o valor para o tamanho desejado */
  width: auto;
  /* Mantém a proporção */
  image-rendering: high-quality;

}

/* Mantém o resto do CSS existente */

/* Mantém o restante do CSS existente */

/* Navbar */
.navbar {
  transition: background-color 0.3s;
  position: fixed;
  width: 100%;
  z-index: 2;


}

.navbar-inicio {
  background-color: transparent;
}

.navbar-scroll {
  /*background-color: rgba(184, 184, 184, 0.627);*/
  background-color: #181818;
  color: #fff;
  /*filter: brightness(0.8);*/
}

.navbar-dark .navbar-nav .nav-link {
  color: #fff;
  font-weight: bold;
}

.navbar-dark .navbar-nav .nav-link:hover {
  color: rgb(224, 57, 59);
}

/* Seção de Início com Carrossel */
#inicio {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

/* Carrossel Configurações */
.carousel-inner {
  width: 100%;
  height: 100vh;
}

.carousel-item {
  height: 100vh;
}

.carousel-item img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}

/* Sobreposição de Texto */

/* Espaçamento entre palavras no menu */
.navbar-nav .nav-item:not(:last-child) {
  margin-right: 40px;
  /* Ajuste o valor conforme necessário */
}

/* Espaçamento entre letras */
.navbar-nav .nav-link {
  letter-spacing: 3px;
  /* Ajuste o valor conforme necessário */
  font-size: 14px;
}

.carousel-caption {
  position: absolute;
  top: 50%;
  /* Ajuste a porcentagem para mover o texto mais para cima ou para baixo */
  left: 50%;
  transform: translateX(-50%);
  /* Centra o texto horizontalmente */
  text-align: center;
  /* Alinha o texto ao centro */
  color: white;
  /* Caso queira manter o texto em branco */
}


.slideUp,
.slideDown {
  position: relative;
  font-size: 25px;
  opacity: 0;
}

.slideUp {
  top: 40px;
  left: 10px;
  animation: slideUp ease .6s forwards 1.2s;
}


@keyframes slideUp {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-40px);
    opacity: 1;
  }
}

.slideDown {
  top: -40px;
  left: 5px;
  animation: slideDown ease .6s forwards 1.7s;
}

@keyframes slideDown {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(40px);
    opacity: 1;
  }
}

.titulo-com-linhas {
  display: flex;
  align-items: center;
  justify-content: center;
}

.titulo-com-linhas::before,
.titulo-com-linhas::after {
  content: "";
  width: 70px;
  /* Definir a largura das linhas */
  border-top: 3px solid rgb(224, 57, 59);
  /* Linha pequena */
  margin: 0 10px;
  /* Espaçamento entre a linha e o texto */
}

.texto-sobre-nos {
  text-align: justify;
  font-size: 14px;
  padding: 20px;
  margin-left: 100px;
  background-color: rgba(184, 184, 184, 0.11);
  position: relative;
}


/* Card básico com sombra */
.service-card {
  position: relative;
  transition: transform 0.3s ease;
}

/* Estilo do botão Saber Mais */
.saber-mais-btn {
  display: block;
  margin: 10px auto;
  background-color: rgb(224, 57, 59);
  color: #fff;
  border: none;
  padding: 8px 12px;
  border-radius: 5px;
  cursor: pointer;
}

.saber-mais-btn:hover {

  background-color: #fff;
  color: rgb(224, 57, 59);
  ;
  border: 1px solid rgb(224, 57, 59);

}

/* Conteúdo do overlay oculto inicialmente */
.overlay-content {
  display: none;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  text-align: left;
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: 10px;
  text-align: center;
  font-size:13px;
}

/* Estilo do botão Fechar */
.fechar-btn {
  background-color: #fff;
  color: rgb(224, 57, 59);
  border: none;
  padding: 5px 10px;
  cursor: pointer;
  margin-top: 10px;
  border-radius: 5px;
  display: block;
  text-align: center;
  margin-left: 40%;
}

/* Contêiner da imagem */
.image-container {
  position: relative;
}

/* Marca d'água sobre a imagem */
.watermark {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('path/to/watermark-image.png');
  /* Caminho da imagem da marca d'água */
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.5;
  pointer-events: none;
}

/* Efeito de hover para restaurar a cor original da imagem e título em preto */
.service-card:hover .card-img-top {
  filter: none;
  /* Retorna a imagem à cor original */
}

.service-card:hover .card-body h5 {
  color: black;
  /* Muda a cor do título para preto */
}

/* Faz a imagem escurecer ao passar o mouse para evidenciar o efeito */
.service-card:hover .card-img-top {
  filter: brightness(1.2);
  /* Ajuste a cor da imagem ao passar o mouse */
}

.revGallery-anchor,
.gal-overlay,
.nak-gallery-poster {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}


.revGallery-anchor {
  overflow: hidden;
  position: relative;
  width: calc(100% / 5);
  display: block;
  float: left;
  /*border: 5px solid #e9e9e9;*/
}

.gal-overlay {
  display: block;
  width: 100%;
  height: 100%;
  /*background: rgba(27, 27, 27, 0.6);*/
  position: absolute;
  top: 0;
  left: 0;
  transition: background .4s ease;
  -webkit-transition: background .4s ease;
}

.revGallery-anchor:hover {
  background: rgba(27, 27, 27, 0);
}

.nak-gallery {
  display: block;
  width: 100%;
  position: relative;
  margin-top: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.nak-gallery-poster {
  padding-bottom: 100%;
  transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transition: all .4s ease;
  -webkit-transition: all .4s ease;
}

.revGallery-anchor:hover .nak-gallery-poster {
  transform: scale(1.1, 1.1);
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
}

.img-responsive {
  display: none;
}

.button {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease;
  width: 200px;
  height: 48px;
  border: 1px solid #181818;
  background-color: #fff;
  border-radius: 2px;
  color: #181818;
  ;
  letter-spacing: 2px;
  font-family: 'Open Sans', sans-serif;
  margin-right: 1%;
  border-radius: 5px;
}

.button:hover {
  background-color: #181818;
  ;
  color: #fff;
  border-radius: 5px;
}

.button:active,
.button.is-checked {
  background-color: #181818;
  margin-right: 1%;
}

.button.is-checked {
  color: white;
  text-shadow: 0 -1px hsla(0, 0%, 0%, 0.8);
}

.button:active {
  box-shadow: inset 0 1px 10px hsla(0, 0%, 0%, 0.8);
}


.revGallery-anchor-width1 {
  width: 40%
}

.revGallery-anchor-width2 {
  width: 30%
}

.revGallery-anchor-width3 {
  width: 20%
}

.nak-gallery-height1 {
  padding-bottom: 400px
}

.nak-gallery-height2 {
  padding-bottom: 300px
}

.nak-gallery-height3 {
  padding-bottom: 200px
}

.preloader {
  display: none;
}

.preloaderStyle {
  background: red;
  width: 100%;
  height: 100px;
}

.social-icon i {
  transition: all 0.3s ease;
  /* Adiciona uma transição suave */
}

/* Efeito hover para os ícones */
.social-icon:hover i {
  background-color: rgb(224, 57, 59) !important;
  /* Fundo ligeiramente mais claro */
}


.boldfooter:hover {

  font-weight: bold;

}

.servicesfont {
  font-size: 15px;

}

.form-control:focus {
  border-color: rgb(224, 57, 59);
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(224, 57, 59, .25);
}


.margincontactright {}

.form-control {
  letter-spacing: 1px;
}

.no-underline {
  text-decoration: none !important;
}

@media screen and (max-width: 575px) {

  /* Estilos para dispositivos com largura menor que 576px */
  .texto-sobre-nos {

    margin-left: 0px !important;
    font-size: 14px !important;

  }

  .overlay-content {
    font-size: 11px !important;
  }

  .fechar-btn {
    margin-left: 38% !important;
  }

  .button {
    font-size: 12px !important;
    letter-spacing: 1px;
    height: 57px;
  }

  .button.is-checked {
    font-size: 12px !important;
    letter-spacing: 1px !important;
    height: 57px !important;
  }

  .marginleft48px {
    margin-left: 25px !important;
  }

  .marginright48px {
    margin-right: 25px !important;
  }

  .marginright-5px {
    margin-right: 25px !important;
  }

  .marginleft-8px {
    margin-left: 25px !important;
  }

  .marginbuttoncontact {
    margin-bottom: 10px !important;
  }

  .margintopcontact {
    margin-top: 0px !important
  }

  .marginbottomcontact1 {
    margin-bottom: 15px !important;
  }

  .margintopnome {
    margin-top: 25px !important;
  }

  .marginleftformfeedback {
    margin-left: 27px !important;
  }

  .fontsizecontact {
    font-size: 20px !important;
  }

  .carousel-item img {
    height: 80vh !important;
  }



  .fontsizetextcarousel {
    font-size: 30px !important
  }


  .fontsizetextcarouselh2 {
    font-size: 20px !important;
  }

  .margintopcarousel {
    margin-top: -115px !important;
  }

  .marginleftcarouseltext {
    margin-left: -12px !important;
  }

  .marginbottomcarousel {
    margin-bottom: 142px !important;
  }

  .marginbottomhome {
    margin-bottom: -157px !important;
  }

  .carousel-item img {
    height: 80vh !important;
  }

  .carousel-indicators button {
    z-index: 10 !important;
    /* Coloca os indicadores acima das imagens */
  }

  .marginbottombutton{
     margin-bottom: 100px !important;
  }

  .privacidademargintop{
    margin-top: 200px !important;
  }
}

/* Para celulares médios */
@media screen and (min-width: 576px) and (max-width: 767px) {

  /* Estilos para dispositivos entre 576px e 767px */
  .texto-sobre-nos {

    margin-left: 0px !important;
    font-size: 13px !important;

  }

  .fechar-btn {
    margin-left: 42% !important;
  }

  .button {
    font-size: 13px !important;
    letter-spacing: 1px;
    height: 61px !important;
  }

  .button.is-checked {
    font-size: 13px !important;
    letter-spacing: 1px !important;
    height: 61px !important;
  }

  .marginleft48px {
    margin-left: 25px !important;
  }

  .marginright48px {
    margin-right: 25px !important;
  }

  .marginright-5px {
    margin-right: 25px !important;
  }

  .marginleft-8px {
    margin-left: 25px !important;
  }

  .marginbuttoncontact {
    margin-bottom: 10px !important;
  }

  .margintopcontact {
    margin-top: 0px !important
  }

  .marginbottomcontact1 {
    margin-bottom: 15px !important;
  }

  .margintopnome {
    margin-top: 25px !important;
  }

  .fontsizecontact {
    font-size: 21px !important;
  }

  .carousel-caption {
    display: block !important;
  }

  .slideUp {
    animation: none !important;
    opacity: 1 !important;
  }

  .fontsizetextcarousel {
    font-size: 35px !important
  }


  .fontsizetextcarouselh2 {
    font-size: 22px !important;
  }

  .margintopcarousel {
    margin-top: -100px !important;
  }
}

/* Para tablets em modo retrato */
@media screen and (min-width: 768px) and (max-width: 991px) {

  /* Estilos para tablets em modo retrato */
  .texto-sobre-nos {

    margin-left: 0px !important;
    font-size: 15px !important;

  }

  .servicesfont {
    font-size: 14px !important;

  }

  .overlay-content {
    font-size: 10px !important;
  }

  .fechar-btn {
    margin-left: 35% !important;
  }

  .button {
    font-size: 15px !important;
  }

  .button.is-checked {
    font-size: 15px !important;
  }

  .marginbottomcontact1 {
    margin-bottom: 15px !important;
  }

  .marginleft48px {
    margin-left: 48px !important;
  }

  .marginright48px {
    margin-right: 48px !important;
  }

  .marginright-5px {
    margin-right: 48px !important;
  }

  .marginleft-8px {
    margin-left: 48px !important;
  }

  .marginbuttoncontact {
    margin-bottom: 10px !important;
  }

  .margintopcontact {
    margin-top: 0px !important
  }

  .margintopnome {
    margin-top: 20px !important;
  }

  .fontsizecontact {
    font-size: 23px !important;
  }

  .fontsizetextcarousel {
    font-size: 40px !important
  }

  .leteringcarousel {
    letter-spacing: 0.1px !important;
  }

  .fontsizetextcarouselh2 {
    font-size: 25px !important;
  }

  .margintopcarousel {
    margin-top: -80px !important;
  }
}

/* Para tablets em modo paisagem e notebooks pequenos */
@media screen and (min-width: 992px) and (max-width: 1199px) {
  /* Estilos para tablets em paisagem ou notebooks */

  .texto-sobre-nos {

    font-size: 12px !important;


  }

  .servicesfont {
    font-size: 13px !important;

  }

  

  .fechar-btn {
    margin-left: 36% !important;
  }

  .margincontactright {
    margin-right: 5px !important;
  }

  .margincontactbottom {
    margin-bottom: 15px !important;

  }

  .letterizecontact {

    letter-spacing: 0px !important;
    font-size: 13px !important;
  }

  .fontsizecontact {
    font-size: 23px !important;
  }

  .marginleft48px {
    margin-left: 48px !important;
  }

  .marginright48px {
    margin-right: 48px !important;
  }

  .marginright-5px {
    margin-right: -5px !important;
  }

  .marginleft-8px {
    margin-left: -8px !important;
  }

  .marginbuttoncontact {
    margin-bottom: -10px !important;
  }

  .override-styles {
    display: block !important;
  }

  .fontsizetextcarousel {
    font-size: 29px !important
  }

  .leteringcarousel {
    letter-spacing: 1.5px !important;
  }

  .fontsizetextcarouselh2 {
    font-size: 22px !important;
  }

  .margintopcarousel {
    margin-top: -36px !important;
  }

  .servicesfont {
    font-size: 15px !important;

  }

  .overlay-content {
    font-size: 10px !important;
  }


}



/* Para desktops pequenos */
@media screen and (min-width: 1200px) and (max-width: 1399px) {

  /* Estilos para desktops pequenos */
  .texto-sobre-nos {

    font-size: 13px !important;


  }

  .fechar-btn {
    margin-left: 39% !important;
  }

  .margincontactright {
    margin-right: 5px !important;
  }

  .letterizecontact {

    letter-spacing: 0.1px !important;
    font-size: 15px !important;
  }

  .fontsizecontact {
    font-size: 30px !important;
  }

  .marginleft48px {
    margin-left: 48px !important;
  }

  .marginright48px {
    margin-right: 48px !important;
  }

  .marginbuttoncontact {
    margin-bottom: 6px !important;
  }

  .fontsizetextcarousel {
    font-size: 35px !important
  }

  .margintopcarousel {
    margin-top: -38px !important;
  }

  .fontsizetextcarouselh2 {
    font-size: 28px !important;
  }

  .leteringcarousel {
    letter-spacing: 1.5px !important;
  }

  .servicesfont {
    font-size: 13px !important;

  }
  .overlay-content {
    font-size: 11px !important;
  }

}

/* Para desktops grandes */
@media screen and (min-width: 1400px) {
  /* Estilos para desktops grandes */

  .fontsizecontact {
    font-size: 30px !important;
  }

  .marginleft48px {
    margin-left: 48px !important;
  }

  .marginright48px {
    margin-right: 48px !important;
  }

  .marginbuttoncontact {
    margin-bottom: 8px !important;
  }

  .margintopcarousel {
    margin-top: -65px !important;
  }

  .fontsizetextcarousel {
    font-size: 42px !important
  }

  .fontsizetextcarouselh2 {
    font-size: 30px !important;
  }

  .leteringcarousel {
    letter-spacing: 1.5px !important;
  }
}