@import url('../fonts/fonts.css');
html {overflow-x: hidden;}
body {font-family: 'Galano', sans-serif; font-size: 18px; position: relative; color: #45346d;}
a,button, input, textarea {-webkit-transition: .3s;-o-transition: .3s;transition: .3s; outline: 0;}
button {cursor: pointer;}
a, a:hover {text-decoration: none;}
a:focus, button:focus, input:focus, textarea:focus {outline: 0; text-decoration: none;}
ul {-webkit-padding-start:0; -moz-padding-start:0; margin: 0;}
ul li {list-style-type: none;}
img {max-width: 100%;}
*{margin: 0; padding: 0; box-sizing:border-box;}
section{padding: 100px 0;}
p {line-height: 28px; margin-bottom: 20px; font-weight: 300;}
.grid {max-width: 1440px; width: 100%; margin: 0 auto; padding: 0 30px; display: grid; position: relative;}
section h2 span {position: relative; display: inline-block; z-index: 1;}
section h2 span:before {content: ''; position: absolute; background: linear-gradient(-90deg, rgba(137,255,155,1) 0%, rgba(50,50,50,0) 100%);
    width: 200px; height: 34px; right: -2px; top: 12px; z-index: -1; border-radius: 5px;}
body:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: linear-gradient(-90deg, rgba(0,176,211,1) 0%, rgba(101,53,188,1) 100%);  
    opacity: 0;
    visibility: hidden;
    z-index: 2;
    transition: .3s;
}
body.ativo:before {
    opacity: .9;
    visibility: visible;
}
header {
    position: absolute;
    width: 100%;
    padding-top: 50px;
}
header.interna {
    padding-top: 30px;
}
header.interna ul {
    display: none;
}
header.interna #menu {
    left: unset;
    right: 30px;
    top: 12px;    
}
header .grid > a {
    display: table;
    width: max-content;  
    position: relative;
    z-index: 1;      
}
header #menu {
    position: absolute;
    left: -60px;
    border-radius: 100px;   
    overflow: hidden;
    height: 60px;
    transition: .3s;
    cursor: pointer; 
    z-index: 3;
}
header #menu:hover, body.ativo header #menu {
    background: #007dce;    
}
header ul {
    position: absolute;
    right: 30px;    
    z-index: 1;
}
header ul li {
    display: inline-block;
}
nav {
    position: fixed;
    padding-top: 120px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 0;
    z-index: 2;
    transition: .3s;
    text-align: center;
    visibility: hidden;
    opacity: 0;
}
nav img {
    margin-bottom: 30px;
}
nav ul li a {
    color: #fff;
    font-size: 26px;
    margin: 0 auto 12px;
    display: table;
    position: relative;
    font-weight: 300;
}
nav ul li a:before {
    content: '';
    position: absolute;
    background: linear-gradient(-90deg, rgba(137,255,155,1) 0%, rgba(50,50,50,0) 100%);
    width: 0;
    height: 31px;
    right: -8px;
    top: 3px;
    z-index: -1;
    border-radius: 5px;
    opacity: 0;
    transition: .3s;
}
nav ul li a:hover:before {
    opacity: .5;
    width: 80%;
}
nav div:nth-child(2) ul li:last-child a {
    border: 1px solid #fff;
    padding: 15px;
    border-radius: 50px;
    font-size: 20px;
    margin-top: 24px;
    display: table;    
}
nav div:nth-child(2) ul li:last-child a:before {
    display: none;
}
nav ol {
    margin-top: 30px;
}
nav ol li {
    display: inline-block;
}
body.ativo nav {
    opacity: 1;
    visibility: visible;
}
nav div:nth-child(2) {
    transition: .3s;
    position: relative;
    left: 0;
}
nav div.sumir {
    opacity: 0;
    visibility: hidden;
    left: -100px;
}
nav div:nth-child(3) {
    position: absolute;
    left: 0;
    right: -100px;
    top: 237px;    
    transition: .3s;
    opacity: 0;
    visibility: hidden;
}
nav div.aparecer {
    right: 0;
    opacity: 1;
    visibility: visible;
}
nav div > a {
    color: #fff;
    padding: 10px 25px;
    display: table;
    border-radius: 50px;
    border: 1px solid #fff;
    text-align: center;
    margin: 35px auto 0;    
}





section.banner {
    background-image: url('../img/bg-banner.png');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    padding: 50px 0 0;
    border-bottom: 15px solid #88ff9b;    
}
section.banner .grid {

}
section.banner .conteudo {
    padding: 150px 0 100px;
    max-width: 800px;
    margin: 0 auto;    
    text-align: center;
}
section.banner h1 {
    font-weight: 400;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 12px;
    color: #fff;    
    margin-bottom: 40px;
}
section.banner h2 {
    font-family: 'Artegra';
    font-weight: 400;
    font-size: 68px;
    line-height: 60px;
    color: #fff;
    position: relative;
    left: -2px;
    margin-bottom: 25px;
}
section.banner p {
    font-size: 18px;
    color: #fff;
    margin-bottom: 55px;
    line-height: 24px;    
}
section.banner .grid > img {
    align-self: end;
}
section.banner .botoes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
section.banner .botoes a {
    font-size: 21px;
    color: #5b2cca;
    background-color: #88ff9b;
    padding: 15px;
    text-align: center;
    display: block;
    border-radius: 50px;
    border: 1px solid #88ff9b;
}
section.banner .botoes a img {
    position: relative;
    top: 2px;
    margin-right: 5px;    
}
section.banner .botoes a:last-child {
    border-color: #fff;
    color: #fff;
    background: none;
}
section.banner .flutuante {
    position: absolute;
    z-index: 1;
    bottom: -91px;
    width: 100%;
    padding: 0 30px;
}
section.banner ul {
    background: #fff;
    padding: 60px 120px 55px;
    border-radius: 100px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    box-shadow: 0px 15px 20px -10px rgb(0 0 0 / 5%);    
}
section.banner ul li, section.banner ul li span {
    display: inline-block;
    font-size: 24px;
    line-height: 24px;
}
section.banner ul li img {
    margin-right: 15px;
}
section.banner ul li span {
    position: relative;
    top: -6px;
    color: #5b2cca;
    font-weight: 300;
}
section.banner ul li span strong {
    display: block;
}



section.subbanner {
    background-image: url('../img/bg-banner.png');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    padding: 50px 0 0;
    border-bottom: 10px solid #88ff9b;
    height: 160px;
}

section.sobre {
    background: #fafafa;
}
section.sobre .grid {
    grid-template-columns: 1fr 1fr;
}
section.sobre h2 {
    color: #5b2cca;
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 20px;
}
section.sobre h3 {
    color: #676767;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 2.4px;
    margin-bottom: 40px;
}
section.sobre .conteudo {
    align-self: center;
}
section.sobre .botoes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 50px;
}
section.sobre .botoes a {
    font-size: 21px;
    color: #5b2cca;
    padding: 15px;
    display: table;
    border-radius: 50px;
    border: 1px solid #88ff9b;
    text-align: center;
}
section.sobre .botoes a img {
    position: relative;
    top: 3px;
    margin-right: 5px;    
}
section.sobre .botoes a:first-child {
    background-color: #88ff9b;
}
section.sobre .botoes a:last-child {
    border-color: #5b2cca;
}


section.exames .grid:last-child {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 100px;
}
section.exames .slick-dots {
    display: none!important;
}
section.exames h2 {
    color: #5b2cca;
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 10px;
}
section.exames .grid > h3 {
    color: #676767;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 2.9px;
    margin-bottom: 40px;
}
section.exames figure > button {
    position: absolute;
    top: -60px;
    right: 0;
    border: 0;
    background: none;
    font-size: 0;
}
section.exames figure > button {
    content: '';
    width: 11px;
    height: 19px;
    background-image: url('../img/seta.png');
}
section.exames figure > button:first-child {
    right: 50px;
    transform: scaleX(-1);
}
section.exames #accordion h3 {
    font-family: 'Artegra';
    color: #5b2cca;
    font-weight: 400;
    background: #fafafa;
    padding: 15px 20px;
    font-size: 18px;
    border-radius: 25px 50px 50px 25px;
    cursor: pointer;   
    transition: .3s;
    margin-bottom: 10px;
}
section.exames #accordion h3[aria-expanded="true"] {
    background: #5b2cca;
    color: #8dfa9e;
}
section.exames #accordion h3 i {
    width: 40px;
    height: 40px;
    background-color: #efefef;
    color: #5b2cca;
    float: right;
    font-size: 48px;
    border-radius: 100px;
    position: relative;
    top: -8px;
    right: -10px;
    text-align: center;
    font-style: inherit;
    font-weight: 100;
    font-family: 'Galano';
}
section.exames #accordion h3 i:before {
    content: '+';
    top: -16px;
    position: relative;
    font-size: 41px;
}
section.exames #accordion h3[aria-expanded="true"] i:before {
    content: '-';
    top: -16px;
    font-size: 41px;
}


section.mapa {
    background-color: #fafafa;
}
section.mapa .grid {
    grid-template-columns: 1fr max-content max-content;
    gap: 20px;
}
section.mapa .localizacao {
    background: #fff;
    border-radius: 40px;
    padding: 40px;
    max-width: 505px;
    position: absolute;
    left: 0;
    top: 60px;
    box-shadow: 0px 0px 15px -5px rgb(0 0 0 / 21%);  
}
section.mapa .localizacao img {
    float: left;
    margin-right: 20px;
}
section.mapa h2 {
    color: #5b2cca;
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 5px;
    margin-top: 10px;
}
section.mapa h3 {
    color: #676767;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 2.9px;
    margin-bottom: 40px;
}
section.mapa label {
    color: #5319dd;
    display: block;
    margin-top: 15px;
    margin-bottom: 5px;
}
section.mapa input {
    padding: 15px 20px;
    border: 1px solid #f3f3f3;
    color: #45346d;
    width: 100%;
    border-radius: 20px;
    font-size: 16px;
    font-weight: 600;
}
section.mapa a {
    background-color: #88ff9b;
    color: #5b2cca;    
    font-size: 21px;
    font-family: 'Artegra';
    display: block;
    padding: 15px;
    text-align: center;
    border-radius: 50px;
    margin-top: 30px;
}
section.mapa .subgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}




section.orientacoes {

}
section.orientacoes .grid:last-child {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
section.orientacoes h2 {
    color: #5b2cca;
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 10px;
    text-align: center;
}
section.orientacoes h3 {
    color: #676767;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 2.4px;
    margin-bottom: 40px;
    text-align: center;
}
section.orientacoes article {
    background: #fafafa;
    border-radius: 40px;
    padding: 30px;
}
section.orientacoes article i {
    font-style: normal;
    font-size: 43px;
    font-family: 'Artegra';
    color: #5b2cca;
    background: #88ff9b;
    width: 70px;
    height: 70px;
    display: block;
    float: left;
    margin-right: 25px;
    border-radius: 50px;
    text-align: center;
    padding-top: 8px;
}
section.orientacoes article h4 {
    font-family: 'Artegra';
    color: #5b2cca;
    font-size: 23px;
    font-weight: 400;
    margin-top: 22px;
    margin-bottom: 35px;    
}
section.orientacoes p {
    clear: both;
}
section.orientacoes article p:last-child {
    margin-bottom: 0;
}
section.orientacoes article:nth-child(4) h4 {
    margin-top: 4px;
}



section.convenios {
    padding-top: 0;
}
section.convenios .grid {
    grid-template-columns: 1fr minmax(0, 1fr);
}
section.convenios h2 {
    color: #5b2cca;
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 10px;
}
section.convenios h3 {
    color: #676767;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 2.4px;
}
section.convenios figure {
    padding: 0 20px;
    margin-top: 15px;
}
section.convenios figure img {
    margin: 0 20px;
}
section.convenios figure button {
    position: absolute;
    top: 20px;
    right: 0;
    border: 0;
    background: none;
    font-size: 0;
}
section.convenios figure button {
    content: '';
    width: 11px;
    height: 19px;
    background-image: url('../img/seta.png');
}
section.convenios figure button:first-child {
    right: 50px;
    transform: scaleX(-1);
    left: 0;
    right: unset;
}



section.contato {

}
section.contato .grid {
    grid-template-columns: 1fr max-content;
    gap: 60px;
}
section.contato h3 {
    color: #676767;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 2.4px;
    margin-bottom: 40px;    
}
section.contato form img {
    float: left;
    margin-right: 20px;
}
section.contato form label {
    color: #5319dd;
    display: block;
    margin-top: 20px;
    margin-bottom: 5px;
}
section.contato form input, section.contato form textarea {
    padding: 15px 20px;
    border: 1px solid #f3f3f3;
    color: #45346d;
    width: 100%;
    border-radius: 20px;
    font-size: 16px;
    font-weight: 600;
}
section.contato form ::placeholder {
    font-weight: 300;
    font-family: 'Galano';
}
section.contato form textarea {
    height: 150px;
}
section.contato form button {
    background-color: #88ff9b;
    color: #5b2cca;    
    font-size: 21px;
    font-family: 'Artegra';
    display: block;
    padding: 15px;
    text-align: center;
    border-radius: 50px;
    margin-top: 30px;
    border: 0;
    width: 100%;
}



footer {
    background-image: url('../img/rodape.png');
    background-size: cover;
    padding-top: 100px;
    color: #fff;    
}
footer > .grid {
    grid-template-columns: 1fr .5fr 1fr;
    gap: 60px;
}
footer h2 {
    font-size: 33px;
    color: #fff;
    font-family: 'Artegra';
    font-weight: 400;
    margin-bottom: 20px;
}
footer .grid > div:nth-child(2) ul li {
    margin-bottom: 20px;
}
footer .grid > div:nth-child(2) ul li:before {
    content: '•';
    display: inline-block;
    margin-right: 10px;
}
footer .grid > div:nth-child(2) ul li a,
footer .grid > div:nth-child(3) ul li {
    color: #fff;
    font-weight: 100;
}
footer .grid > div:nth-child(3) ul {
    margin-top: -5px;
}
footer .grid > div:nth-child(3) ul li:nth-child(1),
footer .grid > div:nth-child(3) ul li:nth-child(2) {
    font-size: 55px;
    font-family: 'Artegra';    
}
footer .grid > div:nth-child(3) ul li:nth-child(3) {
    font-size: 35px;
    font-family: 'Artegra';
    margin-bottom: 10px;
}
footer .grid > div:nth-child(3) ul li img {
    position: relative;
    top: 12px;
}
footer .creditos {
    background-image: url('../img/creditos.png');
    background-size: cover;
    padding: 50px 0;
    border-bottom: 15px solid #88ff9c;
    margin-top: 80px;
}
footer .creditos .grid {
    grid-template-columns: max-content 1fr max-content;    
    gap: 60px;
}
footer .creditos p {
    margin-bottom: 0;
}
footer .creditos .grid div:last-child p {
    float: left;
    margin-top: 30px;
    margin-right: 20px;    
}


section.interna {
    padding: 100px 0;
}
section.interna .titulo {
    grid-template-columns: 1fr;
    gap: 0;
}
section.interna .titulo h2 {
    font-family: 'Artegra';
    font-weight: 400;
    font-size: 68px;
    line-height: 60px;
    color: #5b2cca;
    position: relative;
    left: -2px;
    margin-bottom: 10px; 
    text-align: left;   
}
section.interna .titulo h3 {
    text-align: left;
}




section.interna.orientacoes .grid:last-child {
    grid-template-columns: 1fr;
}
section.interna.orientacoes article:nth-child(4) h4 {
    margin-top: 22px;
}
section.interna.exames .grid:last-child {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-top: 60px;
} 
section.interna.exames img {
    border-radius: 50px;
}