@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap");

:root {
    --body-color: #fcfcfc;

    --primary-color: #b82b30;
    --secondary-color: #fff;
    --tertiary-color: #916f27;
    --fourth-color: #d1d1d1;

    --text-color: #7e7e7e;
    --text-grey-title: #545454;
    --text-grey-sub: #909090;

    --link-primary-color: #616162;
    --link-secondary-color: #c11c05;

    --nav-title-color: #494949;
    --gray-icon: #7a7a7a;

    --secondary-font: "Dm Sans", sans-serif;
    --tertiary-font: "Manrope", sans-serif;

    --bg-social-facebook: url("/img/social/facebook.svg");
    --bg-social-instagram: url("/img/social/instagram.svg");
    --bg-social-youtube: url("/img/social/youtube.svg");
    --bg-social-linkedin: url("/img/social/linkedin.svg");

}

body {
    overflow-x: hidden;
    font-size: 16px;
    background-color: var(--body-color);
}

* {
    margin: 0;
    padding: 0;
}

body {
    font-family: "DM Sans", sans-serif;
}

main {
    margin-top: 160px;
}

.navbar {
    padding: 0 !important;
}

.navbar .nav-item a {
    text-decoration: none;
    position: relative;
    display: block;
}

.navbar .nav-item .ddd {
    font-size: 10px;
}

.nav-top {
    background-color: var(--primary-color);
    width: 100%;
    height: 50px;
}

.nav-top .container .menu {
    display: contents;
}

.nav-top .nav-item a {
    color: var(--secondary-color);
    font-family: var(--secondary-font) !important;
    font-size: 0.8rem;
    padding: 10px 0px;
}

.nav-top .nav-item a:hover {
    transform: scale(1.1);
}

.nav-top li .submenu {
    display: none;
    position: fixed;
    background-color: var(--body-color);
    padding: 16px;
    width: fit-content;
    line-height: 32px;
    box-shadow: 4px 4px 9px -6px #000;
    z-index: 15;
    border-left: solid 9px var(--primary-color);
    border-radius: 8px;
}

.nav-top li .submenu .item-bar {
    display: none;
}

.nav-top li .submenu .nav-item a {
    color: var(--link-primary-color);
    font-weight: 600;
}

.nav-top li .submenu .nav-item a:hover {
    color: var(var(--link-secondary-color)) !important;
    text-decoration: none;
}

.nav-top li .submenu .nav-item a {
    padding: 2px 8px;
}

.nav-top li .submenu .nav-item a:hover::before {
    content: ">";
    font-size: 1rem;
    font-weight: 800;
    padding-right: 5px;
}

.nav-link {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-bottom: 0;
}

.nav-social {
    margin-bottom: 0;
}

.nav-geral {
    width: 100%;
    min-height: 110px;
    padding: 0 10px;
    background-color: var(--body-color);
}

.nav-geral .container {
    margin-top: 20px;
}


.navbar-brand {
    padding-top: 0;
}

.navbar .nav-geral .nav-item a {
    color: var(--link-primary-color);
    font-size: 0.875rem;
    font-weight: 500;
    padding: 5px 8px;
}

.navbar .nav-geral .nav-item a:hover {
    color: var(--link-secondary-color);
}

.nav-geral ul {
    display: inline-flex;
}

.nav-geral .menu .ico .submenu {
    margin-left: 0px !important;
}

.nav-geral .slogan {
    font-size: 0.7rem;
    font-weight: 600;
}

.nav-geral .box-pesquisa {
    color: var(--link-primary-color);
    padding: 0;
}

.nav-geral .box-pesquisa h4 {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.3rem;
}

#search-btn {
    width: 40px;
}

.nav-geral .box-pesquisa input[type="search"]::placeholder {
    color: var(--link-primary-color);
}

.nav-geral .box-pesquisa input[type="search"]:active {
    border: none;
}

.nav-geral .box-pesquisa button:active {
    border: none;
}

.nav-geral .box-pesquisa input[type="search"] {
    height: 35px;
    border: transparent;
    font-size: 0.85rem;
}

.vestibular-button {
    display: block;
    color: white;
    background-color: var(--primary-color);
    border-radius: 32px;
    width: 176px;
    height: 47px;
    border: none;
    font-family: "Dm Sans", Manrope, sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 15px 20px;
    text-align: end;
}

#ico-student {
    margin-right: 5px;
}

.vestibular-button:hover {
    text-decoration: none;
    color: white;
}

.vestibular-button-mobile {
    color: white;
    background-color: var(--primary-color);
    border-radius: 32px;
    width: 100%;
    height: 68px;
    border: none;
    font-family: "Dm Sans", Manrope, sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 24px 20px;
    margin-top: auto;
}

.vestibular-button-mobile:hover {
    text-decoration: none;
    color: white;
}

.nav-geral .box-pesquisa button {
    color: var(--gray-icon);
    background-color: transparent;
    border: none;
    align-items: center;
}

.vest

/* .nav-geral .box-pesquisa button {
  color: #FFF;
  background:var(--link-secondary-color);
  border:none;
  padding: 0 10px;
  position: relative;
  right: 30px;
  z-index: 5;
} */
.input-group {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

.nav-cursos {
    background-color: var(--body-color);
}

.nav-cursos .menu {
    display: contents;
}

.navbar .nav-cursos .nav-item a {
    color: var(--link-primary-color);
    font-size: 1rem;
    font-weight: 400;
    padding: 8px;
}

.navbar .nav-cursos .nav-item a:hover {
    color: var(--link-secondary-color);
}

.separador {
    list-style: none;
    pointer-events: none;
    list-style-type: none;
    padding: 0;
    margin: 0;
    color: #d9d7d7 !important;
}

.header-social {
    gap: 40px;
}

#sidebarCollapse {
    display: none;
    position: relative;
}

#bar_pesquisa_curso {
    display: none;
    transition: width 0.5s ease-in-out;
    width: 0;
}

.search-active #bar_pesquisa_curso {
    display: block;
    background-color: var(--body-color);
    width: 697px;
    max-width: 100%;
}

.search-active #search-btn svg path {
    fill: var(--primary-color);
}

/* Escondendo o nav-cursos quando a barra de pesquisa estiver ativa */
.search-active .nav-cursos {
    display: none;
}

.nav-mobile {
    width: 35%;
    position: fixed;
    top: 0;
    left: -35%;
    height: 100vh;
    background: #fff;
    color: #585858;
    font-size: 0.8rem;
    transition: all 0.3s;
    overflow-y: scroll;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
    z-index: 2000;
}

.nav-container-mobile {
    padding: 40px 30px;
    flex-grow: 1;
}

.nav-buttons {
    margin-top: auto;
}

.nav-mobile.active {
    left: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.nav-mobile .item-bar {
    display: none;
}

.nav-mobile li a {
    width: 100%;
    height: 100%;
    padding: 10px 0;
    display: block;
    color: #585858;
}

.nav-mobile .submenu li a {
    padding: 9px 20px;
}

.nav-mobile .item-n1>a {
    font-family: "DM Sans", Manrope, sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #686868;
}

.nav-mobile #dismiss {
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    color: #fff;
    position: absolute;
    right: 10px;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.nav-mobile #dismiss:hover {
    background: #fff;
    color: #7386d5;
}

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

.nav-title-mobile {
    color: #2c2c2c;
    font-family: "Dm Sans", Manrope, sans-serif;
    font-weight: 400;
    font-size: 16px;
}

.nav-login {
    padding-top: 0.315rem;
}

.nav-pills {
    display: flex;
    gap: 13px;
}

@media (min-width: 1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1339px !important;
    }
}

@media (min-width: 680px) {
    .code-logo {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 1199px) {

    .nav.nav-pills,
    .nav-cursos,
    .nav-top,
    .vestibular-button,
    .nav-login,
    .separador {
        display: none !important;
    }

    #sidebarCollapse {
        display: block;
    }

    main {
        margin-top: 100px;
    }

    #ico-student {
        margin-bottom: 3px;
    }
}

@media (max-width: 991px) {
    .nav-mobile {
        width: 50%;
        left: -50%;
    }

    .nav-geral .slogan {
        display: none;
    }
}

@media (max-width: 575px) {
    .nav-mobile {
        width: 85%;
        left: -85%;
    }
}

.menu li {
    list-style: none;
}

/* --------- FLOAT ICONS ----------*/
.mfb-component__button--child,
.mfb-component__button--main {
    background-color: #d68800;
}

.mfb-component__button--child:hover,
.mfb-component__button--main:hover {
    color: #fff;
}

.mfb-component__button--child i,
.mfb-component__button--main i {
    line-height: 50px;
}

.mfb-component__button--main i>svg {
    width: 35px;
    height: 35px;
}

.mfb-component__button--child i>svg,
.mfb-component__button--main i>svg {
    width: 30px;
    height: 30px;
}

/* --------- FLOAT ICONS ----------*/

/* --------- PÁGINA HOME ----------*/
.seguimentos {
    margin-top: -50px;
}

.hero-home {
    font-family: var(--tertiary-font) !important;
    margin-top: -190px !important;
}

.hero-home h1 {
    font-size: 3.625rem;
    font-weight: 600;
    color: var(--secondary-color);
}

.hero-home h1 strong {
    color: #FBEAE1;
    text-decoration: underline;
}

.hero-home span {
    color: #fff;
}

.hero-home p {
    color: #FFFFFF80;
    font-size: 0.875rem;
}

.hero-home #hero-sobre {
    color: #fff;
    background-color: var(--primary-color);
    padding: 14px 16px;
    border: 1px solid #fff;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    font-family: var(--tertiary-font);
    gap: 10px;
    width: 270px;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.rectangle-bg {
    position: absolute;
    bottom: 0;
    left: 52%;
    transform: translateX(-50%);
    width: 105%;
    height: 85%;
    z-index: 0;
}

.hero-img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 100%;
    max-height: 115%;
    z-index: 1;
}

.hero-top {
    min-height: 580px;
}

.hero-right {
    padding: 36px;
}

.hero-bottom {
    color: #fff;
    font-family: var(--tertiary-font) !important;
}

.hero-bottom h3 {
    font-size: 1.25rem;
    font-weight: 600;
}

.hero-bottom p {
    font-size: 0.75rem;
    font-weight: 600;
    color: #fff;
}

.border-bottom-black {
    border-bottom: 1px solid #00000045;
}

.outline-text {
    font-size: 89px;
    color: transparent !important;
    bottom: 20%;
    right: 80%;

    -webkit-text-stroke: 1px #FFFFFF2B;

}

.top-vestibular-button {
    display: none;
    overflow: hidden;
    background-color: #b82b30;
}

.color-wrapper {
    background: var(--primary-color);
}

.gradient-vermelho {
    background: linear-gradient(to bottom,
            var(--primary-color) 0%,
            var(--primary-color) 10%,
            var(--body-color) 10%,
            var(--body-color) 100%);
}

.box-destaque {
    text-transform: uppercase;
    background-color: var(--link-secondary-color);
    display: inline-block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--secondary-color);
    padding: 5px 8px;
}

#blog-posts .post .body {
    padding: 20px 10px;
}

#blog-posts .post h5 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-color);
}

#blog-posts .post p {
    font-size: 0.85rem;
    color: var(--text-color);
}

.seguimentos .item {
    background-color: rgba(255, 255, 255, 0.95);
    width: 100%;
    max-width: 390px !important;
    height: 100%;
    margin: auto;
    padding: 20px;
    color: #fff;
    border: 1px solid #b6902d;
    box-shadow: 2px 3px 4px #aaa;
}

.depoimentos .item {
    background-color: var(--primary-color);
    margin: 0 15px;
    border-radius: 4px;
    padding: 40px 20px 20px 20px;
    display: inline-block;
}

.depoimentos .item * {
    color: var(--secondary-color) !important;
}

.depoimentos .item img {
    width: 36px;
    height: 36px;
    display: inline-block;
    margin: -35px 10px 1px 0;
}

.depoimentos .item p {
    margin: 5px 0;
    font-weight: 600;
}

/* ----- home bottom -----*/
/* Estilos gerais para todas as seções */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.section-title {
    position: relative;
    font-family: 'DM Sans', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin-bottom: 30px;
    padding-bottom: 10px;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background-color: var(--primary-color);
}

/* Seção de Vídeos */
.videos-section {
    background-color: #f8f9fa;
}

.videos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 25px;
}

.video-card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

.video-thumbnail {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
}

.video-thumbnail iframe,
.video-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-info {
    padding: 15px;
    background-color: white;
}

.video-info h3 {
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #333;
}

.video-info p {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #666;
    margin: 0;
}

/* Seção de Blog */
.blog-section {
    background-color: white;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
}

.blog-card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease;
}

.blog-card:hover {
    transform: translateY(-5px);
}

.blog-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.blog-content {
    padding: 20px;
}

.blog-date {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
}

.blog-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.blog-excerpt {
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    color: #555;
    margin-bottom: 15px;
    line-height: 1.5;
}

.blog-link {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--primary-color);
    text-decoration: none;
    display: flex;
    align-items: center;
}

.blog-link svg {
    margin-left: 5px;
    transition: transform 0.2s ease;
}

.blog-link:hover svg {
    transform: translateX(3px);
}

/* Estilos para a seção de depoimentos */
.testimonials-section {
    background-color: #f8f9fa;
    padding: 60px 0;
}

.testimonials-section .section-title {
    margin-bottom: 40px;
}

/* Ajuste do slider para mostrar apenas um item por vez */
.testimonials-slider {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px 0;
}

/* Estilo para cada item de depoimento */
.testimonials-slider .item {
    background-color: white;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    position: relative;
    margin: 0 15px;
    text-align: center;
}

.testimonials-slider img {
    width: 40px;
    margin-bottom: 20px;
    display: inline-block;
}

.testimonials-slider i {
    font-style: italic;
    color: #555;
    font-size: 18px;
    line-height: 1.6;
    display: block;
    margin-bottom: 20px;
}

.testimonials-slider .nome {
    font-weight: 600;
    color: #333;
    font-size: 18px;
    margin-bottom: 5px;
}

.testimonials-slider .curso {
    color: #666;
    font-size: 14px;
}


/* Adaptações para mobile */
@media (max-width: 768px) {
    .testimonials-slider .item {
        padding: 30px 20px;
    }
}


/* Seção de Agenda */
.agenda-section {
    background-color: white;
}

.agenda-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 25px;
}

.agenda-item {
    display: flex;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.agenda-date {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 80px;
    padding: 15px;
    background-color: var(--primary-color);
    color: white;
}

.agenda-day {
    font-family: 'DM Sans', sans-serif;
    font-size: 28px;
    font-weight: 700;
}

.agenda-month {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
}

.agenda-content {
    flex: 1;
    padding: 20px;
}

.agenda-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #333;
}

.agenda-info {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #666;
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

.agenda-info svg {
    margin-right: 8px;
    color: var(--primary-color);
}

/* Seção de Newsletter */
.newsletter-section {
    background-color: var(--primary-color, #d7323f);
    padding: 50px 0;
}

.newsletter-wrapper {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.newsletter-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.newsletter-icon img {
    width: 48px;
    height: auto;
}

.newsletter-text {
    flex: 1;
    min-width: 200px;
    color: #fff;
}

.newsletter-text h3 {
    font-family: 'DM Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;

    margin: 0 0 5px 0;
}

.newsletter-text p {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #e0e0e0;
    margin: 0;
}

.newsletter-form-container {
    flex: 2;
    min-width: 300px;
}

.newsletter-form-container form {
    width: 100%;
}

.newsletter-form-container .input-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.newsletter-form-container input {
    flex: 1;
    min-width: 150px;
    height: 45px;
    border: none;
    border-radius: 6px;
    padding: 0 15px;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.newsletter-form-container input::placeholder {
    color: #aaa;
}

.newsletter-form-container input:focus {
    outline: none;
}

.newsletter-form-container button {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 45px;
    padding: 0 20px;
    background-color: var(--primary-color, #d7323f);
    color: white;
    border: none;
    border-radius: 6px;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.newsletter-form-container button:hover {
    background-color: var(--primary-color-dark, #c02330);
}

.newsletter-form-container .messageSuccess {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    background-color: #4CAF50;
    color: white;
    border-radius: 6px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    text-align: center;
}

#newsletter-submit {
    color: #fff;
    background-color: var(--primary-color);
    padding: 14px 16px;
    border: 1px solid #fff;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    font-family: var(--tertiary-font);
    gap: 10px;
    max-width: 200px;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

/* Responsividade */
@media (max-width: 992px) {
    .home-course-filter {
        height: auto !important;
    }

    .testimonial-card {
        width: calc(50% - 20px);
    }

    .newsletter-content {
        flex-direction: column;
        text-align: center;
    }

    .cursos-geral {
        justify-content: space-around !important;
    }
}

@media (max-width: 768px) {


    .section-title {
        font-size: 22px;
    }

    .testimonial-card {
        width: 100%;
    }

    .newsletter-wrapper {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        padding: 0 15px;
    }

    .newsletter-icon {
        margin-bottom: 10px;
    }

    .newsletter-form-container {
        width: 100%;
    }

    .newsletter-form-container .input-group {
        flex-direction: column;
    }

    .newsletter-form-container input,
    .newsletter-form-container button {
        width: 100%;
    }

    .agenda-grid {
        grid-template-columns: 1fr;
    }
}

/* Estilização da área com rolagem horizontal */
.scrollable-columns {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 15px;
    /* Espaço para a barra de rolagem */
    position: relative;
    -webkit-overflow-scrolling: touch;
    /* Rolagem suave em dispositivos iOS */
}

/* Estilizando a barra de rolagem em navegadores baseados em WebKit (Chrome, Safari, Edge) */
.scrollable-columns::-webkit-scrollbar {
    height: 8px;
    width: auto;
}

.scrollable-columns::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 12px;
}

.scrollable-columns::-webkit-scrollbar-thumb {
    background: var(--primary-color);
    border-radius: 12px;
}

.scrollable-columns::-webkit-scrollbar-thumb:hover {
    background: var(--primary-color-dark, #0056b3);
    /* Cor ao passar o mouse (tom mais escuro) */
}

/* Mantendo o comportamento da rolagem para Firefox */
.scrollable-columns {
    scrollbar-width: thin;
    scrollbar-color: var(--primary-color) #f1f1f1;

}

.scrollable-columns .columns {
    display: flex;
    padding-bottom: 5px;

}

.scrollable-columns .column {
    min-width: 220px;
    margin-right: 20px;

}


.scrollable-container {
    position: relative;
    width: 100%;
}


@media (max-width: 576px) {

    .videos-grid,
    .blog-grid {
        grid-template-columns: 1fr;
    }

    .testimonials-slider {
        flex-wrap: wrap;
        gap: 30px;
    }

    /* revisar */
    .hero-home .hero-img {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        max-width: 80%;
        z-index: 1;
    }

    /* revisar */
    .hero-home .rectangle-bg {
        position: absolute;
        bottom: 0;
        left: 52%;
        transform: translateX(-50%);
        width: 105%;
        z-index: 0;
    }

    .hero-home .hero-top {
        display: flex;
        flex-direction: column;
    }

    .hero-home h1 {
        font-size: 2rem;
    }

    .hero-home span {
        font-size: 0.875rem;
    }

    .hero-home .outline-text {
        font-size: 98px;
        bottom: 0%;
        /*  right: 77%; */
        left: 0;
        right: auto;
    }

    .hero-bottom {
        gap: 20px;
        margin-bottom: 0px !important;

    }

    .hero-conheca {
        gap: 40px !important;
    }

    .hero-container {
        margin-top: 0px !important;
    }

    .hero-aulas {
        gap: 30px !important;
    }

    .newsletter-form-container input {
        height: 35px;
        flex: auto;
    }

    /* Hero-bottom slider */
    .hero-bottom.slick-initialized {
        display: block !important;
        position: relative;
        padding: 0 15px;
    }

    /* Ajustes para cada slide */
    .hero-bottom .col-md-3 {
        width: 100%;
        padding: 20px 15px;
        margin-right: 0;
    }

    /* Estilo para posicionar as setas de navegação à direita */
    .hero-bottom .slick-prev,
    .hero-bottom .slick-next {
        position: absolute;
        top: 80%;
        transform: translateY(-50%);
        width: 40px;
        height: 40px;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.04);
        border: none;
        z-index: 10;
        display: flex !important;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        opacity: 1;
        visibility: visible;
    }

    /* Posiciona as setas à direita */
    .hero-bottom .slick-prev {
        right: 45px;
        left: auto;
    }

    .hero-bottom .slick-next {
        right: 0px;
    }

    /* Estilos específicos para os SVGs das setas */
    .hero-bottom .slick-prev svg,
    .hero-bottom .slick-next svg {
        width: 7px;
        height: 12px;
        display: block;
    }

    /* Garante que os caminhos SVG sejam brancos */
    .hero-bottom .slick-prev svg path,
    .hero-bottom .slick-next svg path {
        fill: #fff !important;
    }


    /* Garante que os slides não visíveis não apareçam */
    .hero-bottom .slick-slide:not(.slick-active) {
        visibility: hidden;
        height: 0;
    }

    /* Ajustes para o slide ativo */
    .hero-bottom .slick-slide.slick-active {
        display: block;
        visibility: visible;
    }

    /* Esconde as setas padrão do slick */
    .hero-bottom .slick-arrow::before {
        display: none;
    }

    .filter-row {
        flex-direction: column !important;

    }

}


@media (max-width: 767px) {
    .seguimentos {
        margin-top: 0px;
    }

    .scroll-indicator {
        padding-right: 40px;
    }

    .top-vestibular-button {
        position: relative;
        display: block;
        box-shadow: 0px 5px 65px 0px rgba(0, 0, 0, 0.12);
        overflow: hidden;
    }
}

/* --------- PÁGINA PORTAL ----------*/
.banners img {
    margin: auto;
}

.floating-box {
    position: relative;
    bottom: 70px;
}

.floating-box+section {
    margin-top: -70px;
}

.floating-box .box-pesquisa {
    color: #fff;
    background-color: #d68800;
    padding: 35px 0px 35px 30px;
}

.floating-box .box-pesquisa h4 {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.3rem;
}

.floating-box .box-pesquisa input[type="search"]::placeholder {
    color: #fff;
}

.floating-box .box-pesquisa input[type="search"]:active {
    border: none;
}

.floating-box .box-pesquisa button:active {
    border: none;
}

.nav-geral .box-pesquisa input[type="search"]:focus {
    outline: none;
    box-shadow: none;
    border: none;
}

.floating-box .box-pesquisa input[type="search"] {
    height: 40px;
    color: #fff;
    background-color: #d68800;
    border-left: none;
    border-top: none;
    border-right: none;
    border-bottom: 1px solid #e4ad4e;
}

.floating-box .box-pesquisa button {
    color: #fff;
    background: none;
    border: none;
    padding: 0 10px;
    position: relative;
    right: 30px;
    z-index: 5;
}

.floating-box .box-chamada {
    background-color: #c11c05;
    padding: 45px 20px;
    position: relative;
    bottom: 80px;
    min-height: 222px;
}

.floating-box .box-chamada a {
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
}

.floating-box .box-chamada p {
    font-size: 1rem;
}

.floating-box .box-chamada h2 {
    font-size: 2.2rem;
    font-weight: 600;
}

@media (max-width: 1199px) {
    .floating-box {
        bottom: 40px;
    }

    .floating-box .box-chamada h2 {
        font-size: 1.7rem;
    }
}

@media (max-width: 991px) {
    .floating-box {
        bottom: 20px;
    }
}

@media (max-width: 767px) {
    .floating-box .box-chamada {
        bottom: -10px;
    }

    .floating-box .box-chamada h2 {
        font-size: 2.2rem;
    }

    .floating-box+section {
        margin-top: 15px;
    }
}

@media (max-width: 575px) {
    .floating-box {
        bottom: 10px;
    }
}

/* ------------ GRID CURSOS E UNIDADES -------------- */

.cursos-filtros button,
.unidades-filtros button {
    padding: 12px 18px;
    font-size: 0.8rem;
    line-height: 15px;
    color: #666;
    border: 1px solid rgba(0, 0, 0, 0.07);
}

.cursos-filtros button:hover,
.unidades-filtros button:hover {
    color: #c11c05;
    text-decoration: none;
}

@media (max-width: 575px) {
    .cursos-filtros {
        display: grid;
    }
}

.btn-filter-active {
    background-color: #c11c05;
    font-weight: bold;
    color: #fff !important;
}

.btn-filter-first{ border-radius: 6px 0 0 6px;}
.btn-filter-last { border-radius: 0 6px 6px 0;}

.row {
    margin: 0;
    padding: 0;
}

.card {
    transition: transform 300ms ease-out;
    border: none;
    border-radius: 12px;
    padding: 0;
    background: #fff;
}

.card:active {
    transform: scale(0.95);
}

.card-img-top {
    height: 339px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    object-fit: cover;
}

.card-bottom {
    font-family: Manrope;
    font-weight: 400;
    line-height: 16.39px;
    text-align: left;
    color: #696969;
}

.card-bottom svg {
    margin-right: 4px;
}

.card-modulo {
    max-width: 80%;
}

.arrow-link {
    width: 24%;
    align-self: center;
    position: absolute;
    left: 248px;
    top: 120px;
}

.arrow-link svg {
    width: 36px;
    height: 30px;
    border: 1px solid var(--primary-color);
    border-radius: 9px;
    padding: 4px 10px;
}

.tag-curso {
    min-width: 92px;
    top: 40px;
    left: 36px;
    padding: 14px;
    gap: 10px;
    border-radius: 8px;
    background-color: #fff;
    color: #000;
    font-family: "Manrope";
    font-size: 12px;
    font-weight: 500;
    line-height: 19.12px;
}

.cursos-lista .curso-item,
.unidades-lista .unidade-item {
    margin: 16px;
    font-size: 0.8rem;
    overflow: visible;
    height: 582px;
    max-width: 286px;
    background-color: var(--secondary-color);
    transition: transform 300ms ease-out;
}

.cursos-lista .curso-item a,
.unidades-lista .unidade-item a {
    color: gray;
    text-decoration: none;
}

.curso-imagem {
    height: 339px;
}

.curso-desc {
    text-align: start;
    height: 174px;
    padding: 42px 30px;
}

.card-body {
    text-align: start;
    height: 174px;
    padding: 42px 30px;
    position: relative;
}


.cursos-lista .curso-item .curso-desc h4,
.unidades-lista .unidade-item .unidade-desc h4,
.unidade-info .unidade-desc h4 {
    color: #333;
    font-weight: 600;
    margin-bottom: 15px;
}

.cursos-lista .curso-item .curso-desc svg,
.unidades-lista .unidade-item .unidade-desc svg,
.unidade-info .unidade-desc svg {
    margin: 0 10px 0 20px;
    font-size: 1rem;
}

.cursos-lista .cursos-destaque .curso-item .curso-desc h4,
.unidades-lista .unidades-destaque .unidade-item .unidade-desc h4 {
    font-size: 1.5rem;
    min-height: 60px;
}

.cursos-lista .cursos-geral .curso-item .curso-desc h4,
.unidades-lista .unidades-geral .unidade-item .unidade-desc h4 {
    font-size: 1rem;
    min-height: 40px;
}


.card-svg {
    margin-bottom: 3px;
    margin-right: 4px;
}

/* ------------ FILTRO DO CURSO ---------- */

.home-course-filter {
    width: 100%;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    padding: 36px 30px 30px 30px;
    height: 133px;
}

.filter-container {
    display: flex;
    align-items: center;
    gap: 30px;
}

.filter-title {
    display: flex;
    flex-direction: column;
    font-size: 16px;
    white-space: nowrap;
    font-family: var(--tertiary-font) !important;
}

.curso-strong strong {
    color: var(--primary-color) !important;
    font-weight: bold;
}

.filter-controls {
    display: flex;
    flex: 1;
    gap: 15px;
    align-items: center;
}

.select-group,
.select-input {
    position: relative;
    flex: 1;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 400;
    font-weight: 400;
    font-size: 16px;
}

.select-group label,
.select-input label {
    position: absolute;
    top: 8px;
    left: 12px;
    font-size: 12px;
    color: #666;
    z-index: 1;
    pointer-events: none;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 400;
}

.select-group select,
.select-input select {
    width: 100%;
    height: 56px;
    padding: 20px 12px 4px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background-color: white;
    appearance: none;
    cursor: pointer;
    width: 273px !important;
}

.select-group select:focus,
.select-input select:focus {
    outline: none;
    border-color: #4a90e2;
}

/* Adiciona a seta customizada */
.select-group::after {
    content: '';
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    pointer-events: none;
    transform: translateY(-50%) rotate(45deg);
}

#filtro_curso {
    height: 56px;
    width: 273px;
    padding: 10px 13px 0px 10px;
}

.filter-row {
    gap: 18px
}

.buscar-btn {
    background-color: var(--primary-color);
    color: white;
    border: none;
    border-radius: 6px;
    padding: 0 20px;
    height: 56px;
    width: 200px;
    font-size: 16px;
    font-weight: 600;
    font-family: var(--tertiary-font) !important;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 10px;
    cursor: pointer;
    white-space: nowrap;
}

.buscar-btn:hover {
    background-color: #c02330;
}

.buscar-btn svg {
    width: 18px;
    height: 18px;
}



/* Responsividade */
@media (max-width: 992px) {
    .filter-container {
        flex-direction: column;
        align-items: flex-start;
    }

    .filter-controls {
        flex-direction: column;
        width: 100%;
    }

    .select-group {
        width: 100%;
    }

    .buscar-btn {
        width: 100%;
        justify-content: center;
        margin-top: 10px;
    }
}

/* ------------ PÁGINA DA UNIDADE ---------- */
.unidade-info .unidade-desc .info,
.unidades-lista .unidade-item .unidade-desc .info {
    display: inline-table;
    max-width: 80%;
}

.unidade-info .unidade-desc li,
.unidades-lista .unidade-item .unidade-desc li {
    list-style: none;
    line-height: 22px;
    margin: 5px 0;
}

.unidades-lista .unidades-geral .unidade-item {
    display: none;
}

.unidades-lista h1,
.unidades-lista h2 {
    color: #c11c05;
    text-transform: uppercase;
    margin-top: 25px;
    font-weight: 700;
    font-size: 1.7rem;
}

.unidades-lista .aviso {
    font-size: 0.9rem;
    font-weight: 600;
}

.unidade-info .unidade-logo { margin: auto; }

.unidade-info .unidade-logo img{ border-radius: 8px; }

.unidade-info .unidade-titulo {
    text-transform: uppercase;
    color: #fff;
}

.unidade-info .unidade-desc { padding: 50px 45px; }

.unidade-info {
    font-size: small;
    background-color: var(--secondary-color);
    border-radius: 8px;
    margin: 32px auto;
}

#modalUnidade label {
    font-weight: bold;
}

#modalUnidade select {
    margin-bottom: 20px;
    height: 50px;
}

#modalUnidade select optgroup {
    background-color: rgba(237, 168, 33, 0.75);
    color: #fff;
}

.label {
    display: inline-block;
    margin-top: 5px;
    border-radius: 0;
    font-weight: 700;
    font-size: 0.7rem;
    letter-spacing: 0.3px;
}

.label-title {
    font-weight: 500;
    text-transform: capitalize;
    margin-top: 0;
    padding: 4px 10px;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
    align-self: center;
}

.label-curso {
    font-family: Manrope;
    font-size: 18px;
    font-weight: 500;
    line-height: 24.59px;
    text-align: left;
    color: #383838;
    padding-right: 10px;
    min-width: 150px;
    margin: 10px 0;
}

.label-presencial {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-semipresencial {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-educacao-a-distancia {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-hibrido {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-supletivo-eja {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-curso-tecnico {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-especializacao-pos-tecnico {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-qualificacao-profissional {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-graduacao-licenciatura {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-graduacao-bacharelado {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-graduacao-tecnologo {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-pos-graduacao {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

.label-extensao {
    font-weight: 500;
    text-transform: capitalize;
    background-color: rgba(184, 43, 48, 0.1);
    border-radius: 6px;
    color: #505050;
}

/* ------------ PÁGINA DO CURSO ---------- */

.curso-info {
    position: relative;
    top: -150px;
}

.curso-info .curso-titulo {
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 60px;
}

.unidade-info .unidade-titulo h1,
.curso-info .curso-titulo h1 {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 15px 0;
}

.unidade-info .unidade-titulo h2,
.curso-info .curso-titulo h2 {
    font-size: 0.95rem;
    background-color: #c11c05;
    display: inline-block;
    padding: 10px;
    letter-spacing: 1px;
    margin: 0;
}

.unidade-info .unidade-titulo h3,
.curso-info .curso-titulo h3 {
    font-size: 0.6rem;
    border: solid 1px #fff;
    border-left: solid 12px #fff;
    display: inline-block;
    padding: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.curso-info .curso-descricao h2,
.curso-info .curso-descricao h3,
.curso-info .curso-descricao h4 {
    text-align: left;
}

.curso-info .curso-descricao h2,
.curso-info .curso-descricao h3,
.curso-info .curso-descricao h4,
.unidade-cursos h4,
#vantagens h3,
#unidades-polos h3,
#opcoes-inicio h3,
#matriz-curricular h3,
#coordenacao h3 {
    color: #c11c05;
    text-transform: uppercase;
    border-bottom: 1px solid #eee;
    padding: 15px 0;
    font-weight: 800;
    margin-bottom: 25px;
}

#vantagens h3,
#coordenacao h3 {
    border-bottom: 1px solid #d2d2d2 !important;
}

.curso-info .curso-descricao {
    font-size: 0.9rem;
    text-align: justify;
    line-height: 25px;
    padding-right: 30px;
}

.curso-info .curso-descricao ul {
    padding-left: 35px;
}

.curso-info #box-detalhes {
    background-color: #961504;
    padding: 50px 45px;
    color: #fff;
}

.curso-info #box-detalhes table {
    width: 100%;
    margin-bottom: 40px;
}

.curso-info #box-detalhes tr {
    border-bottom: solid 1px #af7b74;
}

.curso-info #box-detalhes th {
    text-transform: uppercase;
}

.curso-info #box-detalhes th,
.curso-info #box-detalhes td {
    padding: 8px;
    font-size: 0.8rem;
}

.curso-info #box-detalhes .dt-form-polo h6,
.curso-info #box-detalhes .dt-form h6 {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.9rem;
}

.curso-info #box-detalhes .dt-valor p {
    text-align: center;
    font-size: 0.8rem;
}

.curso-info #box-detalhes .dt-form-polo input,
.curso-info #box-detalhes .dt-form input,
.curso-info #box-detalhes .dt-valor button,
.curso-info #box-detalhes .dt-call button,
.curso-info #box-detalhes .dt-form select {
    border-radius: 0;
    border: none;
    padding: 8px;
    margin: 5px 0;
    font-size: 0.8rem;
}

.curso-info #box-detalhes .dt-form-polo input[type="submit"],
.curso-info #box-detalhes .dt-form input[type="submit"] {
    font-size: 1rem;
}

.curso-info #box-detalhes .dt-valor {
    text-transform: uppercase;
    font-size: 0.9rem;
}

.curso-info #box-detalhes .dt-valor li {
    list-style: none;
    margin: 5px 0;
}

.curso-info #box-detalhes .dt-valor .dt-valor-matricula .dt-titulo {
    font-weight: 700;
}

.curso-info #box-detalhes .dt-valor .dt-valor-matricula .dt-valor-antigo {
    font-size: 0.8rem;
}

.curso-info #box-detalhes .dt-valor .dt-valor-matricula .dt-valor-final {
    font-weight: 700;
}

.curso-info #box-detalhes .dt-valor .dt-valor-matricula span {
    font-size: 1.5rem;
}

.curso-info #box-detalhes .dt-valor .dt-valor-matricula .dt-matricula {
    font-size: 0.7rem;
}

.curso-info #box-detalhes .dt-valor .dt-valor-matricula .dt-sem-matricula {
    font-size: 0.7rem;
}

.dt-valor-final {
    font-size: 1.2rem;
}

.curso-info .box-matricula {
    color: #fff;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
}

.curso-info .box-matricula .dt-inicio {
    background-color: #0d5c70;
    padding: 30px 10px;
    border: 1px solid #0d5c70;
    z-index: 2;
    font-size: 1.2rem;
}

.curso-info .box-matricula .dt-inicio span {
    display: block;
}

.curso-info .box-matricula .dt-botao {
    background: #0c3e4a;
}

.curso-info .box-matricula .dt-botao a {
    color: #fff;
    text-decoration: none;
    width: 100%;
    height: 100%;
    padding: 50px 0;
    display: block;
}

.curso-info .box-matricula .dt-inicio:after,
.curso-info .box-matricula .dt-inicio:before {
    content: "";
    display: block;
    position: absolute;
    left: 100%;
    width: 0;
    height: 0;
    border-style: solid;
}

.curso-info .box-matricula .dt-inicio:after {
    top: 40%;
    border-color: transparent transparent transparent #0d5c70;
    border-width: 10px;
}

.curso-info .box-matricula .dt-inicio:before {
    top: 40%;
    border-color: transparent transparent transparent #0d5c70;
    border-width: 11px;
}

#vantagens .descricao {
    font-size: 0.9rem;
    line-height: 25px;
    padding-right: 30px;
    text-align: initial;
}

#vantagens .descricao li {
    line-height: 20px !important;
}

#opcoes-inicio table {
    font-size: 0.9rem;
}

#opcoes-inicio table th {
    border: none !important;
}

#opcoes-inicio table th,
#opcoes-inicio table td {
    vertical-align: middle !important;
}

#opcoes-inicio table a {
    font-size: 0.8rem;
    text-align: center;
    display: block;
}

#opcoes-inicio table .dt-valor {
    text-transform: uppercase;
    font-size: 0.75rem;
}

#opcoes-inicio table .dt-valor li {
    list-style: none;
    margin: 2px 0;
}

#opcoes-inicio table .dt-valor .dt-titulo {
    font-weight: 700;
}

#opcoes-inicio table .dt-valor .dt-valor-antigo {
    font-size: 0.7rem;
}

#opcoes-inicio table .dt-valor .dt-valor-final {
    font-weight: 700;
}

#opcoes-inicio table .dt-valor .dt-valor-final span {
    font-size: 0.95rem;
}

#opcoes-inicio table .dt-valor .dt-matricula {
    font-size: 0.65rem;
}

#opcoes-inicio table .dt-valor .dt-sem-matricula {
    font-size: 0.65rem;
}

#matriz-curricular .panel-group .panel .panel-heading {
    background-color: #c11c05;
    border-bottom: solid 1px #eee;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 0;
    height: 60px;
}

#matriz-curricular .panel-group .panel .panel-heading .accordion-toggle:before {
    content: url('data:image/svg+xml,<svg viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5zM8 6a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708L7.5 12.293V6.5A.5.5 0 0 1 8 6z"/></svg>');
    width: 15px;
    float: right;
}

#matriz-curricular .panel-group .panel .panel-heading h4 {
    font-size: 1rem;
    font-weight: 700;
}

#matriz-curricular .panel-group .panel .panel-heading a {
    color: #fff;
    display: block;
    height: 59px;
    padding: 21px 30px;
}

#matriz-curricular .panel-group .panel .panel-heading a:hover {
    text-decoration: none;
}

#matriz-curricular .panel-group .panel-body .disciplina-item {
    background-color: #e8e8e8;
    padding: 20px;
    margin: 10px 0;
    text-align: left;
    font-size: 0.85rem;
}

#coordenacao {
    background-color: #f3f3f3;
}

#coordenacao .coordenacao-slide {
    width: 55%;
    height: 100%;
}

#coordenacao .coordenacao-slide .inner-slide {
    height: 255px;
}

#coordenacao .coordenacao-slide img {
    width: 160px;
    height: 160px;
    margin-left: 20px;
    border-radius: 50%;
}

#coordenacao .coordenacao-slide .slick-prev {
    border: none;
    background: url('data:image/svg+xml,<svg width="1em" height="1em" fill="black" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11.854 3.646a.5.5 0 0 1 0 .708L8.207 8l3.647 3.646a.5.5 0 0 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 0 1 .708 0zM4.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z"/></svg>');
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    text-indent: -99999px;
    width: 30px;
    height: 30px;
    left: -16px;
    top: 100px;
}

#coordenacao .coordenacao-slide .slick-next {
    border: none;
    background: url('data:image/svg+xml,<svg width="1em" height="1em" fill="black" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.146 3.646a.5.5 0 0 0 0 .708L7.793 8l-3.647 3.646a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708 0zM11.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z"/></svg>');
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    text-indent: -99999px;
    width: 30px;
    height: 30px;
    right: -16px;
    top: 100px;
}

#coordenacao .coordenacao-slide .slick-center {
    transform: scale(1);
    transition: all 0.3s ease;
}

#coordenacao .coordenacao-slide .slick-current {
    transform: scale(1.25);
    transition: all 0.3s ease;
}

#coordenacao .coordenacao-slide .slick-list {
    padding-top: 35px !important;
}

#coordenacao .coordenacao-slide h5 {
    margin-top: 15px;
    margin-bottom: 5px;
    font-size: 15px;
}

#coordenacao .coordenacao-slide p {
    margin-top: 0;
    font-size: 11px;
}

#coordenacao .coordenacao-slide .coordenador {
    display: none;
    text-align: center;
}

#coordenacao .coordenacao-slide .slick-current .coordenador {
    display: block;
}

#unidades-polos .unidades-slide img {
    width: 200px;
    margin-left: 20px;
}

#unidades-polos .unidades-slide .slick-prev {
    border: none;
    background: url('data:image/svg+xml,<svg width="1em" height="1em" fill="black" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11.854 3.646a.5.5 0 0 1 0 .708L8.207 8l3.647 3.646a.5.5 0 0 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 0 1 .708 0zM4.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z"/></svg>');
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    text-indent: -99999px;
    width: 30px;
    height: 30px;
    left: -16px;
    top: 100px;
}

#unidades-polos .unidades-slide .slick-next {
    border: none;
    background: url('data:image/svg+xml,<svg width="1em" height="1em" fill="black" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.146 3.646a.5.5 0 0 0 0 .708L7.793 8l-3.647 3.646a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708 0zM11.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z"/></svg>');
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    text-indent: -99999px;
    width: 30px;
    height: 30px;
    right: -16px;
    top: 100px;
}

#unidades-polos .unidades-slide .slick-list {
    padding-top: 35px !important;
}

#unidades-polos .unidades-slide h5 {
    margin-top: 15px;
    margin-bottom: 5px;
    font-size: 15px;
}

#unidades-polos .unidades-slide p {
    margin-top: 0;
    font-size: 11px;
}

@media (max-width: 991px) {
    .curso-info #box-detalhes {
        padding: 20px;
    }

    .curso-info .box-matricula .dt-botao a {
        font-size: 0.9rem;
    }

    .curso-info .box-matricula .dt-inicio {
        font-size: 1rem;
        padding: 45px 5px;
    }

    #matriz-curricular .panel-group .panel .panel-heading h4 {
        font-size: 0.8rem;
    }
}

@media (max-width: 767px) {
    .curso-info #box-detalhes {
        padding: 45px !important;
    }

    .curso-info .curso-titulo {
        margin-bottom: 40px;
    }
}

@media (max-width: 575px) {
    #coordenacao .coordenacao-slide img {
        width: 90px;
        height: 90px;
    }
}

/* ------------ PÁGINA DOS INGRESSOS ONLINE (VESTIBULAR, MATRÍCULA) ---------- */

.ingresso-digital {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    flex-grow: 1;
    max-width: 927px !important;
    border-radius: 12px;
    padding: 0;
    margin-top: 280px;
    margin-bottom: 220px;
    box-shadow: 2.2px 4.3px 4.3px hsl(0deg 0% 0% / 0.43);
}

.ingresso-digital article {
    background-color: #fff;
    color: #333;
    padding: 40px;
    border-radius: 12px;
}

.ingresso-digital h2 {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 500;
    text-transform: lowercase;
    text-align: left;
    margin-bottom: 32px;
}

.ingresso-digital h2::first-letter {
    text-transform: uppercase;
}

.ingresso-digital h5 {
    font-size: 1rem;
    letter-spacing: 1px;
    font-weight: 500;
    margin-top: 10px;

}

.ingresso-digital .mensagens,
.ingresso-digital .informacaoes-curso,
.ingresso-digital .opcao_ingresso,
.ingresso-digital .enem-dados,
.ingresso-digital .vestibular-dados-todos,
.ingresso-digital .vestibular-redacao,
.ingresso-digital .envio_documentos,
.ingresso-digital .msg-resultado {
    display: none;
}

#modal-enivo-documentos,
#modal-final-obrigado,
#cadastro-vestibular {
    display: none;
}

.ingresso-digital .mensagens,
.ingresso-digital .informacaoes-curso,
.ingresso-digital .texto-inicio,
.ingresso-digital .opcao_ingresso,
.ingresso-digital .enem-dados,
.ingresso-digital .vestibular-dados,
.ingresso-digital .vestibular-redacao {
    font-size: 0.875rem;
    line-height: 25px;
}

* Estilos para o formulário ENEM de duas colunas */ .enem-dados .row.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.enem-dados {
    padding: 0 !important;
}

.enem-instrucoes {
    background-color: var(--primary-color);
    /* Cor de fundo da coluna esquerda */
    color: var(--secondary-color);
    /* Cor do texto da coluna esquerda (branco) */
    padding: 40px;
    /* Espaçamento interno */
    border-top-left-radius: 10px;
    /* Arredondamento de borda */
    border-bottom-left-radius: 10px;
}

.enem-instrucoes h5 {
    color: var(--secondary-color);
    /* Garante que o H5 seja branco */
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    /* Linha sutil abaixo do título */
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.enem-instrucoes .instrucoes-content {
    font-size: 0.875rem;
    /* Tamanho da fonte do texto de instruções */
    line-height: 1.6;
}

.enem-campos {
    background-color: var(--secondary-color);
    /* Fundo branco para a coluna direita */
    color: var(--text-color);
    /* Cor de texto padrão */
    padding: 40px;
    /* Espaçamento interno */
    border-top-right-radius: 10px;
    /* Arredondamento de borda */
    border-bottom-right-radius: 10px;
}

.enem-campos h5 {
    color: var(--text-grey-title);
    /* Cor para os títulos H5 na coluna direita */
    margin-bottom: 1.5rem;
    /* Espaçamento abaixo dos H5 */
}

.enem-campos label {
    font-size: 0.8rem;
    /* Tamanho menor para labels */
    color: var(--text-grey-sub);
    /* Cor cinza para labels */
    margin-bottom: 0.3rem;
}

.enem-campos .form-control {
    /* Estilos padrão para inputs/selects já devem estar definidos,
       mas pode adicionar ajustes específicos se necessário */
    margin-bottom: 1rem;
    /* Espaçamento abaixo de cada input/select */
}

.enem-campos .form-check-label {
    font-size: 0.8rem;
    /* Tamanho da fonte para o label do checkbox */
    color: var(--text-grey-sub);
    line-height: 1.4;
}

.informacaoes-curso {
    padding: 0 !important;
    height: 691px;
}

#enem_ano {
    height: 44px;
    border-radius: 8px;
}

.enem-campos #enem_ano {
    -webkit-appearance: none;
    /* Chrome, Safari, Opera */
    -moz-appearance: none;
    /* Firefox */
    appearance: none;
    /* Padrão */
    /* Opcional: Remove qualquer imagem de fundo padrão que possa conter uma seta */
    background-image: none;
    /* Opcional: Adiciona um padding à direita se o texto ficar muito colado na borda */
    padding-right: 1.5rem;
    /* Ajuste conforme necessário */
}

#cadastro-matricula {
    height: 100%;
}

.cadastro-matricula-left {
    padding: 40px;
    height: 90%;
}

.cadastro-matricula-right {
    color: #fff;
    padding: 40px;
    border-radius: 0px 12px 12px 0px;
    background-color: var(--primary-color);

}

.cadastro-matricula-right h5 {

    color: #fff;
}

.btn-matricula-modal {
    background-color: #FBEAE1;
    display: flex;
    justify-content: space-between;
    height: 48px;
    padding: 15px 20px;
    align-items: center;
    width: 294px;
    border: none;
    border-radius: 12px;
    color: var(--primary-color);
    font-family: "DM Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.padd-end {
    padding-right: 0px !important;
}

.ingresso-digital ol,
.ingresso-digital ul {
    margin: 0 0 30px 40px;
}

.ingresso-digital .texto-inicio {
    border-radius: 12px 0px 0px 12px;
    background-color: var(--primary-color);
}

.ingresso-digital .texto-inicio p,
.ingresso-digital .texto-inicio span {
    color: #fff;
}

.ingresso-digital .texto-inicio p {
    margin-bottom: 28px;
}

.ingresso-digital .texto-inicio a {
    margin-top: clamp(24px, 10vw, 80px);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 400;
    display: inline-block;
}

.ingresso-digital .cadastro-aluno {
    border-radius: 0px 12px 12px 0px;
}

.ingresso-digital form label {
    font-size: 0.75rem;
    font-weight: 700;
}

.ingresso-digital form textarea,
.ingresso-digital form select,
.ingresso-digital form input {
    font-size: 0.875rem;
}

.ingresso-digital .termo-responsabilidade {
    height: 15vh;
    overflow: scroll;
    background-color: #fff;
}

.ingresso-digital .info {
    font-size: 0.8em;
    text-transform: uppercase;
    line-height: 27px;
    font-weight: 600;
}

.ingresso-digital .info .row {
    border-bottom: 1px dashed #cfcfcf;
    margin: 5px 10px;
}

.ingresso-digital .opcao_ingresso .card {
    border: 1px solid #bbb;
    margin-top: 15px;
}

.ingresso-digital .opcao_ingresso .card-text {
    min-height: 100px;
}

.ingresso-digital .opcao_ingresso .card-footer {
    background: none;
}

.ingresso-digital .rodape-inaci {
    font-size: 0.7rem;
    font-weight: 400;
    color: rgba(254, 254, 254, 0.63) !important;
}

.floating-label {
    position: relative;
}

.form-aluno p {
    font-size: 0.875rem;
    font-weight: 400;
    color: #909090;
}

input.form-control {
    border: 1px solid #ddd;
    border-radius: 8px;
    height: 44px;
    padding: 7px 13px;
    color: #b0b0b0;
}



.floating-label select {
    appearance: none;
    font-size: 16px;
    line-height: 1.5;
    height: 44px;
    border: 1px solid #ddd;
    border-radius: 8px;
    width: 100%;
    background: transparent;
    cursor: pointer;
    color: #b0b0b0;
}

.floating-label label {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    font-size: 16px;
    color: #aaa;
    transition: 0.3s ease;
    pointer-events: none;
}


.floating-label select:focus+label,
.floating-label select:not([value=""])+label {
    top: 0px;
    left: 10px;
    font-size: 12px;
    color: #333;
    background: #fff;
    padding: 0 5px;
}

.vestibular-estagio {
    color: white;

    padding: 38px 0;
    border-radius: 8px;

}

.estagio-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

.estagio-icon {
    font-size: 24px;
    margin-right: 26px;
    gap: 28px;
}

.estagio-text {
    gap: 72px;
}

.estagio-text h3 {
    margin: 0;
    font-size: 18px;
}

.estagio-text p {
    margin: 0;
    font-size: 14px;
}

.estagio-line {
    width: 2px;
    height: 20px;
    background-color: white;
    align-self: center;
    margin-top: 5px;
}

.check-icon,
.edit-icon {
    border: 1px solid white;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: transparent;
}

.check-icon svg {
    margin-top: 2px;
    width: 18px;
    height: 18px;
}

.edit-icon svg {
    margin-top: 2px;
    width: 16px;
    height: 16px;
}

.optar-enem {
    width: 361px;
    height: 101px;
    background-color: #fff;
    border-radius: 16px;
    display: flex;
    justify-content: space-around;
    padding: 18px;
    margin-top: 20px;
}

.optar-enem-text {
    color: #535353;
}

.optar-enem-text .enviar-enem {
    font-weight: 500;
    font-size: 14px;
    line-height: 18.23px;
    color: #535353;
}

.optar-enem-text .prefiro-utilizar {
    font-weight: 400;
    font-size: 12px;
    line-height: 18.23px;
    color: #535353;
}

.enem-strong {
    font-weight: 700;
    /* Peso da fonte */
    color: #b82b30;
    /* Cor do texto */
}

.btn-interesse-valor {
    width: 60px;
    height: 50px;
    border-radius: 34px;
    align-self: center;
}

article.cadastro-texto-inicio {
    border-radius: 12px 0px 0px 12px;
    background-color: var(--primary-color);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.capitalize {
    text-transform: capitalize;
}

.vestibular-dados p {
    font-size: 0.75rem;
    text-align: left !important;
    color: #909090;
}

.vestibular-dados p b {
    color: #545454;
}

.vestibular-dados ol {
    margin: 0;
    padding-bottom: 20px;
}

.vestibular-dados ol li {
    font-size: 0.75rem;
    color: #909090;
}

.termo-responsabilidade p {
    font-size: 0.7rem;
    color: #C6C6C6;
}

.vestibular-dados .termo-responsabilidade {
    height: 64px;
}

.vestibular-dados label.form-check-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    padding-bottom: 42px;
}

.btn-iniciar-prova {
    width: 100%;
    padding: 20px;
    background-color: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: 12px;
}

.wrapper-redacao {
    display: flex;
    border-radius: 12px;
}

.borda-redacao {
    background-color: var(--primary-color);
    width: 23px;
    border-radius: 12px 0 0 12px;
}

.redacao-content {
    position: relative;
}

.redacao-content h5 {
    font-size: 1.25rem;
    font-weight: 500;
}

.redacao-content::before {
    content: "";
    /* Cria o elemento virtual */
    position: absolute;
    top: 0;
    bottom: 0;
    left: 33%;
    /* Aproximadamente onde termina a coluna de 4 */
    border-left: 1px dotted #E4E4E4;
    /* Linha pontilhada */
    height: 100%;
    z-index: 1;
    /* Para sobrepor outros elementos */
}

#proposta_redacao {
    display: flex;
    flex-direction: column;
    gap: 28px;
    list-style-type: none;
    margin: 0;
    font-variant-numeric: none !important;
    margin-top: 20px;
}

#proposta_redacao li {
    font-variant-numeric: none !important;
    list-style: none !important;
    color: #909090;
}

#proposta_redacao strong {
    color: #545454;
}

#proposta_redacao ol {
    margin: 0;
}

#vestibular_titulo,
#vestibular_redacao {
    color: #909090;
    font-family: "DM Sans", "Manrope", sans-serif;
}

.redacao-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    flex-wrap: nowrap;
}

.cronometro,
.contador-caracteres {
    color: #909090;
    background-color: transparent;
    font-size: 0.8rem;
}

.btn-vestibular_enviar {
    background-color: var(--primary-color);
    color: #fff;
    width: 208px;
    height: 48px;
    border-radius: 12px;
    border: none;
}

.envio-docs {
    background-color: var(--primary-color) !important;
    color: #fff !important;
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    gap: 20px;
    padding: 40px;
    border-radius: 0 12px 12px 0 !important;
}

.envio-docs h4 {
    font-size: 1rem;
}

.envio-docs span {
    font-weight: 400 !important;
}

.envio-docs p {
    font-size: 0.875rem;
}

.item-doc {
    border: 1px solid #FFFFFF80;
    border-radius: 16px;
    padding: 18px 16px;
    padding-top: 20px;
}

.btn-envio-doc {
    background-color: transparent;
    width: 84px;
    height: 40px;
    border: 1px solid #FFFFFF80;
    border-radius: 16px;
    color: #fff;
}

.envios-docs-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.upload-alert {
    position: fixed;
    top: 20px;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--fourth-color);
    color: white;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 16px;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.upload-alert.show {
    opacity: 1;
}

.btn-doc-matricula {
    background-color: #fff;
    color: var(--primary-color);
    width: 208px;
    height: 48px;
    border-radius: 12px;
    border: none;
    align-self: end;
    font-size: 0.875rem;
}

.btn-interesse-valor-matricula {
    color: #fbeae1;
    font-weight: 600;
}

.btn-interesse-valor-matricula:hover {
    color: white;
}

.doc-separador {
    position: relative;
}

.doc-separador::after {
    content: "";
    /* Cria o elemento virtual */
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    /* Define o ponto do separador no final do primeiro artigo */
    width: 2px;
    /* Largura da linha */
    border-left: 1px dotted #FFFFFF80;
    margin-top: 40px;
    margin-bottom: 40px;
    /* Linha pontilhada */
    z-index: 1;
    /* Para garantir que sobreponha corretamente */
}

.encerramento-doc {
    padding: 60px;
}

.encerramento-doc h3 {
    font-size: 2rem;
}

.encerramento-doc span {
    font-size: 0.875rem;
}

/*  MOBILE INGRESSOS ONLINE (VESTIBULAR, MATRÍCULA) */

@media screen and (max-width: 767px) {
    .ingresso-digital {
        flex-direction: column;
        align-items: center;
    }

    .ingresso-digital .texto-inicio {
        border-radius: 12px 12px 0 0;
    }

    .ingresso-digital h2 {
        margin-top: 28px !important;
    }

    .modal-final-content {
        display: flex;
        flex-direction: column;
    }

    .vestibular-dados-content {
        display: flex;
        flex-direction: column;
    }

    .redacao-content {
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }

    .padd-end {
        max-width: 100% !important;
    }

    .redacao-footer {
        flex-wrap: wrap;
        justify-content: end;
    }

    .redacao-content::before {
        display: none;
    }

    .redacao-box {
        max-width: 100% !important;
    }

    .envio-content {
        flex-direction: column;
    }

    .article.cadastro-texto-inicio {
        border-radius: 12px 12px 0 0 !important;
    }

    .envio-docs {
        border-radius: 0 0 12px 12px !important;
    }

    .btn-doc-matricula {
        flex-direction: row;
    }


}

@media (max-width: 420px) {

    .cronometro,
    .contador-caracteres {
        font-size: 0.65rem;
    }

    article.cadastro-texto-inicio {
        border-radius: 12px 12px 0 0 !important;
    }
}

/* ------------ PÁGINAS EXTRAS ---------- */

.pagina-extra,
.pagina-contato {
    background-color: #eee;
    padding: 70px 110px;
    margin-top: 20px;
    margin-bottom: 40px;
    font-size: 0.9rem;
    text-align: justify;
    line-height: 25px;
    border-radius: 12px;
}

.pagina-acesso-restrito h1,
.pagina-extra h1,
.pagina-contato h1 {
    text-transform: uppercase;
    font-weight: 800;
    font-size: 1.5rem;
}

.pesquisa-resultado h1 {
    font-weight: 400;
    font-size: 1.5rem;
    font-family: var(--secondary-font);
    margin-top: 40px;
}

.pesquisa-header {
    background-color: var(--primary-color);
    padding-top: 140px;
}

.fundo-lista-pesquisa {
    background-color: var(--body-color);
    margin-bottom: 40px;
}

.pagina-extra h2,
.pagina-extra h3,
.pagina-contato h2,
.pagina-contato h3 {
    color: #c11c05;
    text-transform: uppercase;
    padding: 15px 0;
    font-weight: 800;
    margin-bottom: 25px;
    font-size: 1.1rem;
}

/* ------------ PÁGINA LINKS RESTRITOS ---------- */

.pagina-acesso-restrito .bg-img {
    background-size: cover !important;
    background-position: top center !important;
    height: 100vh;
}

.pagina-acesso-restrito .links-restritos {
    list-style: none;
    margin: auto;
    max-width: 500px;
    text-align: left;
}

.pagina-acesso-restrito .links-restritos li {
    border: solid 1px;
    width: 100%;
    margin: 10px;
}

.pagina-acesso-restrito .faq,
.pagina-acesso-restrito .links-restritos a {
    padding: 10px;
    width: 100%;
    display: block;
    color: var(--link-primary-color);
    font-size: 0.83rem;
    font-weight: 600;
}

/* ------------ PÁGINA CONTATO ---------- */
.pagina-contato input,
.pagina-contato textarea {
    border-radius: 0;
    border: solid 1px #ccc;
    padding: 8px;
    margin: 5px 0;
    font-size: 0.8rem;
}

.pagina-contato h6 {
    color: #c11c05;
    font-weight: 700;
}

.pagina-contato .subtitle {
    font-weight: 700;
}

/* ------------ ÁREAS COMUNS ---------- */

.title-box {
    margin: -150px auto 150px auto;
}

.title-box h1 {
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 2rem;
}

.newsletter .container {
    margin: 50px auto;
    padding: 30px 20px;
    color: #fff;
}

.newsletter .title {
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 0;
}

.newsletter form {
    display: inline-flex;
}

.newsletter form input {
    border-radius: 6px;
    border: none;
    color: #fff;
    padding: 15px;
    margin: auto 2px;
}

.newsletter form input[type="submit"] {
    background: url('data:image/svg+xml,<svg width="1em" fill="white" height="40px" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z"/></svg>');
    background-size: 100%;
    text-indent: -9999px;
    display: inline-block !important;
    width: 33px;
    height: 24px;
    border: none;
}

.newsletter .messageSuccess {
    width: 100%;
    text-align: left;
    font-weight: bold;
}

@media (max-width: 991px) {
    .newsletter form {
        display: inline-grid;
    }
}

.btn {
    border-radius: 0 !important;
}

.btn-interesse-valor-fill {
    color: #fff;
    text-align: center;
    display: block;
    width: 60px;
    height: 48px;
    border-radius: 34px;
    align-self: center;
    align-content: center;
    background-color: var(--primary-color);
}

.btn-interesse-valor-fill:hover {
    transition: all 0.5s ease;
    text-decoration: none;
}

.btn-interesse-valor {
    color: #eda821;
    font-weight: 700;
    border: solid 2px #eda821;
    padding: 5px 7px;
    text-align: center;
    display: block;
}

.btn-interesse-valor:hover {
    background-color: #eda821;
    color: #fff;
    text-decoration: none;
}

/* Alterar  botao finalizar Matricula */
.btn-matricula {
    padding: 5px 15px;
    color: #373737;
    font-weight: 700;
}

.btn-matricula:hover {
    background-color: var(--link-secondary-color);
    color: #fff;
    text-decoration: none;
    border: solid 2px var(--link-secondary-color);
}

.btn-iniciar-vestibular,
.btn-iniciar-matricula,
.btn-matricula-enem {
    background-color: var(--primary-color);
    display: flex;
    justify-content: space-between;
    height: 48px;
    padding: 15px 20px;
    align-items: center;
    width: 100%;
    border: none;
    border-radius: 12px;
    color: white;
}

.btn-iniciar-vestibular span {
    font-size: 0.75rem;
    font-weight: 500;
}

.btn-red-border {
    border: solid 1px var(--link-secondary-color);
}

.btn-gray-border {
    border: solid 1px var(--link-primary-color);
    padding: 10px;
}

/* --------- FOOTER ----------*/
footer {
    border-top: 1px solid #eee;
    padding-top: 70px;
    letter-spacing: 1.5px;
    background-color: #00000005;
    font-family: var(--secondary-font) !important;
}

footer .footer-menu li {
    line-height: 26px;
}

footer .menu li,
footer a,
footer p {
    font-size: 0.875rem;
    color: #6e6e6e;
}

footer .menu-cursos .item-n1>a {
    font-weight: 600;
}

footer .menu .subtitle {
    font-weight: 700;
    color: #000;
    text-transform: uppercase;
}

footer .menu .submenu {
    position: inherit;
    display: block;
    width: 100%;
    padding-left: 10px;
    margin: 7px 0;
}

footer .menu .item-bar {
    display: none;
}

footer hr {
    border: 3px solid #c11c05;
    width: 40px;
    margin-top: 0;
}

footer h6 {
    font-size: 1rem;
    font-weight: 700;
    line-height: 20.83px;
    margin-bottom: 25px;
    color: #616161;
}

footer .mini-logo {
    background-color: #fff;
    max-width: 70px;
    display: block;
    height: 100%;
    position: relative;
    top: 70px;
}

footer .footer-top ul {
    margin: 0;
    list-style: none;
    text-decoration: none;
}

footer .footer-top {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 22.15px;
    text-align: left;
    color: #6f6f6f;
}

footer .whats-footer {
    text-decoration: underline;
}

footer .whats-footer a {
    hover {
        color: var(--link-secondary-color);
    }
}

footer .footer-top a:hover {
    color: var(--link-secondary-color);
}

footer .line {
    width: 100%;
    height: 0;
    border: 1px solid #efefef;
    border-radius: 0;
}

footer .qr-code {
    width: 110px;
    height: 110px;
}

footer .mec-text {
    font-size: 0.75rem;
    color: #2f2f2f;
    margin-top: 0px !important;
    width: 400;
    line-height: 15.62px;
}

footer h5 {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 23.44px;
    margin-bottom: 25px;
    color: #030303;
}

footer .footer-subtitle {
    font-size: 1rem;
    font-weight: 700;
    line-height: 20.83px;
    color: #494949;
}

.footer-bottom {
    margin-bottom: 3rem;
}

footer .footer-bottom li {
    font-size: 1rem;
    font-weight: 400;
    line-height: 25.31px;
    color: #6f6f6f;
}

/* --------- SOCIAL ICONS ----------*/
nav .social {
    display: flex;
    flex-direction: row;
    align-self: center;
    gap: 20px;
    margin-bottom: 0;
    align-self: center;
}

footer .social {
    margin: 15px 0;
    display: flex;
    gap: 15px;
}

nav .social a i {
    display: inline-block;
    width: 22px;
    height: 22px;
}

footer .social a i,
.pagina-contato .social a i {
    display: inline-block;
    width: 26px;
    height: 26px;
}

.social a i{ background-size: contain !important; }

/* --------- alterar----------*/
.social a .facebook {
    background: var(--bg-social-facebook) no-repeat center;
}

.social a .facebook:hover {
    transform: scale(1.1);
}

.social a .instagram {
    background: var(--bg-social-instagram) no-repeat center;
}

.social a .instagram:hover {
    transform: scale(1.1);
}

.social a .youtube {
    background: var(--bg-social-youtube) no-repeat center;
}

.social a .youtube:hover {
    transform: scale(1.1);
}

.social a .linkedin {
    background: var(--bg-social-linkedin) no-repeat center;
}

.social a .linkedin:hover {
    transform: scale(1.1);
}

.nav-social .social a .facebook,
.nav-social .social a .twitter,
.nav-social .social a .instagram,
.nav-social .social a .youtube,
.nav-social .social a .linkedin {
    filter: invert(90%);
}

footer .social a .facebook,
footer .social a .twitter,
footer .social a .instagram,
footer .social a .youtube,
footer .social a .linkedin {
    filter: brightness(0) saturate(100%) invert(43%) sepia(3%) saturate(0%) hue-rotate(176deg) brightness(95%) contrast(84%);
}

footer .rights p {
    margin: 0 !important;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 22.15px;
}

footer .footer-bottom svg {
    margin-right: 18px;
}

/* --------- SOCIAL ICONS ----------*/

footer .rights {
    clear: both;
    background-color: var(--primary-color);
    height: 62px;
}

/* --------- FOOTER MOBILE ----------*/
@media (max-width: 578px) {
    .footer-mobile-logo {
        width: 100% !important;
        font-size: 0.719rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .footer-mobile-social {
        width: 100% !important;
    }

    .footer-mobile-social a {
        font-size: 0.875rem;
    }

    footer .social a i {
        width: 26px;
        height: 26px;
    }

    .hidded-mob {
        display: none;
    }

    .footer-bottom {
        flex-direction: column !important;
    }

    .footer-menu-mobile {
        display: flex !important;
        flex-direction: column;
    }

    .footer-contact-mobile {
        flex-direction: column !important;
        margin-top: 30px;
        margin-bottom: 30px;
        gap: 27px;
    }

    .footer-contact-icon {
        margin-top: 28px;
    }

    .footer-bottom h5 {
        padding-left: 15px;
    }

    .footer-unidades {
        flex-wrap: wrap;
        margin-top: 3rem;
    }

    .footer-menu-mobile:last-child {
        width: 100%;
        margin-left: 80px;
    }

    .code-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: white;
        padding: 16px;
    }

    .qr-code {
        max-width: 50%;
        /* QR Code ocupa 50% */
        flex-shrink: 0;
        /* Impede que o QR Code encolha */
    }

    .code-logo>x-logo-e-mec,
    .code-logo>span {
        flex: 1;
        /* Os elementos seguintes ocupam o restante do espaço */
        text-align: left;
        /* Alinha os textos à esquerda */
    }

    .code-logo>span {
        margin-top: 4px;
        /* Dá um espaço entre o logo e o texto */
    }

    .code-logo>div {
        display: flex;
        flex-direction: column;
        /* Empilha os dois filhos (logo e span) */
    }

    footer .container {
        padding: 3rem !important;
    }

    footer .footer-menu li {
        line-height: 32px;
    }
}

.block-window {
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    top: 0;
    display: none;
    background-color: rgba(52, 51, 49, 0.9);
    transition: all 0.5s ease-in-out;
}

.spinner {
    display: none;
    border: 8px solid rgba(255, 255, 255, 0.6);
    border-left-color: #d68800;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1.2s linear infinite;
    z-index: 101;
    vertical-align: middle;
    position: fixed;
    top: 45vh;
    left: 47vw;
}

.pulse {
    animation: pulse 1.1s infinite;
    transform-origin: center;
}

@keyframes pulse {
    0% {
        transform: scale(0.95);
    }

    70% {
        transform: scale(1);
    }

    100% {
        transform: scale(0.95);
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* .cadastro-vestibular {
    display: block !important;
} */