html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
    font-family: "Poppins", sans-serif;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

* {
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

svg {
    max-width: 100%;
    height: auto;
}

img {
    max-width: 100%;
}

:root {
    --azul: #34495E;
    --verde: #3E8E7E;
    --transicao: .2s all ease-in-out;
}

.container {
    width: 1240px;
    max-width: 90%;
    margin: 0 auto;
    position: relative;
}

    section {
        scroll-margin-top: 60px;
    }


header {
    position: relative;
    margin-top: 23px;
    margin-bottom: 23px;
}

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

header .container .esq .nome {
    font-weight: 800;
    font-size: 2rem;
    color: var(--azul);
    margin-bottom: 10px;
}

header .container .esq .cargo {
    font-weight: 400;
    font-size: 13px;
}

header .container nav ul {
    display: flex;
    align-items: center;
    column-gap: 60px;
}

header .container nav ul li a {
    font-weight: 400;
    font-size: 12px;
    transition: var(--transicao);
    color: #000;
}



header .container nav ul li a.botao {
    width: 163px;
    border: 1px solid var(--verde);
    transition: var(--transicao);
    height: 35px;
    border-radius: 40px;
    text-align: center;
    display: flex;
    background-color: var(--verde);
    align-items: center;
    justify-content: center;
    font-weight: 800;
    color: #fff;
}



/* Banner */

#banner {
    margin-bottom: 90px;
}

#banner .area-azul {
    border-radius: 30px;
    background-color: var(--azul);
    width: 1771px;
    max-width: 90%;
    margin: 0 auto;
    padding-top: 48px;
}

#banner .area-azul .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 40px;
}

#banner .area-azul .container .dir {
    width: 507px;
    max-width: 50%;
}

#banner .area-azul .container .esq {
    max-width: 50%;
}

#banner .area-azul .container .esq img {
    display: block;
}

#banner .area-azul .container .dir .titulo {
    font-weight: 400;
    font-size: 1.938rem;
    line-height: 3.4rem;
    color: #fff;
    margin-bottom: 14px;
}

#banner .area-azul .container .dir .titulo b {
    font-weight: 800;
    font-size: 3.184rem;
    display: block;
}

#banner .area-azul .container .dir .texto {
    font-weight: 300;
    font-size: 22.33px;
    line-height: 36.15px;
    color: #fff;
    margin-bottom: 65px;
}

#banner .area-azul .container .dir .btn {
    font-weight: 800;
    font-size: 22.33px;
    color: #fff;
    background-color: var(--verde);
    border-radius: 111px;
    transition: var(--transicao);
    text-align: center;
    padding: 21px 41px;
    display: block;
}


/* Sobre mim */

#sobre {
    margin-bottom: 90px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#sobre .container {
    display: flex;
    justify-content: space-between;
    column-gap: 40px;
    margin-bottom: 50px;
}

#sobre .container .esq {
    width: 478px;
    max-width: 50%;
}

#sobre .container .dir {
    width: 528px;
    max-width: 50%;
    max-height: 617px;
    height: auto;
    position: relative;
    border-radius: 30px;
}

#sobre .container .dir::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--azul);
    border-radius: 30px;
    position: absolute;
    bottom: -1.6%;
    right: -2%;
}

#sobre .container .dir img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: relative;
    z-index: 2;
    border-radius: 30px;
}

#sobre .container .esq .titulo {
    font-weight: 800;
    font-size: 1.875rem;
    color: var(--azul);
    margin-bottom: 18px;
}

#sobre .container .esq .texto {
    font-weight: 300;
    font-size: 16px;
    line-height: 32.9px;
}


#sobre .container .esq .areas {
    font-weight: 600;
    font-size: 18px;
    color: var(--azul);
    margin-top: 28px;
    margin-bottom: 24px;
}

#sobre .container .esq .box-cards {
    width: 100%;
    display: flex;
    column-gap: 11px;
    row-gap: 11px;
    flex-wrap: wrap;
}

#sobre .container .esq .box-cards .card {
    background-color: #D9D9D9;
    width: 152px;
    min-height: 110px;
    display: flex;
    align-items: flex-end;
    border-radius: 15px;
}

#sobre .container .esq .box-cards .card p {
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    line-height: 17.9px;
    text-align: center;
    padding: 18px 5px;
}

#sobre .btn {
    font-weight: 800;
    font-size: 16px;
    color: #fff;
    background-color: var(--verde);
    border-radius: 111px;
    transition: var(--transicao);
    text-align: center;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 351px;
    max-width: 90%;
    height: 47px;
}

/* Cards */

#cards {
    margin-bottom: 118px;
}

#cards .container {
    display: flex;
    column-gap: 20px;
}

#cards .container .card {
    width: 24%;
    min-height: 301px;
    padding: 30px;
    border: 2px solid var(--azul);
    border-radius: 15px;
    transition: var(--transicao);
}

#cards .container .card .titulo {
    font-weight: 600;
    font-size: 16px;
    line-height: 25px;
    transition: var(--transicao);
    margin-bottom: 35px;
}

#cards .container .card .texto {
    font-weight: 300;
    font-size: 14px;
    line-height: 25px;
    transition: var(--transicao);
}



/* Depoimentos */

#depoimentos {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 90px;
}

#depoimentos .swiper {
    width: 960px;
    max-width: 100%;
    margin-bottom: 39px;

}

#depoimentos .swiper .swiper-slide {
    background-color: #BDC3C7;
    border-radius: 15px;
    min-height: 187px;
    padding: 30px;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: var(--transicao);
    border: 2px solid #BDC3C7;

}

#depoimentos .swiper .swiper-wrapper {
    align-items: stretch;
    padding: 13px 0;
}

#depoimentos .swiper .swiper-slide .nome {
    font-weight: 600;
    font-size: 14.94px;
    text-align: center;
    color: #000;
    margin-bottom: 8px;

}

#depoimentos .swiper .swiper-slide .texto {
    font-weight: 500;
    font-size: 11.62px;
    line-height: 21.5px;
    text-align: center;

}

#depoimentos .swiper .swiper-slide .estrelas {
    display: block;
    margin-bottom: 10px;
}

#depoimentos .swiper .swiper-slide.swiper-slide-active {
    transform: scale(1.5, 1.1);
    transition: var(--transicao);
    border: 2px solid var(--azul);
    background-color: #fff;
    z-index: 2;
}

#depoimentos .swiper .swiper-slide.swiper-slide-active .nome,
#depoimentos .swiper .swiper-slide.swiper-slide-active .estrelas,
#depoimentos .swiper .swiper-slide.swiper-slide-active .texto {
    transform: scale(0.667, 0.91);
}

#depoimentos .seta {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

#depoimentos .anterior-depoimento {
    left: 0;
}

#depoimentos .proximo-depoimento {
    right: 0;
    transform: scaleX(-1);
    top: 47.5%;
}

#depoimentos .btn {
    font-weight: 800;
    font-size: 16px;
    color: #fff;
    background-color: var(--verde);
    border-radius: 111px;
    transition: var(--transicao);
    text-align: center;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 351px;
    max-width: 90%;
    height: 47px;
}

/* Formação acadêmica */

#formacao {
    margin-bottom: 130px;
}

#formacao .container {
    background-color: var(--verde);
    border-radius: 15px;
}

#formacao .container .dentro {
    width: 845px;
    max-width: 95%;
    margin: 0 auto;
    padding: 40px 0;
}

#formacao .container .dentro>.titulo {
    font-weight: 800;
    font-size: 1.875rem;
    color: #F4EAD5;
    margin-bottom: 46px;

}

#formacao .container .dentro .box-cards {
    column-gap: 2.4%;
    row-gap: 20px;
    display: flex;
    flex-wrap: wrap;
}

#formacao .container .dentro .box-cards .card {
    width: 31.7%;
}

#formacao .container .dentro .box-cards .card .box-imagem {
    width: 100%;
    height: 130px;
    border-radius: 15px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    margin-bottom: 17px;
}

#formacao .container .dentro .box-cards .card .box-imagem img {
    max-width: 90%;
    max-height: 90%;
}

#formacao .container .dentro .box-cards .card .texto {
    font-weight: 500;
    font-size: 14px;
    text-align: center;
    color: #fff;
    max-width: 90%;
    margin: 0 auto;
    line-height: normal;
}

#formacao .container .dentro .box-cards .card .texto b {
    font-weight: 800;
    display: block;
}

#formacao .container .dentro .especializacoes {
    font-weight: 600;
    font-size: 20px;
    margin: 62px 0 29px 0;
    color: #FDFEFE;
}

/* CTA */

#cta {
    background-color: #122A42;
    padding: 56px 0px;
    position: relative;
}

#cta::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 60.7%;
    border-radius: 200px 0 0 200px;
    background-color: #D9D9D9;
}

#cta .container .titulo {
    font-weight: 800;
    font-size: 30px;
    color: #F4EAD5;
    position: relative;
    z-index: 2;
    margin-right: 40.2%;
}

#cta .container .titulo b {
    font-size: 45px;
    display: block;
}

#cta .container {
    display: flex;
    width: 990px;
    align-items: center;
}

#cta .btn {
    font-weight: 800;
    font-size: 16px;
    color: #fff;
    background-color: var(--verde);
    border-radius: 111px;
    transition: var(--transicao);
    text-align: center;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 308px;
    max-width: 100%;
    height: 54px;
    position: relative;
    z-index: 2;
}

/* Footer */

footer {
    background-color: var(--azul);
    padding: 70px 0 0px 0;
}

footer .esq .nome {
    font-weight: 800;
    margin-bottom: 8px;
    font-size: 32px;
    color: #F4EAD5;
}

footer .esq .cargo {
    font-weight: 400;
    font-size: 13px;
    color: #fff;
    margin-bottom: 20px;
}

footer .esq .crp {
    font-weight: 800;
    font-size: 13px;
    color: #fff;
    margin-bottom: 11px;
}

footer .esq .cidade {
    font-weight: 300;
    font-size: 13px;
    color: #fff;
    margin-bottom: 14px;
}

footer .esq .box-midias {
    display: flex;
    column-gap: 10px;
}

footer .esq .box-midias a {
    background-color: #D9D9D9;
    border: 1px solid #000;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 7px;
    color: #000;
}

footer .container {
    display: flex;
    column-gap: 25%;
    margin-bottom: 70px;
}

footer .container ul {
    display: flex;
    flex-direction: column;
    row-gap: 17px;
}

footer .container ul li a {
    font-weight: 400;
    font-size: 12px;
    color: #fff;
    transition: var(--transicao);
}

footer .container ul li a:hover {
    color: var(--verde);
}

footer .desenvolvido {
    background-color: #000;
    text-align: center;
    padding: 20px 0;
}

footer .desenvolvido a {
    color: #fff;
    font-weight: 700;
}

footer .desenvolvido a span {
    color: var(--verde);
}

@media screen and (min-width: 1025px) {
    header .container nav ul li a:hover {
        color: var(--transicao);
        font-weight: 800;
        color: var(--azul);
    }

    header .container nav ul li a.botao:hover {
        background-color: var(--azul);
        border: 1px solid var(--azul);
        color: #fff;
    }

    #banner .area-azul .container .dir .btn:hover {
        color: var(--azul);
        background-color: #fff;
    }

    #sobre .btn:hover,
    #depoimentos .btn:hover,
    #cta .btn:hover {
        background-color: var(--azul);
    }

    #cards .container .card:hover {
        background-color: var(--azul);
    }

    #cards .container .card:hover .titulo {
        color: #F4EAD5;
    }

    #cards .container .card:hover .texto {
        color: #fff;
    }

    header .menu-hamburger {
        display: none;
    }
}

@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1680px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1480px) {
    html {
        font-size: 14px;
    }

    #banner .area-azul .container .dir .btn {
        font-size: 18.33px;
    }
}

@media screen and (max-width: 1440px) {}

@media screen and (max-width: 1366px) {}

@media screen and (max-width: 1280px) {
    #banner .area-azul .container .esq {
        max-width: 43%;
    }

    #banner .area-azul .container .dir {
        padding-bottom: 48px;
    }

    #sobre .container .esq {
        width: auto;
        max-width: 60%;
    }
}

@media screen and (max-width: 1200px) {
    #banner .area-azul .container {
        align-items: flex-end;
    }

    html {
        font-size: 13px;
    }

    header .container nav ul {
        column-gap: 30px;
    }
}

@media screen and (max-width: 1080px) {}

@media screen and (max-width: 1024px) {

    section {
        scroll-margin-top: 100px;
    }

    #banner .area-azul .container {
        flex-direction: column-reverse;
        row-gap: 40px;
    }

    #banner .area-azul .container .esq,
    #banner .area-azul .container .dir {
        max-width: 100%;
    }

    #banner .area-azul .container .dir {
        width: auto;
        padding: 0;
    }

    #banner .area-azul .container .dir .btn {
        width: max-content;
    }

    #banner .area-azul .container .dir .texto {
        font-size: 16.33px;
        line-height: 27.15px;
    }

    #banner .area-azul .container .dir .btn {
        font-size: 14.33px;
    }

    #depoimentos .swiper .swiper-slide.swiper-slide-active {
        transform: unset;
    }

    #depoimentos .swiper .swiper-slide.swiper-slide-active .nome,
    #depoimentos .swiper .swiper-slide.swiper-slide-active .estrelas,
    #depoimentos .swiper .swiper-slide.swiper-slide-active .texto {
        transform: unset;
    }

    #depoimentos .container {
        max-width: 100%;
    }

    #depoimentos .swiper {
        width: 100%;
    }

    #depoimentos .seta {
        display: none;
    }

    #depoimentos .swiper .swiper-slide .texto {
        font-size: 14px;
    }

    #cta::after {
        right: 0;
        top: unset;
        bottom: 0;
        height: 47%;
        width: 100%;
        border-radius: 0;
    }

    footer .container {
        flex-direction: column;
        row-gap: 40px;
    }

    header {
        background-color: var(--verde);
        position: fixed;
        top: 0;
        left: 0;
        margin: 0;
        padding: 15px 0;
        z-index: 100;
        width: 100%;
    }

    header .container .esq .nome,
    header .container .esq .cargo {
        color: #fff;
    }

    header nav {
        position: fixed;
        right: -100%;
        top: 77px;
        transition: var(--transicao);
        background-color: var(--azul);
        height: 100%;
        width: 100%;
        padding-top: 60px;
    }

    header .container nav ul {
        flex-direction: column;
        row-gap: 35px;
    }

    header .container nav ul li a {
        font-size: 16px;
        color: #fff;
    }

    header nav.ativo {
        right: 0;

    }

    header .menu-hamburger {
        width: 28px;
        display: flex;
        row-gap: 8px;
        flex-direction: column;
    }

    header .menu-hamburger span {
        background-color: #fff;
        width: 100%;
        height: 2px;
        display: block;
    }

    #banner {
        padding-top: 140px;
    }


}

@media screen and (max-width: 996px) {
    #sobre .container {
        flex-direction: column;
        row-gap: 40px;
    }

    #sobre .container .esq {
        width: 100%;
        max-width: 100%;
    }

    #sobre .container .esq .box-cards {
        flex-wrap: wrap;
        justify-content: center;
    }

    #sobre .container .dir {
        width: 361px;
        max-width: 100%;
        max-height: unset;
        height: auto;
        margin: 0 auto;
    }

    #cards .container {
        column-gap: 2%;
        flex-wrap: wrap;
        row-gap: 20px;
    }

    #cards .container .card {
        width: 49%;
    }

    #cta .container {
        flex-direction: column;
        row-gap: 40px;
    }

    #cta .container .titulo {
        margin-right: 0;
        text-align: center;
    }
}

@media screen and (max-width: 768px) {
    html {
        font-size: 12px;
    }

    #formacao .container .dentro .box-cards .card {
        width: 48.7%;
    }
}

@media screen and (max-width: 600px) {
    #cards .container .card {
        width: 100%;
    }
}

@media screen and (max-width: 490px) {
    #banner .area-azul .container .dir .btn {
        width: 100%;
        line-height: normal;
    }

    #formacao .container .dentro .box-cards .card {
        width: 100%;
    }

    header .container .esq .nome {
        font-size: 20px;
    }

    header .container .esq .cargo {
        font-size: 12px;
    }
    header nav {
        top: 72px;
    }
}

@media screen and (max-width: 460px) {}

@media screen and (max-width: 430px) {}

@media screen and (max-width: 400px) {}

@media screen and (max-width: 360px) {}

@media screen and (max-width: 330px) {}

@media screen and (max-width: 280px) {}