@import url('https://fonts.googleapis.com/css2?family=Anton&family=Boldonse&family=Funnel+Sans:ital,wght@0,300..800;1,300..800&family=Manrope:wght@200..800&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');


* {
    padding: 0;
    margin: 0;
}

.logo  {
   font-weight: 500;
   font-size: 25px;
   color: #ff8800;
}

.icons-head {
    display: flex;
    font-size: 20px;
    gap: 5px;
   
}

.fa-square-facebook,
.fa-instagram {
    display: flex;
    font-size: 20px;
    gap: 5px;
    color: #ffffff;
   
}

.fa-square-facebook:hover,
.fa-instagram:hover {
    color: #808080;
}

.link-redes {
    text-decoration: none;
    cursor: pointer;
    background-color: #979797;
    border-radius: 50% 50%;
    padding: 15%;
}

.carousel-item img {
      width: 100%;
      height: 70vh; 
      object-fit: cover; 
    }

    .menu-escondido {
      display: flex;
      flex-direction: column;
      background-color: #d1d1d1;
      padding: 10px;
      align-items: end;
      display: none;
    }   

    
.carousel-overlay {
      background-color: rgba(0, 0, 0, 0.4);
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 70vh;
    }

    
.carousel-caption-left {
      position: absolute;
      top: 50%;
      left: 15%;
      transform: translateY(-50%);
      text-align: left;
      padding: 20px;
      
    }

.container-header {
    display: flex;
    justify-content: space-between;
    margin: 15px 200px 15px 200px;
    align-items: center;
}

.btn-color {
    background-color: #ff4500;
    color: #fff;
    padding: 13px 20px 13px 20px;
    border-radius: 11px;
    border: 1px solid transparent;
    font-weight: 600;
    text-decoration: none;
}

.btn-color:hover {
    background-color: transparent;
    border: 1px solid;
}

.btn-custom {
      border-radius: 0.5rem;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      transition: all 0.3s ease-in-out;
      border: 2px solid transparent; /* Adiciona uma borda transparente por padrão para evitar o "salto" */
     
    }

.btn-custom:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
      background-color: transparent; /* Torna o fundo transparente no hover */
      border-color: #ffffff; /* Adiciona a borda branca no hover */
    }
    
    /* Classe para o laranja de bombeiro */
.text-firefighter-orange {
      color: #ff4500;
    }


.link-menu{
    text-decoration: none;
    color: #333;
}

.link-menu:hover {
    color: #ff8800;
}


.link-menu-footer {
    text-decoration: none;
    color: #fff;
}

.link-menu-footer:hover {
    color: #ff8800;
}

.container-menu {
    display: flex;
    gap: 60px;
}

.menu-geral {
    margin: 0 100px 0 100px;
}

.container-produtos {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    padding: 20px;
    margin: 60px 0 60px 0;
}

.card {
    display: flex;
    width: 300px;
    height: 300px;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    align-items: center;
    justify-content: center;
}

.card h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.card-text {
    font-size: 1rem;
    text-align: center;
    color: #555;
}

.btn-saibamais {
    display: inline-block;
    padding: 10px 20px;
    background-color: #FF4500;
    border: 1px solid #FF4500;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
   
}

.btn-saibamais:hover {
    background-color: transparent;
    color: #ff8800;
    border: 1px solid #ff8800;
}

.certificacoes-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 20px;
    flex-direction: column;
}

.certificacoes-container h2 {
    font-size: 2rem;
    margin-bottom: 10px;
    text-align: center;
}


.swiper {
      width: 100%;
      height: 100%;
    }

    .swiper-slide {
      text-align: center;
      font-size: 18px;
      justify-content: center;
      align-items: center;
      padding: 0 60px 0 60px;
    }

    .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .swiper-container {
      display: flex;
      align-items: center;
      margin: 0 210px 0 210px;
    }

    .swiper-button-next:after, 
    .swiper-button-prev:after {
    font-size: 20px;
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    color: #ff4500;
    }

    .frase-container {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 60px;
        background-color: #3d3d3d; 
        margin-top: 5%;
    }

    .frase-content {
        font-family: "Funnel Sans", sans-serif;
        font-weight: 400;
        font-style: italic;
        line-height: 1.5;
        max-width: 800px;
        text-align: center;
        font-size: 1.2rem;
        color: #ffffff;
    }
.laudos-container {
    display: flex;
    margin: 0px 200px 60px 200px;
    align-items: center;
    justify-content: center;
    gap: 20px;
    
}

.laudos {
    background-color: #6c757d;
}

.laudos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; 
  padding: 20px;
  cursor: pointer;
}

.laudos-grid > div {
  padding: 15px;
  border-radius: 8px;
  text-align: justify;
  background-color: #b5b6b6;
}

.laudos-grid:hover > div:hover {
  box-shadow: #494949 0px 0px 20px;
}

.laudos-titulos {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 10px;
    margin-top: 60px;
}

.laudos-titulos h2 {
    font-size: 2rem;
    margin-bottom: 10px;
    text-align: center;
}

.laudos-titulos p {
    font-size: 1rem;
    text-align: center;
    color: #555;
}

.footer {
    background-color: #333;
    color: white;
    padding: 70px 0 70px 0;
    position: relative;
    bottom: 0;
    width: 100%;

}

.linha-footer {
    border-top: 2px solid #ff8800;
    margin: 20px 0;
}

.footer-assinatura {
    color: #fff;
    background-color: #4e4e4e;
    padding: 40px 0 40px 0;
    
}

.link-assinatura-footer {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

.footer-assinatura a {
  color: #fff !important;
  text-decoration: none !important;
}

.footer-assinatura a:hover {
  color: #fff !important;
  text-decoration: none !important;
}

.logo-footer {
    width: 90px;
    height: auto;
    background-color: #f0f0f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}


.breadcrumbs {
    background-color: #ff4500;
    font-size: 13px;
    color: #fff;
}

.breadcrumbs p {
    margin: 0 0 0 200px;
}

.quem-somos {
    display: flex;
    padding: 50px 200px 50px 200px;
    gap: 20px;
}

.logo-somos {
    width: 20%;
}


.row {
   
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    /* margin-left: calc(-.5 * var(--bs-gutter-x)); */
}
.visao-missao {
    display: flex;
    margin: 50px 200px 50px 200px;
    gap: 50px;
}

.historia-al {
    width: 25%;
}

.historia {
    display: flex;
    align-items: center;
    padding:  0 200px 0 200px;
}

#lightgallery .col-md-4 {
    display: flex; /* Para centralizar o item dentro da coluna */
    justify-content: center; /* Centraliza horizontalmente */
    align-items: center; /* Centraliza verticalmente */
    padding: 10px; /* Espaçamento entre as imagens */
}

#lightgallery a {
    display: block; /* Garante que o link ocupe o espaço */
    width: 200px;   /* Largura desejada para a imagem quadrada */
    height: 200px;  /* Altura desejada para a imagem quadrada */
    overflow: hidden; /* Garante que a imagem não saia do container quadrado */
    border-radius: 8px; /* Bordas levemente arredondadas, opcional */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave, opcional */
    transition: transform 0.2s ease-in-out; /* Efeito de transição ao passar o mouse */
}

#lightgallery a:hover {
    transform: scale(1.03); /* Leve zoom ao passar o mouse */
}

#lightgallery img {
    width: 100%;  /* Faz a imagem preencher 100% da largura do contêiner 'a' */
    height: 100%; /* Faz a imagem preencher 100% da altura do contêiner 'a' */
    object-fit: cover; /* Recorta a imagem para preencher o quadrado sem distorcer */
    display: block; /* Remove possíveis espaços em branco abaixo da imagem */
}

    .menu-toggle {
        display: none;
    }

/* Responsividade para telas menores */
@media (max-width: 768px) {
    #lightgallery a {
        width: 150px; /* Reduz o tamanho das imagens em telas menores */
        height: 150px;
    }
}

@media (max-width: 576px) {
    #lightgallery a {
        width: 120px; /* Reduz ainda mais em telas muito pequenas */
        height: 120px;
    }
}

.treinamento-container{
    display: flex;
    margin: 50px 200px 50px 200px;
    gap: 20px;
    background-color: transparent;
}

.card-treinamentos {
    box-shadow: 3px 3px 20px #888888;
    border-radius: 2%;
    padding: 15px;
    bottom: 0;
}

.btn-treino {
    background-color: #ff4500;
    color: #fff;
    padding: 8px;
    border-radius: 10px;
    text-decoration: none;
    border: 1px solid transparent;
    position: absolute;
   
}

.btn-treino:hover {
    background-color: transparent;
    color: #ff4500;
    border: 1px solid #ff4500;

}

.fale-whats {
    background-image: url("image/fale-whats.webp");
    background-repeat: no-repeat;
    height: 300px;
    color: #fff;
}

.fale-conosco-txt {
    margin: 0px 200px 0 600px;
    padding: 50px 0 0 0;
}

.fa-square-instagram,
.fa-square-whatsapp {
    font-size: 50px;
    text-decoration: none;
    color: #fff;
}

.fa-square-instagram:hover,
.fa-square-whatsapp:hover {
    color: #ff4500;
}

.clinte {
    display: flex;
    margin: 20px 210px 20px 210px;
    gap: 20px;
   
  
}

.testemunhal {
    background-color: transparente;
    padding: 20px;
    border: 1px solid;
    border-radius: 20px;
}

/* Posicionamento do card como contêiner */
.testemunhal {
    position: relative; /* FUNDAMENTAL! Posiciona os balões de forma absoluta dentro do card */
    /* Outros estilos de card, como borda, sombra, padding, etc. */
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 20px;
    margin: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Estilo do contêiner dos ícones */
.container-icones {
    position: relative; /* Também pode ser relativo para melhor controle */
    display: inline-block;
    margin-top: 10px;
}

/* Estilo do balão de explicação */
.caixa-explicacao {
    position: absolute; /* Posição absoluta em relação ao .testemunhal */
    bottom: 100%; /* Exibe o balão acima dos ícones */
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    width: 250px;
    display: none; /* Balões começam ocultos */
    z-index: 10;
}

.fa-file {
    color: #ff4500;
}


/* Seção principal do formulário */
.contact-section {
    padding: 80px 20px; /* Mais espaçamento superior/inferior */
}

.contact-container {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    background-color: #ffffff;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08); /* Sombra mais suave */
    border-radius: 15px; /* Cantos arredondados */
    overflow: hidden;
}

/* Estilos da coluna de informações e formulário */
.contact-info {
    flex: 1;
    padding: 60px; /* Mais padding interno */
    display: flex;
    flex-direction: column;
}

.info-section h2 {
    font-size: 2.2em;
    font-weight: 600; /* Mais encorpado */
    margin-bottom: 10px;
    color: #212529;
}

.info-section p {
    font-size: 1em;
    line-height: 1.6;
    color: #6c757d;
}

.info-details {
    margin: 40px 0;
}

.detail-item {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}

.detail-item i {
    font-size: 1.6em;
    color: #070707; /* Azul vibrante */
    margin-right: 20px;
    width: 40px; /* Para garantir alinhamento */
    text-align: center;
}

.detail-item h4 {
    margin: 0;
    font-size: 1.1em;
    font-weight: 500;
}

.detail-item p {
    margin: 3px 0 0;
    font-size: 0.9em;
    color: #6c757d;
}

.social-links {
    margin-bottom: 40px;
}

.social-links a {
    color: #6c757d;
    font-size: 1.6em;
    margin-right: 20px;
    transition: color 0.3s ease;
}

.social-links a:hover {
    color: #007bff;
}

/* Estilos do formulário */
.contact-form {
    display: flex;
    flex-direction: column;
}

.contact-form label {
    font-weight: 500;
    margin-top: 20px;
    margin-bottom: 8px;
    color: #212529;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #e9ecef;
    border-radius: 8px; /* Cantos arredondados */
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
    font-size: 1em;
    transition: border-color 0.3s ease;
}

.contact-form input:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: #007bff; /* Borda azul ao focar */
}

.contact-form textarea {
    resize: vertical;
}

.contact-form button {
    display: block;
    width: 100%;
    padding: 15px;
    background-color: #ff8800;
    color: #fff;
    border: none;
    border-radius: 8px;
    margin-top: 30px;
    font-size: 1.1em;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.contact-form button:hover {
    background-color: #ff4500;
    transform: translateY(-2px);
}

/* Estilos da coluna do mapa */
.map-container {
    flex: 1;
    min-height: 500px;
}

.map-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0 15px 15px 0; /* Cantos arredondados apenas na direita */
}

.fa-facebook-f,
.fa-whatsapp,
.fa-linkedin-in {
    color: #4e4e4e;
}



@media (max-width: 1024px) {
    .menu-toggle {
    display: none;
}
 .container-header {
    display: flex;
    justify-content: space-between;
    margin: 15px 60px 15px 60px;
    align-items: center;
}
.logoOficial {
    display: flex;
    width: 90%;
    height: 100%;
}
.visao-missao {
    display: flex;
    margin: 50px 90px 50px 50px;
    gap: 50px;
}
.treinamento-container {
        display: flex;
        margin: 50px 50px 50px 25px;
        gap: 20px;
        background-color: transparent;
    }
    .breadcrumbs p {
    margin: 0 0 0 120px;
}
    .fale-conosco-txt {
        margin: 0px 200px 0 500px;
        padding: 30px 0 0 0;
    }
    .clinte {
    display: flex;
    margin: 20px 5px 20px 5px;
    gap: 20px;
}
.swiper-container {
    display: flex;
    align-items: center;
    margin: 0 150px 0 150px;
}
}





@media (max-width: 768px) {
    .container-header {
        display: flex;
        justify-content: space-between;
        margin: 15px 60px 15px 60px;
        align-items: center;
    }
    .container-menu {
        display: none;
    }

    .icons-head {
        display: none;
    }

    .menu-toggle {
        display: block;
        font-size: 30px;
        cursor: pointer;
    }

    /* === CORREÇÃO: ADICIONA A LÓGICA DE EXIBIÇÃO DO MENU MOBILE === */
    #menu-mobile {
        display: none; /* Oculta o menu por padrão */
        position: absolute;
        top: 60px; /* Ajuste para a altura do seu header */
        right: 60px;
        width: 50%; /* Define a largura do menu */
        background-color: #d1d1d1;
        z-index: 1000;
        flex-direction: column;
        padding: 10px 20px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        text-align: right;
    }

    #menu-mobile.visivel {
        display: flex; /* Exibe o menu quando a classe 'visivel' é adicionada pelo JS */
    }
    /* ================================================================ */

    .swiper-container {
        display: flex;
        align-items: center;
        margin: 0 1px 0 1px;
    }

    .laudos-container {
        display: flex;
        margin: 0px 20px 60px 20px;
        align-items: center;
        justify-content: center;
        gap: 20px;
    }
    .breadcrumbs p {
        margin: 0 0 0 62px;
        
    }
    .quem-somos {
        display: flex;
        padding: 50px 50px 50px 50px;
        gap: 20px;
    }
    .logoOficial {
        width: 80%;
        height: 100%;
    }
    .quem-somos {
        display: flex;
        padding: 50px 50px 50px 50px;
        gap: 20px;
    }
    .treinamento-container {
        display: flex;
        flex-direction: column;
        margin: 50px 0px 50px 0px;
        gap: 20px;
        background-color: transparent;
    }
    .fale-conosco-txt {
        margin: 0px 3px 0 20px;
        padding: 50px 0 0 0;
    }
    .fale-whats {
        background-image: url("image/fale-whats.webp");
        background-repeat: no-repeat;
        height: 300px;
        color: #000000;
        background-color: rgba(255, 255, 255, 0.5); /* Adjust the alpha value (0 to 1) for transparency */
        background-blend-mode: lighten; /* This will make the image transparent */
    }
    .fa-square-instagram, .fa-square-whatsapp {
        font-size: 50px;
        text-decoration: none;
        color: #020202;
    }
    .clinte {
        display: flex;
        flex-direction: column;
        margin: 20px 5px 20px 5px;
        gap: 20px;
    }
}


@media (max-width: 425px) {
    .container-header {
    display: flex;
    justify-content: space-between;
    margin: 15px 30px 15px 30px;
    align-items: center;
}
.menu-toggle {
    display: block;
    font-size: 30px;
    cursor: pointer;
}
    .swiper-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 0 1px 0 1px;
    }
    .laudos-grid {
        /* Muda para 1 coluna */
        grid-template-columns: 1fr;
    }

    .footer {
    background-color: #333;
    color: white;
    padding: 70px 0 70px 0;
    position: relative;
    bottom: 0;
    width: 100%;
}
.col-md-5 {
    margin: 20px 0 0 0;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 25px;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--bs-heading-color);
}
.carousel-caption-left {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    text-align: left;
    padding: 20px;
    max-width: 90%;
} 
    .d-md-block {
        display: block !important;
}


.container-produtos {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    padding: 20px;
    margin: 0 0 0 0;
}
#menu-mobile {
    display: none; 
    position: absolute;
    top: 10%;
    width: 50%;
    z-index: 100;
    padding: 10px 30px 10px 30px;
    right: 10px;
    text-align: right;
}
#menu-mobile.visivel {
    display: block; 
}
.img-instrutor {
    width: 90%;
    height: auto;
}
.frase-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background-color: #3d3d3d; 
    margin-top: 5%;
}
    .quem-somos {
        display: flex;
        flex-direction: column;
        padding: 50px 50px 50px 50px;
        gap: 20px;
}
.visao-missao {
        display: flex;
        flex-direction: column;
        margin: 50px 90px 50px 50px;
        gap: 50px;
    }
    .historia {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 50px 0 50px;
}
.historia-al {
    width: 50%;
}
    .breadcrumbs p {
        margin: 0 0 0 34px;
    }
    .testemunhal img {
        width: 150px;
        height: auto;
        border-radius: 50%;
    }
    .contact-section {
        display: flex;
        flex-direction: column;
    padding: 80px 20px;
}
.map-container {
    display: none;
}
}