.poppins-thin {
  font-family: "Poppins", serif;
  font-weight: 100;
  font-style: normal;
}

.poppins-extralight {
  font-family: "Poppins", serif;
  font-weight: 200;
  font-style: normal;
}

.poppins-light {
  font-family: "Poppins", serif;
  font-weight: 300;
  font-style: normal;
}

.poppins-regular {
  font-family: "Poppins", serif;
  font-weight: 400;
  font-style: normal;
}

.poppins-medium {
  font-family: "Poppins", serif;
  font-weight: 500;
  font-style: normal;
}

.poppins-semibold {
  font-family: "Poppins", serif;
  font-weight: 600;
  font-style: normal;
}

.poppins-bold {
  font-family: "Poppins", serif;
  font-weight: 700;
  font-style: normal;
}

.poppins-extrabold {
  font-family: "Poppins", serif;
  font-weight: 800;
  font-style: normal;
}

.poppins-black {
  font-family: "Poppins", serif;
  font-weight: 900;
  font-style: normal;
}

.poppins-thin-italic {
  font-family: "Poppins", serif;
  font-weight: 100;
  font-style: italic;
}

.poppins-extralight-italic {
  font-family: "Poppins", serif;
  font-weight: 200;
  font-style: italic;
}

.poppins-light-italic {
  font-family: "Poppins", serif;
  font-weight: 300;
  font-style: italic;
}

.poppins-regular-italic {
  font-family: "Poppins", serif;
  font-weight: 400;
  font-style: italic;
}

.poppins-medium-italic {
  font-family: "Poppins", serif;
  font-weight: 500;
  font-style: italic;
}

.poppins-semibold-italic {
  font-family: "Poppins", serif;
  font-weight: 600;
  font-style: italic;
}

.poppins-bold-italic {
  font-family: "Poppins", serif;
  font-weight: 700;
  font-style: italic;
}

.poppins-extrabold-italic {
  font-family: "Poppins", serif;
  font-weight: 800;
  font-style: italic;
}

.poppins-black-italic {
  font-family: "Poppins", serif;
  font-weight: 900;
  font-style: italic;}

























@font-face {
  font-family:cooper ;
  src: url(cooper-black-condensed-regular.otf);
}





:root {
  --base-size: 1rem;
  --scale: 1.25;
}



h1 { font-size: calc(var(--base-size) * var(--scale) * 2.5); }
h2 { font-size: calc(var(--base-size) * var(--scale) * 2); }
p { font-size: calc(var(--base-size) * var(--scale)); }

@media (min-width: 768px) {
  :root {
    --scale: 1.414;
  }
}

*{
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  text-decoration: none;
  transition: 0.2s linear;
  font-family: poppins, sans-serif;
}
body {background-color: rgb(255, 255, 255);}
.nav {
  font-family: poppins;
  font-weight: 900;
  color: rgb(255, 255, 255);
  text-decoration: none;
  transition: 0.3s;
}

.nav:hover {
  opacity: 0.7;
  color: #ff0101;
}



#log {width:8vh; height:8vh;}

   /* organizando a barra de navegação*/

#subnav {
  display: flex;
  background-color: rgb(0, 0, 0);
  align-items: center;
  
}
#subnav > img {width:3vh; height:3vh;}
/* Garante que não haverá rolagem horizontal */
html, body {
  overflow-x: hidden;
  width: 100%;
}

#mainav {
  display: flex;
  justify-content: space-around;
  align-items: center;
  font-family: poppins, -apple-system, Helvetica, Arial, sans-serif;
  background-color: #040960;
  height: 8vh;
  width: 100%; /* Garante que não ultrapasse a largura */
}

main {
  background: url("bg.jpg") no-repeat center center;
  background-size: cover;
  height: 92vh;
}

/* Menu Mobile - Escondido inicialmente CORRETAMENTE */
.nav-list {
  list-style: none;
  position: fixed;
  top: 8vh;
  right: -50vw; /* Alterado para esconder FORA da tela */
  width: 50vw;
  height: 92vh;
  background: #040960;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  transition: transform 0.3s ease-in;
  display: flex; /* Mantém como flex mesmo escondido */
  z-index: 1000; /* Garante que fique acima do conteúdo */
}

.nav-list li {
  letter-spacing: 3px;
  opacity: 0; /* Inicia invisível */
  transform: translateX(20px); /* Preparação para animação */
}

/* Estado ATIVO (quando clica no botão) */
.nav-list.active {
  transform: translateX(-50vw); /* Traz para dentro da tela */
}

.nav-list.active li {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Botão do Menu */
.mobile-menu {
  display: none;
  cursor: pointer;
  z-index: 1001; /* Acima da nav-list */
}

.mobile-menu div {
  width: 32px;
  height: 2px;
  background: #000000;
  margin: 8px;
  transition: 0.3s;
}

/* Media Query - Tela pequena */
@media (max-width: 700px), (max-height: 700px) {
  .mobile-menu {
    display: block;
  }
  
  /* Remove qualquer possibilidade de rolagem horizontal */
  body.nav-active {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }
}

/* Animações */
@keyframes navLinkFade {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Transformação do botão em "X" */
.mobile-menu.active .line1 {
  transform: rotate(-45deg) translate(-8px, 8px);
}

.mobile-menu.active .line2 {
  opacity: 0;
}

.mobile-menu.active .line3 {
  transform: rotate(45deg) translate(-5px, -7px);
}
   /*acabou a barra de navegação e começa a imagem */
 
 #geral {
  display: flex;
  flex-direction: column;
  background: linear-gradient(to right, 
  #040960 0%, /* 100% opaco no início */
  #040960 20%, /* 100% opaco até 20% */
  rgba(0, 0, 255, 0) 40%, /* Transição suave para 0% opaco em 40% */
  rgba(255, 0, 0, 0) 100% /* 0% opaco até o final */
  ),
  url('angulo.png');
background-position: center; 
background-repeat: no-repeat; 
background-color: #fff; 
height: 600px; 
background-size: cover;
}
#pr {color:#ffeb0f;}
#hidraulica{font-style: normal; font-size: 15px; font-weight: 700;margin-right:50px; color:#ffffff; text-shadow:1px 1px 1px #000000;}
#hidraulica:hover {color:#ff0101;}
/*fim da imagem, início da segunda seção*/

/*organizando grid e outras coisas */

#informacoes {
  margin-top: 5rem;
  font-size:2rem;
  color:rgb(255, 255, 255);
  margin-left:35px;
  
}
 
#logo {
  width:100px;
  height:100px;
  margin-top: 20px;
  margin-left: 20px;
}
.bold {
  font-weight: 900;}
  .yellow {color: #ffea00; }
  .V {color: #ff0101;font-family: cooper; }
  .B {color:#040960; }
  
#Sobre {
  margin: 20px;
  display:grid;
  grid-template-columns: auto auto; 
  grid-template-rows:auto 200px auto;
  height:800px;
background-color: rgb(255, 255, 255);
 
  grid-template-areas: 
  "um um"
  "dois tres"
  "quatro tres"
  
}

#Sobre > h1 {
 font-family: cooper;
  font-weight: 600;
  color: rgb(0, 0, 0);
  font-size: clamp(24px, 7vw, 48px)
  }
 
  #Sobre > #um {position: relative;}
  #um::after { content:""; width: 0%; height:4px; position: absolute; bottom: 0px; left:0px; transition: 1s ease-in-out; background-color: rgb(33, 17, 137);}
  #um:hover::after { width:100%;}
  



#Sobre > p 
{font-size: 1.45rem; color: rgb(255, 255, 255); text-align: center;}

/* alinhando o h1 */
.alinhar {
  display: inline-block;
  text-align: center;
  font-family: cooper;
}


/* fim do alinhamento */

/*organizando os elementos abaixo do título*/
 
  #um {grid-area: um;  text-align: start;  align-self: center; margin-left: 40px;}
  #dois {grid-area: dois;  background-color: rgb(33, 17, 137); width: 60rem; height:17rem;  border-radius: 15px;} 
  #tres {grid-area: tres; width:300px;height:300px; text-align: start; margin-bottom: 230px; margin-top: 30px;} 
  #orçamento {grid-area: quatro; background: #ffea00;color: rgb(255, 255, 255);padding: 0.5rem 1rem; font-weight: 700;
    font-size: 2rem;cursor: pointer; margin-top: 0.5rem; display: inline-block; border-radius: 5%;align-self: center; justify-self: center;}
    #orçamento:active {background-color: #ff0101;}
    #orçamento:hover {background-color: #ff0101;}
    @media (max-width: 700px) ,(max-height: 700px)  {
    #Sobre { display: flex; flex-direction: column; align-items: center; height:1300px;text-align:right;}
    #um {margin-bottom:10px;}
    #dois {width:20rem;height:20rem; }
    #orçamento {font-size: 1.25rem;  }
    #Sobre > p 
{font-size: 18px;}
.invisible {display: none;}
#Sobre > h1 {font-size: 3rem;}
    #Sobre {height:850px;}
    }

/* fim da segunda sessão */

/* começo da terceira sessão, organizando layout */
#serviços {
  background: linear-gradient(to right, rgb(34, 0, 255) 0%, rgb(33, 17, 137) 30% 60%,  rgb(34, 0, 255));
  background-color: #ff0101;
  background-size: 500% 100%;
  animation: degrade-animado 5s infinite alternate;
  height: 1100px; width: 100%; color: #ffffff;}
  #título {display: flex; flex-direction: column; text-align: center; margin-bottom:30px;}
  .linhas {margin-top:80px;}
  #título > p {font-size:24px;}
  #título > h1 {font-size: 3em; color:#ffea00}
  #dad {display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap:10px; height: 100vh; justify-content: center; 
  grid-template-areas: 
  "p s t "
  "qa qa qi";}
  #p  {grid-area:p; display: flex; align-items: center; align-self: center;}
  #s  {grid-area:s;display: flex; align-items: center; align-self: center; }
  #t  {grid-area:t;display: flex; align-items: center;align-self: center;}
  #qa {grid-area:qa;display: flex; align-items: center; position:relative; left:170px;}
  #qi {grid-area:qi; grid-column: 3/3;display: flex; align-items: center;position:relative; right:170px;}

  @media (max-width: 700px) ,(max-height: 700px) {
    #título > h1 {margin-bottom:20px;}
    #serviços {height:1850px;}
    #dad {display: flex; flex-direction: column; height:1500px; align-items: center;}
    #dad > div { width:100px; height: 20px;margin-bottom: 10px;}
    .background { width:50px;height:40px;}
    #qa {left:0px;}
    #qi {right:0px;}
    



  }

  @keyframes degrade-animado { 0% {background-position-x:0%;}
                            100%{background-position-x:100%;} }
                          
  /* organizando as divs dentro do grid*/

 #dad > div {
  background-color: white;
  border: 3px solid  #000000;
  width:400px;height:300px;
  color: #ffea00;
  border: 3px solid  #ffffff;
  font-weight: 500;
      position: relative; /* Mantém como referência para elementos absolutos */
  overflow: hidden; /* Contém elementos filhos */
  border-radius: 10%;
  transition: all 0.4s ease;
 }

  /* organizando as imagens dentro das filhas-grid */

.ajuste {position: absolute; width: 400px; height: 300px; align-items: center;
 display: flex; text-align: center; justify-content: center; color: #fff; font-size: 24px; z-index: 4;}
.background { width:400px;height:300px; background-position: center; border-radius: 10%; z-index: 0;filter: brightness(0.4); }
#back1 {background-image: url('mangueira.jpg');}
#back2 {background-image: url('segundo.jpg');}
#back3 { background-image: url('eletrica.jpg');}
#back4 {background-image: url('primeiro.png')}
#back5 {background-image: url('kwid\ \(1\).png')}
#dad > div:hover {filter: brightness(1.25);}

/* terminou a terceira sessão */
#depoimentos {
  height:500px;
  align-items: center;
  text-align: center;
  position: relative;
   background: linear-gradient(to right, rgb(34, 0, 255) 0%, rgb(33, 17, 137) 30% 60%,  rgb(34, 0, 255));
  background-color: #ff0101;
  background-size: 500% 100%;
  animation: degrade-animado 5s infinite alternate;
}
#depoimentos >h1 {
  color:white;
}
#avaliacoes{
  position: relative;  
  height: 200px;
  width: 1075px;
  display: flex;
  align-items: center;
}

.swiper{
  width: 950px;
}

.card{
  position: relative;
  background: #fff;
  border-radius: 20px;
  height: 100px;
  margin: 20px 0;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);

}
.swiper-slide  {
  min-height: 300px;
}


.card .card-content{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px;
  position: relative;
  z-index: 100;
}



#avaliacoes .card .image img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 20%;
  border: 3px solid #fff;
}
.card .name-profession{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 20px;
  color: black;
} 

.name-profession .name{
  font-size: 15px;
  font-weight: 600;
}
.card-content {
  position: relative; /* Importante */
  z-index: 2;
  height: 100%;
}
.name-profession .text{
  font-size:15px;
  font-weight: 400;
}

.card .rating{
  display: flex;
  align-items: center;
  margin-top: 18px;
}

.card .rating i{
  font-size: 2em;
  margin: 0 2px;
  color: #eeff00;
}

.card .button{
  width: 100%;
  display: flex;
  justify-content: space-around;
  margin-top: 20px;
}



.swiper-pagination{
  position: absolute;
  top: 450px;
}

.swiper-pagination-bullet{
  height: 7px;
  width: 26px;
  border-radius: 25px;
  background: white;
}

.swiper-button-next, .swiper-button-prev{
  opacity: 0.7;
  color: white;
  transition: all 0.3s ease;
}
.swiper-button-next:hover, .swiper-button-prev:hover{
  opacity: 1;
  color: white;
}
#googleimg {
  width: 16px;
  height:16px;
}
.card .btn{
  width: 100px;
  display: flex;
  ;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

.card .btn{
  background: #afafaf;
  outline: none;
  border: none;
  color: #fff;
  border-radius: 10px;
  font-size: 14px;
  transition: all 0.3s ease;
  cursor: pointer;
}
 
.btn:hover{
  background:  #ff0101;
}
.mais {display: none;}
.paragrafo {font-size:15px;}


.name  {display: flex; align-items: center; justify-content: center;}

@media (max-width: 700px) ,(max-height: 700px) {
  .swiper {width:300px;height:300px;margin-bottom:50px;}
  #avaliacoes {width:300px;}
}


/*começo da sessão quatro */

#grandmother {background-color: #fff; display: grid; grid-template-rows: 1fr 1fr; height: 200px; width: 100%; color: rgb(0, 0, 0);}
#acima { margin-left:180px; display:flex; flex-direction: column; justify-content: center;}
#loc {font-size: 1.5em; font-weight:600;position: relative;}
#loc::after { content: ''; width: 200px; height:2.25px; background: linear-gradient(to right,  rgb(34, 0, 255) 0%, rgb(33, 17, 137) 30% 60%,  rgb(34, 0, 255));background-size: 500% 100%;
  animation: degrade-animado 5s infinite alternate; display: inline-block; margin-bottom:5px; margin-left:7px;}
#destaque {font-size: 2.25em; font-weight: 900;}
#animation { background: linear-gradient(to right, rgb(34, 0, 255) 0%, rgb(33, 17, 137) 30% 60%,  rgb(34, 0, 255));background-size: 500% 100%;
  animation: degrade-animado 5s infinite alternate;background-clip: text;-webkit-text-fill-color: transparent;}
#localizados {font-size:24px;font-weight:700;}
#caixadelocalizacao {justify-self: center;}
.mapa {width:1100px; height:380px; border-radius: 40px; margin-bottom: 100px;}
@media (max-width: 700px) ,(max-height: 700px)  {
  #grandmother {display:flex; flex-direction:column ;height:400px; align-items: center;}
  #acima {margin:0px;align-items: center;}
  #loc {font-size:2em;}
  #localizados {text-align: center; font-size:1.5em}
  #loc::after {display:none;}
  .mapa {width:400px;}
  #destaque {font-size:3em;text-align: center;}

}

/* fim da quarta sessão */

/* começo da sessão cinco */


#fim {

  height:100px;
  background-color: #000000;
  color:white;
}

#caixamaiorcima {display: grid; grid-template-columns: 1fr 6fr 3fr;align-items: center;}
#logo2 {
  width:100px;
  height:100px;
 
}
h2 {
  font-size:2em; color:#ff0101;
}
#vem {position: relative; bottom:20px; color:#eeff00; font-weight:bold;font-size:24px;}

#telefone {width:5vh; height:5vh; color:black;}
#caixacima {display:flex;flex-direction: column;justify-self: start;align-items: center;}
#caixamenor {display: flex;flex-direction: row; font-size:20px;}

@media (max-width: 700px) ,(max-height: 700px)  {
  #fim {
    height:160px;}
}
/* fim da sessão cinco */

/*inicio da sessão seis */
