/* ========================================
   RESPONSIVIDADE DO SITE
======================================== */


/* ========================================
   TABLET
======================================== */

@media (max-width:1000px){

    /* ==============================
       CONTAINER
    ============================== */

    .container{

        width:92%;

    }


    /* ==============================
       NAVBAR
    ============================== */

    .navbar-content{

        display:flex;

        align-items:center;

        justify-content:space-between;

        width:92%;

        height:80px;

        margin:0 auto;

        box-sizing:border-box;

    }


    /* ==============================
       BOTÃO MENU
    ============================== */

    #btn-menu{

        display:flex;

        align-items:center;

        justify-content:center;

        width:44px;

        height:44px;

        min-width:44px;

        max-width:44px;

        flex:0 0 44px;

        margin-left:auto;

        padding:0;

        border:none;

        outline:none;

        background:transparent;

        color:#0A4D8F;

        font-size:28px;

        line-height:1;

        cursor:pointer;

        position:relative;

        z-index:10001;

        -webkit-tap-highlight-color:transparent;

    }


    #btn-menu i{

        pointer-events:none;

        display:block;

    }


    /* ==============================
       MENU DESKTOP OCULTO
    ============================== */

    #menu{

        display:none;

    }


    /* ==============================
       BOTÃO CONSULTA
    ============================== */

    .btn-consulta{

        display:none;

    }


    /* ==============================
       HERO
    ============================== */

    .hero{

        min-height:450px;

    }


    .hero-overlay{

        min-height:450px;

    }


    .hero-container{

        min-height:450px;

    }


    .hero h1{

        font-size:42px;

    }


    .hero p{

        font-size:18px;

    }


    /* ==============================
       APRESENTAÇÃO
    ============================== */

    .apresentacao-grid{

        grid-template-columns:1fr;

        gap:40px;

    }


    .apresentacao-imagem img{

        width:80%;

    }


    /* ==============================
       SERVIÇOS
    ============================== */

    .servicos-grid{

        display:grid;

        grid-template-columns:repeat(2,1fr);

        gap:25px;

    }


    /* ==============================
       ACESSO RÁPIDO
    ============================== */

    .grid-acesso{

        display:grid;

        grid-template-columns:repeat(2,1fr);

        gap:25px;

    }


    /* ==============================
       MENSAGEM
    ============================== */

    .mensagem-grid{

        grid-template-columns:1fr;

        gap:40px;

    }


    /* ==============================
       FOOTER
    ============================== */

    .footer-grid{

        grid-template-columns:1fr 1fr;

        gap:40px;

    }

}


/* ========================================
   CELULAR
======================================== */

@media (max-width:700px){

    /* ==============================
       CORREÇÃO GERAL
    ============================== */

    html,
    body{

        width:100%;

        max-width:100%;

        margin:0;

        padding:0;

        overflow-x:hidden;

    }


    /* ==============================
       CONTAINER
    ============================== */

    .container{

        width:92%;

        max-width:none;

        margin-left:auto;

        margin-right:auto;

        box-sizing:border-box;

    }


    /* ==============================
       TOP BAR
    ============================== */

    .top-bar{

        width:100%;

        font-size:12px;

    }


    .top-bar-content{

        width:92%;

        height:auto;

        min-height:38px;

    }


    .top-right{

        display:none;

    }


    /* ==============================
       NAVBAR
    ============================== */

    .navbar{

        position:relative;

        width:100%;

        z-index:1000;

    }


    .navbar-content{

        width:92%;

        min-height:75px;

        height:auto;

        margin:0 auto;

        padding:0;

        display:flex;

        align-items:center;

        justify-content:space-between;

        flex-wrap:nowrap;

        box-sizing:border-box;

        position:relative;

    }


    /* ==============================
       LOGO
    ============================== */

    .logo{

        display:flex;

        align-items:center;

        gap:8px;

        min-width:0;

        max-width:calc(100% - 60px);

        flex:1 1 auto;

    }


    .logo img{

        width:auto;

        height:42px;

        max-width:95px;

        object-fit:contain;

        flex-shrink:0;

    }


    .logo-texto{

        min-width:0;

    }


    .logo-texto h1{

        font-size:15px;

        line-height:1.15;

        margin:0;

        word-break:normal;

    }


    .logo-texto span{

        display:block;

        font-size:10px;

        line-height:1.2;

        margin-top:3px;

    }


    /* ==============================
       BOTÃO MENU
    ============================== */

    #btn-menu{

        display:flex;

        align-items:center;

        justify-content:center;

        width:44px;

        height:44px;

        min-width:44px;

        max-width:44px;

        flex:0 0 44px;

        margin:0 0 0 10px;

        padding:0;

        border:0;

        outline:none;

        background:transparent;

        color:#0A4D8F;

        font-size:28px;

        line-height:1;

        cursor:pointer;

        position:relative;

        z-index:10001;

        -webkit-tap-highlight-color:transparent;

    }


    #btn-menu i{

        pointer-events:none;

        display:block;

    }


    /* ==============================
       MENU MOBILE
    ============================== */

    #menu{

        position:absolute;

        top:100%;

        left:0;

        width:100%;

        display:none;

        background:#FFFFFF;

        z-index:10000;

        box-sizing:border-box;

    }


    /* ==============================
       MENU MOBILE ABERTO
    ============================== */

    #menu.menu-aberto{

        display:block;

        width:100%;

        background:#FFFFFF;

        box-shadow:0 5px 15px rgba(0,0,0,0.12);

        position:absolute;

        top:100%;

        left:0;

        z-index:10000;

    }


    #menu.menu-aberto ul{

        display:flex;

        flex-direction:column;

        width:100%;

        margin:0;

        padding:5px 0;

    }


    #menu.menu-aberto ul li{

        display:block;

        width:100%;

        margin:0;

    }


    #menu.menu-aberto ul li a{

        display:block;

        width:100%;

        padding:15px 20px;

        box-sizing:border-box;

        text-align:left;

    }


    #menu.menu-aberto ul li a:hover{

        background:#EAF4FD;

    }


    /* ==============================
       HERO
    ============================== */

    .hero{

        width:100%;

        min-width:0;

        min-height:500px;

        background-size:cover;

        background-position:center center;

        overflow:hidden;

    }


    .hero-overlay{

        width:100%;

        min-width:0;

        min-height:500px;

    }


    .hero-container{

        width:92%;

        max-width:none;

        min-width:0;

        min-height:500px;

        margin:0 auto;

        box-sizing:border-box;

    }


    .hero-text{

        width:100%;

        max-width:100%;

        box-sizing:border-box;

    }


    .hero h1{

        max-width:100%;

        font-size:34px;

        line-height:1.15;

        word-wrap:break-word;

    }


    .hero p{

        max-width:100%;

        font-size:16px;

        line-height:1.6;

    }


    .hero-buttons{

        flex-direction:column;

        gap:15px;

        align-items:flex-start;

    }


    /* ==============================
       APRESENTAÇÃO
    ============================== */

    .apresentacao{

        width:100%;

        padding:60px 0;

        overflow:hidden;

    }


    .apresentacao-grid{

        width:100%;

        max-width:100%;

        display:grid;

        grid-template-columns:1fr;

        gap:35px;

        box-sizing:border-box;

    }


    .apresentacao-texto{

        width:100%;

        max-width:100%;

        box-sizing:border-box;

    }


    .apresentacao h2{

        font-size:30px;

        line-height:1.3;

    }


    .apresentacao-imagem{

        width:100%;

        max-width:100%;

        box-sizing:border-box;

    }


    .apresentacao-imagem img{

        display:block;

        width:100%;

        max-width:100%;

        height:auto;

        margin:0 auto;

        box-sizing:border-box;

    }


    /* ==============================
       TÍTULOS DAS SEÇÕES
    ============================== */

    .titulo-secao{

        width:100%;

        margin-bottom:40px;

        box-sizing:border-box;

    }


    .titulo-secao h2{

        font-size:30px;

        line-height:1.3;

        word-wrap:break-word;

    }


    .titulo-secao p{

        font-size:15px;

        line-height:1.7;

    }


    /* ==============================
       SERVIÇOS
    ============================== */

    .servicos-home{

        width:100%;

        padding:60px 0;

        overflow:hidden;

    }


    .servicos-grid{

        display:grid;

        grid-template-columns:1fr !important;

        gap:20px !important;

        width:100%;

        max-width:100%;

        box-sizing:border-box;

    }


    .card-servico{

        width:100%;

        max-width:100%;

        min-width:0;

        box-sizing:border-box;

        padding:30px;

        min-height:0;

    }


    .card-servico h3{

        font-size:20px;

        line-height:1.3;

    }


    .card-servico p{

        font-size:15px;

        line-height:1.6;

    }


    /* ==============================
       ACESSO RÁPIDO
    ============================== */

    .acesso-rapido{

        width:100%;

        padding:60px 0;

        overflow:hidden;

    }


    .grid-acesso{

        display:grid;

        grid-template-columns:1fr !important;

        gap:20px !important;

        width:100%;

        max-width:100%;

        box-sizing:border-box;

    }


    .acesso-card{

        width:100%;

        max-width:100%;

        min-width:0;

        box-sizing:border-box;

        padding:30px;

    }


    /* ==============================
       COMUNICADOS / NOTÍCIAS
    ============================== */

    .noticias{

        width:100%;

        padding:60px 0;

        overflow:hidden;

    }


    .noticias .container{

        width:92%;

        max-width:none;

    }


    .noticias-grid{

        display:grid;

        grid-template-columns:1fr !important;

        gap:20px !important;

        width:100%;

        max-width:100%;

        box-sizing:border-box;

    }


    .noticia-card{

        width:100%;

        max-width:100%;

        min-width:0;

        margin:0;

        box-sizing:border-box;

        overflow:hidden;

    }


    .noticia-card img{

        display:block;

        width:100%;

        max-width:100%;

        height:auto;

        object-fit:cover;

    }


    .noticia-conteudo{

        width:100%;

        max-width:100%;

        box-sizing:border-box;

        overflow-wrap:break-word;

    }


    /* ==============================
       MENSAGEM
    ============================== */

    .mensagem{

        width:100%;

        padding:60px 0;

        overflow:hidden;

    }


    .mensagem-grid{

        width:100%;

        display:grid;

        grid-template-columns:1fr;

        gap:40px;

    }


    .mensagem-texto{

        width:100%;

        max-width:100%;

    }


    .mensagem-texto h2{

        font-size:30px;

        line-height:1.3;

    }


    /* ==============================
       NÚMEROS
    ============================== */

    .numeros{

        width:100%;

        padding:60px 0;

        overflow:hidden;

    }


    .numeros .container{

        width:92%;

        max-width:none;

    }


    .numeros-grid{

        display:grid;

        grid-template-columns:1fr !important;

        gap:20px !important;

        width:100%;

        max-width:100%;

        box-sizing:border-box;

    }


    .numero-card{

        width:100%;

        max-width:100%;

        min-width:0;

        margin:0;

        padding:30px 20px;

        box-sizing:border-box;

    }


    .numero-card h3{

        max-width:100%;

        font-size:42px;

        line-height:1.1;

        overflow-wrap:break-word;

    }


    .numero-card p{

        max-width:100%;

        font-size:16px;

        line-height:1.5;

        overflow-wrap:break-word;

    }


    /* ==============================
       FOOTER
    ============================== */

    .footer{

        width:100%;

        padding:40px 0;

        overflow:hidden;

    }


    .footer-grid{

        display:grid;

        grid-template-columns:1fr !important;

        gap:35px;

        width:100%;

    }


    .footer-logo{

        width:200px;

        max-width:100%;

        height:auto;

    }


    .footer-mapa{

        width:100%;

        max-width:100%;

        overflow:hidden;

    }


    .footer-mapa iframe{

        width:100%;

        max-width:100%;

        height:220px;

        border:0;

    }


    .copyright{

        width:100%;

        box-sizing:border-box;

        padding:15px;

        font-size:12px;

        line-height:1.5;

    }

}
/* ========================================
   PÁGINA SOBRE
   RESPONSIVIDADE DOS CARDS E TIMELINE
======================================== */


/* ========================================
   TABLET
======================================== */

@media (max-width:1000px){

    /* ==============================
       MISSÃO / VISÃO / VALORES
    ============================== */

    .missao-grid{

        grid-template-columns:repeat(2,1fr);

        gap:25px;

        width:100%;

        max-width:100%;

        box-sizing:border-box;

    }


    .missao-card{

        width:100%;

        min-width:0;

        box-sizing:border-box;

    }


    /* ==============================
       LINHA DO TEMPO
    ============================== */

    .timeline{

        width:calc(100% - 40px);

        max-width:100%;

        margin-left:40px;

        box-sizing:border-box;

    }


    .timeline-item{

        width:100%;

        max-width:100%;

        box-sizing:border-box;

    }


    .timeline-conteudo{

        min-width:0;

        max-width:100%;

        box-sizing:border-box;

        overflow-wrap:break-word;

        word-wrap:break-word;

    }

}


/* ========================================
   CELULAR
======================================== */

@media (max-width:700px){

    /* ==============================
       CORREÇÃO GERAL
    ============================== */

    html,
    body{

        width:100%;

        max-width:100%;

        overflow-x:hidden;

    }


    /* ==============================
       MISSÃO / VISÃO / VALORES
    ============================== */

    .missao{

        width:100%;

        padding:70px 0;

        overflow:hidden;

    }


    .missao .container{

        width:92%;

        max-width:none;

        margin-left:auto;

        margin-right:auto;

        box-sizing:border-box;

    }


    .missao-grid{

        display:grid;

        grid-template-columns:1fr !important;

        gap:20px !important;

        width:100% !important;

        max-width:100% !important;

        margin-top:40px;

        box-sizing:border-box;

    }


    .missao-card{

        display:block;

        width:100% !important;

        max-width:100% !important;

        min-width:0 !important;

        margin:0;

        padding:30px 25px;

        box-sizing:border-box;

        overflow:hidden;

    }


    .missao-card h3{

        font-size:28px;

        line-height:1.2;

        margin-bottom:20px;

    }


    .missao-card p{

        width:100%;

        max-width:100%;

        font-size:16px;

        line-height:1.8;

        overflow-wrap:break-word;

        word-wrap:break-word;

    }


    /* ==============================
       ÍCONE DOS CARDS
    ============================== */

    .missao-card .icone{

        width:60px;

        height:60px;

        font-size:28px;

        margin-bottom:20px;

    }


    /* ==================================
       LINHA DO TEMPO
    ================================== */

    .linha-tempo{

        width:100%;

        padding:70px 0;

        overflow:hidden;

        box-sizing:border-box;

    }


    .linha-tempo .container{

        width:92%;

        max-width:none;

        margin-left:auto;

        margin-right:auto;

        box-sizing:border-box;

    }


    /* ==============================
       TIMELINE
    ============================== */

    .timeline{

        position:relative;

        width:100% !important;

        max-width:100% !important;

        min-width:0 !important;

        margin:50px 0 0 0 !important;

        padding:0;

        box-sizing:border-box;

    }


    /* ==============================
       LINHA VERTICAL
    ============================== */

    .timeline::before{

        content:"";

        position:absolute;

        left:14px;

        top:0;

        bottom:0;

        width:4px;

        background:#0A4D8F;

    }


    /* ==============================
       ITEM
    ============================== */

    .timeline-item{

        position:relative;

        display:block;

        width:100% !important;

        max-width:100% !important;

        min-width:0 !important;

        margin:0 0 45px 0 !important;

        padding:0 0 0 45px !important;

        box-sizing:border-box;

    }


    .timeline-item:last-child{

        margin-bottom:0 !important;

    }


    /* ==============================
       BOLINHA
    ============================== */

    .timeline-item::before{

        content:"";

        position:absolute;

        left:6px;

        top:6px;

        width:18px;

        height:18px;

        border-radius:50%;

        background:#0A4D8F;

        border:4px solid #FFF;

        z-index:2;

        box-sizing:border-box;

    }


    /* ==============================
       ANO
    ============================== */

    .timeline-data{

        display:block;

        width:auto !important;

        max-width:100%;

        margin:0 0 15px 0 !important;

        padding:0;

        font-size:26px;

        line-height:1.2;

        font-weight:700;

        color:#0A4D8F;

        box-sizing:border-box;

    }


    /* ==============================
       CAIXA DA TIMELINE
    ============================== */

    .timeline-conteudo{

        display:block;

        width:100% !important;

        max-width:100% !important;

        min-width:0 !important;

        margin:0;

        padding:25px 20px;

        background:#F7F9FC;

        border-radius:12px;

        box-shadow:0 10px 25px rgba(0,0,0,.08);

        box-sizing:border-box;

        overflow:hidden;

    }


    .timeline-conteudo h3{

        width:100%;

        max-width:100%;

        margin-bottom:12px;

        font-size:20px;

        line-height:1.3;

        color:#0A4D8F;

        overflow-wrap:break-word;

        word-wrap:break-word;

    }


    .timeline-conteudo p{

        width:100%;

        max-width:100%;

        margin:0;

        font-size:15px;

        line-height:1.7;

        color:#666;

        overflow-wrap:break-word;

        word-wrap:break-word;

    }

}

/*======================================
  BANNER INTERNO - MOBILE
======================================*/

.banner-interno{

    padding:150px 0 0px;

}

.banner-interno h1{

    font-size:32px;

}

.banner-interno h2{

    font-size:20px;

    line-height:1.3;

}


.banner-interno p{

    font-size:16px;

    line-height:1.6;

}

.historia-texto p{

    font-size:16px;

    line-height:1.6;

}

.historia-texto h2{

    font-size:16px;

    line-height:1.3;

}

.historia-texto span{

    font-size:16px;

    line-height:1.6;

}
/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 700px) {

    .linha-ri {
        flex-direction: column;
        gap: 12px;
    }


    .linha-ri .campo-ri,
    .linha-ri .campo-ri:first-child,
    .linha-ri .campo-cidade,
    .linha-ri .campo-uf {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
    }

}

/* ========================================
   RESULTADO - MOBILE
======================================== */

@media (max-width:700px){

    .resultado-consulta{

        padding:60px 0;

    }


    .resultado-box{

        padding:20px;

    }


    .resultado-grid{

        grid-template-columns:1fr;

        gap:15px;

    }


    .resultado-item-largo{

        grid-column:auto;

    }


    .resultado-secao{

        margin-top:45px;

    }


    .titulo-resultado h2{

        font-size:26px;

    }


    .andamentos{

        padding:20px;

    }


    .andamento{

        grid-template-columns:1fr;

        gap:8px;

        padding:20px 0;

    }


    .andamento-data{

        font-size:13px;

    }


    .pix-box{

        grid-template-columns:1fr;

        padding:20px;

    }


    .pix-informacoes{

        grid-template-columns:1fr;

        gap:15px;

    }


    .pix-qrcode{

        order:-1;

    }


    .pix-qrcode img{

        width:140px;

        height:140px;

    }


    .certidao-link{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;

        padding:18px;

    }

}