/*
Theme Name: FEMA
Theme URI: https://www.fema.edu.br/
Author: Jean Dias | Ti Indiquei
Author URI: https://tiindiquei.com.br/
Description: FEMA, 12 Cursos de Graduação. Programa de Bolsas. Medicina com Financiamento Próprio.
Version: 1.0
Text Domain: fema
Tags: FEMA, Vestibular 2021, Vestibular, VESTIBULAR, graduação, Medicina, Bolsas, Direito, Assis, Estágio, Publicidade, Enfermagem, Química, Fisioterapia, Administração, Contábeis, Informática, Tecnologia, Financiamento Estudantil
*/
html {
  scroll-behavior: smooth;
}
#topbar {
    background-color: #103d63;
    padding: 4px 0;
    display: none
}

@media (min-width:768px) {
    #topbar {
        display: block
    }
	#banner form{
		width: 100%;
	}
}

#topbar nav {
    align-items: center;
    display: flex;
    gap: 0 16px;
    line-height: 0;
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 24px
}

@media (min-width:768px) {
    #topbar nav {
        justify-content: center
    }
}

#topbar nav>div p {
    margin: 0;
    color: #fff;
    font-size: 14px;
    letter-spacing: 0;
    line-height: 20px;
    font-weight: 500
}

#topbar nav>div p svg {
    flex-shrink: 0;
    height: 12px;
    width: 18px
}

#topbar nav ul {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    list-style-type: none;
    margin: 0;
    padding: 0;
    margin-left: auto
}

#topbar nav ul li {
    margin: 0;
    font-size: 14px;
    letter-spacing: 0;
    line-height: 20px;
    font-weight: 400;
    border-left: 1px solid #2d4155
}

#topbar nav ul li>* {
    display: flex;
    align-items: center;
    margin: 0 11px
}

#topbar nav ul li:last-child>* {
    margin-right: 0
}

#topbar nav ul li:first-child {
    border-left: 0
}

#topbar nav a {
    color: #eff2fb;
    text-align: center
}

#topbar nav a svg {
    stroke: #778ea5;
    margin-right: 4px
}

*,
::after,
::before {
    box-sizing: border-box
}

header {
    z-index: 1000;
    background-color: #c57432;
    position: sticky;
    top: 0
}

.img-fluid {
    max-width: 100%;
    max-height: 40px;
    width: auto;
    margin: 5px auto;
}

header::after {
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 100%;
    background-color: #ec7200
}

header>div {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 0 auto;
    max-width: 1280px;
    padding: 12px 24px
}

@media (min-width:768px) {
    header>div {
        padding: 6px 24px
    }
}

header>div>:not(:first-child):not(.burger):not(.sidebar):not(.overlay) {
    display: none
}

@media (min-width:992px) {
    header>div>:not(:first-child):not(.burger):not(.sidebar):not(.overlay) {
        display: block
    }
}

header>div .burger__wrapper {
    display: flex !important;
    align-items: center;
    flex: 1 1 0px;
    justify-content: flex-end
}

header>div>a {
    flex: 1 1 0px
}

header>div>a>img {
    margin-top: -5px
}

header>div>nav {
    flex: 3 1 0px
}

header>div>nav .menu {
    display: flex;
    flex-direction: column;
    gap: 40px
}

@media (min-width:992px) {
    header>div>nav .menu {
        align-items: center;
        flex-direction: row;
        gap: 0
    }
}

header>div>nav .menu>ul {
    display: flex;
    flex-direction: column;
    list-style-type: none;
    margin: 0;
    padding: 0;
    list-style: none;
    margin: 0;
    padding: 0
}

@media (min-width:992px) {
    header>div>nav .menu>ul {
        align-items: center;
        flex-direction: row;
        flex-grow: 1
    }
}

header>div>nav .menu>ul>li {
    border-bottom: 1px solid #a9b3ca;
    margin: 0
}

@media (min-width:992px) {
    header>div>nav .menu>ul>li {
        border-bottom: 0
    }

    header>div>nav .menu>ul>li:first-child {
        margin-left: auto
    }
}

header>div>nav .menu>ul>li::after {
    background-color: rgba(0, 0, 0, .1);
    content: "";
    height: calc(-52px + 100dvh);
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    transition: opacity .3s ease-in-out;
    width: 100%
}

header>div>nav .menu>ul>li.active::after {
    opacity: 1
}

header>div>nav .menu>ul>li>a,
header>div>nav .menu>ul>li>button {
    align-items: center;
    border-radius: 999px;
    color: #fff;
    display: flex;
    gap: 2px;
    justify-content: space-between;
    padding: 8px 0 12px;
    position: relative;
    width: 100%;
    background: 0 0;
    border: 0;
    text-decoration: none;
    cursor: pointer
}

header>div>nav .menu>ul>li>a:hover,
header>div>nav .menu>ul>li>button:hover {
    background-color: #eff2fb;
    color: #000c2a
}

@media (min-width:992px) {

    header>div>nav .menu>ul>li>a,
    header>div>nav .menu>ul>li>button {
        color: #fff;
        justify-content: flex-start;
        padding: 8px 16px;
        width: auto
    }

    header>div>nav .menu>ul>li>a::before,
    header>div>nav .menu>ul>li>button::before {
        content: "";
        height: calc(100% + 16px);
        left: 0;
        position: absolute;
        top: 0;
        width: 100%
    }
}

header>div>nav .menu>ul>li>a span,
header>div>nav .menu>ul>li>button span {
    margin: 0;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 24px;
    font-weight: 500
}

header>div>nav .menu>ul>li>a svg,
header>div>nav .menu>ul>li>button svg {
    transform: rotate(-90deg);
    transition: transform .3s ease-in-out
}

@media (min-width:992px) {

    header>div>nav .menu>ul>li>a svg,
    header>div>nav .menu>ul>li>button svg {
        transform: rotate(0)
    }
}

header>div>nav .menu>ul>li .content {
    display: none;
    left: 0;
    max-height: calc(-52px + 100dvh);
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 100
}

@media (min-width:992px) {
    header>div>nav .menu>ul>li .content {
        clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
        display: block;
        height: auto;
        opacity: 0;
        top: 100%;
        transition: opacity .3s ease-in-out .3s
    }
}

header>div>nav .menu>ul>li .content.active {
    display: block;
    height: auto;
    top: 100%;
    opacity: 1;
    transition: opacity .3s ease-in-out .3s;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
}

header>div>nav .menu>ul>li .content>ul {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 0 24px;
    width: 100%;
    list-style: none
}

@media (min-width:768px) {
    header>div>nav .menu>ul>li .content>ul {
        flex-flow: wrap;
        gap: 40px;
        padding: 32px 24px 56px
    }
}

@media (min-width:992px) {
    header>div>nav .menu>ul>li .content>ul {
        background-color: transparent;
        flex-flow: row;
        padding: 24px
    }
}

header>div>nav .menu>ul>li .content>ul>li {
    padding: 0 56px;
    flex: 1 1 0;
    margin: 0;
    position: relative
}

@media (min-width:768px) {
    header>div>nav .menu>ul>li .content>ul>li {
        padding: 0
    }
}

header>div>nav .menu>ul>li .content>ul>li.divisor::before {
    content: "";
    position: absolute;
    top: 0;
    left: -20px;
    border-left: 1px solid #e3e8f4;
    height: 100%;
    width: 1px
}

header>div>nav .menu>ul>li .content>ul>li.featured {
    background-color: #f9fafe;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    padding: 24px 8px;
    width: 100%
}

@media (min-width:768px) {
    header>div>nav .menu>ul>li .content>ul>li.featured {
        border: 1px solid rgba(17, 25, 46, .1);
        border-radius: 12px;
        padding: 18px
    }
}

header>div>nav .menu>ul>li .content>ul>li>a {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    position: relative;
    text-decoration: none;
    color: #000c2a;
    font-size: 15px;
    letter-spacing: 0;
    line-height: 20px;
    font-weight: 600
}

header>div>nav .menu>ul>li .content>ul>li>a>svg {
    flex-shrink: 0;
    height: 12px;
    width: 18px
}

header>div>nav .menu>ul>li .content>ul>li>a>svg>path {
    transition: transform .3s ease-in-out
}

header>div>nav .menu>ul>li .content>ul>li>a>svg>path:nth-child(1) {
    transform: translateX(-5px)
}

header>div>nav .menu>ul>li .content>ul>li>a>svg>path:nth-child(2) {
    transform: scaleX(.633333);
    transform-origin: 0 0 0
}

header>div>nav .menu>ul>li .content>ul>li>a:focus>svg>path:nth-child(1),
header>div>nav .menu>ul>li .content>ul>li>a:hover>svg>path:nth-child(1) {
    transform: translateX(0)
}

header>div>nav .menu>ul>li .content>ul>li>a:focus>svg>path:nth-child(2),
header>div>nav .menu>ul>li .content>ul>li>a:hover>svg>path:nth-child(2) {
    transform: scaleX(1)
}

header>div>nav .menu>ul>li .content>ul>li>p,
header>div>nav .menu>ul>li .content>ul>li>ul>li>p {
    margin: 0;
    color: #000c2a;
    font-size: 14px;
    letter-spacing: 0;
    line-height: 20px;
    font-weight: 700;
    margin-bottom: 5px;
    margin-top: 15px
}

header>div>nav .menu>ul>li .content>ul>li>ul,
header>div>nav .menu>ul>li .content>ul>li>ul>li>ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style-type: none;
    margin: 0;
    padding: 0
}

header>div>nav .menu>ul>li .content>ul>li>ul>li,
header>div>nav .menu>ul>li .content>ul>li>ul>li>ul>li {
    margin: 0;
    line-height: 1.3
}

header>div>nav .menu>ul>li .content>ul>li:first-child>p,
header>div>nav .menu>ul>li .content>ul>li>ul>li:first-child>p {
    margin-top: 0
}

header>div>nav .menu>ul>li .content>ul>li>ul>li>a:not(.btn),
header>div>nav .menu>ul>li .content>ul>li>ul>li>ul>li>a:not(.btn) {
    color: #4d5b7c;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none
}

header>div>nav .menu>ul>li .content>ul>li>ul>li>a:not(.btn):hover,
header>div>nav .menu>ul>li .content>ul>li>ul>li>ul>li>a:not(.btn):hover {
    color: #000c2a;
    text-decoration: none
}

header>div>nav .menu>ul>li .content>ul>li>ul>li>.btn,
header>div>nav .menu>ul>li .content>ul>li>ul>li>ul>li>.btn {
    padding: .375rem .7rem;
    font-size: 14px
}

header>div>nav .menu>ul>li .content>ul>li>ul>li>.tag,
header>div>nav .menu>ul>li .content>ul>li>ul>li>ul>li>.tag {
    font-size: 10px;
    font-weight: 400;
    display: inline-block;
    color: #fff;
    background-color: #3c4969;
    border-radius: 4px;
    padding: 1px 4px 2px;
    vertical-align: middle
}

header>div>nav .menu>ul>li .content__all {
    border-top: 1px solid #e3e8f4;
    display: flex;
    flex-direction: row;
    text-align: center
}

header>div>nav .menu>ul>li .content__all a {
    flex-basis: 0px;
    flex-grow: 1;
    font-weight: 600;
    justify-content: center;
    padding: 12px;
    background: #fff;
    color: #4698f9
}

header>div>nav .content__bar {
    display: none
}

@media (min-width:992px) {
    header>div>nav .content__bar {
        background-color: #fff;
        display: block;
        height: 0;
        left: 0;
        position: absolute;
        top: 100%;
        transition: height .3s ease-in-out;
        width: 100%
    }
}

header .burger:not(.pos) {
    display: block
}

@media (min-width:992px) {
    header .burger:not(.pos) {
        display: none !important
    }
}

header .burger {
    border: none;
    outline: 0;
    background-color: transparent;
    position: relative;
    height: 32px;
    width: 32px;
    padding: 0;
    display: flex !important;
    justify-content: center;
    align-items: center
}

header .burger span {
    background-color: #000;
    height: 2px;
    width: 20px;
    display: block
}

header .burger::after,
header .burger::before {
    content: "";
    position: absolute;
    height: 2px;
    width: 20px;
    display: block;
    background-color: #000
}

header .burger::before {
    top: 9px
}

header .burger::after {
    bottom: 9px
}

footer {
    background-color: #191d25;
    padding: 5.6rem 0 2.8rem 0;
    font-size: 13px
}

footer .copyright {
    padding-top: 1rem
}

footer p {
    color: #fff;
    font-weight: 500
}

footer ul {
    list-style: none;
    padding-left: 0
}

footer ul li {
    margin: .6rem 0
}

footer ul li span {
    color: #ccd3e1
}

footer ul li a {
    text-decoration: none;
    color: #8c9bbb;
    transition: all 250ms ease-in
}

footer ul li a:hover {
    color: #acb7ce
}

footer ul li:first-child {
    margin: 0
}

footer .footer-sedes {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

footer .footer-redes>ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center
}

footer .footer-redes>ul li {
    margin: .5rem 1rem
}

footer .footer-redes>ul li svg {
    fill: #8c9bbb;
    transition: all 250ms ease-in
}

footer .footer-redes>ul li svg:hover {
    fill: #ccd3e1
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, .7);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
    z-index: 1001
}

.overlay.active {
    opacity: 1;
    visibility: visible
}

.sidebar {
    position: fixed;
    top: 0;
    right: -290px;
    width: 290px;
    height: 100%;
    background: #fff;
    padding: 10px;
    transition: right .3s ease;
    z-index: 1002
}

.sidebar ul {
    list-style-type: none;
    padding: 0;
    flex-direction: column !important;
    align-items: flex-start !important
}

.sidebar ul li {
    margin: 3px 0 !important;
    border-bottom: none !important;
    width: 100%
}

.sidebar ul li.divider {
    border-bottom: 1px solid #e0e0e0 !important;
    margin: 11px 0 4px !important
}

.sidebar ul li a {
    padding: 8px 16px !important
}

.sidebar ul li:first-child a {
    justify-content: center
}

.sidebar.active {
    right: 0
}

footer {
/*     background-image: url("./assets/img/bg-footer.jpg"); */
    background-size: cover;
    background-position: center;
	background-image: url("https://posdireito.fema.edu.br/wp-content/uploads/2026/06/bg-footer.jpg?v=1");
}

@media screen and (max-width:768px) {
    footer {
        background-image: url("./assets/img/fema.jpg");
    }
}

footer input:not([type=submit]),
footer select {
    background-color: #fff !important
}

.sidebar #close {
    background: none;
    border: none;
    line-height: 0.5;
    text-align: right;
    margin-left: auto;
    display: block;
    margin-bottom: 11px;
    font-size: 28px;
    font-weight: 300;
}

.theme-posJuridico .formulario__condicao::before,
.theme-posJuridico .formulario__condicao::after {
    z-index: -1;
    width: 7%;
}

.iframe-container {
    overflow: hidden;
    padding-top: 56.25%;
    position: relative;
}

.iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
    width: 100%;
    height: 100%;
}

.swiper-professores .p2 {
    line-height: 1.2;
    margin-top: 5px;
}

@media screen and (max-width:768px) {
    .theme-posJuridico .box__promo h5 {
        font-size: 1.25rem !important
    }

    .theme-posJuridico .box__promo h6 {
        font-size: 1.15rem !important
    }
}

#body {
    background-color: #103d63 !important;
    font-family: 'Montserrat', sans-serif;
}

.header {
    background-color: #fff;
    box-shadow: 0 0.65rem 1.25rem rgba(46, 91, 255, 0.075);
}

.iframe-container {
    overflow: hidden;
    padding-top: 56.25%;
    position: relative;
}

.iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
    width: 100%;
    height: 100%;
}

.button {
    font-size: 14px;
    padding: 12px 20px;
    border-radius: 500px;
    font-weight: 700;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    transition: 350ms;
    letter-spacing: 1.5px;
}

.button:hover {
    text-decoration: none;
}

.button.rosa {
    background-color: #01344c;
    border: 1px solid #01344c;
    color: white;
}

.button.rosa:hover {
    background-color: #ec7200;
    border: 1px solid #ec7200;
    color: white;
}

.button.transparente {
    background-color: transparent;
    border: 1px solid white;
    color: #a3d900;
}

.button.transparente:hover {
    background-color: #a3d800;
    color: #2f504f;
}

.titulo {
    color: #001f3f !important;
    text-transform: uppercase;
    text-align: center;
    position: relative;
    font-size: 45px;
    font-weight: 700;
    line-height: 1.15;
}

.titulo span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -25px;
    height: 8px;
    width: 100px;
    background-color: #c57432
}

.titulo.text-white {
    color: white !important;
}

#dados {
    padding-top: 0;
    background-color: #103d63;
}


#dados .dados__box {
    background-color: #e0eeff;
    border-radius: 10px;
    color: #002040;
}

#dados .dados__box__header {
    background-color: #ec7200;
    padding: 8px 10px;
    text-align: center;
    color: white;
    border-radius: 10px 10px 0 0;
    position: relative;
}

#dados .dados__box__body {
    padding: 14px 12px 22px 12px;
    font-size: 26px;
    font-weight: 600;
    text-align: center;
}

#introducao {
    background-color: #103d63;
    position: relative;
    color: white !important;
    padding-top: 60px;
    padding-bottom: 30px;
}


#banner {
    padding-top: 80px;
    padding-bottom: 125px;
    background: #103d63;
    position: relative;
    min-height: 85vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

#banner #form {
    padding: 12px 8px;
    position: relative;
    z-index: 2;
    text-align: left;
}


#banner #form {
    width: 100%;
    margin-right: auto;
    margin-left: auto
}

@media (min-width:576px) {
    #banner #form {
        max-width: 540px
    }
}

@media (min-width:768px) {
    #banner #form {
        max-width: 720px
    }
}

@media (min-width:992px) {
    #banner #form {
        max-width: 1155px
    }
}

@media (min-width:1200px) {
    #banner #form {
        max-width: 1250px
    }
}

@media (min-width:1400px) {
    #banner #form {
        max-width: 1250px
    }
}

#banner>picture>img,
#banner>img {
    position: absolute;
    width: 100%;
    top: 0;
}

#banner #form .banner__wrapper {
    max-width: 700px;
}

#banner #form .banner__wrapper>img {
    display: none;
}

@media screen and (max-width:992px) {
    #banner {
        background: linear-gradient(to bottom, rgba(3, 45, 69, 1) 25%, rgba(231, 41, 132, 1) 50%, rgba(15, 28, 41, 1) 70%);
        padding-top: 0;
        padding-bottom: 75px;
    }

    #banner #form {
        text-align: center;
    }

    #banner>img {
        display: none;
    }

    #banner #form .banner__wrapper>img {
        width: 100%;
        height: auto;
        width: 100%;
        margin: 0 auto;
        display: block;
    }

    /* #banner .image-placeholder {
                        aspect-ratio: 4 / 3
                    }
                        #banner .image-placeholder img {
                            height: auto;
                            object-fit: cover;
                        }
                    #banner .image-placeholder ~ form {
                        margin-top: -170px;
                    }*/
}

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

    #banner>picture>img,
    #banner>img {
        top: 50%;
        transform: translateY(-50%);
    }
}

#banner form {
    padding: 15px 7px;
    background-color: #ffffff24;
    border-radius: 8px;
    position: relative;
	padding: 24px;
    width: 80%;
}

#banner form .input-float {
    position: relative;
    width: 100%;
    margin-bottom: 8px;
    display: inline-block;
}

#banner form input:not(.btn-verbo) {
    border: 1px solid #9f9f9f;
    border-radius: 8px;
    background: #f2f2f2;
    color: #4d4d4d;
    font-weight: 500;
}

#banner form input:not(.btn-verbo):focus {
    background: #e1e1e1;
}

#banner form ::placeholder {
    color: #848484;
    font-weight: 400;
    opacity: 1;
}

#banner form :-ms-input-placeholder {
    color: #848484;
    font-weight: 400;
    opacity: 1;
}

#banner form ::-ms-input-placeholder {
    color: #848484;
    font-weight: 400;
    opacity: 1;
}

#banner form input[type='submit'],
#banner form input[type='submit']:focus,
#banner form input[type='submit']:active {
    width: 100%;
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    user-select: none;
    padding: .575rem 2rem;
    font-size: 15px;
    line-height: 1.5;
    border-radius: .3rem;
    color: #fff;
    background-color: #c57432;
    border-color: #c57432;
}

#banner h1 {
    font-size: 50px;
    color: white;
    text-transform: uppercase;
    margin-bottom: 5px;
    line-height: 1.15;
    color: white;
}

#banner h1.small {
    font-size: 40px;
}

#banner h3 {
    border: 1px solid #ff2e97;
    color: #ff2e97;
    padding: 2px 7px;
    font-size: 15px;
    display: inline-block;
    margin-bottom: 8px;
    border-radius: 5px;
}

#banner .flechas {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -50px;
    width: 60px;
    cursor: pointer;
    animation: arrow 1300ms infinite;
}

#banner .flechas img {
    pointer-events: none;
}

@keyframes arrow {
    0% {
        opacity: 0;
        transform: translateY(-9px) translateX(-50%);
    }

    30% {
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateY(9px) translateX(-50%);
    }
}

#banner h1 small {
    font-size: .7em;
    display: block;
    font-weight: 500;
}

#banner h1 small span {
    background-color: #c57432;
    height: 8px;
    width: 80px;
    display: block;
}

#banner .lead {
    font-size: 19px;
    font-weight: 400;
    color: white;
    margin-bottom: 8px;
    line-height: 1.35
}

.diferenciais__titulo {
    font-size: 14px;
}

.diferenciais__descricao {
    font-size: 16px;
}

.diferenciais__wrapper {
    padding: 15px 8px;
}

.diferenciais__wrapper .diferenciais__box:last-of-type {
    border-right: none;
}

#professores {
    background-color: #e0eeff;
}

#professores .professor__wrapper {
    margin-top: 20px;
    height: auto;
}

#professores ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

#professores ul li {
    padding: 5px 0;
    margin: 0;
    list-style: none;
    border: none !important;
    border-bottom: 1px solid #BACFE8 !important;
    color: #001F3F !important;
    border-radius: 0 !important;
    font-size: 0.9rem;
    text-align: center;
}

#professores p {
    font-size: 0.9rem;
    color: #bcd8f6 !important;
    width: 100%;
    text-align: center;
    margin: 0;
}

#professores .text-dark-content p{
    color: #1b1b1b !important;
}

#professores h1 {
    color: black;
}

#professores .professores__box {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 8px 28px rgba(0, 20, 60, 0.22);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #0d1b2a;
}

#professores .professores__box:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 20, 60, 0.3);
}

#professores .professores__box .professores__box__foto {
    position: relative;
    overflow: hidden;
    aspect-ratio: 170 / 220;
}

#professores .professores__box img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: top center;
    filter: grayscale(100%);
    transition: filter 0.4s ease, transform 0.4s ease;
}

#professores .professores__box:hover img {
    filter: grayscale(15%);
    transform: scale(1.05);
}

#professores .professores__box .professores__box__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(5, 12, 28, 0.98) 0%, rgba(5, 12, 28, 0.7) 50%, transparent 100%);
    padding: 36px 10px 13px;
    pointer-events: none;
}

#professores .professores__box .professores__box__nome {
    color: #ffffff;
    font-weight: 700;
    font-size: 1.15rem;
    text-align: center;
    line-height: 1.25;
    letter-spacing: 0.02em;
}

#professores .professores__box .professores__box__nome>span {
    display: block;
    color: #67d9ff;
    font-size: 0.75rem;
    font-weight: 500;
    margin-top: 4px;
    letter-spacing: 0.04em;
    line-height: 1.2;
}



#diferenciais {
    background-color: #e0eeff;
    position: relative;
    background-image: url("./assets/img/conheca/diferenciais__fundo.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    overflow: hidden;
}

#diferenciais .diferenciais__box {
    background-color: #002040;
    border-radius: 10px;
    margin-bottom: 20px;
    color: white;
    box-shadow: 1px 1px 11px -5px rgb(120 120 120 / 8%), 0px 5px 28px 2px rgb(120 120 120 / 4%), -3px 3px 34px 6px rgb(120 120 120 / 8%);
}

#diferenciais .diferenciais__box__header {
    background-color: #ec7200;
    padding: 8px 10px;
    text-align: center;
    color: white;
    border-radius: 10px 10px 0 0;
    position: relative;
}

#diferenciais .diferenciais__box__header .flecha {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #ec7200;
    position: absolute;
    left: 30px;
    bottom: -10px;
}

#diferenciais .diferenciais__box__body {
    padding: 14px 22px 27px 12px;
    font-size: 14px;
}

#diferenciais .diferenciais__box__body img {
    margin-right: 10px;
}

@media screen and (min-width:768px) {
    #diferenciais .diferenciais__box.offset-r {
        transform: translateX(-45px);
    }

    #diferenciais .diferenciais__box.offset-l {
        transform: translateX(45px);
    }
}



#aprender {
    background-color: #0f1f2e;
    position: relative;
    padding-bottom: 30px;
}

#aprender .box {
    max-height: 400px;
    position: relative;
    overflow: hidden;
}

#aprender .box.active {
    max-height: 4000px;
    transition: max-height 350ms ease;
}

#aprender .box.active span {
    display: none
}

#aprender .box.active~.text-center {
    display: none;
}

#aprender ul,
#aprender ul li {
    list-style: none;
    padding: 0
}

#aprender .box span {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 200px;
    background: linear-gradient(to bottom, rgba(15, 28, 41, 0) 0%, rgba(15, 28, 41, 1) 100%);
}


#aprender ul li {
    border-bottom: 1px solid #ec7200;
    padding: 7px 10px;
    color: white;
    font-size: 14px;
}

#depoimentos {
    background-color: #e6f1ff;
    position: relative;
    background-image: url("./assets/img/conheca/depoimentos_fundo.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
}

#depoimentos::before {
    content: "";
    background-color: rgba(15, 28, 41, 0.79);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

#depoimentos .swiper-slide {
    text-align: center;
}

@media screen and (max-width:768px) {
    #depoimentos .iframe-container {
        overflow: auto !important;
        padding-top: 0 !important;
        text-align: center;
    }

    #depoimentos .iframe-container iframe {
        position: relative !important;
        width: 315px !important;
        height: 560px !important;
    }
}

#escolher {
    background-color: #e0eeff;
    position: relative;
}

#escolher .escolher__ponto {
    background-color: #00b8f4;
    border-radius: 50%;
    color: white;
    font-weight: 700;
    font-size: 24px;
    height: 50px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 4px solid transparent;
}

#escolher .escolher__ponto__mobile {
    background-color: #00b8f4;
    border-radius: 50%;
    color: white;
    font-weight: 700;
    font-size: 21px;
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-right: 5px;
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: auto;
}

#escolher .escolher__ponto~span {
    height: 2px;
    background-color: #001f3f;
    width: calc(100% - 65px);
    position: absolute;
    left: 65px;
    top: 50%;
    transform: translateY(-50%)
}

#escolher .escolher__ponto::before {
    content: "";
    height: calc(100% + 25px);
    width: calc(100% + 25px);
    border-radius: 50%;
    left: 50%;
    top: calc(-50% - 25px);
    border: 2px solid #001f3f;
    transform: translate(-50%, 50%);
    position: absolute
}

#escolher .escolher__top,
#escolher .escolher__bottom {
    color: #001f3f;
    font-weight: 600;
    position: relative;
    display: block;
    margin-left: 25px;
    padding-left: 25px;
    border-left: 2px solid #001f3f;
}

#escolher .escolher__top span,
#escolher .escolher__bottom span {
    position: absolute;
    height: 7px;
    width: 7px;
    background-color: #001f3f;
    border-radius: 50%;
}

#escolher .escolher__top span {
    top: 0;
    left: -4px;
}

#escolher .escolher__bottom span {
    bottom: 0;
    left: -4px;
}

#escolher .escolher__bottom {
    padding-top: 20px;
    height: 100%;
    top: 7px;
}

#escolher .escolher__top {
    padding-bottom: 20px;
    height: calc(100% - 7px);
}


#escolher div b {
    display: block;
    position: relative;
    line-height: 1.1;
    font-weight: 600;
}

#escolher div b::before {
    content: "";
    width: 70px;
    height: 4px;
    background-color: #ec7200;
    position: absolute;
    bottom: -10px;
    left: 0;
}

#escolher .col-md-3 {
    position: relative;
}

#alunos,
.container-grey {
    background-color: #103d63 !important;
}

#alunos .titulo {
    margin-bottom: 0;
}

#alunos .lead {}

#venda {
    background-image: url("./assets/img/conheca/cadastre_fundo.webp");
    background-size: cover;
    background-color: #506276;
    padding: 80px 0;
}

#venda h2 {
    font-weight: 700;
    margin-bottom: 15px;
    text-align: center;
    font-size: 32px;
}

#venda .valor,
#venda .valor.risco {
    position: relative;
}

#venda .valor.risco::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0%;
    height: 6px;
    border-radius: 6px;
    background-color: red;
    animation: riscar 350ms forwards;
}

@keyframes riscar {
    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }
}

#venda .lead {
    color: #303a4c;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
}

#venda h3 {
    text-align: center;
    font-weight: 400;
    font-size: 24px;
    text-align: center;
    color: black;
}

#venda h3 span {
    display: block;
    font-size: 1.5em;
    font-weight: 700;
}

#venda .venda__box {
    background-color: #5c5c5b;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
}

#matriculese>div>div:nth-child(2)>div {
    background-color: #2f2e2e
}

#matriculese .input-float input {
    background-color: white
}

#venda .venda__box a {
    text-decoration: none
}

#venda .venda__box .venda__box__valor {
    color: white;
    font-weight: 700;
    font-size: 85px;
}

#venda .venda__box .venda__box__valor small {
    font-weight: 700;
}

#venda .venda__box .venda__box__taxa {
    color: white;
    font-weight: 300;
    font-size: 19px;
    margin-top: 5px;
}

#venda .venda__box .venda__box__compra {
    margin-top: 35px;
    background-color: #0d1a32;
    color: black;
    font-weight: 800;
    border-radius: 8px;
    padding: 8px 30px;
    text-transform: uppercase;
    cursor: pointer;
    display: inline-block;
    font-size: 28px;
}

#venda .p2 {
    font-weight: 400;
    color: #303a4c
}



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

    .button {
        font-size: 16px !important;
    }


    .titulo {
        font-size: 30px;
    }

    #escolher div b {
        font-size: 17px;
    }

    #banner h1 {
        font-size: 40px;
        margin-bottom: 8px;
        text-align: center;
        line-height: 1.05;
    }

    #banner h1 small {
        font-size: 0.6em;
        margin: 5px auto;
    }

    #banner h1.small {
        font-size: 31px;
    }

    #banner h1 small span {
        height: 6px;
        margin: 10px auto;
    }

    #banner .lead {
        font-size: 18px;
        text-align: center;
        max-width: 370px;
        margin: 0 auto;
    }

    #banner a.button {
        margin: 0 auto 20px;
        display: block;
        text-align: center;
    }

    .input-float input,
    .input-float select,
    .input-float textarea {
        height: 52px;
        max-width: 100%;
        padding: 0px 16px;
        border: 1px solid;
        transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
        border-radius: 0.25rem;
        width: 100%;
        position: relative;
    }

    .input-float label {
        position: absolute;
        z-index: 2;
        top: 6px;
        left: 17px;
        transform: translateY(25%);
        opacity: 0;
        transition: 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
        margin: 0px;
        letter-spacing: 0.45px;
        font-weight: 500;
    }

    #banner .container {
        padding: 0 !important;
    }

    #diferenciais .diferenciais__box__body {
        padding: 15px;
    }

    #alunos h3.mb-0,
    #alunos h3.mb-0~p {
        text-align: center;
    }

    #professores .professor__wrapper {
        margin-top: 20px
    }

    #professores .professores__box .professores__box__nome {
        font-size: 0.7rem;
    }

    #professores .professores__box .professores__box__nome>span {
        font-size: 0.6rem;
    }

    #escolher .escolher__bottom,
    #escolher .escolher__top {
        padding-top: 15px;
        padding-bottom: 15px;
        top: 0;
        height: 100%;
        display: flex;
        align-items: center;
        padding-left: 10px;
    }

    #escolher div b::before {
        bottom: -7px;
    }

    #escolher .escolher__bottom span {
        bottom: 50%;
        transform: translateY(50%)
    }

    #escolher .escolher__top span {
        top: 50%;
        transform: translateY(-50%)
    }


    #venda .venda__box {
        padding: 30px 20px;
    }
}

.theme-posJuridico .chat__whats {
    background-color: #ec7200
}

#aprender p {
    margin-bottom: 0;
}

.theme-posJuridico section.half-color-g::before {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #0f1f2e), color-stop(50%, rgb(225, 238, 255))) !important;
    background: linear-gradient(to bottom, #0f1f2e 50%, rgb(225, 238, 255) 50%) !important;
}

#amostra .iframe-container {
    border-radius: 10px;
    margin-bottom: 5px;
}

#amostra #video {
    position: relative;
}

#amostra p {
    margin: 0;
    text-align: center;
    line-height: 1.2;
    color: #001f3f;
}

#amostra p:first-of-type {
    font-weight: 700;
}

.swiper-depoimentos .swiper-slide {
    border: none !important;
    box-shadow: none !important;
    height: auto;
}

.swiper-depoimentos .swiper-pagination-bullet {
    background-color: #fff;
}

.swiper-depoimentos .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #ec7200;
}

.accordion {
    border: 1px solid #e0eeff;
    border-radius: 5px;
    border-radius: 10px;
    padding: 0;
    overflow: hidden;
}

.accordion-item {
    border-bottom: 1px solid #e0eeff;
}

.accordion-header {
    margin: 0;
    background-color: #f1f1f1;
    cursor: pointer;
}

.accordion-button {
    background: none;
    border: none;
    text-align: left;
    font-size: 16px;
    height: 100%;
    width: 100%;
    display: block;
    padding: 15px;
    cursor: pointer;
    background-color: #103d63 !important;
    color: white !important;
}

.accordion-collapse {
    display: none;
}

.accordion-collapse.show {
    display: block;
}

.accordion-body {
    padding: 15px;
    background-color: #fff;
    color: #001f3f;
}

.accordion-body p {
    margin-bottom: 0;
}

.depoimentos__profile {
    padding: 20px !important
}

.carrinho {
    position: fixed;
    bottom: 0;
    width: 100vw;
    z-index: 5;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 350ms ease-in-out, visibility 350ms ease-in-out;
    background: linear-gradient(90deg, #000, #03223e);
}

.carrinho .container {
    max-width: 980px !important;
    margin: 0 auto;
}

.carrinho .container .carrinho__box {
    padding: 8px 0 17px;
    color: white;
    border-radius: 10px 10px 0 0;
}

.carrinho .container .carrinho__box a.saiba-mais {
    text-align: center;
    display: block;
    color: white;
    font-size: 14px;
    margin-top: 5px;
}

.carrinho .container .carrinho__box .carrinho__box__infos {
    margin-right: 20px;
}

.carrinho .container .carrinho__box .carrinho__box__infos h2 {
    font-size: 28px;
    font-weight: 500;
    margin: 0;
    color: white;
}

@media screen and (max-width:768px) {
    .carrinho .container .carrinho__box .carrinho__box__infos {
        text-align: center;
        margin: 0;
    }

    .carrinho .container .carrinho__box .carrinho__box__infos h2 {
        font-size: 20px;
        margin-bottom: 5px;
    }
}

@media screen and (min-width:768px) {
    .carrinho .container .carrinho__box {
        padding: 8px 15px;
        display: flex;
        align-items: center;
    }
}


.loading-spinner-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(255, 255, 255, 0.64);
    border-radius: 8px;
    z-index: 5;
}

.loading-spinner {
    border: 4px solid rgba(0, 0, 0, 0.3);
    border-top: 4px solid #045bec;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#aprender .objetivo h4 {
    text-align: center;
    color: white;
    font-weight: 700;
    max-width: 750px;
    margin: 40px auto 0;
}

#aprender .objetivo p {
    text-align: center;
    color: white;
    max-width: 930px;
    margin: 15px auto 0;
}

#outros {
    background-color: #e0eeff;
}

#outros ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
    margin-top: 35px;
}

#outros ul li {
    margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
    #outros ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
        /* espa�o entre colunas e linhas */
    }
}

#diferenciais .porque h4,
#outros h4 {
    font-weight: 700;
    max-width: 750px;
    margin: 40px auto 0;
    text-align: center;
}

#diferenciais .porque p,
#outros p {
    color: #001F3F;
    max-width: 930px;
    margin: 15px auto 0;
    text-align: center;
}

html.lock {
    overflow: hidden;
}

.modal.show {
    display: block;
}

.modal.hide {
    display: none;
}

.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    display: none;
    overflow: hidden;
    outline: 0;
}

.modal .overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 995;
    background: rgba(0, 0, 0, 0.85);
    visibility: visible;
    opacity: 1;
}

.modal .modal_content {
    z-index: 999;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-height: 90%;
    padding: 0;
    -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.7);
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.7);
    border-radius: 4px;
    width: 520px;
    max-width: 93vw;
    overflow: hidden;
}

.modal .modal_content .modal__header {
    display: flex;
    padding: 5px 15px;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #182737;
}

.modal .modal_content .modal__header .lead {
    font-size: 24px;
    font-weight: 600;
    color: white;
}

.modal .modal_content {
    background-color: #0d1f33;
}

.modal .modal_content .modal__data {
    padding: 20px 15px;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    height: 100%;
    max-height: 80vh;
}

.modal .modal_content.lg {
    width: 650px;
}

.modal .modal_content.rl {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
    transform: none;
    margin: 5vh auto;
}

.modal .modal_content.h9 {
    height: 700px;
}

.modal .modal_content .modal_video {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    padding-top: 25px;
    height: 0;
}

.modal .modal_content .modal_video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.modal .modal_content iframe {
    width: 100%;
    height: 100%;
    z-index: 999;
    border: none;
    display: block;
}

.modal .modal_content iframe {
    background-color: #fff;
    color: #8798AD;
}


.modal .modal_content .buttons_wrapper {
    padding: 20px;
}

.modal .close_modal {
    height: 35px;
    width: 35px;
    cursor: pointer;
    font-size: 34px;
    border: none;
    z-index: 2;
    display: flex;
    align-content: center;
    justify-content: center;
    background-color: transparent;
    line-height: 1;
    color: black;
    box-shadow: none;
}

.setas-white{
    filter: brightness(0) invert(1);
}

/* Estado Inicial: Esconde o texto pequeno e reserva espaço */
#professores .professores__box .text-small, #professores .professores__box .p1 {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    margin-top: 0;
    transition: opacity 0.3s ease, max-height 0.4s ease, margin 0.3s ease;
}

/* Estado no Hover: Mostra o texto quando passa o mouse na box */
#professores .professores__box:hover .text-small, #professores .professores__box:hover .p1 {
    opacity: 1;
    max-height: 200px; /* Um valor alto o suficiente para o seu texto */
    margin-top: 8px;   /* Espaçamento entre o nome e o texto */
}

@media (max-width:768px) {
    #banner form{
		width: 100%;
	}
}

.wpcf7-not-valid-tip {
    color: #ffb900 !important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    color: #fff;
}