@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

/* header */
header{
    background-color: #04436E !important;
}
nav li{
    font-family: Barlow;
    font-size: 16px;
    font-weight: 700;
    line-height: 19.2px;
    letter-spacing: 0.2em;
}
.btn-inscricao{
    background-color: #00ABC5;
    font-family: Barlow;
    font-size: 16px;
    font-weight: 700;
    line-height: 19.2px;
    letter-spacing: 0.25em;
    padding: 15px;
}
.btn-inscricao2{
    background-color: #00ABC5;
    font-family: Barlow;
    font-size: 16px;
    font-weight: 700;
    line-height: 19.2px;
    letter-spacing: 0.25em;
    padding: 15px;
}
.btn-inscricao3{
    background-color: #04436E;
    font-family: Barlow;
    font-size: 16px;
    font-weight: 700;
    line-height: 19.2px;
    letter-spacing: 0.25em;
    padding: 15px;
}
.btn-inscricao:hover{
    background-color: #088096;
    color: white;
}
.btn-inscricao2:hover{
    background-color: #088096;
    color: white;
}
.navbar-toggler-icon{
    background-color: #fff !important;
}
.navbar-toggler-icon::after{
    background-color: #fff !important;
}
.navbar-toggler-icon::before{
    background-color: #fff !important;
}
/* fim header */

/* banner-formulario */
.banner{
    width: 100%;
    height: 600px;
    overflow: hidden;
    position: absolute;
}
.banner img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.info-formulario{
    display: flex;
    position: relative;
    flex-direction: row;  
    width: 100%;
    height: 600px;
    z-index: 1;
}
.info-formulario .info{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 50%;
    margin-left: 3%;
    margin-bottom: 3%;
}
.info-formulario .div-form{
    width: 50%;
    
}
.info-title span{
    background-color: #00ABC5;
    padding: 8px;
    border-radius: 50px;
    font-family: Barlow;
    font-size: 14px;
    font-weight: 700;
    line-height: 16.8px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #fff;
}
.info-title h3{
    font-family: Barlow;
    font-size: 48px;
    font-weight: 700;
    line-height: 57.6px;
    text-align: left;
    color: #fff;
    margin-bottom: 5%;
    margin-top: 2%;
}
.info-detalhes h6{
    font-family: Barlow;
    font-size: 16px;
    font-weight: 700;
    line-height: 25.6px;
    letter-spacing: 0.25em;
    text-align: left;
    color: #fff;
    margin-left: 10px;
    text-transform: uppercase;
}
.info-detalhes span{
    font-family: Barlow;
    font-size: 16px;
    font-weight: 400;
    line-height: 25.6px;
    text-align: left;
    color: #fff;
    margin-left: 9%;
    margin-top: -15px;
}
.div-form{
    display: flex;
    justify-content: center;
    margin-left: 3%;
    margin-top: 8%;
}
.form-banner{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 535px;
    height: 587px;
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0px 4px 4px 0px #00000040;
}
.form-banner h3{
    font-family: Barlow;
    font-size: 40px;
    font-weight: 700;
    line-height: 48px;
    color: #04436E;
    margin-bottom: 10%;
}
.form-banner form{
    width: 90%;
}
.form-banner form .form-control{
    border: 1px solid #04436E;
    background-color: transparent;
}
.form-banner form .form-control::placeholder{
    color: #04436E;
}
.form-button2{
    display: flex;
    width: 90%;
    justify-content: flex-end;
    margin-top: 10%;                 
}
/* fim banner-formulario */

/* sobre e público alvo */
.sobre-publico{
    margin-top: 8%;
}
.sobre-publico h3{
    font-family: Barlow;
    font-size: 24px;
    font-weight: 700;
    line-height: 38.4px;
    color: #04436E;
}
.sobre-publico p{
    font-family: Barlow;
    font-size: 20px;
    font-weight: 400;
    line-height: 32px;
    color: #04436E;
    text-align: justify;
}
.sobre-publico .sobre,
.sobre-publico .publico-alvo{
    width: 50%;
    margin-left: 3%;
}
/* fim sobre e público alvo */

/* diferenciais */
.diferenciais{
    display: flex;
    margin-top: 8%;
    margin-bottom: 8%;
    flex-direction: row;
    justify-content: space-between;
}
.diferenciais-itens{
    width: 50%;
    margin-left: 3%;
}
.diferenciais-itens h6{
    font-family: Barlow;
    font-size: 16px;
    font-weight: 700;
    line-height: 19.2px;
    letter-spacing: 0.2em;
    color: #04436E;
    text-transform: uppercase;
}
.diferenciais-itens h3{
    font-family: Roboto;
    font-size: 36px;
    font-weight: 700;
    line-height: 43.2px;
    color: #04436E;
}
.diferenciais-itens li{
    margin-top: 5%;
    font-family: Barlow;
    font-size: 20px;
    font-weight: 400;
    line-height: 32px;
    color: #04436E;
    text-align: justify;
}
.diferenciais-img{
    margin-top: 3%;
    width: 40%;
    height: 641px;
    overflow: hidden;
}
.diferenciais-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    object-position: 35% 0%;
}
/* fim diferenciais */

/* professores */
.areas2{
    display: flex;
    width: 100%;
}
.areas2-fundo{
    display: flex;
    width: 100%;
    z-index: 0;
    position: relative;
}
.area-azul{
    display: flex;
    justify-content: center;
    width: 35%;
    height: 800px;
    background-color: #00ABC5;
    z-index: 0;
}
.area-azul2{
    display: flex;
    justify-content: center;
    width: 35%;
    height: 800px;
    background-color: #04436E;
    z-index: 0;
}
.area-azul-titulo{
    width: 437px;
    height: 124px;
    margin-top: 5rem;
}
.area-azul h3, .area-azul2 h3{
    font-family: Barlow;
    font-size: 48px;
    font-weight: 700;
    line-height: 57.6px;
    color: #fff;
    text-transform: uppercase;
}
.area-azul-texto-mobile{
    display: none;
}
.area-branca{
    width: 65%;
    display: flex;
    z-index: 0;
    background-color: #F8F8F8;
}
.area-branca-texto{
    margin-top: 5rem;
    width: 100%;
    margin-left: 8%;
}
.area-branca-texto p{
    font-family: Barlow;
    font-size: 24px;
    font-weight: 400;
    line-height: 28.8px;
    color: #04436E;
}
.areas2-carrossel{
    display: flex;
    width: 100%;
    position: absolute;
    z-index: 1;
    justify-content: center;
    margin-top: 17rem;
}
.carrossel{
    width: 75%;
}
/* fim professores */

/* ementa */
.ementa{
    margin-top: 5%;
    margin-bottom: 5%;
}
.ementa h3{
    font-family: Barlow;
    font-size: 48px;
    font-weight: 700;
    line-height: 57.6px;
    color: #04436E;
    margin-bottom: 3%;
}
.ementa button{
    margin-top: 3%;
}
/* fim ementa */

/* valor-matricula */
.valor-matricula{
    width: 100%;
}
.valor-matricula-conteudo{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 920px;
    background-color: #04436E;
    align-items: center;
    justify-content: center;
}
.valor-matricula-conteudo-titulo h3{
    font-family: Barlow;
    font-size: 48px;
    font-weight: 700;
    line-height: 57.6px;
    text-align: center;
    color: #00ABC5;
}
.valor-pagamento{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 646px;
    height: 349px;
    border-radius: 8px;
    border: 2px solid #fff;
    margin-bottom: 3%;
}
.card-egresso{
    background-color: #fff;
    color: #04436E !important;
}
.card-egresso span{
    color: #04436E !important;
}
.card-egresso h6{
    color: #04436E !important;
}
.valor-pagamento span{
    font-family: Barlow;
    font-size: 30px;
    font-weight: 400;
    line-height: 28.8px;
    color: #fff;
}
.valor-pagamento h3{
    font-family: Barlow;
    font-size: 50px;
    font-weight: 700;
    line-height: 43.2px;
    color: #fff;
}
.valor-pagamento h6{
    font-family: Barlow;
    font-size: 24px;
    font-weight: 700;
    line-height: 43.2px;
    color: #fff;
}
.valor-matricula-conteudo button{
    margin-top: 3%;
}
.valor-pagamento-dividido{
    display: flex;
    align-items: baseline;
}
.valor-pagamento-dividido h6{
    font-family: Barlow;
    font-size: 36px;
    font-weight: 700;
    line-height: 43.2px;
    margin-left: 7px;
}
.valor-pagamento-desconto{
    display: flex;
    align-items: baseline;
    margin-top: 8%;
}
.valor-pagamento-desconto h6{
    font-family: Barlow;
    font-size: 50px;
    font-weight: 700;
    line-height: 43.2px;
    margin-left: 7px;
}
.valor-pagamento-primeira-parcela{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 5%;
}
.valor-pagamento-primeira-parcela h3{
    font-family: Barlow;
    font-size: 50px;
    font-weight: 700;
    line-height: 43.2px;
    margin-top: 1rem;
}
.valor-pagamento-restante{
    display: flex;
    align-items: baseline;
    margin-top: 2%;
}
.valor-pagamento-restante span{
    font-family: Barlow;
    font-size: 36px;
    font-weight: 700;
    line-height: 43.2px;
    color: #fff;
}
.disclaimer-desconto{
    display: flex;
    width: 586px;
    height: 60px;
    text-align: center;
    margin-bottom: 2%;
}
.disclaimer-desconto span{
    font-family: Barlow;
    font-size: 14px;
    font-weight: 400;
    line-height: 16.8px;
    color: #fff;
}
/* fim valor-matricula */


/* form primeiro passo */
.primeiro-passo{
    display: flex;
    width: 100%;
    height: 623px;
    background-color: #F8F8F8;
    flex-direction: row;
}
.informacoes{
    width: 50%;
    height: 623px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.informacoes-titulo{
    width: 80%;
    margin-left: 5%;
}
.informacoes-titulo h3{
    font-family: Barlow;
    font-size: 48px;
    font-weight: 700;
    line-height: 57.6px;
    color: #04436E;
}
.informacoes-titulo p{
    font-family: Barlow;
    font-size: 24px;
    font-weight: 500;
    line-height: 28.8px;
    color: #04436E;
    margin-top: 5%;
}
.formulario{
    width: 50%;
    height: 623px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.formulario form{
    width: 80%;
}
.formulario form .form-control{
    border: 1px solid #04436E;
    background-color: transparent;
}
.formulario form .form-control::placeholder{
    color: #04436E;
}
.form-button{
    display: flex;
    width: 80%;
    justify-content: flex-end;                 
}
/* fim form primeiro passo */

/* footer */
footer{
    z-index: 0;
    height: 529px;
    background-color: #fff;
    padding-top: 80px;
}
.footer-info span{
    font-family: Barlow;
    font-size: 16px;
    font-weight: 700;
    line-height: 25.6px;
    letter-spacing: 0.1em;
    color: #04436E;
}
.footer-info p{
    font-family: Barlow;
    font-size: 16px;
    font-weight: 400;
    line-height: 25.6px;
    color: #04436E;
}
.footer-info a{
    text-decoration: none;
    margin-right: 10px;
}
.footer-links li{
    font-family: Barlow;
    font-size: 16px;
    font-weight: 700;
    line-height: 25.6px;
    letter-spacing: 0.1em;
    list-style-type: none;
    margin-bottom: 10px;
}
.footer-links li a{
    color: #04436E;
    text-decoration: none;
}
/* fim footer */

/* whatsapp button */
.whatsapp-button {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 70px;
    right: 15px;
    color: #fff;
    border-radius: 50px;
    text-align: center;
    font-size: 30px;
    z-index: 1000;
}
.whatsapp-button img {
    width: 100%;
    height: 100%;
    border-radius: 50px;
}
/* fim whatsapp button */

@media screen and (max-width: 768px){
    /* tabela de valores: centralização dos cards no mobile */
    .tabela-valores{
        display: flex;
        flex-direction: column;
        justify-content: center; /* centraliza verticalmente o grupo de cards */
        align-items: center;     /* centraliza horizontalmente os cards */
        min-height: 60vh;        /* garante área para centralização na tela */
        gap: 16px;               /* espaçamento entre os cards */
    }
    .tabela-valores > .col-md-6{
        width: 100%;
        display: flex;
        justify-content: center;
    }
    /* valor-matricula: mobile */
    .valor-matricula-conteudo{
        height: auto;
        padding: 32px 16px;
    }
    .tabela-valores{
        row-gap: 16px;
    }
    .valor-pagamento{
        height: auto;
        padding: 20px;
        width: 100%;
    }
    .disclaimer-desconto{
        width: 100%;
        text-align: center;
        margin-bottom: 15%;
    }
    /* banner-formulario */
    .info-title h3{
        font-family: Barlow;
        font-size: 30px;
        font-weight: 700;
        line-height: 43.2px;
        color: #fff;
        margin-bottom: 5%;
        margin-top: 2%;
    }
    .div-form{
        display: none;
    }
    .info-formulario .info{
        width: 100%;
    }
    /* fim banner-formulario */

    /* sobre e público alvo */
    .sobre-publico .sobre,
    .sobre-publico .publico-alvo{
    width: 100%;
    margin-left: 0;
    }
    /* fim sobre e páblico alvo */

    /* diferenciais */
    .diferenciais{
        flex-direction: column-reverse;
    }
    .diferenciais-itens{
        width: 100%;
        margin-left: 0;
        margin-top: 5%;
    }
    .diferenciais-itens li{
        list-style-type: none;
    }
    .diferenciais-itens ul{
        padding-inline-start: 0 !important;
    }
    .diferenciais-img{
        width: 100%;
        height: 300px;
    }
    .diferenciais-img img{
        border-radius: 0;
    }
    /* fim diferenciais */

    /* professores */
    .areas2{
        display: flex;
        width: 100%;
        flex-direction: column;
    }
    .areas2-fundo{
        display: flex;
        width: 100%;
        z-index: 0;
        position: relative;
        flex-direction: column;
    }
    .area-azul{
        display: flex;
        justify-content: center;
        width: 100%;
        height: 30rem;
        background-color: #00ABC5;
        z-index: 0;
    }
    .area-azul2{
        display: flex;
        justify-content: center;
        width: 100%;
        height: 30rem;
        background-color: #04436E;
        z-index: 0;
    }
    .area-azul-titulo{
        width: 100%;
        height: 124px;
        margin-top: 15%;
        margin-left: 3%;
    }
    .area-azul h3, .area-azul2 h3{
        font-family: Barlow;
        font-size: 36px;
        font-weight: 700;
        line-height: 43.2px;
    }
    .area-azul-texto-mobile{
        display: block;
        margin-top: 0;
        width: 100%;
        margin-left: 0;
    }
    .area-azul-texto-mobile p{
        font-family: Barlow;
        font-size: 20px;
        font-weight: 400;
        line-height: 24px;
        color: #fff;
    }
    .area-branca{
        display: none;
    }
    .area-branca-texto{
        display: none;
    }
    .area-branca-texto p{
        display: none;
    }
    .areas2-carrossel{
        right: 0;
        width: 100%;
        position: relative;
        z-index: 0;
        justify-content: center;
        margin-top: -15rem;
    }
    .carrossel{
        width: 100%;
    }
    .img-card{
        display: flex;
        width: 100%;
        height: 416px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        position: relative;
        border-radius: 8px;
    }
    .img-card img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
    }
    .img-card .content{
        position: absolute;
        bottom: 20px;
        left: 20px;
        right: 20px;
        z-index: 2;
        text-align: left;
        display: block;
    }
    .img-card .content h3{
        font-family: Barlow;
        font-size: 20px;
        font-weight: 700;
        line-height: 24px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
    }
    .img-card .content a{
        display: flex;
        text-decoration: none;
        color: #fff;
        align-items: center;
        text-transform: uppercase;
        font-family: Barlow;
        font-size: 14px;
        font-weight: 700;
        line-height: 16.8px;
        letter-spacing: 0.25em;
    }
    /* professores */

    /* valor-matricula */
    .valor-pagamento span{
        font-size: 30px;
        font-weight: 400;
        line-height: 28.8px;
        color: #fff;
    }
    .valor-pagamento h3{
        font-size: 40px;
        font-weight: 700;
        line-height: 43.2px;
        color: #fff;
    }
    .valor-pagamento h6{
        font-size: 24px;
        font-weight: 700;
        line-height: 43.2px;
        color: #fff;
    }
    .valor-pagamento-dividido h6{
        font-family: Barlow;
        font-size: 30px;
        font-weight: 700;
        line-height: 43.2px;
        margin-left: 7px;
    }
    .valor-pagamento-desconto h6{
        font-family: Barlow;
        font-size: 35px;
        font-weight: 700;
        line-height: 43.2px;
        margin-left: 7px;
    }
    .valor-pagamento{
        width: 90%;
    }
    .disclaimer-desconto{
        width: 90%;
    }
    /* fim valor-matricula */
    
    /* form primeiro passo */
    .primeiro-passo{
        display: flex;
        width: 100%;
        height: 623px;
        background-color: #F8F8F8;
        flex-direction: column;
        margin-top: 5%;
        margin-bottom: 5%;
    }
    .informacoes{
        width: 100%;
        height: 623px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .informacoes-titulo{
        width: 90%;
        margin-left: 5%;
    }
    .informacoes-titulo h3{
        font-family: Barlow;
        font-size: 48px;
        font-weight: 700;
        line-height: 57.6px;
        color: #04436E;
    }
    .informacoes-titulo p{
        font-family: Barlow;
        font-size: 24px;
        font-weight: 500;
        line-height: 28.8px;
        color: #04436E;
        margin-top: 5%;
    }
    .formulario{
        width: 100%;
        height: 623px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    .formulario form{
        width: 90%;
    }
    .formulario form .form-control{
        border: 1px solid #04436E;
        background-color: transparent;
    }
    .formulario form .form-control::placeholder{
        color: #04436E;
    }
    .form-button{
        display: flex;
        width: 80%;
        justify-content: flex-end;
        margin-bottom: 5%;                 
    }
    /* fim form primeiro passo */

    /* footer */
    footer{
        z-index: 0;
        height: 1000px;
    }
    .logo-branca{
        display: flex;
        flex-direction: column;
        align-items: center !important;
    }
    .footer-info{
        display: flex;
        flex-direction: column;
        align-items: center !important;
    }
    .footer-links{
        display: flex;
        flex-direction: column;
        align-items: center !important;
    }
    .footer-links ul{
        display: flex;
        flex-direction: column;
        align-items: center !important;
    }
    .footer-mec{
        display: flex;
        flex-direction: column;
        align-items: center !important;
    }
    /* fim footer */
}

@media screen and (min-width: 768px) and (max-width: 1024px){
    /* valor-matricula: tablet */
    .valor-matricula-conteudo{
        height: auto;
        padding: 48px 24px;
    }
    .tabela-valores{
        row-gap: 24px;
    }
    .valor-pagamento{
        height: auto;
        padding: 24px;
        width: 90%;
    }
    .disclaimer-desconto{
        width: 90%;
        text-align: center;
    }
    .div-form{
        display: none;
    }
    .info-formulario .info{
        width: 100%;
    }
    /* sobre e público alvo */
    .sobre-publico .sobre,
    .sobre-publico .publico-alvo{
    width: 100%;
    margin-left: 0;
    }
    /* fim sobre e páblico alvo */

    /* diferenciais */
    .diferenciais{
        flex-direction: column-reverse;
    }
    .diferenciais-itens{
        width: 100%;
        margin-left: 0;
        margin-top: 5%;
    }
    .diferenciais-img{
        width: 100%;
        height: 600px;
    }
    .diferenciais-img img{
        border-radius: 0;
    }
    /* fim diferenciais */

    /* professores */
    .areas2{
        display: flex;
        width: 100%;
        flex-direction: column;
    }
    .areas2-fundo{
        display: flex;
        width: 100%;
        z-index: 0;
        position: relative;
        flex-direction: column;
    }
    .area-azul{
        display: flex;
        justify-content: center;
        width: 100%;
        height: 30rem;
        background-color: #00ABC5;
        z-index: 0;
    }
    .area-azul-titulo{
        width: 100%;
        height: 124px;
        margin-top: 15%;
        margin-left: 3%;
    }
    .area-azul h3{
        font-family: Barlow;
        font-size: 36px;
        font-weight: 700;
        line-height: 43.2px;
    }
    .area-azul-texto-mobile{
        display: block;
        margin-top: 0;
        width: 100%;
        margin-left: 0;
    }
    .area-azul-texto-mobile p{
        font-family: Barlow;
        font-size: 20px;
        font-weight: 400;
        line-height: 24px;
        color: #fff;
    }
    .area-branca{
        display: none;
    }
    .area-branca-texto{
        display: none;
    }
    .area-branca-texto p{
        display: none;
    }
    .areas2-carrossel{
        right: 0;
        width: 100%;
        position: relative;
        z-index: 0;
        justify-content: center;
        margin-top: -10rem;
    }
    .carrossel{
        width: 100%;
    }
    .img-card{
        display: flex;
        width: 100%;
        height: 416px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        position: relative;
        border-radius: 8px;
    }
    .img-card img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
    }
    .img-card .content{
        position: absolute;
        bottom: 20px;
        left: 20px;
        right: 20px;
        z-index: 2;
        text-align: left;
        display: block;
    }
    .img-card .content h3{
        font-family: Barlow;
        font-size: 20px;
        font-weight: 700;
        line-height: 24px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
    }
    .img-card .content a{
        display: flex;
        text-decoration: none;
        color: #fff;
        align-items: center;
        text-transform: uppercase;
        font-family: Barlow;
        font-size: 14px;
        font-weight: 700;
        line-height: 16.8px;
        letter-spacing: 0.25em;
    }
    /* fim professores */

    /* valor-matricula */
    .valor-pagamento{
        width: 90%;
    }
    .disclaimer-desconto{
        width: 90%;
    }
    /* fim valor-matricula */
}

@media screen and (min-width: 1024px) and (max-width: 1278px){
    .carrossel{
        width: 100%;
    }
}