@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');/*importando a fonte do Google */

*{
    margin: 0; /*margem */
    padding: 0; /*espaçamento das seções/elementos */
    box-sizing: border-box;
    text-decoration: none; /*sublinhado de decoração */
    outline: none;
    font-family: 'Nunito', sans-serif; /*fonte utilizada em todo o site */
}


/*CONFIGURAÇÕES GERAIS DOS DA PÁGINA*/  
html{
    scroll-behavior: smooth;
}
body{
    background-color: #f1f6fc31; /*cor da transparência da imagem */
}
section, .banner{
    padding: 115px 0;
}
section, 
footer{
    padding: 50px 0;
}
h3{
    font-size: 50px;
}
p{
    color: #0000009c; /*cor do paragrafo */
}
.container{
    max-width: fit-content 100%; /*tamanho maximo do banner da pagina */
    margin: 0 auto; /*alinhamento da margem do banner*/
    padding: 0 5%;
    top: -5px;
}
.btn{
    background-color: #00a1ed; /*cor do botão */
    color: white; /*cor da letra do botão */
    padding: 15px 20px; /*largura e expessura do botão */
    border-radius: 10px; /*arredondamento do botão */
    cursor: pointer;
    display: inline-block;
    transition: 0.1s; /*tempo de transição de cor do botão */
    
}
.btn.pulse-btn{
    animation: pulse 3s infinite;
}
.btn:hover {
    background-color: #0078c8; /*cor do botão ao passar o mouse*/
}
@keyframes pulse {
    0%{
        outline: 0px solid #4f9bf98a;
    }
    100%{
        outline: 15px solid #4f9bf900;
    }
}
.cards-btn{
    background-color: #0075c5; /*cor do botão */
    color: white; /*cor da letra do botão */
    padding: 15px 20px; /*largura e expessura do botão */
    border-radius: 10px; /*arredondamento do botão */
    border: 1px solid white;
    cursor: pointer;
    display: inline-block;
    transition: 0.1s; /*tempo de transição de cor do botão */
}
.cards-btn:hover{
    background-color: white; /*cor do botão ao passar o mouse*/
    color: #0075c5;
    font-weight: bold;
}

/*CONFIGURAÇÃO DOS ITENS DA PRIMEIRA PÁGINA*/    
header{ 
    background-position: center; /*posição da imagem de fundo da pagina home */
    background-size: cover; /*tamanho da imagem de fundo da pagina home */
    background-attachment: fixed; /*fixação da imagem de fundo da pagina home */
    padding-top: 100px;
    height: 85vh; /* Ajusta a altura do header */
    display: block; /* Centraliza os elementos verticalmente */
    align-items: center;
    justify-content: center;
    text-align: center; /* Garante centralização do texto */

}
nav{ 
    display: flex; 
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    background-color:#0075c5;
    z-index: 1;
    max-width: 100%;
}
nav ul{
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none; /* Remove os marcadores da lista */
    padding: 0; /* Remove o espaçamento interno da lista */
    margin: 0; /* Remove a margem padrão da lista */

}
nav ul a{
    color:white; /*cor do menu */
    margin: 0 25px; /*margem do menu */
    text-transform: uppercase; /*fonte maiuscula do Menu */
    font-size: 14px; /*tamanho da fonte do menu */
    display: block;
    
}
nav ul a:not(.btn)::after{ /*ajustando a linha debaixo dos menus, menos nos botões */
    content: ""; /*com o vazio a gente faz com que seja apresentado apenas a barra */
    background-color:white; /*cor da barra que ira aparecer abaixo do nome dos menus */
    height: 1px; /*altura da linha */
    width: 0%; /*largura de acordo com o elemento "pai" */
    display: block;
    margin: 0 auto; /*faz com que a linha apareça do centro para as extremidades*/
    transition: 0.3s; /*tempo que demora para aparecer a linha branca*/

}
nav ul a:hover::after{ /*isso faz com que apareça a linha do comando anterior apenas quando passar o mouse por cima */
    width: 100%;
}
.banner{
    display: flex;
    justify-content: center; /*alinhamento do texto do banner */
}
.banner .banner-text{
    margin: 60px; /*alinhamento da margem do banner */
    text-align: center; /*alinhamento do texto do banner */
    padding: 0 90px;
}
.banner .banner-text h1{
    font-size: 55px; /*tamanho do texto Audiencia Soluções */
    color: white; /*cor do texto Audiencia Soluções */
}
.banner .banner-text p{
    font-size: 20px; /*tamanho do texto do Slogan */
    color: white; /*cor do texto do Slogan */
    font-weight: lighter ;
    margin: 14px 0;
}
.footer-banner .container{ /*para alinhar os itens um ao lado do outro  */
    display: flex;
    justify-content: space-between;
    align-items: center; /* Alinha os itens verticalmente */
    flex-wrap: wrap; /* Permite quebra de linha para os itens */
    gap: 20px; /* Espaçamento entre os elementos */   
}
.footer-banner .rodape-banner{
    display: flex;
    align-items: center;
    width: 85px;
    height: auto;
}




/*INICIO DO FAÇA MAIS COM A AUDIÊNCIA SOLUÇÕES */
.faca-mais .container{ /*para alinhar os itens um ao lado do outro  */
    display: flex;
    align-items: center;
    justify-content: space-between; /* Distribui o espaço entre os itens */
    padding: 0 25px 0 25px;
    padding-top: 0px;
    min-height: 60vh; 
    flex-wrap: wrap;
}
.faca-mais .faca-mais-text{
    width: 60%;
    padding: 0 40px;
}
.faca-mais .faca-mais-text h2{  
    font-size: 50px; /*tamanho do texto maior */
    margin-right: 20px;
}
.faca-mais .faca-mais-text p{ /*alinhamento do texto menor */
    margin: 5px 0px 10px 0px;
    color: #1C1C1C;
    text-align: justify;
}
.faca-mais .faca-mais-img{
    width: 40%; /*tamanho que a imagem ocupa no container*/
}
.faca-mais .faca-mais-img img{
    width: 100%; /*tamanho da imagem real */
}




/*INICIO DOS PLANOS*/
.planos .container{
    min-height: 60vh;
}
.planos h3{
    text-align: center; /*alinhamento do texto dos planos */
    font-weight: bold;
}
.planos p{
    margin-bottom: 20px; /*tamanho da fonte dos planos */
    text-align: center; /*alinhamento do texto dos paragrafos de planos */
    color: #1C1C1C;
}
.cards{
    display: flex;
    justify-content: center; /*alinhamento dos cards lado a lado*/
    flex-wrap: wrap; /* Permite quebra de linha para os cards */
    gap: 20px; /* Espaço entre os cards */
}
.planos .cards-item{ /*bloco de formatação dos cards */
    background-color: rgba(211, 230, 253, 0.5);
    margin: 15px;
    border-radius: 14px;
    text-align: center;
    width: 350px;
    transition: 0.2s; /*velocidade de transicão da cor do card  */
}
.planos .cards-item img{ /*bloco de formatação da imagem dos clientes no card*/
    border-radius: 100px; 
    width: 80px;
    display: block;
    margin: 10px auto;
}
.planos .cards-item .nome-plano{ /*bloco de formatação do nome dos clientes */
    font-weight: 600px; /*tamanho que a fonte ocupa */
    font-size: 20px; /*tamanho da fonte*/
    margin-bottom: 15px;
    transition: 0.2s; /*velocidade de transicão da cor do card  */
    color: black;
}
.planos .cards-item .descricao-plano{ /*bloco de formatação do comentário dos clientes */
    font-size: 17px; /*tamanho da fonte*/
    padding: 0 15px; /*posicionamento dentro do card */
    text-align: justify; /*comentários justificados*/
    transition: 0.2s; /*velocidade de transicão da cor do card  */
    color: #1C1C1C;
}
.planos .cards-item .descricao-plano2{ /*bloco de formatação do comentário dos clientes */
    font-size: 17px; /*tamanho da fonte*/
    padding: 0 15px; /*posicionamento dentro do card */
    text-align: justify; /*comentários justificados*/
    transition: 0.2s; /*velocidade de transicão da cor do card  */
    color: #1C1C1C;
}
.planos .cards-item .botao{
    margin: 7px 0;
}
.planos .cards-item:hover{
    background-color: #0078c8; /*cor do card quando passa o mouse */
    margin-top: -0.5px; /*altura de movimentação do card ao passar o mouse */
}
.planos .cards-item:hover .nome-plano,
.planos .cards-item:hover .descricao-plano,
.planos .cards-item:hover .descricao-plano2{
    color: white;
}




/*INICIO PERGUNTAS FREQUENTES */
.perguntas{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    
}
.perguntas h4{
    font-size: 45px;
    text-align: justify;
    color: #1C1C1C;
}

.perguntas p{
    text-align: justify;
    color: #1C1C1C;
}
.faq{
    max-width: 80%;
    margin-top: 2rem;
    padding-top: 1rem;
    border-bottom: 2px solid black;  
}
.question{
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;    
}
.question h5{
    font-size: 1.2rem;
    width: 100%;
}
.answer{
    max-height: 0;
    overflow: hidden;
    transition: max-heigth 1.4s ease;
}
.answer p{
    padding-top: 1rem;
    line-height: 1.5rem;
    font-size: 1.0rem;
}
.faq.active .answer{  /*sobe e desce da linha */
    max-height: 300px;
    animation: fade 1s ease-in-out;
    text-align: justify;
}
.faq.active svg{ /*rotação do botão */
    transform: rotate(180deg);
    transition: .2s;
}
svg{ /*tempo de rotação do botão */
    transition: transform .2s ease-in;
}
@keyframes fade {
    from{
        opacity: 0;
        transform: translateY(-10px);
    }
    to{
        opacity: 1;
        transform: translate(0px);

    }
    
} 



/*INICIO RODAPÉ DA PÁGINA */
.footer {
    background-color: #0075c5;
    text-align: center;
    padding: 50px 0;
}
.footer .footer-img img{
    width: 250px;
    height: auto;
    padding-top: 10px;
}
.footer i{ /*Formatação dos icones da rede social do rodapé da página */
    color: #0078c8;
    font-size: 19px;
    background-color: white;
    padding: 10px;
    margin: 1px;
    border-radius: 10px;
}
.footer p{
    margin-top: 10px;
    color: white;
}




/*CONFIGURAÇÃO PARA O MENU MOBILE APARECER*/

#btn-mobile{
    display: none;
}
@media screen and (max-width: 1020px){/*quando o tamanho da tela for menor que 830, o Menu mobile aparece */
    #btn-mobile{
        display: block;
    }
    #menu{
        display: flex;
        position: absolute;
        width: 100%;
        top: 70px;
        right: 0px;
        background: #0075c5;
        height: 0px;
        transition: .6s;
        z-index: 1000; /* Sobreposição dos elementos sobre a pagina */
        flex-direction: column; /* Coloca os itens em coluna */
        justify-content: center; /* Centraliza verticalmente os itens */
        align-items: center; /* Centraliza horizontalmente os itens */
        visibility: hidden; /* Deixa os Menus invisiveis */
        overflow-y: hidden;
        padding: 0; /* Remove qualquer espaçamento interno */
    }
    #nav.active #menu{ /* Controle da Expansão do menu */
        height: 100vh; /* Preenchimento total da tela quando clica no Menu */
        visibility: visible; /* Deixa os Menus visiveis */
        overflow-y: auto; /* Adiciona barra de roalgem para não esconder nenhum menu */
                               
    }
    #menu a {
        padding: 1rem 0;
        justify-content: center;
        text-align: center; /* Centraliza o texto dentro do link */
        width: 100%; /* Faz com que o link ocupe 100% da largura */
        color: white; /* Cor do texto do link */
        text-decoration: none; /* Remove sublinhado */  
        font-size: 15px; /* Tamanho da fonte para melhor visualização no mobile */                     
    }

    #menu li {
        list-style: none; /* Remove os marcadores padrão dos itens da lista */
        width: 100%; /* Faz o item ocupar toda a largura */
        display: flex; /* Garante alinhamento flexível */
        justify-content: center; /* Centraliza os itens */
        align-items: center;
        margin: 0; /* Remove margens */
    }

    #btn-mobile{
        display: flex;
        border: none;
        background: none;
        cursor: pointer;
        background-color: #00a1ed; /*cor do botão */
        color: white; /*cor da letra do botão */
        padding: 10px 15px; /*largura e expessura do botão */
        border-radius: 10px; /*arredondamento do botão */
        font-size: 12;
        gap: 5px;
    }
    #hamburger{
        border-top: 2px solid;
        width: 20px;
        display: block;
        color: white;
    }
    #hamburger::after , #hamburger::before{
        content: '';
        display: block;
        width: 20px;
        height: 2px;
        background: currentColor;
        margin-top: 5px;
        transition: .3s;
        position: relative;

    }
    nav.active #hamburger{
        border-top-color: transparent;
    }
    nav.active #hamburger::before{
        transform: rotate(135deg);

    }
    nav.active #hamburger::after{
        transform: rotate(-135deg);
        top: -7px;
    }
}





/*CONFIGURAÇÃO PÁGINA MOBILE HTML*/
/* Estilos responsivos para o banner*/
@media (max-width: 768px) {
    header {
        height: 70vh; /* Reduz a altura do header */
    }

    .banner .banner-text {
        margin: 40px; /* Reduz o espaço em telas menores */
        padding: 0 40px; /* Reduz o padding lateral */
    }

    .banner .banner-text h1 {
        font-size: 40px; /* Reduz o tamanho do título */
    }

    .banner .banner-text p {
        font-size: 18px; /* Texto menor para o slogan */
    }

    .footer-banner .rodape-banner {
    width: 70px; /* Reduz a largura da imagem/ícone no rodapé */
    }
}

@media (max-width: 480px) {
    header {
        height: 80vh; /* Ajusta altura para telas muito pequenas */
    }
    .banner .banner-text {
        margin: 18px;
        padding: 0 20px; /* Padding menor para dispositivos muito pequenos */
    }

    .banner .banner-text h1 {
        font-size: 30px; /* Título ainda menor */
    }

    .banner .banner-text p {
        font-size: 16px; /* Texto menor para o slogan */
    }

    .footer-banner .container {
        gap: 100px; /* Reduz o espaçamento entre os itens no rodapé */
        padding: 0 10px; /* Adiciona padding lateral */
    }

    .footer-banner .rodape-banner {
        width: 100px; /* Imagem/ícone ainda menor no rodapé */
    }
}

/* Estilos responsivos para o Faça Mais*/
@media (max-width: 768px) {
    .faca-mais .container {
        flex-direction: column; /* Alinha os itens em uma coluna */
        align-items: center;
        padding: 0 15px; /* Reduz o padding para dispositivos menores */
    }

    .faca-mais .faca-mais-text {
        width: 100%;
        padding: 0 20px;
    }

    .faca-mais .faca-mais-text h2 {
        font-size: 36px; /* Reduz o tamanho da fonte do título */
    }

    .faca-mais .faca-mais-img {
        width: 80%; /* Ajusta o tamanho da imagem */
        margin-top: 20px; /* Espaço entre o texto e a imagem */
    }
}

@media (max-width: 480px) {
    .faca-mais .faca-mais-text h2 {
        font-size: 28px; /* Título ainda menor para telas menores */
    }

    .faca-mais .faca-mais-img {
        width: 100%; /* Imagem ocupa a largura total */
    }
}




/* Estilos responsivos para os nossos planos*/
@media (max-width: 768px) {
    .cards {
        flex-wrap: wrap; /* Permite que os cards fiquem em múltiplas linhas */
        justify-content: space-around; /* Alinha os cards de forma mais equilibrada */
        gap: 20px; /* Espaçamento entre os cards */
    }

    .planos .cards-item {
        width: calc(100% - 40px); /* Ocupa quase toda a largura, com margem */
        margin: 0 auto; /* Centraliza os cards */
        width: 300px; /* Reduz o tamanho dos cards */
    }
    
    .planos .cards-item .descricao-plano,
    .planos .cards-item .descricao-plano2 {
        font-size: 15px; /* Texto menor nos cards */
    }
}

@media (max-width: 480px) {
    .cards {
        flex-direction: column; /* Alinha os cards em coluna */
        gap: 15px; /* Reduz o espaço entre os cards */
    }

    .planos .cards-item {
        width: 90%; /* Cards ocupam quase toda a largura disponível */
        margin: 0 auto; /* Centraliza os cards */
    }
    
    .planos h3 {
        font-size: 22px; /* Reduz o tamanho do título */
    }

    .planos p {
        font-size: 14px; /* Texto menor nos parágrafos */
    }

    .planos .cards-item img {
        width: 45px; /* Imagens menores */
        height: 45px;
    }

    .planos .cards-item .nome-plano {
        font-size: 18px; /* Nome do plano menor */
    }
}

/* Estilos responsivos para as perguntas frequentes*/
@media (max-width: 768px) {
    .perguntas h4 {
        font-size: 22px; /* Reduz o tamanho do título */
    }
    .perguntas p {
        font-size: 14px; /* Reduz o tamanho do texto */
    }

    .faq {
        max-width: 90%; /* Ocupa mais largura para telas menores */
    }

    .question h5 {
        font-size: 1rem; /* Reduz o tamanho da pergunta */
    }

    .answer p {
        font-size: 0.9rem; /* Reduz o tamanho da resposta */
        line-height: 1.4rem; /* Ajusta o espaçamento das linhas */
    }
}

@media (max-width: 480px) {
    .perguntas h4 {
        font-size: 22px; /* Título menor para telas pequenas */
        text-align: center; /* Centraliza o título */
    }
    .perguntas p {
        font-size: 14px; /* Reduz o tamanho do texto */
        text-align: center; /* Centraliza o texto */
        padding: 0 10px; /* Adiciona padding lateral */
    }

    .faq {
        max-width: 95%; /* Ocupa toda a largura disponível */
        padding: 0 10px; /* Adiciona padding lateral */
    }

    .question {
        flex-direction: column; /* Permite que a pergunta e o ícone fiquem em coluna */
        align-items: flex-start;
    }

    .question h5 {
        font-size: 0.95rem; /* Texto ainda menor */
        margin-bottom: 10px; /* Espaçamento entre a pergunta e o ícone */
    }

    .answer p {
        font-size: 0.85rem; /* Texto menor para respostas */
    }
}






/* Estilos responsivos para rodapé*/
@media (max-width: 768px) {
    .footer .footer-img img{
        width: 170px;
        height: auto;        
    }
    .footer .container .links i{ 
        width: 25px;
        height: 25px;
        margin: 0;  
        padding: 0;  
        font-size: 24px;
    }
}
@media (max-width: 480px) {
    .footer .footer-img img{
        width: 170px;
        height: auto;        
    }

    .footer .container .links i{ 
        width: 25px;
        height: 25px; 
        margin: 0;  
        padding: 0; 
        font-size: 24px;                  
    }
    .footer .container p{ 
        font-size: 10px;                     
    }
}





/*CONFIGURAÇÃO PÁGINA SERVIÇOS HTML*/
.planos .cards-item .valor{
    align-items: center;
    text-align: center;
}
.planos .cards-item .valor i{
    color:#0075c5;
}
.planos .cards-item .check { 
    font-size: 15px; /*tamanho da fonte*/
    padding: 0 15px; /*posicionamento dentro do card */
    color: #1C1C1C;
    display: flex;
    flex-direction: column;
}
.planos .cards-item .valor .tooltip{
    font-size: 10px;
}

.planos .cards-item .check i{ 
   margin-right: 10px;
   margin-left: 10px;
   color: green;
    
}
.planos .cards-item .check p{ 
    display: flex;
    align-items: center;
}

.planos .cards-item:hover .valor,
.planos .cards-item:hover .valor i,
.planos .cards-item:hover .check p,
.planos .cards-item:hover .check i{
    color: white;
}

/*CAIXA DE DIALOGO DA INFORMAÇÕES SOBRE O PLANO*/
.planos .cards-item .tooltip {
    visibility: hidden;
    background-color: #555;
    color: #fff;
    font-size: 13px;
    text-align: justify;
    justify-content: space-between;
    border-radius: 5px;
    padding: 0px 3px;
    z-index: 1;
    bottom: 125%;  /* Posiciona acima do ícone */
    left: 50%;
    margin-left: -.2px;
    opacity: 0;
    transition: opacity 0.3s;
    width: 200px;
}

.planos .cards-item i:hover + .tooltip{
    visibility: visible;
    opacity: 1;
}

