/**
================================================
    A. Gerais
================================================
**/
html, body{  
    font-family: 'Roboto',arial, sans-serif !important;  
    height: 100%;  
    -ms-overflow-style:scrollbar; 
    width: 100%;
}
.no-row-margin{  
    margin-left: 0;  
    margin-right: 0;  
}
.no-padding{
    padding: 0;
}
.cssBgImage{
    /*display: inherit;*/  
    position: absolute;  
    width: 100%;  
    height: 100%;
    background-size: cover !important;  
    background-position: center center !important;
    background-repeat: no-repeat !important;
    z-index: -2; 
    top: 0;  
    left: 0;
}
.back-to-bo{  
    display: inline-block;
    position: fixed;  
    bottom: 50px;  
    left: 20px;  
    z-index: 99;  
    min-height: 50px; 
    max-width: 150px;
    line-height: 50px; 
    background-color: #f1c40f; 
    border-color: #dab10d;  
    border-radius: 10px;
    -webkit-border-radius: 10px;  
    -moz-border-radius: 10px;  
    text-align: center;  
    font-size: 14px;
    font-weight: 700;  
    cursor: pointer;  
    color: white; 
}
.back-to-bo:hover{  
    background-color: #7DB9B6;  
}
.full-height{  
    position: relative;  
    display: table;  
    min-height: 100%;  
    height: 100%;  
    width: 100%;  
    overflow: hidden; 
}
.content-height{  
    position: relative;  
    display: block;  
    width: 100%;  
}
.display-table{  
    display: table;  
    width: 100%;  
    height: 100%;  
    min-height: 100%;  
}
.table-cell{  
    display: table-cell;  
    height: 100%;  
    vertical-align: middle;  
}
.ease-in-out{
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.arvo{
    font-family: 'Arvo',arial, sans-serif !important;
}
label.error{
    color:#FF1717;
}
span.error{
    color:#FF1717;
}
span.sucess{
    color:#7DB9B6;
}
.newsletterForm-messages .sucess{
    color:black;
}
/**
================================================
    B. Menu
================================================
**/
.nav-menu{
    position: fixed;
    top:0;
    left: 0;
    right: 0;
    width: 100%;
    margin: auto;
    z-index: 10;
    text-align: center;
}
.nav-menu-transparence{
    background: #ffffff;
}
.nav-menu-border{ 
    display:block;
    width:100%;
}
.nav-menu-logo{
    position:relative;  
    align-items: center;
    padding-right: 10px;
    max-width: 150px;
    height: 55px;
}
.mobile-menu-btn{
    position: fixed;  
    padding-right: 10px;
    max-width: 150px;
    min-height: 55px;
}
.nav-menu-ul{
    margin: auto;
    display: inline-block;
    text-align: center;
    list-style-type: none;
    -webkit-margin-before: 0em;
    -webkit-margin-after: 0em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 0px;
    padding-top: 30px;
    padding-bottom: 30px;
    font-size: 17px;
    min-width: 80%;
}
.nav-menu-ul > li{  
    margin: 0px 7px;  
    display: inline-block;
    text-align: center;
}
.nav-menu-ul > li:last-child{
    margin-right: 0;
}
.nav-menu-ul > li a{
    color:#000;
    text-decoration: none;
    text-transform: uppercase;
    position: relative;   
    font-size: 14px;
}
.nav-menu-ul > li a:after{
    content:'';
    position: absolute;  
    left: 0;  
    width: 100%;
    opacity: 0; 
    height: 2px; 
    bottom: -5px;  
    background: #7DB9B6;
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.nav-menu-ul > li a:hover:after{
    opacity: 1;
}
.nav-down .nav-menu-transparence{
    background: #ffffff;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);;
}
.nav-down .nav-menu-ul{
    padding-top: 20px;
    padding-bottom: 20px;
}
.nav-down .nav-menu-logo{
    padding-bottom:0.5em;
    top:0.5em;
}
/**
================================================
    C. Banners
================================================
**/
section.banners {
    position: relative;   
}
.banner-pops-container{    
    padding-top: 9.5em; 
    padding-bottom: 11.5em;
}
.bannerIMG{
    opacity: 0;
    position: absolute;  
    width: 100%;  
    height: 100%;
    background-size: cover !important;  
    background-position: center center !important;
    background-repeat: no-repeat !important;
    z-index: -2;  
    top: 0;  
    left: 0;
    -webkit-transition: all 800ms linear;
    -moz-transition: all 800ms linear;
    -o-transition: all 800ms linear;
    transition: all 800ms linear;
}
.bannerIMG.active{
    opacity: 1;
}
.banner{  
    position: relative; 
    height: 100%; 
    width: 100%;
}
.banner-content{
    position: relative;
    display: flex;
    margin: auto;
    align-items: flex-end;
    flex-direction: column;
    justify-content:flex-end;
    width:60%;
    padding-bottom: 10em;
}
.banner-text1{
    justify-content: flex-end;
    font-size: 7rem;
    text-align: end;
    display: inline-block;
    font-family:"DejaVu Sans","DejaVu Sans Mac Name","DejaVu Sans Unix Name","Times New Roman";
    color: #F5E9CF;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
    font-weight:550;
    font-style: italic;
    line-height: 0.75em;
}
.banner-text2{
    justify-content: flex-end;
    font-size: 3rem;
    text-align: end;
    display: inline-block;
    font-family:"DejaVu Sans","DejaVu Sans Mac Name","DejaVu Sans Unix Name","Times New Roman";
    color: #F5E9CF;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
    font-weight: 550;
    font-style: italic;
    line-height: 0.75em;
    margin-bottom: 1em;
}
.banner-cta-container{
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    justify-content:flex-end;
}
.banner-cta{
    color: #000;
    font-weight: 500;
    background-color: #F5E9CF; 
    text-transform: uppercase; 
    padding: 0.7em 3.5em; 
    border: 0.200em solid #F5E9CF;  
    border-radius: 0.3125em; 
    -moz-border-radius: 0.3125em;
    -webkit-border-radius: 0.3125em;  
    justify-content: flex-end;

}
.banner-cta:hover{
    text-decoration: none;
    background-color: #F5E9CF;
    color: #6b6b6b ;
    transition: all 300ms ease-in-out;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
/**
================================================
    D. Instituicao
================================================
**/
.insituicao{
    width: 90%;
    border-top:0.125em solid #7DB9B6;
    padding-top: 3.125em;
}
.instituicao-container{
    width: 80%;
    position: relative;
    display: flex;
    margin: auto;
}
.instituicao-img img{
    float: right;
    padding: 2em; 
}
h3.instituicao-title{
    font-family: 'Arvo', arial, sans-serif;
    color:#461959;
    margin-top: 3.5em;
    margin-bottom: 2.5em;
    font-size: 1.875em;
}
.instituicao-text{
    width: 45%;
    font-family:  'Roboto',arial, sans-serif ;
    font-size: 17px;
    color:black;
    margin-top: auto;
    margin-bottom: auto;
    padding-top: 3.5em;
    padding-bottom: 2.5em;
    line-height: 2.5rem;
}
.instituicao-text button{
    padding: 0.5em 2em; 
    margin-top: 5em;
    margin-inline: 40px;
    float: right;
    color: #fff;
    background-color: #7DB9B6; 
    border:none; 
    font-weight: 500;
    text-transform: uppercase; 
    border-radius: 0.625em; 
    -moz-border-radius: 0.625em;
    -webkit-border-radius: 0.625em;  
}
.instituicao-text button:hover{
    text-decoration: none;
    background-color: #7DB9B6;
    border: none;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    color: #000;
    transition: all 300ms ease-in-out;
}
/**
================================================
    F. Serviços
================================================
**/
#servicos{
    margin-top: 5em;
    border-top: 1px solid #7DB9B6;
}
.servicos-title h3{
    width: 100%;
    position: relative;
    text-align: center;
    margin-bottom: 2em;
    color:#461959;
    font-family:  'Arvo',arial, sans-serif ;
    font-size: 1.875em;
}
article {
    --img-scale: 1.001;
    --title-color: #7DB9B6;
    --link-icon-translate: -20px;
    --link-icon-opacity: 0;
    position: relative;
    border-radius: 16px;
    box-shadow: none;
    background: #fff;
    border: 1px solid #ddd;
    transform-origin: center;
    transition: all 0.4s ease-in-out;
    overflow: hidden;
}
article a::after {
    position: absolute;
    inset-block: 0;
    inset-inline: 0;
    cursor: pointer;
    content: "";
}
  /* basic article elements styling */
article h2 {
    margin: 0 0 18px 0;
    font-family:'Arvo',arial, sans-serif;
    font-size: 1.9rem;
    letter-spacing: 0.06em;
    color: var(--title-color);
    transition: color 0.3s ease-out;
}
figure {
    margin: 0;
    padding: 0;
    overflow: hidden;
    height: 100%;
    object-fit: cover;
}
article img {
    max-width: 100%;
    transform-origin: center;
    transform: scale(var(--img-scale));
    transition: transform 0.4s ease-in-out;
}
.article-body {
    padding: 24px;
}
article a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: #28666e;
}
.read-more:hover{
    text-decoration: none;
    color: #7DB9B6;
}
article a:focus {
    outline: 1px dotted #28666e;
}
article a .icon {
    min-width: 24px;
    width: 24px;
    height: 24px;
    margin-left: 5px;
    transform: translateX(var(--link-icon-translate));
    opacity: var(--link-icon-opacity);
    transition: all 0.3s;
}
  /* using the has() relational pseudo selector to update our custom properties */
article:has(:hover, :focus) {
    --img-scale: 1.1;
    --link-icon-translate: 0;
    --link-icon-opacity: 1;
    box-shadow: #46195929 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}
  /************************ 
  Generic layout (demo looks)
  **************************/
*,
*::before,
*::after {
    box-sizing: border-box;
}
.articles {
    display: grid;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 24px;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
    padding-bottom: 3em;
}
@media screen and (max-width: 960px) {
  article {
    container: card/inline-size;
  }
  .article-body p {
    display: none;
  }
  .article-body h2{
    font-size: 1.75rem;
  }
}
@container card (min-width: 380px) {
  .article-wrapper {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 16px;
  }
  .article-body {
    padding-left: 0;
  }
  .article-body h2{
    font-size: 1.5rem;
  }
  figure {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  figure img {
    height: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }
}
.sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0); 
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap; 
  width: 1px;
}
/*
================================================
    G. Noticias
================================================
**/
.news{
    padding-top: 35px;
    padding-bottom: 35px; 
}
.news{
    position: relative;
    display: flex;
    margin-inline: auto;
    padding: auto;
}
.news-thumb{
    min-height: clamp(min(10vw, 20rem), 300px, max(90vw, 55rem));
    border-radius: 16px;
    margin-bottom: 25px;
    border: 1px solid #ddd;
    border-radius: 15px;
    transition: all 0.4s ease-in-out;
}
.news-thumb a{
    text-decoration: none;
}
.news-thumb-title-container, .news-thumb-resume{
    margin-top: auto;
    padding-inline: 10px;
}
.news-banner{
    width: 100%;
    margin-inline: 0;
    padding: 0;
    overflow: hidden;
    height: 100%;
    object-fit: cover;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;   
}
.news-banner img{
    object-fit: cover;
}
.news-banner > img{
    max-width: 100%;
    min-height: (50px ,100px, 150px);
    margin: 0;
    padding: 0;
    image-orientation: center;
    object-fit: cover; 
    overflow: hidden;
    transform-origin: center;
    transform: scale(var(--img-scale));
    transition: transform 0.4s ease-in-out;
}
.news-thumb:hover{
    cursor: pointer;
    .news-banner > img{
        --img-scale: 1.1;
    }
}
.news-thumb:hover{
    box-shadow: #46195929 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}
.news-thumb > .news-thumb-title:hover{
    text-decoration: none;
}
.news-thumb > .news-thumb-resume:hover{
    text-decoration: none;
}
.news-thumb-title-container{
    color: #7db9b6;
    text-transform: uppercase;    
    margin: 5px 0 5px; 
    font-size: 15px; 
    min-height: 60px;  
    overflow-y: hidden;
}
.news-thumb-resume{
    min-height: 60px;
    overflow-y: hidden;
    color: #231f20;    
    text-align: start;
    font-family: 'Roboto',arial, sans-serif;
    text-transform: lowercase;
}
.pagination{
    font-size: 1.125em;    
    margin-bottom: 0;
}
.pagination > li > a, .pagination > li > span {
    position: relative;
    float: left;
    padding: 0.25em 0.875em;
    line-height: 1.42857143;
    text-decoration: none;
    color:#7db9b6;
    background-color: transparent;
    border: 0;
    margin-left: 1.25em;
}
.pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus {
    color: #fff;
    background-color: #7db9b6;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
}
.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
    z-index: 2;
    color: #fff;
    background-color: #7db9b6;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    cursor: default;
}
.loader{
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #F5E9CF;
    z-index: 4;
}
/**
================================================
    E. Index Mensagem
================================================
**/
.index-message{
    position: relative;
    padding: 3.125em;
    margin-top: 5em;
    margin-bottom: 3.125em;
    align-content: center;
}
.index-message-txt{
    position:relative ;
    padding-top: 2.1875em;
    padding-bottom: 2.1875em;
    background: #7db9b66b;
    display: inline-block;  
    width: 100%;
    align-items: center;
}
/**
================================================
    H. Newsletter
================================================
**/
.newsletter{
    position: relative;
    display: block; 
    border-top:1px solid #7db9b6;
    padding-top: 3.125em;
    padding-top: 80px;
    padding-bottom: 40px;
}
.newsletter-title{
    color: white;
    margin-top: 0;
    text-transform: uppercase;
    margin-bottom: 2.1875em;
}
.newsletter-input{
    margin-inline: 1em;
    width: 55%;    
    background: rgba(255,255,255,0.2);  
    border: 1px solid #7db9b6;  
    height: 2.5em;  
    border-radius: 0.1875em;
    -moz-border-radius: 0.1875em;
    -webkit-border-radius: 0.1875em;
    color:#231f20;
}
.newsletter-input:focus:active{
    border:#7db9b693;
}
.newsletter-input::-webkit-input-placeholder { 
    /* WebKit, Blink, Edge */
    color:#4d4d4d;
}
.newsletter-input:-moz-placeholder { 
    /* Mozilla Firefox 4 to 18 */
    color:#4d4d4d;
}
.newsletter-input::-moz-placeholder { 
    /* Mozilla Firefox 19+ */
    color:#4d4d4d;
}
.newsletter-input:-ms-input-placeholder { 
    /* Internet Explorer 10-11 */
    color:#4d4d4d;
}
.newsletter-btn{
    border:none;
    margin-top: 10px;
    background-color: #7DB9B6;
    border-radius:0.625em;
    -webkit-border-radius: 0.625em;
    -moz-border-radius:0.625em;
    padding: 0.6em;
    padding-inline: 1em;
    margin-inline: 1em;
    color: #fff;
    font-weight: 500;
    background-color: none;
}
.newsletter-btn:hover{
    background: #7DB9B6; 
    color: #000;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
#newsletterForm{
    transform: translate3d(0, 0, 0);
    position: relative;
    margin-inline: auto;
    display: inline;
    text-align: center;
}
/**
================================================
    I. Footer
================================================
**/
.footer{
    position: relative;
    margin-inline:auto;
    margin-top: 2em;
    padding-top: 2.15em;
    overflow: hidden;  
    padding-bottom: 0.6em;
    font-display: lowercase;
    font-size: 1.5rem;
    left:0;
    right:0;
}
.wrap{
    width: 100%;
    display: grid;
    /* we have to be careful with this, it mucks with the tab order */
    grid-auto-flow: dense;
    /* gap: 1rem; */
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    /* grid-auto-rows: 120px auto auto; */
}
.footer-right, .footer-center, .footer-left[data-featured="true"] {
    @container (min-width: 850px) {
        grid-column: span 2;
        grid-template-columns: subgrid;
    }
}
.footer-right{
    text-align: right;
}
.footer-centered{
    margin-inline: auto;
}
.footer-right p{
    font-size: 1.5rem;
    color: #000;
    line-height: 1em;
}
.footer-contacts-text{
    margin-bottom:1em;
}
.footer-ul{
    list-style-type: none;
    -webkit-margin-before: 0em;
    -webkit-margin-after: 0em;
    -webkit-margin-start: 0em;
    -webkit-margin-end: 0em;
    -webkit-padding-start: 0em;
}
.footer-ul > li{
    margin-bottom: 0.9375em;
}
.footer-ul > li a{
    color:black;
    margin-bottom: 0.650em;
}
.footer-ul > li a:hover{
    text-decoration: none;
    color: #461959;
}
.signature{  
    border: 1px solid #ffffff80;
    background: #7db9b6;
    color:#000;
    font-weight: 400;
    font-size: 12px;
    padding-top: 1.3em;
    padding-bottom: 1.3em;
    text-align: center;
}
.signature-link{
    font-weight: 600;
    color: #000;
}
.signature-link:hover{
    color:#461959;
    text-decoration: none;
    font-weight: 550;
}
/**
================================================
    J. Contacts
================================================
**/
.contacts{
    margin-top: 6.5625em;
    position: relative;
    width: 80%;
    margin: auto;
    padding-inline:10px;
}
#mapa{
    position: relative;
    height:auto;
    display: inline-block;
}
.contact-input{
    width: 100%;
    height: auto;
    border: 0.0625em solid #ddd;
    height: 2.5em;
    padding-left: 0.9375em; 
    padding-right: 0.9375em;
    color:black;
    border-radius: 0.1875em;
    -moz-border-radius: 0.1875em;
    -webkit-border-radius: 0.1875em;
}
.contact-padding{
    position: relative;
    padding-top: 1.5625em;
    padding-bottom: 1.5625em;
}
.contact-txtarea{
    width: 100%;
    border: 0.0625em solid #F5E9CF;
    padding: 0.75em 0.9375em;
    color:#231f20;
    border-radius: 0.1875em;
    -moz-border-radius: 0.1875em;
    -webkit-border-radius: 0.1875em;
}
.contact-input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#979797;
    font-size: small;
}
.contact-input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:#979797;
    font-size: small;
}
.contact-input::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:#979797;
    font-size: small;
}
.contact-input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color:#979797;
    font-size: small;
}
.contact-txtarea::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#979797;
    font-size: small;
}
.contact-txtarea:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:#979797;
    font-size: small;
}
.contact-txtarea::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:#979797;
    font-size: small;
}
.contact-txtarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color:#979797;
    font-size: small;
}
label{
    color:#4d4d4d;
    font-weight: 500;
}
#contactForm .form-group{
    position: relative;
}
.contact-ico{
    position: absolute;
    top:0.5em;
    right: 0.625em;
    color: #7db9b6;
    font-size: 1.5rem;
}
.contact-txtarea-ico{
    position: absolute;
    bottom:0.9375em;
    right: 0.625em;
    color: #7db9b6;
    font-size: 1.5em;
}
.contact-btn{
    color:#fff;
    border: none;
    border-radius: 0.625em;
    -webkit-border-radius: 0.625em;
    -moz-border-radius: 0.625em;
    background: #7DB9B6;    
    padding: 0.625em 1.5625em;
}
.contact-btn:hover{
    background-color: #7DB9B6;
    color: #000;
    transition: .3s ease-in-out;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
.google-map {
    padding-bottom: 28%;
    position: relative;
}
.google-map iframe {
    height:100%;
    width: 100%;
    left: 0;
    top: 0;
    position: absolute;
}
/**
================================================
    K. News View
================================================
**/
.news-view-banner{
    min-height: 15.625em;
    position: relative;
    width: 100%;
}
.news-view-body{
    padding-top: 1.5625em;
    padding-bottom: 1.5625em;
    background: rgba(255, 255, 255, 0.2);
}
.news-title {
    text-transform: uppercase;  
    color: #461959;
}
.news-divider{
    margin-top: 0.625em;
    margin-bottom:0.625em;
    border-bottom:0.125em solid #7DB9B6;
}
.news-text{
    color:#231f20;
    margin-top: 20px;
}
.news-btn{
    margin-bottom:0.3125em;
    display:inline-block;
    width:auto;
    color:white;
    border-radius: 0.625em;
    -webkit-border-radius: 0.625em;
    -moz-border-radius: 0.625em;
    border: 0.0625em solid #F5E9CF;
    background: #7DB9B6;    
    padding: 0.625em 1.5625em;
}
.news-share-container{
    padding-top: 2.1875em;
}
.news-ball{
    color: white;  
    width: 3.125em;  
    height: 3.125em;  
    text-align: center; 
    line-height: 3.125em;  
    font-size: 1.5rem;  
    border-radius: 50%;  
    -moz-border-radius: 50%;  
    -webkit-border-radius: 50%; 
    background: #7DB9B6; 
    display: inline-block;
}
#newsContainer{
    position: relative;
}

.breadcrumbs a {
    color: #333;
}
/**
================================================
    L. Service View
================================================
**/
.servicepage{
    width: 75%;
    padding-top: 3.125em;
    display: flex;
    position: relative;
    margin: auto;
}
.service-area-logo{
    margin: auto;
    text-align: center;
}
.service-area-img img{
    margin-inline: auto;
    display: flex;
    position: relative;
    align-self: center;
}
.service-area-img img{
    float: right;
    padding: 2em;
    max-width: 440px;
    max-height: 540px; 
}
.service-area-text{
    font-family: 'Roboto',arial, sans-serif;
    font-size: 17px;
    padding-inline: 80px;
    color:black;
    line-height: 2.5rem;
    padding-top: 2em;
}
.service-body{
    width: 100%;
    position: relative;
    display: flex;
    margin: auto;
    padding-bottom: 2em;
}
.service-area-title{
    width: 100%;
    position: relative;
    text-align: center;
    display: block;
    padding-top: 20px;
    padding-bottom: 15px;
    color:#461959;
    font-family:  'Arvo',arial, sans-serif ;
    font-size: 1.875em;
}
.mobile-menu-btn{
    display: none;
    position: absolute;
    top: 1.25em;
    right: 0.9375em;
    font-size: 1.625rem;
    color: #000;
    cursor: pointer;
}
/**
================================================
    N. Services page - FAQs
================================================
**/
@import url("https://fonts.googleapis.com/css?family=Lato:400,400i,700");
.faq-title{
    font-family:  'Arvo',arial, sans-serif;
    padding-top: 90px;
    font-size: 1.875em;;
    color: #461959;
    text-align: center;
}
.wrapper {
  width: 60%;
  align-items: center;
  margin: auto;
}
.container-faq {
  background-color: #bfe6e4;
  color: #000;
  border-radius: 20px;
  box-shadow: 0 3px 6px 0 rgb(0,0,0,0.15);
  margin: 20px 0;
}
.question {
    color: #000;
    font-size: 1.650rem;
    font-weight: 500;
    padding: 20px 80px 20px 20px;
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
}
.question::after {
  content: "\002B";
  font-size: 2.2rem;
  position: absolute;
  right: 20px;
  transition: 0.2s;
}
.question.active::after {
  transform: rotate(45deg);
}
.answercont {
  max-height: 0;
  overflow: hidden;
  transition: 0.3s;
}
.answer {
  padding: 0 20px 20px;
  line-height: 1.5rem;
}
.answer a{
    color: #000;
    font-weight: 550;
}
.answer a:hover{
    text-decoration: none;
    color: #461959;
}
@media screen and (max-width: 790px){
  html {
    font-size: 14px;
  }
  .wrapper {
    width: 80%;
  }
}
.pannel-footer{
    padding: 2em 2rem 2.5rem;
    width: 60%;
    font-size: 1.5rem;
    color: #000;
    text-align: start;
    margin: auto;
}
.pannel-footer a{
    font-weight: 600;
    color: #000;
}
.pannel-footer a:hover{
    text-decoration: none;
    color: #461959;
}
/**
================================================
    O. Services page - Mais Informações
================================================
**/
.moreinfo-body{
    align-items: center;
    margin-top: 100px;
}
.moreinfo-title{
    text-align: center;
    font-size: 1.875em;
    color: #461959;
    font-family:'Arvo',arial, sans-serif;
}
.moreinfo-subtitle{
    padding-left: 4em;
    padding-bottom: 0.5em;
    padding-top: 1em;
    color: #7DB9B6;
}
.moreinfo-description{
    padding-left: 8em;
    padding-right: 8em;
}
.moreinfo-link{
    text-decoration: none;
    color: #7DB9B6;
    font-weight: 550;
    transition: .2s ease-in-out;
}
.moreinfo-link:hover{
    text-decoration: none;
    color: #461959;
}
.partners{
    align-items: center;
    display:block;
    text-align: center;
    margin-top: 2em;
    margin-bottom: 2em;
}
.partner-logo{
    margin: 2em;
}
/**
================================================
    Z. Media Queries
================================================
**/

@media all and (max-width: 1200px) {
    .nav-menu-ul{
        margin: auto;
        display: inline-block;
        text-align: center;
        list-style-type: none;
        -webkit-margin-before: 0em;
        -webkit-margin-after: 0em;
        -webkit-margin-start: 0px;
        -webkit-margin-end: 0px;
        -webkit-padding-start: 0px;
        padding-top: 20px;
        padding-bottom: 20px;
        font-size: 17px;
    } 
    .nav-menu-ul > li a{
        font-size: 11px;
        display: inline-block;
    }
    .nav-menu-logo{
        height: 4em;
        margin: auto;
        float:left;
    }
    .nav-down{
        background-color: #fff;
    }
    .nav-down .nav-menu-logo{
        margin: auto; 
            
    }
    .nav-down .menu-mobile-open{
        text-align: left; 
        width: 100%;
    }
    .menu-mobile-open > li{
        display: block !important; 
        line-height: 2em;
    }
    .banner-content{
        width: 80%;
    }
    .insituicao-container{
        width: 100%;
    }
    .instituicao-img{
        padding-left: 1em;
    }
    .instituicao-img img{
        padding: 0; 
        margin:auto;
        position: relative;
        display: flex;
        margin: auto;
    }
    .instituicao-text{
        margin-right: 3em;
        padding-right: 2em;
    }
    .instituicao-text button{
        padding-right: 2em;
        margin-right: 3em;
        position: relative;
        display: flex;
    }
    .news-thumb-title{
        width: 100%;
    }
    .news-thumb-date{
        width: 100%;
        text-align: left;
    }
    .newsletter-input{
        width:100%;
        margin:auto;
    }
    .newsletter-btn{
        float: right;
        margin-inline: auto;
        align-items: center;
    }
    .service-body{
        width: 100%;
    }
    .service-area-img{
        padding-right: 1em;
    }
    .service-area-text{
        padding: 0;
    }
    .footer{
        font-size:1.25rem ;
    }
    .footer-right, .footer-centered, .footer-left{
        font-size: 1.25rem;
    }
    .footer-right p{
        font-size: 1.25rem;
        color: #000;
    }   
}
@media all and (max-width: 1094px) {
    .nav-menu-ul{
        width: 100%;
        text-align: left;
        font-size: 1.25rem;
        font-weight: 500;    
        margin-top: 1em;
        padding-top: 0;
        padding-bottom: 0;
    }
    .mobile-menu-btn{
        display: block;
        align-items: center;
        top: 1.5em;
        font-size: 21px;
    }
    .menu-mobile-open{
        padding-top: 1em;
    }
    .nav-menu-ul > li{
        display: none;
        margin: 0;
        margin-bottom: 0.3125em;
    }
    .nav-menu-logo { 
        left: 0.9375em;
        top: 0.5em;
        width: auto; 
    }
    .nav-down .nav-menu-ul > li{
        padding-top: 0;
        padding-bottom: 0;
        text-align: left;
        width: 100%; 
    }
    .nav-down .menu-mobile-open{
        text-align: left;
        width: 100%;
    }
    .nav-down .nav-menu-transparence{
        width: 100%;
        text-align: left;
    }
    .insituicao-container{
        width: 80%;
    }
    .instituicao-img{
        position: relative;
        display: flex;
        margin: auto;
    }
    .instituicao-img img{
        position: relative;
        display: flex;
        margin: auto;
        padding: 0%;
    }
    .instituicao-text{
        width: 100%;
        line-height: 1.75rem;
    }
    .instituicao-text button{
        margin: auto;
        margin-top: 1em;
        margin-bottom: 2em;
        display: flex;
        position: relative;
    }
    .provedor-message{
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
    }
    .mobile-menu-btn{
        display: block;
    }
    .menu-mobile-open > li{
        display: block !important; 
        left: 1em;
        text-align: left;
        line-height: 1.5em;
        padding-inline:1em;
    }
    .menu-mobile-open{
        margin-top: 1em;
    }
    .contacts{
        margin-top: 3.125em;
    }
    .banner-content{
        width: 80%;
    }
    .newsletter-btn{
        float: right;
        margin-inline: auto;
        align-items: center;
    }
    .newsletter-input{
        margin:auto;
    }
    .service-body{
        display:inline-block;
        align-items: center;
        position: relative;  
        margin: auto;
    }
    .service-area-img{
        position: relative;
        margin: auto;
        display: flex;
        align-items: center;
    }
    .service-area-img img{
        max-width: 20em;
        max-height:25em;
        margin: auto;
    }
    .service-area-text{
        width: 100%;
        margin: auto;
        padding: 0;
    }
    .footer{
        font-size:1.15rem ;
    }
    .footer-right, .footer-centered, .footer-left{
        font-size: 1.15rem;
    }
    .footer-right p{
        font-size: 1.15rem;
        color: #000;
    }
}
@media all and (max-width: 768px) {
    .menu-mobile-open{
        width: 100%; 
    }
    .nav-down .nav-menu-ul{
        padding-top: 0;
        padding-bottom: 0;
        text-align: left;
        width: 100%; 
    }
    .nav-down .menu-mobile-open{
        text-align: left;
        width: 100%;
    }
    .nav-down .nav-menu-transparence{
        width: 100%;
        text-align: left;
        display: inline-block;
    }
    .banner-message-container{
        padding: 15px 0;
    }
    .banner-message{
        font-size: 14px;
    }
    #mapa{
        height: 250px;
    }
    .services-list{
        display: none !important;
    }
    .services-list-mobile{
        display: block !important;
    }
    .insituicao-container{
        width: 80%;
    }
    .instituicao-img{
        position: relative; 
    }
    .instituicao-text{
        padding: 0;
        width: 100%;
    }
    .instituicao-img img{
        max-width: 16em;
        max-height:21em;
    }
    .newsletter-btn{
       margin-inline: auto;
       align-items: center;
    }
    .service-body{
        display:inline-block;
        align-items: center;
        position: relative;  
        margin: auto;
    }
    .service-area-img{
        position: relative;
        margin: auto;
        display: flex;
        align-items: center;
    }
    .service-area-img img{
        max-width: 20em;
        max-height:25em;
        margin: auto;
    }
    .service-area-text{
        width: 100%;
        margin: auto;
        padding: 0;
    }
    .wrap{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
    .footer{
        font-size:0.8rem ;
    }
    .footer-title{
        font-size: 0.8rem;
    }
    .footer-right, .footer-centered, .footer-left{
        font-size: 0.8rem;
    }
    .footer-right p{
        font-size: 0.8rem;
        color: #000;
    }
}
@media all and (max-width: 500px) {
    .banner-pop-item{
        display: none !important;
    }
}

.header-placeholder {
    min-height: 85px;
}

@media (max-width: 1199px) {
    .header-placeholder {
        min-height: 78px;
    }
}

section.contas-e-gerencias {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 800px;
    margin: 0 auto;
}

section.contas-e-gerencias * {
    flex: 0 100%;
    justify-content: center;
    text-align: center;
}

section.contas-e-gerencias .title {
    font-size: 34px;
    font-weight: 500;
    margin-bottom: 20px;
}

section.contas-e-gerencias .text {
    font-size: 18px;
}

section.contas-e-gerencias .years ul {
    list-style-type: none;
    margin: 20px 0 40px;
    padding: 0;
}

section.contas-e-gerencias .years ul li + li {
    margin-top: 17px;
    font-size: 15px;
}

section.contas-e-gerencias  a {
    font-size: 15px;
    color: #333;
    text-decoration: underline;
    cursor: pointer;
    position: relative;
    z-index: 2;
}

body {
    display: flex;
    flex-direction: column;
    height: 100vh;
}

header {
    flex-shrink: 0;
}

footer {
    flex-shrink: 0;
    background-color: #134c7d;
    width: 100%;
}

main {
    flex: 1 0 auto;
}

.error-page {
    text-align: center;
    margin-top: 80px;
}
/*** Serviços slick hover effect ***/
/* @keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
} 
@-moz-keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@-webkit-keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@-o-keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@-ms-keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}   */