/* *{
    font-family: Arial, Helvetica, sans-serif;
} */
body {
    margin: 0;
    padding: 0 0 0 0;
    color: #000;
    background: rgb(235, 235, 235);
}
#footer {
    text-align: center;
    padding: 20px;
    margin: 0;
    border-top: 1px solid #ddd;
    color: #999;
    font-size: 0.8em;
    text-shadow: 0px 1px 1px #fff;
    position: relative;
    top: 0;
    left: 0;
    background: #fff;
}
.fondo_gris {
    background-color: #dadada;
}
.next-lesson {
    text-align: center;
    padding: 1rem;
    background-color: white;
    color: black;
}

.next-lesson-black {
    text-align: center;
    padding: 1rem;
    background-color: #f2f2f2;
    color: black;
}

.menu {
    text-align: center;
    background: rgb(178, 138, 191);
    color: black;
    border: 0px solid transparent;
}
.menu li.has-menu span.arrow {
    border-color: black transparent transparent transparent;
    margin-top: -2px;
}

.menu li.has-menu span.arrow {
    border-style: solid;
    border-width: 5px;
    display: block;
    position: absolute;
    top: 50%;
    right: 5px;
    font-size: 0;
    line-height: 0;
    height: 0;
    width: 0;
}

/* .menu li.current > a,
.menu li.current > a:hover,
.menu li.current.hover > a {
    background: transparent;
    color: black;
    border-bottom: 5px solid #000;
    padding-bottom: 1.5rem;
}

.menu li.hover {
    background: transparent;
    color: black;
}
.menu li a {
    text-shadow: 0px 0px 0px transparent;
    padding: 15px 20px;
    padding-bottom: 1.5rem;
    text-decoration: none;
    font-size: 1.5em;
    color: #000;
}

.menu.sub {
    background: white;
    padding: 0 0 0 0;
}

.menu.sub li a {
    font-size: 1rem;
}

.menu.sub li.current > a {
    background: rgb(230, 230, 230);
    color: black;
    border-bottom: 0px solid transparent;
} */


@media (max-width: 767px) {
    body.overflow-hidden {
        overflow: hidden;
    }
}

button.medium {
    color: white;
    text-shadow: 0 0px transparent;
    border-radius: 0px;
    border: 0px solid transparent;
    width: 100%;
}

button.large{
    background: black;
    color: white;
    text-shadow: 0 0px transparent;
    border-radius: 0px;
    border: 0px solid transparent;
    width: 100%;
}

.banner {
    margin-top: 0px;
    background-image: url(assets/bg/image%201.png);
    background-repeat: no-repeat;
    height: 100%;
    width: 100%;
    padding: 2rem;
}

.bannerDash {
    margin-top: 0px;
    background-image: url(../img/fondo/DashCabecera.webp);
    background-repeat: no-repeat;
    height: 100%;
    width: 100%;
    padding: 2rem;
}

a.button{
    background: black;
    color: white;
    text-shadow: 0 0px transparent;
    border-radius: 0px;
    border: 0px solid transparent;
    width: 75%;
    text-align: center;
}

.img-center{
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.ejercicioOpcion
{
    border-color: black;
    border-style: solid;
    border-left: none;
    border-right: none;
    border-bottom: none;
    border-width: 1px;
    padding: 10px 0px;
}

.colorFondo_azul{
    background: #ADC3E8;
}

.colorFondo_morado{
    background: #B28ABF;
}

.colorFondo_amarillo{
    background: #D2AC2A;
}

/* MODULE: BUTTONS ---------------------------------------------------- */
.btn.btn-flex {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    padding-left: 15px;
    padding-right: 15px;
}

.btn.btn-flex svg {
    width: 18px;
    height: 18px;
    flex: none;
}
/* END MODULE: BUTTONS ------------------------------------------------ */

/* MODULE: HEADER ----------------------------------------------------- */
.header-logo.logo-legend .legend {
    z-index: 100;
}

@media (min-width: 992px) {
    header.header-wrapper.header-auth .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    header.header-wrapper.header-auth .container {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    header.header-wrapper.header-auth .container {
        max-width: 1200px;
    }
}

@media (max-width: 991px) {
    .header-acrebach .header-logo.logo-legend {
        top: -10px !important;
    }

    .header-logo.logo-legend .legend.Acredita-Bach {
        font-size: 12px;
        padding: 3px 6px 2px;
        left: 0;
        bottom: auto;
        top: 100%;
        margin-top: 5px;
    }
}

@media (max-width: 330px) {
    .header-wrapper.header-simple .header-logo {
        max-width: 90px;
    }

    .header-wrapper .header-logo.logo-legend .legend {
        font-size: 11px;
    }
}
/* END MODULE: HEADER ------------------------------------------------- */

/* MODULE: NAVIGATION ------------------------------------------------- */
.navigation .has-submenu {
    position: relative;
}

.menu--responsive .navigation li a.navigation__submenu-parent {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 10px;
}

.menu--responsive.menu--wizi .navigation {
    position: relative;
    overflow: auto;
}

.navigation.navigation--gradient::before {
    position: fixed;
    content: '';
    display: block;
    max-width: 220px;
    width: 100%;
    height: 100px;
    left: 0;
    top: 0;
    background-image: linear-gradient(to top, rgba(255, 255, 255, 0), #FFF 20%);
    z-index: 200;
}

.menu--responsive.menu--wizi .navigation .menu {
    position: relative;
    z-index: 10;
}

.menu--responsive.menu--wizi .navigation .menu .navigation__submenu {
    border: 0;
    position: relative;
    display: none;
}

.navigation .navigation__submenu-parent i {
    flex: none;
    font-size: 18px;
    transition: transform 0.3s ease;
}

.navigation .active .navigation__submenu-parent i {
    transform: rotate(180deg);
}

@media (min-width: 768px) {
    .menu--responsive.menu--wizi {
        display: none !important; 
    }
}

/* END MODULE: NAVIGATION --------------------------------------------- */

/* MODULE: FOOTER ----------------------------------------------------- */
footer#footer.footer-wrapper.footer-full {
    background: #000;
    padding: 90px 0;
}
footer#footer.footer-wrapper.footer-full .footer-text {
    color: #FFF;
    margin: 0;
    text-align: center;
}

#footer.footer-wrapper.footer-full .footer-row {
    column-gap: 20px;
}

#footer.footer-wrapper.footer-full .footer-col:first-child {
    flex: 1;
}

.footer-wrapper.footer-full .footer-bottom {
    border-top: 1px solid #D9D9D9;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 30px;
    margin-top: 48px;
    padding-top: 48px;
}
.footer-wrapper.footer-full .footer-payment-methods {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 8px;
    row-gap: 8px;
    padding: 0;
    margin: 0;
}
.footer-wrapper.footer-full .payment-method {
    flex: 0 1 auto;
}
.footer-wrapper.footer-full .footer-payment-methods svg,
.footer-wrapper.footer-full .footer-payment-methods img {
    width: auto;
    height: 31px;
}

.footer-wrapper.footer-full .footer-payment-methods img {
    position: relative;
    top: -1px;
}

@media (max-width: 991px) {
    .footer-wrapper.footer-full .footer-payment-methods {
        max-width: 500px;
        height: 62px; /* Mantén la altura */
        width: 100%;
    }

    /* Clase que se añadirá con JS cuando el elemento sea visible */
    .footer-wrapper.footer-full .footer-payment-methods.lazy-loaded {
        background-image: url('../img/payment-methods/Metodos_De_Pago_Small.webp');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }

    /* Oculta la imagen original en móviles */
    .footer-wrapper.footer-full .footer-payment-methods img {
        display: none;
    }
}
/* END MODULE: FOOTER ------------------------------------------------- */

/* MODULE: CONTACT FORM  ---------------------------------------------- */
.contact-form-section .contact-info {
    background: #d3ad29;
    min-height: 108px;
}

.contact-form-section .contact-info .container {
    min-height: 108px;
    display: flex;
    column-gap: 20px;
    align-items: center;
    justify-content: space-between;
    color: #FFF;
}

.contact-info .customer-service-hours,
.contact-info .customer-service-phone {
    font-weight: 700;
    color: #FFF;
    font-size: 22px;
    line-height: 1.36;
}

.contact-info .customer-service-phone {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: 12px;
}

.contact-info .customer-service-icon {
    width: 24px;
    height: 24px;
    color: #FFF;
    display: inline-block;
    position: relative;
    top: -3px;
}

.contact-info .customer-service-icon svg {
    width: 100%;
    height: 100%;
}

.contact-info .customer-service-number {
    white-space: nowrap;
    color: #FFF;
}

.contact-form-wrapper .contact-form-content {
    flex: 1;
    width: 100%;
}

.contact-form-action {
    margin: 0 auto;
    display: block;
    padding: 0;
}

.contact-form-wrapper .contact-form-image {
    width: 476px;
    flex: none;
    display: inline-block;
}

.contact-form-section .contact-form-wrapper {
    padding: 52px 0;
}

.contact-form-section .contact-form-wrapper .container {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 75px;
}

.contact-form-wrapper .contact-form-image img {
    width: 100%;
    height: auto;
    line-height: 0;
}

.contact-form-wrapper .contact-form-title {
    font-size: 30px;
    line-height: 1.2;
    color: #000;
    text-transform: uppercase;
    margin: 0;
}

.contact-form-wrapper .contact-form-copy {
    margin-top: 12px;
    font-size: 22px;
    line-height: 1.36;
}

.contact-form-section .contact-form {
    margin: 62px 0 0;
    display: grid;
    column-gap: 40px;
    row-gap: 40px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
    align-items: flex-end;
}

.contact-form-section .contact-form-field {
    color: #000;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: stretch;
}

.contact-form-section .contact-form-field label {
    margin-bottom: 12px;
    font-size: 18px;
}

.contact-form-section .btn.btn-purple {
    background: #af88be;
    font-size: 14px;
    color: #FFF;
    height: 52px;
    width: 210px;
    box-shadow: none;
    margin-left: auto;
}

.contact-form-section .contact-form-field input,
.contact-form-section .contact-form-field textarea {
    margin: 0;
    padding: 0;
    zoom: normal;
    box-shadow: none;
    background: #FFF;
    border-radius: 0;
    font-size: 20px;
    font-weight: 400;
    border-width: 0;
    text-indent: 0;
    height: 40px;
    outline: 0;
    resize: vertical;
    border-bottom: 1px solid #A9A9A9;
    font-family: "Avenir","Open Sans","Helvetica Neue", sans-serif;
}

.contact-form-section .contact-form-field textarea {
    height: 68px;
    padding-top: 10px;
}

.contact-form-section .contact-form-field input:focus,
.contact-form-section .contact-form-field textarea:focus {
    border-color: #000;
    border-bottom-width: 2px;
}

.contact-form-section .contact-form-field input::placeholder,
.contact-form-section .contact-form-field textarea::placeholder {
    font-weight: 400;
}

.contact-form-section .contact-form-field input:invalid:not(:placeholder-shown),
.contact-form-section .contact-form-field textarea:invalid:not(:placeholder-shown) {
    border-color: #e04f4f;
}

/* O comunicate ----------------------------- */
.contact-info__sections {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: center;
    row-gap: 8px;
}

.contact-info__sections-row {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    column-gap: 8px;
    row-gap: 8px;
}

.contact-info__block {
    border: 1px solid #BBBBBB;
    border-radius: 8px;
    padding: 10px;
    flex: 1;
    width: 100%;
    color: #000;
    font-size: 14px;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    row-gap: 4px;
    line-height: 1.2;
    background: #FFF;
}

a.contact-info__block:hover,
a.contact-info__block:focus-visible,
button.contact-info__block:hover,
button.contact-info__block:focus-visible {
    border-color: #000;
    color: #000;
    background: #E5E5E5;
}

.contact-info__block > * {
    width: 100%;
}

.contact-info__block-icons {
    padding-bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
}

.contact-info__block-icons svg {
    width: 20px;
    height: auto;
}

.contact-info__block i {
    font-size: 20px;
    position: relative;
    top: -2px;
}

.contact-info__sections-row .contact-info__block {
    text-align: center;
}

.contact-info__sections-row .contact-info__block i {
    top: 0;
}

.contact-info__heading {
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: 10px;
}

.contact-info__heading i {
    flex: none;
}

.contact-info__caption {
    font-size: 12px;
}

.main-wrapper.contact-wrapper .contact-column {
    max-width: 310px;
}

@media (min-width: 991px) {
    .main-wrapper.contact-wrapper .contact-image {
        width: 65%;
    }
}

/* Responsive ------------------------------- */
@media (max-width: 1199px) {
    .contact-form-wrapper .contact-form-image {
        width: 400px;
    }

    .contact-form-wrapper .contact-form-title {
        font-size: 28px;
    }

    .contact-form-wrapper .contact-form-copy {
        font-size: 18px;
    }

    .contact-info .customer-service-hours, 
    .contact-info .customer-service-phone {
        font-size: 18px;
    }
}

@media (max-width: 991px) {
    .contact-form-wrapper .contact-form-image {
        width: 320px;
    }
    
    .contact-form-section .contact-form-wrapper .container {
        flex-direction: column-reverse;
        row-gap: 40px;
    }
}

@media (max-width: 767px) {
    .contact-form-wrapper .contact-form-title {
        font-size: 22px;
    }

    .contact-form-wrapper .contact-form-copy {
        font-size: 16px;
    }

    .contact-form-section .contact-form {
        margin-top: 32px;
        grid-template-columns: 1fr;
        row-gap: 25px;
    }

    .contact-form-section .contact-form-field label {
        font-size: 14px;
        margin-bottom: 4px;
    }

    .contact-form-section .contact-form-field input,
    .contact-form-section .contact-form-field textarea {
        font-size: 16px;
    }

    .contact-info .customer-service-hours, 
    .contact-info .customer-service-phone {
        font-size: 22px;
    }
    
    .contact-form-section .contact-info .container {
        flex-direction: column;
        text-align: center;
        row-gap: 14px;
        padding: 40px 0;
    }

    .main-wrapper.contact-wrapper .contact-image {
        margin: 0 auto;
    }

    .contact-info__sections-row {
        flex-direction: column;
        text-align: left;
        justify-content: flex-start;
        align-items: center;
    }

    .contact-info__block-icons {
        justify-content: flex-start;
    }

    .contact-info__sections-row .contact-info__block {
        text-align: left;
    }
}


/* END MODULE: CONTACT FORM ------------------------------------------- */

/* MODULE: STREAK ----------------------------------------------------- */
.menu--responsive.responsive-app .navigation {
    overflow: auto;
}

body .menu--responsive.responsive-app .menu-responsive li.has-menu>a::after {
    margin-top: -8px;   
}

body .menu--responsive.responsive-app .menu-responsive li.has-menu li {
    padding: 0;
}

body .menu--responsive.responsive-app .menu-responsive li.has-menu li.current a {
    color: #a2b8df;
}

/* END MODULE: STREAK ------------------------------------------------- */

/* MODULE: STREAK ----------------------------------------------------- */
.streak-module .streak-list {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-flow: row nowrap;
}

.streak-module .streak-image {
    width: 157px;
    margin-top: -14px;
}

.streak-module .streak-image-item {
    padding-bottom: 124.2%;
    width: 100%;
    position: relative;
    overflow: hidden;
    background-image: url(../img/streak-sprite.webp);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: auto 100%;
}

.streak-module .streak-image[data-level-item="0"] .streak-image-item {
    background-position: 0 0;
}

.streak-module .streak-image[data-level-item="1"] .streak-image-item {
    background-position: 12.5% 0;
}

.streak-module .streak-image[data-level-item="2"] .streak-image-item {
    background-position: 25% 0;
}

.streak-module .streak-image[data-level-item="3"] .streak-image-item {
    background-position: 37.5% 0;
}

.streak-module .streak-image[data-level-item="4"] .streak-image-item {
    background-position: 50% 0;
}

.streak-module .streak-image[data-level-item="5"] .streak-image-item {
    background-position: 62.5% 0;
}

.streak-module .streak-image[data-level-item="6"] .streak-image-item {
    background-position: 75% 0;
}

.streak-module .streak-image[data-level-item="7"] .streak-image-item {
    background-position: 87.5% 0;
}

.streak-module .streak-image[data-level-item="8"] .streak-image-item {
    background-position: 100% 0;
}

.streak-module .streak-header {
    border-bottom: 1px solid #A6A6A6;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 18px 15px 20px;
}
.streak-module .streak-content {
    flex: 1;
    padding-left: 30px;
    padding-top: 18px;
}

.streak-module .streak-list {
    list-style: none;
    padding: 12px 18px 0 20px;
    margin: 0;
}

.streak-module .streak-day-label {
    color: #000;
    font-weight: 700;
    font-size: 11px;
    text-align: center;
}

.streak-module .streak-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.streak-module .streak-day-icon {
    margin-top: 8px;
}

.streak-module .streak-day-icon svg {
    width: 32px;
    height: auto;
}

.streak-module .streak-title {
    font-size: 18px;
    line-height: 1.1;
    color: #000;
    margin: 0;
}

.streak-module .streak-star {
    width: 56px;
    height: auto;
    margin-left: auto;
    position: relative;
    top: -4px;
}

.streak-module .streak-title-sep {
    height: 40px;
    display: inline-block;
    background: #000;
    width: 2px;
    position: relative;
    top: -2px;
    margin-left: 15px;
    margin-right: 20px;
}

.streak-module .streak-count {
    padding-top: 6px;
    font-weight: 700;
    color: #000;
    line-height: 1;
}

.streak-module .streak-days,
.streak-module .streak-days-sign {
    font-size: 60px;
}

.streak-module .streak-days-sign {
    position: relative;
    top: -5px;
}

.streak-module .streak-count small {
    font-size: 13px;
    letter-spacing: 0;
    display: inline-block;
    margin-left: 7px;
}

.streak-module .streak-title span {
    display: block;
}

.streak-module .module-box {
    padding: 24px 0 24px 24px;
    display: flex;
}

@media (max-width: 1199px) {
    .streak-module .streak-header {
        flex-wrap: wrap;
    }
    
    .streak-module .streak-title {
        width: 100%;
        font-size: 22px;
    }

    .streak-module .streak-title:after {
        content: '';
        display: block;
        width: 100%;
        /* max-width: 60px; */
        height: 2px;
        background: #000;
        margin: 8px 0 10px;
    }

    .streak-module .streak-title span { display: inline; }
    
    .streak-module .streak-title-sep {
        display: none;
    }
    
    .streak-module .streak-days,
    .streak-module .streak-days-sign {
        font-size: 54px;
    }

    .streak-module .streak-count small {
        margin-left: 5px;
    }

    .streak-module .streak-header {
        padding-bottom: 10px;
    }

    .streak-module .streak-content {
        padding-left: 18px;
    }
    
    .streak-module .streak-header,
    .streak-module .streak-list {
        padding-left: 0;
    }

    .streak-module .module-box {
        padding: 20px 0 20px 24px;
    }
}

/* MODULE: MODAL SURVEY ----------------------------------------------- */

/* MODULE: MODAL PROMO ------------------------------------------------ */
.remodal.modal-promo-code {
    text-align: center;
    width: 90%;
    max-width: 960px;
    font: 500 16px / 1.3em "Avenir", "Open Sans", "Helvetica Neue", sans-serif;
    overflow: hidden;
    border-radius: 16px;
    background: #a2b8df;
    padding: 52px 42px 24px 58px;
}

.modal-promo-code .modal-row {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 100;
    column-gap: 20px;
}

.modal-promo-code .modal-content {
    color: #000;
    text-align: center;
    max-width: 364px;
    width: 100%;
    flex: none;
}

.modal-promo-code .modal-image {
    flex: 1;
    max-width: 442px;
}

.modal-promo-code .modal-title {
    line-height: 1.2;
    font-size: 36px;
    font-weight: 800;
    margin: 0 0 20px;
} 

.modal-promo-code[data-state="rate-us"] .modal-title {
    font-size: 32px;
    text-align: center;
}

.modal-promo-code[data-state="rate-us"] .modal-copy {
    font-size: 16px;
    text-align: center;
}

.modal-promo-code .rate-options {
    display: none;
    margin: 40px auto 0;
    text-align: center;
}

.modal-promo-code .rate-options svg {
    width: 100%;
    max-width: 294px;
    height: auto;
}

.modal-promo-code[data-state="rate-us"] .rate-options {
    display: block;
}

.modal-promo-code .btn-rate,
.modal-promo-code[data-state="rate-us"] .btn-quiz {
    display: none;
}

.modal-promo-code[data-state="rate-us"] .btn-rate {
    display: inline-block;
}


.modal-promo-code .modal-copy {
    line-height: 1.375;
    font-size: 16px;
} 

.modal-promo-code .promo-code-wrapper {
    margin-top: 42px;
    position: relative;
}

.modal-promo-code .time-limit {
    margin: 0 0 8px;
    text-align: left;
    font-weight: 700;
    font-size: 15px;
}

.modal-promo-code .promo-code-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 0;
    row-gap: 0;
}

.modal-promo-code .promo-code {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 24px;
    line-height: 1;
    padding-top: 4px;
    background: #F0F0F0;
    height: 29px;
}

.modal-promo-code .copy-code {
    flex: none;
    height: 29px;
    font-size: 16px;
    background: #FFF;
    border: 1px solid #F0F0F0;
    width: 100px;
    cursor: pointer;
}

.modal-promo-code .copy-code:hover {
    background: #B9B9B9;
    border-color: #B9B9B9;
}

.modal-promo-code .share-promo-code {
    margin: 42px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 8px;
    list-style: none;
    padding: 0;
}

.modal-promo-code .code-copied {
    display: none;
    padding-top: 8px;
    position: absolute;
    left: 0;
    right: 0;
    padding-right: 100px;
    width: 100%;
    top: 100%;
    text-align: center;
    margin: auto;
}

.modal-promo-code .share-promo-code a {
    width: 78px;
    height: 48px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    text-align: center;
    background: #d3ad29;
    color: #FFF;
    font-size: 28px;
}

.modal-promo-code .share-promo-code a:hover {
    background: #000;
}

.modal-promo-code .share-promo-code svg {
    width: 28px;
    height: auto;
}

.modal-promo-code .modal-close {
    appearance: none;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    position: absolute;
    right: 32px;
    top: 24px;
    font-size: 28px;
    color: #d3ad29;
    cursor: pointer;
    z-index: 120;
}

.modal-promo-code .modal-close:hover {
    color: #000;
}

.modal-promo-code .modal-background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.modal-promo-code .modal-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    justify-content: center;
    align-items: center;
}


.remodal.modal-survey[data-state="google-comment"] {
    max-width: 620px;
    background: #FFF;
    padding: 0;
}
.remodal.modal-survey[data-state="google-comment"] .modal-title {
    font-size: 32px;
}

.remodal.modal-survey .modal-google-api {
    display: none;
}

.remodal.modal-survey[data-state="google-comment"] .modal-actions {
    display: none;
}

.remodal.modal-survey[data-state="google-comment"] .modal-header {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 70px 20px 210px;
}

.remodal.modal-survey[data-state="google-comment"] .modal-google-api {
    display: block;
    padding: 20px;
    background: #FFF;
}

.remodal.modal-survey[data-state="google-comment"] .modal-background img {
    object-position: 0 0;
}

@media (max-width: 820px) {
    .remodal.modal-promo-code {
        padding: 52px 24px 24px;
    }
    
    .modal-promo-code .modal-row {
        row-gap: 20px;
        flex-direction: column;
    }
    
    .modal-promo-code .modal-image {
        max-width: 320px;
    }
}

@media (max-width: 767px) {
    .remodal.modal-survey[data-state="google-comment"] .modal-header {
        height: auto;
        padding: 40px 80px 40px 30px;
    }

    .remodal.modal-survey[data-state="google-comment"] .modal-title {
        font-size: 28px;
    }

    .remodal.modal-survey[data-state="google-comment"] .modal-background img {
        object-position: right center;
        transform: scale(1.5);
    }
}

@media (max-width: 520px) {
    .modal-promo-code .modal-title {
        font-size: 28px;
        margin-bottom: 15px;
    }

    .modal-promo-code .promo-code-wrapper {
        margin-top: 30px;
    }

    .modal-promo-code .modal-image {
        max-width: 260px;
    }

    .modal-promo-code .time-limit {
        font-size: 13px;
        text-align: center;
    }

    .remodal.modal-survey[data-state="google-comment"] .modal-header {
        height: auto;
        padding: 70px 20px 20px;
    }
}
.remodal.modal-survey {
    padding: 100px 64px 70px;
}

.modal-survey .modal-content {
    margin-left: auto;
    width: 100%;
    max-width: 480px;
    text-align: left;
}

.remodal.modal-survey[data-state="google-redirect"] .modal-content {
    max-width: 500px;
}

.modal-survey .modal-close {
    width: 28px;
    height: 28px;
}

.modal-survey .modal-title {
    margin-bottom: 12px;
}

.modal-survey .modal-actions {
    margin-top: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 24px;
    row-gap: 18px;
}

.modal-survey .modal-actions .btn {
    flex: 1;
    padding-left: 0;
    padding-right: 0;
}

.modal-survey .btn.btn-confirm,
.modal-survey .btn.btn-close {
    background: #D2AC2A;
}

.modal-survey .btn.btn-confirm:hover,
.modal-survey .btn.btn-close:hover {
    background: #91771b;
}

.modal-survey .btn.btn-close {
    max-width: 228px;
    margin-right: auto;
}

@media (max-width: 767px) {
    .remodal.modal-survey {
        padding: 80px 32px 50px;
    }

    .modal-promo-code .modal-background img {
        object-position: right center;
        transform: scale(1.1);
    }

    .modal-survey .modal-content {
        max-width: none;
    }
}

@media (max-width: 520px) {
    .remodal.modal-survey {
        padding: 70px 24px 40px;
    }

    .modal-survey .modal-actions {
        margin-top: 30px;
        flex-direction: column;
    }

    .modal-survey .modal-actions .btn {
        width: 100%;
    }
}
/* END MODULE: MODAL SURVEY ------------------------------------------- */


@media (max-width: 991px) {
    .streak-module .module-box {
        flex-direction: column;
        align-items: center;
        padding-left: 0;
        padding-bottom: 10px;
    }

    .streak-module .streak-image {
        width: 190px;
        max-width: calc(100% - 36px);
    }

    .streak-module .streak-content {
        padding-left: 0;    
        margin-top: 20px;
        width: 100%;
    }

    .streak-module .streak-header,
    .streak-module .streak-list {
        padding-left: 18px;
    }
}
/* MODULE: HOME ------------------------------------------------------- */
@media (max-width: 767px) {
    body.page-home-nuevo div.main-banner {
        height: auto;
        padding-bottom: 30px;
    }
}
/* END MODULE: HOME --------------------------------------------------- */

/* MODULE: CHECKOUT --------------------------------------------------- */
.checkout-modules .form-title + h6 {
    margin-top: -5px;
}

.checkout-modules.area-modules .module-list li {
    width: calc(50% - 10px);
}

.checkout-modules.area-modules .module-list .module-item {
    width: 100%;
    display: flex;
}

.checkout-modules.area-modules .module-item .button-mask {
    width: 100%;
    display: flex;
}

@media (max-width: 600px) {
    .checkout-modules.area-modules .module-list {
        row-gap: 16px;
    }
    
    .checkout-modules.area-modules .module-list li {
        width: 100%;
    }
}
/* END MODULE: CHECKOUT ------------------------------------------------ */

/* MODULE: REVIEW ----------------------------------------------------- */
.main-wrapper.review-sessions-wrapper {
    padding-top: 0;
    background: #FFF;
}

.review-sessions-wrapper.review-wrapper .container {
    padding-bottom: 0;
}

.review-sessions-wrapper .section-header {
    padding-top: 28px;
}

.review-sessions-wrapper .section-header h3 {
    color: #000;
    font-size: 28px;
}

.review-sessions-wrapper .section-item .section-header p {
    color: #000;
    font-size: 16px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.review-sessions-wrapper .section-item .section-header .review-accordion i {
    position: relative;
    display: inline-block;
    flex: none;
    left: 0;
    top: -2px;
    margin-right: 8px;
}

.review-filters-header {
    background: #D9D9D9;
    border-bottom: 1px solid #000;
    padding-bottom: 16px;
}

.review-filters-header .selected-filters,
.selected-filters.individual-widget {
    margin: 8px 0 12px 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    column-gap: 6px;
    row-gap: 6px;
}

.review-filters-header .selected-filters li,
.selected-filters.individual-widget li {
    padding: 0;
}

.review-filters-header .selected-filters .filter-button,
.selected-filters.individual-widget .filter-button {
    border-radius: 100px;
    border: 1px solid #000;
    background: #FFF;
    font-size: 14px;
    line-height: 1;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 28px;
    padding-left: 15px;
    padding-right: 25px;
    position: relative;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    color: #000;
}

.review-filters-header .selected-filters .filter-button::after,
.selected-filters.individual-widget .filter-button::after {
    content: 'X';
    font-size: 11px;
    position: absolute;
    right: 8px;
    top: 8px;
}

.review-filters-header .selected-filters .filter-button:hover,
.selected-filters.individual-widget .filter-button:hover {
    background: #BABABA;
}

.review-sessions-wrapper .section-item .review-accordion-content {
    background: transparent;
    border-top: 0;
    border-bottom: 0;
    padding: 45px 0 20px;
}

.review-sessions-wrapper .section-item fieldset {
    margin: 0;
    padding: 0;
}

.review-wrapper.review-sessions-wrapper .section-item fieldset + fieldset {
    margin-top: 0;
}

.review-sessions-wrapper .section-item fieldset legend {
    color: #000;
}

.review-sessions-wrapper .section-item fieldset input[type="radio"] {
    position: relative;
    top: -2px;
}

.review-sessions-wrapper .review-resume {
    padding: 0;   
}

.review-sessions-wrapper .review-filters .container {
    padding-bottom: 0;
}

.review-sessions-wrapper .section-item .section-content {
    border: 0;
    margin-bottom: 0;
}

.review-sessions-wrapper .review-answers-header .section-header {
    padding-top: 0;
} 

.review-sessions-wrapper .review-answers-header {
    background: #E6E6E6;
    padding: 25px 0;
}

.review-sessions-wrapper .filter-select {
    min-width: 140px;
    height: 28px;
    border: 1px solid #000;
    border-radius: 0;
    color: #000;
    box-shadow: none;
}

.review-sessions-wrapper .filter-select.disabled {
    opacity: 0.6;
    pointer-events: none;
}

.review-sessions-wrapper .select-note {
    font-size: 12px;
    display: none;
    margin-top: 2px;
}

.review-sessions-wrapper .filter-select.disabled ~ .select-note {
    display: block;
}

.review-sessions-wrapper fieldset label {
    color: #000;
}

.review-sessions-wrapper .sessions-table {
    border: 1px solid #D1D1D1;
    margin-bottom: 40px;
}

.review-sessions-wrapper .sessions-table th,
.review-sessions-wrapper .sessions-table td {
    border-bottom: 1px solid #D1D1D1;
    text-align: center;
    color: #000;
    font-size: 14px;
}

.review-sessions-wrapper .sessions-table th {
    padding-top: 11px;
    padding-bottom: 11px;
}

.review-sessions-wrapper .sessions-table th .nowrap {
    white-space: nowrap;
}

.review-sessions-wrapper .sessions-table td {
    padding: 4px 10px;
    font-size: 14px;
    color: #000;
    line-height: 1.2;
    cursor: auto;
}

.review-sessions-wrapper .sessions-table tbody td:first-child {
    font-size: 14px;
}

.review-sessions-wrapper .sessions-table tbody td:first-child,
.review-sessions-wrapper .sessions-table thead th:first-child,
.review-sessions-wrapper .sessions-table tbody td:nth-child(2),
.review-sessions-wrapper .sessions-table thead th:nth-child(2) {
    text-align: left;
}

.review-sessions-wrapper .sessions-table tbody td:nth-last-child(2),
.review-sessions-wrapper .sessions-table tbody td:nth-last-child(3),
.review-sessions-wrapper .sessions-table tbody td:nth-child(5) {
    min-width: 75px;
}


.review-sessions-wrapper .sessions-table tr:nth-child(odd) td {
    background: #F1F1F1;
}

.review-sessions-wrapper .sessions-table a.btn-view {
    border: 1px solid #000;
    background: transparent;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 110px;
    height: 36px;
    font-size: 14px;
    padding: 0;
    color: #000 !important;
}

.review-sessions-wrapper .sessions-table a.btn-view:hover {
    background: #BABABA;
}

.review-sessions-wrapper .custom-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 20px;
    grid-row-gap: 40px;
    grid-auto-rows: auto;
}

@media (max-width: 1399px) and (min-width: 1200px) {
    .review-sessions-wrapper .custom-grid fieldset:nth-child(7) {
        grid-area: 2 / 4 / span 1 / span 2;
    }

    .review-sessions-wrapper .sessions-table th:nth-child(8),
    .review-sessions-wrapper .sessions-table td:nth-child(8) {
        display: none;
    }
}

@media (max-width: 1200px) and (min-width: 992px) {
    .review-sessions-wrapper .custom-grid {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(3, auto);
    }

    .review-sessions-wrapper .custom-grid fieldset:nth-child(3) {
        grid-area: 1 / 3 / span 1 / span 2;
    }

    .review-sessions-wrapper fieldset select {
        width: 100%;
    }
}

@media (max-width: 1200px) {
    .review-sessions-wrapper .sessions-table {
        display: block;
        border-bottom: 0;
    }

    .review-sessions-wrapper .sessions-table thead {
        display: none;
    }

    .review-sessions-wrapper .sessions-table tbody {
        display: block;
    }

    .review-sessions-wrapper .sessions-table tr {
        display: grid;
        width: 100%;
        padding: 8px;
        justify-content: flex-start;
        border-bottom: 1px solid #D1D1D1;
        grid-template-columns: 2fr 1fr 1fr auto;
        grid-template-rows: repeat(2, auto);
    }

    .review-sessions-wrapper .sessions-table tr:nth-child(odd) {
        background: #F1F1F1;
    }

    .review-sessions-wrapper .sessions-table td.td-title {
        grid-area: 1 / 1 / span 1 / span 1;
        font-size: 16px;
    }
    
    .review-sessions-wrapper .sessions-table td.td-date {
        grid-area: 2 / 1 / span 1 / span 1;
    }
    
    .review-sessions-wrapper .sessions-table td.table-action {
        grid-area: 1 / -1 / span 2 / span 1;        
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .review-sessions-wrapper .sessions-table td.td-difficulty {
        display: none;
    }

    .review-sessions-wrapper .sessions-table td.td-rate {
        grid-area: 2 / 2 / span 1 / span 1;
    }
    
    .review-sessions-wrapper .sessions-table td.td-time {
        grid-area: 1 / 3 / span 2 / span 1;   
        align-self: center;     
        line-height: 1;
    }

    .review-sessions-wrapper .sessions-table td.td-hide-mobile {
        display: none;
    } 

    .review-sessions-wrapper .sessions-table td.table-action .btn-view {
        width: 94px;
        height: 32px;
    }

    .review-sessions-wrapper .sessions-table .td-title {
        font-weight: 700;
    }

    .review-sessions-wrapper .sessions-table td {
        padding: 3px 8px;
        border: 0;
        background: transparent;
    }
    
    .review-sessions-wrapper .sessions-table td.table-action {
        margin-left: auto;
    }
}

@media (max-width: 991px) {
    .review-sessions-wrapper .custom-grid {
        grid-template-columns: repeat(3, auto);
        grid-template-rows: auto;
    }
}

@media (max-width: 768px) {
    .review-sessions-wrapper .section-item .review-accordion-content {
        padding: 30px 0 20px;
    }

    .review-sessions-wrapper .custom-grid {
        grid-template-columns: repeat(2, auto);
        grid-template-rows: auto;
    }
}

@media (max-width: 540px) {
    .review-sessions-wrapper .custom-grid {
        grid-template-columns: auto;
        grid-template-rows: auto;
        row-gap: 20px;
    }

    .review-sessions-wrapper .sessions-table tr {
        padding: 8px 0;
        grid-template-columns: repeat(2, 1fr) auto;
    }
    
    .review-sessions-wrapper .review-resume .section-content {
        padding-top: 15px;
    }

    .review-sessions-wrapper .sessions-table td.td-title {
        grid-area: 1 / 1 / span 1 / span 3;
        align-self: flex-end;
    }

    .review-sessions-wrapper .sessions-table td.td-qualification {
        grid-area: 2 / 2 / span 1 / span 1;
        align-self: center;
    }
    
    .review-sessions-wrapper .sessions-table td.td-date {
        align-self: center;
    }

    .review-sessions-wrapper .sessions-table td.td-rate {
        grid-area: 2 / 3 / span 1 / span 1;
        align-self: center;
    }
    
    .review-sessions-wrapper .sessions-table td.td-time {
        grid-area: 1 / 4 / span 1 / span 1;
    }
    
    .review-sessions-wrapper .sessions-table td.table-action {
        grid-area: 2 / -1 / span 1 / span 1;
    }

    .review-sessions-wrapper .review-answers .section-content {
        overflow: hidden;
        padding-right: 0;
    }

    .section-item.review-filters .review-filters-header {
        overflow: hidden;
        position: relative;
    }
}
/* END MODULE: REVIEW ------------------------------------------------- */
/* MODULE: FEEDBACK --------------------------------------------------- */
.review-wrapper .review-explain .rate-options .btn-score {
    margin-left: 0;
}

.review-wrapper .rate-options {
    margin-top: 12px;
    padding-top: 0;
    display: flex;
    column-gap: 10px;
    justify-content: flex-start;
    align-items: center;
}

.review-wrapper .review-explain .rate-options .btn-score + .btn-score {
    margin-left: 0;
}

/* END MODULE: FEEDBACK ----------------------------------------------- */
/* MODULE: DETAIL REVIEW ---------------------------------------------- */
.main-wrapper.review-session-wrapper {
    padding-top: 0;
    min-height: calc(100vh - 220px);
}
.review-session-bar {
    border-bottom: 1px solid #000;
    color: #000;
}

.review-session-bar .container {
    display: flex;
    min-height: 50px;
}

.review-session-bar a {
    display: inline-flex;
    column-gap: 15px;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: 700;
    color: #000;
    line-height: 1;
}

.review-session-bar a:hover {
    color: #BABABA;
}

.review-session-bar a i {
    font-size: 24px;
    position: relative;
    top: -2px;
}

.review-session-bar .session-bar-date {
    border-left: 1px solid #000;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 16px;
    padding-left: 22px;
    margin-left: 22px;
}

.review-session-bar .session-bar-date strong {
    display: inline-block;
    margin-right: 20px;
}

.review-session-wrapper .review-session-overview {
    padding: 20px 0 40px;
}

.review-session-overview .review-session-info {
    display: flex;
    margin-top: 18px;
    column-gap: 45px;
    justify-content: space-between;
    align-items: center;
}

.review-session-title {
    margin: 0;
    color: #000;
    font-size: 20px;
}

.review-session-overview .review-session-block {
    background: #000;
    color: #FFF;
    text-align: center;
    padding: 15px 10px;
    width: 180px;
}

.review-session-overview .review-session-block .session-percentage {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
}

.review-session-overview .review-session-block .session-stats {
    font-size: 16px;
    line-height: 1;
}

.review-session-overview .review-session-items {
    display: flex;
    flex: 1;
    justify-content: space-between;
    column-gap: 45px;
}

.review-session-wrapper .review-session-item {
    color: #000;
    font-size: 16px;
    line-height: 1;
    border-left: 4px solid #a2b8df;
    padding-left: 12px;
}

.review-session-wrapper .review-session-items .review-session-item:nth-child(2) {
    border-color: #af88be;
}

.review-session-wrapper .review-session-items .review-session-item:nth-child(3) {
    border-color: #d3ad29;
}

.review-session-wrapper .review-session-items .review-session-item:nth-child(4) {
    border-color: #828fa2;
}

.review-session-wrapper .review-session-item .session-item-value {
    font-size: inherit;
    margin: 0;
}

.review-session-wrapper .review-session-item .session-item-label {
    margin-bottom: 10px;
}

.review-session-wrapper .review-session-details-title {
    border-bottom: 1px solid #000;
    margin-bottom: 0;
}

.review-session-wrapper .review-session-details-title h5 {
    color: #000;
    position: relative;
    margin: 0;
    padding: 0 0 5px;
    line-height: 1;
    font-size: 16px;
    justify-content: flex-start;
    align-items: center;
    column-gap: 8px;
}

.review-session-wrapper .review-session-details-title h5 i {
    font-size: 24px;
    line-height: 0;
    position: relative;
    bottom: 2px;
    left: 0;
    top: auto;
}

.review-session-wrapper .no-filters .review-session-details-title h5::after,
.review-session-wrapper .review-session-details-title .with-filters::after {
    content: '';
    display: block;
    width: 100%;
    max-width: 180px;
    height: 6px;
    background: #000;
    position: absolute;
    left: 0;
    top: 100%;
}

.review-session-wrapper .no-filters .review-session-details-title h5.no-filters,
.review-session-wrapper .review-session-details-title .with-filters {
    display: flex;
    position: relative;
}

.review-session-wrapper .no-filters .review-session-details-title .with-filters,
.review-session-wrapper .review-session-details-title h5.no-filters {
    display: none;
}

.review-session-wrapper .review-session-details-title .with-filters h5 {
    cursor: pointer;
}

.review-session-wrapper .session-table {
    border: 1px solid #D1D1D1;
} 

.review-session-wrapper .review-session-details-title .with-filters {
    flex-direction: column;
}

.review-session-wrapper .review-session-details-title .with-filters .review-accordion {
    padding-bottom: 0;
}

.review-session-wrapper .review-session-details-title .with-filters h5 {
    display: flex;
}

.review-session-wrapper .selected-filters.individual-widget {
    display: flex;
    margin: 3px 0 6px;
}

.review-session-wrapper .session-table th,
.review-session-wrapper .session-table td {
    color: #000;
    text-align: left;
} 

.review-session-wrapper .session-table td:nth-child(1),
.review-session-wrapper .session-table th:nth-child(1),
.review-session-wrapper .session-table td:nth-last-child(1),
.review-session-wrapper .session-table th:nth-last-child(1),
.review-session-wrapper .session-table td:nth-last-child(2),
.review-session-wrapper .session-table th:nth-last-child(2) {
    text-align: center;
}

.review-session-wrapper .session-table th {
    font-size: 14px;
    padding: 15px 10px;
}

.review-session-wrapper .session-table td {
    font-size: 14px;
}

.review-session-wrapper .session-table tr:nth-child(odd) td {
    background: #F3F3F3;
}

.review-session-wrapper .session-table tr:nth-child(even) td {
    background: #FFF;
}

.review-session-wrapper .session-table td .fa-check {color: #73b438; }
.review-session-wrapper .session-table td .fa-times {color: #e04f4f;}

.review-session-wrapper .session-table .mark-item {
    color: #A6A6A6;
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    padding: 4px;
    background-color: transparent;
    cursor: pointer;
    font-size: 16px;
}

.review-session-wrapper .session-table .mark-item:hover {
    color: #000;
}

.review-session-wrapper .session-table .mark-item.marked {
    color: #b4151d;
}

.review-session-wrapper .container-table-wrapper {
    margin-top: 60px;
}

.review-session-wrapper .section-item .section-content {
    background: transparent;
    border-bottom: 1px solid #CCC;
    border-top: 0;
}

.review-session-wrapper .review-filters-header {
    padding: 0;
    border-bottom: 0;
    background: #FFF;
}

.review-session-wrapper .review-filters-header .custom-grid {
    display: flex;
    column-gap: 30px;
    row-gap: 20px;
    padding-top: 20px;
    padding-bottom: 5px;
}

.review-session-wrapper .review-filters-header .custom-grid fieldset {
    flex: 1;
    max-width: 200px;
    margin: 0;
    padding: 0;
}

.review-session-wrapper .review-filters-header .custom-grid fieldset input {
    position: relative;
    top: -2px;
}

.review-session-wrapper .review-filters-header .custom-grid legend {
    color: #000;
    font-size: 14px;
    margin-bottom: 10px;
}

@media (max-width: 991px) {
    .review-session-overview .review-session-items {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        row-gap: 20px;
        column-gap: 20px;
    }

    .review-session-overview .review-session-info {
        align-items: stretch;
    }

    .review-session-overview .review-session-block {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .review-session-wrapper .session-table {
        display: block;
    }
    
    .review-session-wrapper .session-table thead {
        display: none;
    }
    
    .review-session-wrapper .session-table tbody {
        display: block;
    }

    .review-session-wrapper .session-table td {
        display: inline-block;
        border: 0;
        background-color: transparent;
        padding: 3px 8px;
    }

    .review-session-wrapper .session-table tr {
        display: grid;
        grid-template-columns: 26px 1fr 1fr 100px auto;
        grid-template-rows: repeat(2, auto);
    }

    .review-session-wrapper .session-table tr:nth-child(odd) {
        background: #F3F3F3;
    }

    .review-session-wrapper .session-table tr:nth-child(even) {
        background: #FFF;
    }

    .review-session-wrapper .session-table .td-result {
        grid-area: 1 / 1 / span 2 / span 1;
        text-align: center;
        padding-left: 0;
        padding-right: 0;
        align-self: center;
    }

    .review-session-wrapper .session-table .td-question {
        font-weight: 700;
        align-self: flex-end;
    }

    .review-session-wrapper .session-table .td-subject {
        grid-area: 1 / 3 / span 1 / span 1;
        align-self: flex-end;
    }

    .review-session-wrapper .session-table .td-difficult {
        grid-area: 1 / 4 / span 2 / span 1;
        align-self: center;
    }
    
    .review-session-wrapper .session-table .td-note {
        grid-area: 1 / -1 / span 1 / span 1;
    }
    
    .review-session-wrapper .session-table .td-flag {
        grid-area: 2 / -1 / span 1 / span 1;
    }

    .review-session-wrapper .session-table .td-mytime {
        grid-area: 2 / 2 / span 1 / span 1;
        align-self: flex-start;
    }
    
    .review-session-wrapper .session-table .td-other-times {
        grid-area: 2 / 3 / span 1 / span 1;
        align-self: flex-start;
    }

    .review-session-wrapper .session-table td[title]::before {
        content: attr(title);
        display: inline-block;
        margin-right: 4px;
        font-weight: 400;
        opacity: 0.7;
        line-height: 1;
    }
}

@media (max-width: 600px) {
    .review-session-overview .review-session-info {
        flex-direction: column;
    }

    .review-session-overview .review-session-block {
        width: 100%;
        margin-bottom: 20px;
    }
}

@media (max-width: 540px) {
    .review-session-wrapper .session-table td[title]::before {
        display: block;
        margin-right: 0;
        font-size: 12px;
    }

    .review-session-wrapper .session-table tr {
        grid-template-columns: 26px 1.2fr 1fr 70px auto;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .review-session-wrapper .session-table .td-difficult {
        font-size: 13px;
    }

    .review-session-wrapper .session-table .td-flag i,
    .review-session-wrapper .session-table .td-note i {
        font-size: 14px;
    }

    .review-session-overview .review-session-items {
        display: flex;
        flex-direction: column;
        row-gap: 20px;
    }

    .review-session-wrapper .review-session-details-title {
        margin-bottom: 0;
    }

    .review-session-wrapper .container-table-wrapper {
        margin-top: 40px;
    }

    .review-session-wrapper .session-table .td-question,
    .review-session-wrapper .session-table .td-subject,
    .review-session-wrapper .session-table .td-result,
    .review-session-wrapper .session-table .td-difficult {
        align-self: flex-start;
    }

    .review-session-wrapper .review-session-item .session-item-label {
        margin-top: 6px;
    }
    
    .review-session-wrapper .session-table .mark-item {
        padding-top: 0;
        padding-bottom: 0;
        align-self: flex-start;
        line-height: 0;
        font-size: 16px;
    }

    .review-session-wrapper .session-table .mark-item i {
        font-size: 16px;
    }

    .review-session-wrapper .review-filters-header .custom-grid.custom-row {
        padding-bottom: 15px;
        flex-direction: column;
    }
}
/* END MODULE: DETAIL REVIEW ------------------------------------------ */
/* MODULE: MENU SECONDARY --------------------------------------------- */
div.secondary-navigation .menu.menu-secondary li,
div.secondary-navigation .menu.menu-secondary li a {
    height: 46px;
    overflow: hidden;
    line-height: 1;
    position: relative;
}

div.secondary-navigation .menu.menu-secondary li a {
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;    
}

div.secondary-navigation .menu.menu-secondary li a::after {
    height: 4px;
}
/* END MODULE: MENU SECONDARY ----------------------------------------- */
/* MODULE: PRACTICES -------------------------------------------------- */
.topic-content.active .topic-progress[data-level="1"] .progress-bar span {
    width: 100%;
    animation: none;
}

.topic-content.active .topic-progress[data-level="2"] .progress-bar span {
    width: 100%;
    animation: progressBarLevel2 4s cubic-bezier(0,1,.7,1) forwards;
}

.topic-content.active .topic-progress[data-level="3"] .progress-bar span {
    width: 100%;
    animation: progressBarLevel3 4s cubic-bezier(0,1,.7,1) forwards;
}

.topic-content.active .topic-progress[data-level="4"] .progress-bar span,
.topic-content.active .topic-progress[data-level="5"] .progress-bar span {
    width: 100%;
    animation: progressBarLevel4 4s cubic-bezier(0,1,.7,1) forwards;
}

@keyframes progressBarLevel2 {
    0% {
        width: 100%;
    }
    100% {
        width: 67%;
    }
}

@keyframes progressBarLevel3 {
    0% {
        width: 100%;
    }
    100% {
        width: 34%;
    }
}

@keyframes progressBarLevel4 {
    0% {
        width: 100%;
    }
    100% {
        width: 0%;
    }
}

/* END MODULE: END PRACTICES ------------------------------------------ */
/* MODULE: LESSONS ---------------------------------------------------- */
.lesson-item .btn-score.unlike.selected,
.lesson-score .btn.btn-score.unlike.selected {
    background: #a2b8df;
}

.review-wrapper .results-header p#res_titulo {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.review-wrapper .results-header p#res_titulo img {
    flex: none;    
}

/* MODULE: SIMULATION EXAM -------------------------------------------- */
.main-wrapper#test-wrapper > .container {
    position: relative;
    overflow: hidden;
}

.main-wrapper.test-wrapper .results {
    padding-bottom: 28px;
}

.main-wrapper.test-wrapper > .container {
    border-radius: 12px;
    padding-top: 15px;
    padding-bottom: 15px;
}

.remodal.incomplete-practice-modal {
    border-radius: 12px;
    padding: 32px 48px 38px;
    max-width: 510px;
}

.main-wrapper.test-wrapper .incomplete-practice-modal .modal-content p {
    color: #000;
    font-weight: 400;
    font-size: 18px;
    line-height: 21.79px;
    letter-spacing: 0;

}

.incomplete-practice-modal .modal-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 18px;
    row-gap: 16px;
    margin-top: 28px;
}

.incomplete-practice-modal .incomplete-icon {
    margin: 0 auto 16px;
    width: 28px;
    height: 28px;
}
.incomplete-practice-modal .incomplete-icon svg {
    width: 100%;
    height: 100%;
}

.incomplete-practice-modal .modal-actions .btn {
    flex: 1;
    width: 100%;
}

.incomplete-practice-modal .modal-actions svg {
    width: 18px;
    height: 18px;
    display: inline-block;
    margin-left: 10px;
}

.remodal-overlay.incomplete-practice {
    background: rgba(187, 187, 187, 0.4);
    backdrop-filter: blur(5px);
}
.remodal-overlay.incomplete-practice,
.remodal-wrapper.incomplete-practice {
    position: absolute;   
}

.remodal-wrapper.incomplete-practice {
    padding-top: 70px;
}

.remodal-wrapper.incomplete-practice::after,
.remodal.incomplete-practice::after  {
    vertical-align: top; 
}

@media (max-width: 767px) {
    .remodal.incomplete-practice-modal {
        padding: 32px 24px;
    }

    .main-wrapper.test-wrapper .incomplete-practice-modal .modal-content p {
        font-size: 16px;
        line-height: 1.2;
    }

    .incomplete-practice-modal .modal-actions {
        flex-direction: column;
        row-gap: 12px;
    }

    .incomplete-practice-modal .modal-actions .btn {
        max-width: 220px;
    }

}
/* END MODULE: SIMULATION EXAM ---------------------------------------- */

/* END MODULE: LESSONS ------------------------------------------------ */
/* MODULE: CONFETTI BUTTON -------------------------------------------- */
canvas.confetti-canvas {
    pointer-events: none;
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 400;
}
button.btn-confetti[data-state="complete"] ~ canvas.confetti-canvas {
    animation: fadeOutCanvas 0.4s ease forwards;
}

button.btn-confetti {
    background: none;
    border: none;
    color: #f4f7ff;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    overflow: hidden;
    position: relative;
    height: 40px;
    width: 190px;
    box-shadow: none;
    outline: none;
}
button.btn-confetti::before {
    background: #000;
    border-radius: 0;
    content: '';
    display: block;
    height: 100%;
    top: 0;
    left: 0;
    margin: 0 auto;
    position: absolute;
    transition: transform 0.2s cubic-bezier(0.39, 1.86, 0.64, 1) 0.3s, background-color 0.3s ease 0s;
    width: 100%;
}
button.btn-confetti[data-state="ready"] .submitMessage svg {
    opacity: 1;
    top: 1px;
    transition: top 0.4s ease 600ms, opacity 0.3s linear 600ms;
}
button.btn-confetti[data-state="ready"] .submitMessage .button-text span {
    top: 0;
    opacity: 1;
    transition: all 0.2s ease calc(var(--dr) + 600ms);
}
button.btn-confetti[data-state="loading"]::before {
    transition: transform 0.3s ease;
    transform: scaleX(0.8);
}
button.btn-confetti[data-state="loading"] .loadingMessage {
    opacity: 1;
}
button.btn-confetti[data-state="loading"] .loadingCircle {
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-name: loadingButtonConfetti;
    cy: 10;
}
button.btn-confetti[data-state="complete"] .submitMessage svg {
    top: -30px;
    transition: none;
}
button.btn-confetti[data-state="complete"] .submitMessage .button-text span {
    top: -8px;
    transition: none;
}
button.btn-confetti[data-state="complete"] .loadingMessage {
    top: 80px;
}
button.btn-confetti[data-state="success"] .successMessage .button-text span,
button.btn-confetti[data-state="error"] .wrongMessage .button-text span {
    left: 0;
    opacity: 1;
    transition: all 0.2s ease calc(var(--d) + 1000ms);
}
button.btn-confetti[data-state="success"] .successMessage svg,
button.btn-confetti[data-state="error"] .wrongMessage svg {
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 0.3s ease-in-out 0.5s;
}
button.btn-confetti .button-text span {
    opacity: 0;
    position: relative;
}
button.btn-confetti .message {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
button.btn-confetti .message svg {
    display: inline-block;
    fill: none;
    margin-right: 5px;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}
button.btn-confetti[data-state="loading"],
button.btn-confetti[data-state="success"],
button.btn-confetti[data-state="error"] {
    pointer-events: none;
}
button.btn-confetti .submitMessage .button-text span {
    top: 8px;
    transition: all 0.2s ease var(--d);
}
button.btn-confetti .submitMessage svg {
    color: #5c86ff;
    margin-left: -1px;
    opacity: 0;
    position: relative;
    top: 30px;
    transition: top 0.4s ease, opacity 0.3s linear;
    width: 14px;
}
button.btn-confetti .loadingMessage,
button.btn-confetti .successMessage,
button.btn-confetti .completeMessage,
button.btn-confetti .wrongMessage {
    opacity: 0;
    transition: opacity 0.3s linear 0.3s, top 0.4s cubic-bezier(0.22, 0, 0.41, -0.57);
}

button.btn-confetti .loadingMessage svg {
    margin: 0;
    width: 22px;
}
button.btn-confetti .successMessage .button-text span,
button.btn-confetti .wrongMessage .button-text span {
    left: 5px;
    transition: all 0.2s ease var(--dr);
}
button.btn-confetti .successMessage svg,
button.btn-confetti .wrongMessage svg {
    color: #73b438;
    stroke-dasharray: 20;
    stroke-dashoffset: 20;
    transition: stroke-dashoffset 0.3s ease-in-out;
    width: 14px;
}
button.btn-confetti .wrongMessage svg {
    width: 11px;
    color: #e04f4f;
}
button.btn-confetti .loadingCircle:nth-child(2) {
    animation-delay: 0.1s;
}
button.btn-confetti .loadingCircle:nth-child(3) {
    animation-delay: 0.2s;
}

/* States */
button.btn-confetti .message {
    opacity: 0;
}

button.btn-confetti[data-state="ready"] .submitMessage { opacity: 1; }
button.btn-confetti[data-state="loading"] .loadingMessage { opacity: 1; }
button.btn-confetti[data-state="success"] .successMessage { opacity: 1; }
button.btn-confetti[data-state="error"] .wrongMessage { opacity: 1; }
button.btn-confetti[data-state="complete"] .completeMessage { opacity: 1; transition-delay: 0.5s; }

button[data-confetti-disabled].btn-confetti[data-state="success"]::before {
    background: #73b438;
    transition-delay: 0.1s;
}

button[data-confetti-disabled].btn-confetti[data-state="error"]::before {
    background: #e04f4f;
    transition-delay: 0.1s;
}

button[data-confetti-disabled].btn-confetti[data-state="success"] .successMessage svg,
button[data-confetti-disabled].btn-confetti[data-state="error"] .wrongMessage svg { color: #FFF; }

button[data-confetti-disabled] ~ canvas.confetti-canvas { display: none; }

@keyframes loadingButtonConfetti {
    0%   { cy: 10; }
    25%  { cy: 3; }
    50%  { cy: 10; }
}

@keyframes fadeOutCanvas {
    0%   { opacity: 1; }
    100%  { opacity: 0; }
}
/* END MODULE: CONFETTI BUTTON ---------------------------------------- */
/* MODULE: ACCOUNT ---------------------------------------------------- */
.account-content .form-field label {
    left: 0;
}
.account-content .form-field h4 {
    line-height: 1em;
    font-weight: 700;
    font-size: 13px;
}

.account-content .form-field .radio-options input[type="radio"] {
    position: relative;
    top: -1px;
    background: none;
    box-shadow: none;
}
/* END MODULE: ACCOUNT ------------------------------------------------ */
/* MODULE: CUSTOM PRACTICE -------------------------------------------- */
.main-wrapper.custom-wrapper {
    min-height: calc(100vh - 195px);
}

.main-wrapper.custom-wrapper .custom-content.custom-practice-content {
    padding: 0;
}

.resume-practice-wrapper {
    display: none;
    column-gap: 18px;
    justify-content: flex-start;
    align-items: center;
    flex-flow: row wrap;
    margin-top: 0;
    padding: 35px 60px 30px;
}

.resume-practice-wrapper.visible {
    display: flex;
}

.resume-practice-wrapper .resume-practice-heading {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
}

.resume-practice-wrapper .resume-practice-title {
    font-weight: 500;
    font-size: 20px;
    margin: 0;
}

.resume-practice-wrapper .resume-practice-heading svg {
    width: 20px;
    height: 20px;
    margin-right: 9px;
    position: relative;
    top: -2px;
}

.resume-practice-wrapper .btn.resume-practice-cta {
    display: inline-flex;
    align-items: center;
    column-gap: 10px;
    padding: 10px 18px;
}

.resume-practice-wrapper .btn.resume-practice-cta svg {
    width: 17px;
    height: 14px;
}

.custom-practice-heading {
    padding: 80px 60px 0;
    border-bottom: 1px solid #000;
}

.resume-practice-wrapper.visible ~ .custom-practice-heading {
    padding-top: 0;
}

.main-wrapper.custom-wrapper .custom-practice-heading .custom-title {
    margin-bottom: 0;
    position: relative;
    padding-bottom: 8px;
}

.main-wrapper.custom-wrapper .custom-practice-heading .custom-title::before {
    content: '';
    display: inline-block;
    height: 5px;
    background: #000;
    width: 260px;
    position: absolute;
    left: 0;
    top: 100%;
}

.custom-practice-content .custom-practice-form {
    padding: 40px 60px 30px;
}

.custom-practice-content .custom-field .required {
    color: #e04f4f;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field label {
    color: #000;
    margin-bottom: 8px;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field select {
    width: 240px;
    border-color: #000;
    height: 38px;
    margin-bottom: 0;
    padding-left: 10px;
    border-radius: 0;
    color: #000;
    background-color: #FFF;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field.invalid .field-error {
    display: inline-block;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field .field-error {
    color: #e04f4f;
    font-weight: 500;
    font-size: 13px;
    display: none;
    position: relative;
    bottom: 1px;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field.select-subject {
    background: #f8f8f8;
    border: 1px solid #CCC;
    padding: 30px;
    margin-top: 15px;
    display: none;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field.select-subject.visible {
    display: block;
}

.main-wrapper.custom-wrapper .custom-field.select-subject label {
    margin-bottom: 0;
}

.main-wrapper.custom-wrapper .custom-field.select-subject .subject-controls {
    margin: 6px 0 0;
    font-size: 14px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.main-wrapper.custom-wrapper .custom-field.select-subject .subject-controls a {
    color: #3261B0;
}

.main-wrapper.custom-wrapper .custom-field.select-subject .subject-controls .sep {
    height: 15px;
    background: #000;
    width: 1px;
    margin: 0 8px;
    position: relative;
    top: 1px;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field .subjects {
    padding-bottom: 0;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field .subjects-items {
    width: 100%;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
    row-gap: 10px;
    padding-right: 0;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field .subjects-items label {
    margin: 0;
    font-weight: 400;
    font-size: 15px;
    align-items: flex-start;
    justify-content: flex-start;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field .subjects-items label input {
    flex: none;
    top: -1px;
}

.custom-practice-content .custom-row {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 30px;
    row-gap: 20px;
    margin-top: 30px;
}

.custom-wrapper .custom-practice-content .custom-row .custom-field {
    width: 100%;
    max-width: 240px;
    flex: 1;
}

.custom-wrapper .custom-practice-content .custom-row .custom-field select {
    width: 100%;
    border-radius: 0;
}

.custom-wrapper .custom-practice-content .custom-row .custom-field select[name="cantidadEjercicios"] {
    max-width: 80px;
}

.custom-wrapper .custom-practice-content .custom-row .custom-field + .custom-field {
    margin-top: 0;
}

.custom-wrapper .custom-practice-content .custom-radio-list {
    display: flex;
    flex-flow: row wrap;
    row-gap: 8px;
    column-gap: 30px;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-radio-list label {
    margin-bottom: 0;
    font-size: 14px;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-radio-list input[type="radio"] {
    top: -1px;
    margin-right: 8px;
}

.custom-wrapper .custom-practice-content .custom-field.tipo {
    margin-top: 30px;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field.tipo h6 {
    margin-bottom: 14px;
    color: #000;
}

.main-wrapper.custom-wrapper .custom-practice-content .custom-field-button-options  h6 {
    color: #000;
}

.main-wrapper.custom-wrapper .custom-button-options {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    row-gap: 12px;
    column-gap: 12px;
    margin-top: 10px;
}

.main-wrapper.custom-wrapper .custom-field-button-options .note {
    font-size: 13px;
    color: #555555;
    margin-top: 6px;
}

.main-wrapper.custom-wrapper .custom-field-button-options label.button-item {
    margin-bottom: 0;
}

.main-wrapper.custom-wrapper .custom-field-button-options .button-label {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 38px;
    border: 1px solid #BBB;
    cursor: pointer;
    margin-bottom: 0;
    font-weight: 500;
    color: #666;
    line-height: 1;
    padding-top: 2px;
}

.main-wrapper.custom-wrapper .custom-field-button-options  input:checked ~ .button-label {
    color: #000;
    background: #E6E6E6;
    border-color: #E6E6E6;
}

.main-wrapper.custom-wrapper .custom-field .custom-button-options input[type="radio"] {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    width: 0;
    height: 0;
}
.main-wrapper.custom-wrapper div.custom-footer {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 20px;
    row-gap: 15px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.main-wrapper.custom-wrapper div.custom-footer  .btn {
    flex: none;
}

.main-wrapper.custom-wrapper div.custom-footer .mensaje {
    margin-bottom: 0;
    padding: 0;
}

@media (max-width: 991px) {
    .main-wrapper.custom-wrapper .custom-practice-content .custom-field .subjects-items {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .resume-practice-wrapper {
        padding: 30px 20px 30px;        
    }

    .resume-practice-wrapper .resume-practice-title {
        font-size: 16px;
    }

    .resume-practice-wrapper .resume-practice-heading {
        align-items: flex-start;
    }

    .resume-practice-wrapper .resume-practice-heading svg {
        width: 16px;
        height: 16px;
        margin-right: 5px;
        top: 1px;
    }

    .resume-practice-wrapper .btn.resume-practice-cta {
        margin-top: 10px;
    }

    .custom-practice-heading {
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 35px;
    }

    .main-wrapper.custom-wrapper .custom-practice-heading .custom-title {
        font-size: 22px;
        padding-bottom: 6px;
    }

    .main-wrapper.custom-wrapper .custom-practice-heading .custom-title::before {
        width: 180px;
    }

    .custom-practice-content .custom-practice-form {
        padding-left: 20px;
        padding-right: 20px;
    }

    .main-wrapper.custom-wrapper div.custom-footer {
        padding: 20px;
        flex-direction: column;
        row-gap: 10px;
    }

    .main-wrapper.custom-wrapper .custom-practice-content .custom-field .subjects-items {
        grid-template-columns: 1fr;
    }

    .main-wrapper.custom-wrapper .custom-practice-content .custom-field.select-subject {
        padding: 20px 15px;
    }

    .custom-practice-content .custom-row,
    .custom-wrapper .custom-practice-content .custom-radio-list {
        flex-direction: column;
    }

    .custom-practice-content .custom-row {
        margin-top: 20px;
    }

    div.main-wrapper.custom-wrapper {
        padding-top: 5px;
        padding-bottom: 5px;
    }
}
/* END MODULE: CUSTOM PRACTICE ---------------------------------------- */

/* MODULE: CUSTOM SELECT ---------------------------------------------- */
.select-area-wrapper {
    margin-bottom: 6px;
}

.select-area-wrapper .select-area-label {
    font-size: 14px;
    font-weight: 500;
    color: #909090;
    margin-bottom: 6px;
}

.select-area-wrapper .select-area-selected {
    height: 48px;
    width: 100%;
    border: 1px solid #000;
    font-size: 16px;
    color: #000;
    font-weight: 700;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease;
}

.select-area-wrapper .select-area-selected:hover {
    background: #f1f1f1;
}

.select-area-wrapper .select-area-selected .select-area-number {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    background: #D9D9D9;
    border-right: 1px solid #000;
    width: 70px;
    line-height: 1;
    text-align: center;
}

.select-area-wrapper .select-area-selected .select-area-name {
    height: 100%;
    display: flex;
    flex: 1;
    padding: 0 32px 0 14px;
    line-height: 1;
    align-items: center;
}

.select-area-wrapper .select-area-selected i {
    font-size: 28px;
    position: absolute;
    right: 10px;
    top: 50%;
    transition: transform 0.2s ease;
    transform: translateY(-50%);
}

.select-area-wrapper .open .select-area-selected i {
    transform: translateY(-50%) rotate(180deg);
}

.select-area-wrapper .select-area {
    position: relative;
}

.select-area-wrapper .select-area-options {
    background: #FFF;
    width: calc(100% - 70px);
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 100;
    list-style: none;
    padding: 5px 0;
    margin: 0;
    box-shadow: 0 3px 5px 2px rgba(0,0,0,0.1);
    pointer-events: none;
    display: none;
}

.select-area-wrapper .open .select-area-options {
    pointer-events: all;
    display: block;
}

.select-area-wrapper h4.select-area-title {
    padding: 0;
    margin: 0;
    border: 0;
    font-size: 22px;
    font-weight: 500;
    color: #000;
    margin-top: 20px;
}

.select-area-wrapper .select-area-option {
    padding: 12px 14px;
    font-size: 16px;
    cursor: pointer;
}

.select-area-wrapper .select-area-option span {
    display: inline-block;
}

.select-area-wrapper .select-area-option:hover {
    color: #000;
}

.select-area-wrapper .select-area-option + .select-area-option {
    border-top: 1px solid rgba(0,0,0,0.05);
}

/* END MODULE: CUSTOM SELECT ------------------------------------------ */

/* PAGE: MISTAKES ----------------------------------------------------- */
.main-wrapper.mistakes-page-wrapper {
    padding-top: 0;
}

.mistakes-page-wrapper .mistakes-heading {
    background-color: #D9D9D9;
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
}

.mistakes-page-wrapper .mistakes-page-title {
    margin: 0;
    padding: 20px 0;
    font: 500 24px/1em "Avenir","Open Sans","Helvetica Neue", sans-serif;
    color: #000;
}

.mistakes-page-wrapper .mistake-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    padding: 32px 0;
    border-bottom: 1px solid #CCC;
    column-gap: 30px;
}

.mistakes-page-wrapper .mistake-actions {
    display: flex;
    justify-content: center;
    column-gap: 25px;
    row-gap: 15px;
    flex-direction: row;
    padding-left: 10px;
}

.mistakes-page-wrapper .mistake-action-view {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: 6px;
    color: #828fa2;
    font-size: 16px;
    padding: 0;
    transition: all 0.3s ease;
}

.mistakes-page-wrapper .mistake-action-view:hover {
    color: #000;
}

.mistakes-page-wrapper .mistake-action-view span {
    flex: 1;
}

.mistakes-page-wrapper .mistake-action-view svg {
    flex: none;
    height: 32px;
    width: auto;
}

.mistakes-page-wrapper .mistake-title {
    font-size: 16px;
    color: #000;
}

.mistakes-page-wrapper .mistake-chart-indicator {
    width: 100%;
    height: 7px;
    background-color: #D9D9D9;
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px #BBB;
    position: relative;
    overflow: hidden;
    margin-top: 2px;
}

.mistakes-page-wrapper .mistake-title {
    flex: 1;
}

.mistakes-page-wrapper .mistake-chart {
    width: 40%;
    max-width: 320px;
}

.mistakes-page-wrapper .mistake-chart-labels {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #000;
    font-size: 16px;
}

.mistakes-page-wrapper .mistake-chart-number {
    font-weight: 700;
}

.mistakes-page-wrapper .mistake-chart-bar {
    width: 0;
    position: absolute;
    left: 0;
    height: 100%;
    border-radius: 20px;
    background-color: #af88be;
    transform-origin: left center;
    animation: horizontal-chart-bar 1.5s ease forwards; 
}

@keyframes horizontal-chart-bar {
    from {
        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}

.mistakes-page-wrapper .mistake-actions {
    margin-left: auto;
}

.mistakes-page-wrapper .no-errors {
    border: 1px solid #000;
    padding: 20px;
    font-size: 18px;
    text-align: center;
    margin-top: 30px;
}

@media (max-width: 991px) {
    .mistakes-page-wrapper .mistake-item {
        flex-wrap: wrap;
        padding: 20px 0;
    }
    
    .mistakes-page-wrapper .mistake-title {
        flex: none;
        width: 100%;
        margin-bottom: 15px;
        font-weight: 500;
        font-size: 17px;
        line-height: 1.3;
    }

    .mistakes-page-wrapper .mistake-chart {
        width: 100%;
        flex: 1;
    }
}

@media (max-width: 991px) {
    .mistakes-page-wrapper .mistake-chart {
        flex: none;
        width: 100%;
        max-width: none;
    }

    .mistakes-page-wrapper .mistake-actions {
        margin-top: 15px;
        margin-left: 0;
        width: 100%;
        padding-left: 0;
        justify-content: space-between;
    }

    .mistakes-page-wrapper .mistake-actions span br {
        display: none;
    }
}

@media (max-width: 520px) {
    .mistakes-page-wrapper .mistake-actions span br {
        display: inline;
    }

    .select-area-wrapper .select-area-selected,
    .select-area-wrapper .select-area-option {
        font-size: 14px;
    }

    .main-wrapper.test-wrapper .test-list .test-item .btn {
        margin-left: 0 !important;
    }
}
/* END PAGE: MISTAKES ------------------------------------------------- */

/* END MODULE: STATISTICS --------------------------------------------- */
.main-wrapper.statistics-wrapper {
    padding-top: 0;
}

.statistics-wrapper .statistics-modules {
    background: #D9D9D9;
    padding: 24px 0;
}

.statistics-wrapper .statistics-grid {
    display: flex;
    flex-direction: column;
    column-gap: 16px;
    row-gap: 16px;
}

.statistics-module-wrapper {
    background: #FFF;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 32px;
}

.statistics-module-wrapper.module-results-wrapper,
.statistics-module-wrapper.module-global-wrapper {
    padding: 30px 40px;
}

.statistics-module-wrapper.module-global-wrapper {
    align-items: center;
    justify-content: stretch;
    column-gap: 32px;
    display: grid;
    row-gap: 0;
    grid-template-columns: auto 380px;
}

.statistics-module-wrapper .module-global-progress {
    padding: 15px 0;
}

.statistics-module-wrapper.module-global-wrapper .statistics-module-header {
    grid-column: 1 / -1;
}

.statistics-module-wrapper.module-global-wrapper .statistics-module-header .module-title {
    margin: 0;
    color: #000;
    font-size: 24px;
    font-weight: 700;
}

.statistics-module-wrapper .module-left-column {
    width: 100%;   
    flex: 1;
}

.statistics-module-wrapper .module-right-column {
    flex: none;
    width: 100%;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    row-gap: 12px;
}

.statistics-module-wrapper .module-right-column .statistics-module {
    width: 100%;
}

.statistics-module .module-title {
    color: #000;
    font-size: 24px;
    font-weight: 700;
    margin: 0;
    line-height: 1.1;
}

.statistics-module .module-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
}

.statistics-module .module-time {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.statistics-module .module-time-filter {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.statistics-module .module-time-filter li {
    padding: 0;
}

.statistics-module .module-time-filter button {
    font-size: 14px;
    height: 28px;
    padding: 0 9px;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    color: #444;
    border: 0;
    background-color: #F4F4F4;
    cursor: pointer;
    box-shadow: none;
    outline: 0;
    white-space: nowrap;
}

.statistics-module .module-time-filter button:hover {
    background: #E5E5E5;
}

.statistics-module .module-time-filter button.selected {
    background-color: rgba(0,0,0,0.3);
}

.statistics-module .module-statistics-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 20px;
}

.statistics-module .chart-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #000;
    font-size: 16px;
    column-gap: 16px;
    width: 50%;
}

.statistics-module .chart-item-icon {
    flex: none;
    height: 68px;
    width: 68px;
}

.statistics-module .chart-item-icon.success-icon {
    color: #73b438;
}

.statistics-module .chart-item-icon.error-icon {
    color: #e04f4f;
}

.statistics-module .chart-item .chart-item-value {
    font-weight: 700;
    font-size: 20px;
}

.statistics-module .chart-item .chart-item-label {
    margin-top: 6px;
    font-size: 15px;
}

.statistics-module .chart-item-stats {
    line-height: 1;
}

.statistics-module.disabled .module-title,
.statistics-module.disabled .chart-item .chart-item-icon,
.statistics-module.disabled .chart-item .chart-item-value,
.statistics-module.disabled .chart-item .chart-item-icon,
.statistics-module.disabled .chart-item .chart-item-label {
    color: #9F9F9F;
}

.statistics-module .chart-item.plain-item.filtered .chart-item-stats:not(.selected) {
    display: none;
}

.statistics-module .chart-item-line {
    width: 1px;
    height: 68px;
    background: #808080;
}

.statistics-module .line-large {
    width: 1px;
    height: 90px;
    background: #808080;
}

.statistics-module .chart-item-graphic {
    width: 90px;
    height: 90px;
    flex: none;
}

.statistics-module .main-graphic .chart-item-graphic {
    width: 120px;
    height: 120px;
    flex: none;
    position: relative;
}


.statistics-module .main-graphic {
    position: relative;
}

.statistics-module .main-graphic .chart-item {
    column-gap: 20px;
}

.statistics-module .main-graphic .chart-item-value {
    font-size: 32px;
}

.statistics-module .main-graphic .chart-item-stats {
    text-align: left;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.statistics-module .main-graphic .chart-item-label {
    font-size: 13px;
    color: #6D6D6D;
    margin-top: 4px;
}

.module-strengths-opportunities .statistics-module,
.module-exam-forecast.statistics-module {
    border: 1px solid #9F9F9F;
    padding: 20px;
    border-radius: 10px;
}

.module-exam-forecast .module-forecast-row {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.statistics-module.module-exam-forecast .module-forecast-row .chart-item {
    width: 100%;
    justify-content: center;
}

.module-exam-forecast .module-forecast-row .chart-item-line {
    display: block;
    margin: 20px auto;
    width: 100%;
    height: 1px;
    background: #CCCCCC;
}

.statistics-module-wrapper .module-strengths-opportunities {
    width: 380px;
}

.module-strengths-opportunities .module-header {
    margin-bottom: 8px;
}

.module-strengths-opportunities .module-title {
    font-size: 16px;
}

.module-strengths-opportunities .statistics-module .progress-items {
    row-gap: 10px;
}

.module-results .module-header {
    margin-bottom: 32px;
}

.statistics-module .exam-date-info {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    justify-content: space-between;
    column-gap: 8px;
}

.statistics-module .exam-date-info .chart-item-label {
    color: #6D6D6D;
    font-size: 14px;
    font-weight: 700;
}

.statistics-module .exam-date-info .chart-item-value,
.statistics-module .exam-date-info .chart-item-date-expired {
    font-size: 15px;
    color: #000;
    font-weight: 700;
}
.statistics-module .exam-date-info .chart-item-date-expired {
    color: #6D6D6D;
}

.statistics-module .exam-date-info .chart-item-label,
.statistics-module .exam-date-info .chart-item-value {
    margin: 0;
}

.statistics-module .exam-date-info-left,
.statistics-module .exam-date-info-right {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    row-gap: 6px;
}

.module-exam-forecast .module-forecast-row .chart-item-graphic {
    width: 70px;
    height: 70px;
}
/* END MODULE: STATISTICS --------------------------------------------- */

/* MODULE: STATISTICS CIRCULAR CHART ---------------------------------- */
.circular-progress {
    width: 100%;
    height: 100%;
    color: #a2b8df;
}

.circular-progress:not(.disabled)[data-color="blue"] {
    color: #a2b8df;
}

.circular-progress:not(.disabled)[data-color="yellow"] {
    color: #d3ad29;
}

.circular-progress:not(.disabled)[data-color="purple"] {
    color: #af88be;
}

.circular-progress:not(.disabled)[data-color="gray"] {
    color: #939393;
}

.circular-progress svg {
    width: 100%;
    height: 100%;
}

.circle-background,
.circle-progress {
    fill: none;
}

.circle-background {
    stroke: #D9D9D9;
}

.circular-progress.disabled .circle-background {stroke: #9F9F9F; }
.circular-progress.disabled {color: #9F9F9F; }

.circle-progress {
    stroke-linecap: round;
    stroke-linejoin: round;
}
/* END MODULE: STATISTICS CIRCULAR CHART ------------------------------ */

/* MODULE: STATISTICS MODULES -------------------------------------- */
.statistics-module.module-exam-results.disabled .module-title {
    color: #000;
}

.statistics-module .module-select {
    border: 0;
    background: #f2f2f2;
    border-radius: 0;
    outline: 0;
    height: 24px;
    min-width: 160px;
    padding-left: 4px;
    outline: 0;
    box-shadow: none;
}

.statistics-module .module-select:focus {
    background: #E5E5E5;
}

.statistics-module input[type="date"].module-select {
    box-shadow: none;
    font-size: 13px;
    min-width: 0;
    font-weight: 700;
    color: #666;
    padding: 0;
    background-color: transparent;
}

.statistics-module .form-field-input {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    row-gap: 7px;
    justify-content: flex-end;
}

.statistics-module .register-exam-date {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 8px;
    row-gap: 10px;
}

.statistics-module .register-exam-date label {
    margin: 0 0 6px;
    left: 0;
}
.statistics-module .register-exam-date .btn {
    padding: 8px 20px;
}

.statistics-module .exam-stats {
    display: flex;
    flex: 1;
    max-width: 360px;
    flex-direction: column;
    justify-content: flex-start;
    row-gap: 20px;
    padding-left: 0;
}

.statistics-module.disabled .exam-stats,
.statistics-module.disabled .row-total-value,
.statistics-module.disabled .stats-value {
    color: #9F9F9F;
}

.statistics-module .exam-stat[data-item] {
    display: none;
}

.statistics-module .exam-stat[data-item].selected {
    display: block;
}

.statistics-module .progress-chart-number,
.statistics-module .exam-stat .stat-value {
    font-weight: 700;
}

.statistics-module .exam-stat,
.statistics-module .progress-chart-labels {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.statistics-module .progress-chart {
    width: 100%;
}

.statistics-module .module-date {
    margin-top: 10px;
    color: #9D9D9D;
    font-size: 16px;
}

.statistics-module.disabled .module-date {
    display: none;
}

.statistics-module .progress-chart-indicator {
    margin-top: 4px;
    width: 100%;
    height: 6px;
    background-color: #CCC;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    margin-top: 10px;
}

.statistics-module .progress-chart-bar {
    width: 0;
    position: absolute;
    left: 0;
    height: 100%;
    border-radius: 20px;
    background-color: #af88be;
    transform-origin: left center;
    animation: horizontal-chart-bar 1.5s ease forwards; 
}

.statistics-module .progress-chart-indicator[data-color="blue"] .progress-chart-bar {
    background-color: #a2b8df;
}

.statistics-module .progress-chart-indicator[data-color="yellow"] .progress-chart-bar {
    background-color: #d3ad29;
}

.statistics-module .progress-chart-indicator[data-color="gray"] .progress-chart-bar {
    background-color: #828fa2;
}

.statistics-module .progress-chart-indicator[data-color="purple"] .progress-chart-bar {
    background-color: #af88be;
}

.statistics-module .progress-items {
    display: flex;
    flex-direction: column;
    row-gap: 15px;
}

.statistics-module .progress-items .progress-chart-text {
    font-size: 16px;
}

.statistics-module .progress-items .progress-chart-number {
    font-size: 16px;
    color: #000;
}

.statistics-module.disabled .progress-items .progress-chart-text,
.statistics-module.disabled .progress-items .progress-chart-number {
    color: #9F9F9F;
}

.statistics-module.disabled .progress-items .progress-chart-bar {
    display: none;
}

.statistics-module .btn.btn-simulation,
.statistics-module .form-field-input .btn {
    padding: 0 8px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 32px;
    font-size: 14px;
    font-weight: 700;
    flex: none;
}

.statistics-module .no-exam {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
    row-gap: 10px;
    column-gap: 8px;
}

.statistics-module .no-exam.forecast-results {
    justify-content: flex-start;
    column-gap: 14px;
    align-items: center;
}

.statistics-module .no-exam.forecast-results .chart-item-value {
    font-size: 22px;
}

.statistics-module .no-exam.forecast-results .chart-item-label {
    color: #6D6D6D;
}

.statistics-module .forecast-title {
    font-size: 17px;
    font-weight: 700;
    color: #000;
    margin: 0 0 2px;
}

.statistics-module .chart-item.chart-item-date {
    width: 100%;
}

.statistics-module .chart-item.chart-item-date .chart-item-stats {
    width: 100%;
}

.statistics-module .no-exam-content {
    flex: 1;
}

.statistics-module .no-exam-content .no-exam-description,
.statistics-module .register-exam-date .form-field-note {
    font-size: 12px;
    line-height: 1;
    margin-top: 3px;
    color: #999;
}

.statistics-module .no-exam-content .no-exam-title,
.statistics-module .register-exam-date label {
    margin: 0;
    font-size: 14px;
    line-height: 1.2;
    color: #808080;
}

.statistics-module .chart-item.align-to-bottom {
    align-self: flex-end;
}

.statistics-module .progress-chart.compact-style {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-content: space-between;
    column-gap: 10px;
}

.statistics-module .progress-chart.compact-style .progress-chart-number {
    width: 40px;
    font-size: 14px;
    flex: none;
    text-align: right;
}

.statistics-module .progress-chart.compact-style .progress-chart-indicator {
    flex: 1;
    margin-top: 0;
}

.statistics-module .progress-chart.compact-style .progress-chart-text {
    flex: none;
    font-size: 13px;
    width: 120px;
}

.statistics-module .exam-stat {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 15px;
}

.statistics-module .stats-row-total {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}

.statistics-module .row-total-value {
    font-weight: 700;
    color: #000;
}

.statistics-module .exam-stat .stats-row {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 10px;
    row-gap: 15px;
}

.statistics-module .module-global-content {
    flex: 1;
    max-width: 360px;
    width: 100%;
}

.statistics-module.module-global-progress .module-statistics-row {
    column-gap: 50px;
}

.statistics-module.module-global-progress .exam-stat .stats-row {
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
}

.statistics-module .exam-stat .stats-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 8px;
}

.statistics-module .exam-stat .stats-icon {
    flex: none;
    line-height: 0;
}

.statistics-module .exam-stat .stats-label {
    font-size: 14px;
}

.statistics-module .exam-stat .stats-icon svg {
    width: 38px;
    height: 38px;
}

.statistics-module.module-exam-results .exam-stat .stats-icon svg {
    width: 24px;
    height: 24px;
}

.statistics-module-wrapper .statistics-module .chart-item {
    width: auto;
}

.statistics-module .module-time-selector {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.statistics-module .module-time-selector-label {
    font-size: 16px;
}

.statistics-module .stats-row-total {
    font-size: 16px;
    margin-bottom: 20px;
}

.statistics-module:not(.disabled) .success-color { color: #72A53A; }
.statistics-module:not(.disabled) .error-color { color: #E65A4A; }
.statistics-module:not(.disabled) .neutral-color { color: #808080; }

.statistics-module .stats-value {
    font-weight: 700;
    color: #000;
}

.loader-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    display: none;
    justify-content: center;
    align-items: center;
}

.loader-item {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    position: relative;
    animation: rotate 1s linear infinite
}

.loader-item::before {
    content: "";
    box-sizing: border-box;
    position: absolute;
    inset: 0px;
    border-radius: 50%;
    border: 5px solid #af88be;
    animation: prixClipFix 2s linear infinite ;
}

.statistics-module-column {
    position: relative;
}

.statistics-module-column.loading .loader-wrapper {
    display: flex;
}

.statistics-module-column.loading .statistics-module {
    opacity: 0.3;
    pointer-events: none;
}

@keyframes rotate {
    100%   {transform: rotate(360deg)}
}

@keyframes prixClipFix {
    0%   {clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}
    25%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}
    50%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}
    75%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}
    100% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}
}
/* END MODULE: STATISTICS MODULES ------------------------------------- */

/* MODULE: MAIN STATISTICS CHART -------------------------------------- */
.statistics-module.chart-module {
    width: 100%;
    position: relative;
    margin-bottom: 40px;
}

.statistics-module.chart-module .module-header {
    justify-content: center;
}

.statistics-module.chart-module .module-title {
    text-align: center;
}

.statistics-module.chart-module::after {
    content: '';
    display: block;
    background: #FFF;
    width: 120px;
    height: 40px;
    position: absolute;
    left: 0;
    top: calc( 100% - 2px);
    clip-path: polygon(100% 0, 0 0, 0 100%);
}

.statistics-module.chart-module .module-body {
    display: flex;
    justify-content: space-between;
}

.statistics-module.chart-module .main-chart-item {
    width: calc(100% - 200px);
    height: 350px;
    position: relative;
}

.statistics-module.chart-module .secondary-chart-item {
    height: 350px;
    width: 160px;
}

.statistics-module.chart-module .secondary-chart-item canvas,
.statistics-module.chart-module .main-chart-item canvas {
    width: 100%;
}

@media (max-width: 1199px) {
    .statistics-module .module-statistics-row {
        column-gap: 40px;
    }

    .statistics-module .exam-stat .stats-row {
        grid-template-columns: 1fr 1fr;
    }

    .statistics-module-wrapper.module-results-wrapper, 
    .statistics-module-wrapper.module-global-wrapper {
        padding: 24px;
    }

    .statistics-module .main-graphic .chart-item-graphic {
        width: 100px;
        height: 100px;
    }

    .statistics-module .main-graphic .chart-item-value {
        font-size: 28px;
    }

    .statistics-module .stats-row-total, 
    .statistics-module .module-time-selector-label {
        font-size: 14px;
    }

    .statistics-module-wrapper .statistics-module-header .module-title {
        font-size: 20px;
    }
    
    .statistics-module-wrapper .module-strengths-opportunities {
        max-width: 340px;
    }

    .statistics-module.module-global-progress .module-statistics-row,
    .statistics-module .module-statistics-row {
        column-gap: 30px;
    }

    .statistics-module .module-time-filter button {
        height: 26px;
        font-size: 12px;
        padding: 0 6px;
    }
}

@media (max-width: 991px) {
    .statistics-wrapper .statistics-grid {
        row-gap: 15px;
    }
    
    .statistics-module {
        grid-column: span 2;
    }
    
    .statistics-module.chart-module .main-chart-item {
        width: 100%;
        min-height: 0;
        position: relative;
    }
    
    .statistics-module.chart-module .module-body {
        flex-direction: column-reverse;
        row-gap: 30px;
    }

    .statistics-module-wrapper.chart-module-wrapper {
        padding: 24px 12px;
    }

    .statistics-module.chart-module {
        margin-bottom: 0;
    }
    
    .statistics-module.chart-module .secondary-chart-item {
        display: none;
    }
    
    .statistics-wrapper .statistics-modules {
        padding-bottom: 32px;
    }
    
    .statistics-module.chart-module::after {
        width: 80px;
        height: 30px;
        left: -12px;
        top: calc(100% + 16px);
    }

    .statistics-module-wrapper {
        flex-direction: column;
        row-gap: 40px;
    }

    .statistics-module-wrapper .module-right-column {
        max-width: 100%;
        width: 100%;
    }

    .statistics-module .exam-stat .stats-row {
        grid-template-columns: repeat(3, 1fr);
    }

    .statistics-module-wrapper .statistics-module .chart-item.exam-stats {
        flex: 1;
    }

    .statistics-module-wrapper .module-global-progress {
        padding: 0;
        margin-top: -8px;
    }
}

@media (max-width: 767px) {
    .statistics-module {
        padding: 0;
    }

    .statistics-module-wrapper .statistics-module.module-exam-results .chart-item {
        width: 100%;
    }

    .statistics-module-wrapper .statistics-module .chart-item.exam-stats {
        width: 100%;
    }

    .statistics-module .module-header {
        margin-bottom: 12px;
    }

    .statistics-module .chart-item-graphic,
    .statistics-module .chart-item-icon {
        width: 120px;
        height: 120px;
    }

    .statistics-module .module-title,
    .statistics-module .chart-item .chart-item-value {
        font-size: 18px;
    }

    .statistics-module .chart-item,
    .statistics-module .chart-item .chart-item-label {
        font-size: 14px;
    }

    .statistics-module .progress-items .progress-chart-text,
    .statistics-module .progress-items .progress-chart-number {
        font-size: 14px;
    }

    .statistics-module.chart-module .module-overflow {
        overflow: auto;
    }

    .statistics-module.module-global-progress .module-statistics-row {
        flex-direction: column;
        row-gap: 35px;
    }

    .statistics-module.module-global-progress .exam-stat .stats-row {
        grid-template-columns: repeat(2, auto);
        justify-content: space-between;
    }

    .statistics-module .main-graphic .chart-item-graphic {
        width: 180px;
        height: 180px;
    }

    .statistics-module .main-graphic .chart-item-value {
        font-size: 32px;
    }

    .statistics-module .module-header {
        flex-direction: column;
        row-gap: 10px;
        text-align: left;
        align-items: flex-start;
    }

    .module-left-column .statistics-module .module-header {
        margin-bottom: 25px;
    }

    .statistics-module-wrapper {
        row-gap: 30px;
    }

    .module-left-column .statistics-module .module-title {
        font-size: 24px;
    }

    .statistics-module .module-statistics-row {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 15px;
    }

    .statistics-module .exam-stat .stats-row {
        grid-template-columns: repeat(2, auto);
        justify-content: space-between;
    }

    .statistics-module .module-global-content,
    .statistics-module-wrapper .statistics-module .chart-item.exam-stats {
        max-width: 100%;
    }
    
}

@media (max-width: 480px) {
    .statistics-module .module-header {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 8px;
    }

    .statistics-module .chart-item-line {
        width: 100%;
        height: 1px;
    }

    .statistics-module .module-time,
    .statistics-module .chart-item {
        width: 100%;
    }

    .statistics-module .exam-date-info,
    .statistics-module .no-exam {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        row-gap: 20px;
    }

    .statistics-module-wrapper.module-results-wrapper, 
    .statistics-module-wrapper.module-global-wrapper {
        padding: 24px 16px;
    }
}
/* END MODULE: MAIN STATISTICS CHART ---------------------------------- */

/* MODULE: STATISTICS TOPICS ------------------------------------------ */
.topics-wrapper .topics-heading {
    background: #D9D9D9;
    padding-top: 0;
}

.topics-wrapper .container {
    display: flex;
    min-height: 70px;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.topics-wrapper .topics-title {
    font-weight: 700;
    font-size: 20px;
    color: #000;
    margin: 0;
}

.topics-wrapper .topics-container {
    padding-top: 30px;
    padding-bottom: 30px;
}

.topics-table {
    border: 1px solid #D1D1D1;
} 

.topics-table th,
.topics-table td {
    color: #000;
    text-align: center;
} 

.topics-table td:first-child,
.topics-table th:first-child {
    text-align: left;
}

.topics-table th .nowrap {
    width: 82px;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 4px;
}

.topics-table th .nowrap i {
    display: inline-block;
    flex: 0;
}

.topics-table td.td-time {
    width: 100px;
}

.topics-table td.td-rate {
    width: 140px;
}

.topics-table td.td-score .circular-progress {
    width: 36px;
    height: 36px;
}

.topics-table td.td-score .topic-chart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    row-gap: 8px;
}

.topics-table th {
    font-size: 14px;
    padding: 15px 10px;
}

.topics-table td {
    font-size: 14px;
}

.topics-table tr:nth-child(odd) td {
    background: #F3F3F3;
}

.topics-table tr:nth-child(even) td {
    background: #FFF;
}

.topics-table td .fa-check {color: #73b438; }
.topics-table td .fa-times {color: #e04f4f;}

.topics-table .mark-item {
    color: #A6A6A6;
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    padding: 4px;
    background-color: transparent;
    cursor: pointer;
    font-size: 16px;
}

.topics-table .mark-item:hover {
    color: #000;
}

.topics-table .mark-item.marked {
    color: #b4151d;
}

.topics-table a.btn-view {
    border: 1px solid #000;
    background: transparent;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 36px;
    font-size: 14px;
    padding: 2px 0 0 0;
    color: #000 !important;
}

.topics-table a.btn-view:hover {
    background: #BABABA;
    border: 1px solid #000;
}

.topics-table a.view-action {
    color: #4AA3D2;
    font-weight: 700;
    text-decoration: underline;
}

.topics-table a.view-action:hover {
    color: #000;
}

.topics-wrapper .topics-heading .no-topic-selected {
    text-align: left;
    margin-top: 8px;
    display: block;
    font-size: 16px;
}

.topics-wrapper .topics-heading .container {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 0;
}

@media (max-width: 991px) {
    .topics-table {
        display: block;
        border-bottom: 0;
    }
    
    .topics-table tbody {
        display: block;
    }

    .topics-table thead {
        display: none;
    }
    
    .topics-table tr {
        display: grid;
        width: 100%;
        padding: 6px;
        justify-content: flex-start;
        border-bottom: 1px solid #D1D1D1;
        grid-template-columns: 1fr auto auto;
        grid-template-rows: repeat(2, auto);
    }

    .topics-table tr:nth-child(odd) {
        background: #F1F1F1;
    }

    .topics-table tr td {
        display: flex;
        background: transparent;
        border: none;
        padding: 4px 6px;
    }

    .topics-table td.td-title {
        grid-area: 1 / 1 / span 1 / span 1;
        align-items: flex-end;
        font-weight: 700;
    }

    .topics-table td.td-time {
        grid-area: 2 / 1 / span 1 / span 1;
        align-items: flex-start;
    }
    
    .topics-table td.table-action {
        grid-area: 2 / -1 / span 1 / span 1;
    }
    
    .topics-table td.td-score {
        grid-area: 1 / 2 / span 2 / span 1;
        justify-content: center;
    }
    
    .topics-table td.td-rate {
        grid-area: 2 / 2 / span 1 / span 1;
    }

    .topics-table td.td-view {
        grid-area: 1 / -1 / span 1 / span 1;
        text-align: center;
        justify-content: center;
    }

    .topics-table td.td-hide-mobile {
        display: none;
    }

    .topics-table td.td-score .topic-chart {
        flex-direction: column;
        font-size: 14px;
        row-gap: 10px;
    }

    .topics-table td.td-score .circular-progress {
        width: 32px;
        height: 32px;
    }

    .topics-table a.btn-view {
        width: 80px;
        height: 32px;
    }

    .topics-wrapper .topics-container {
        padding-top: 15px;
        padding-bottom: 0;
    }

    .topics-wrapper .topics-heading .no-topic-selected {
        font-size: 14px;
        margin-top: 5px;
    }
}
/* END MODULE: STATISTICS TOPICS -------------------------------------- */

/* MODULE: STATISTICS PREDICTION BLOCK -------------------------------- */
.statistics-module-prediction {
    width: 100%;
    max-width: 380px;
    border: 1px solid #6D6D6D;
    border-radius: 10px;
    padding: 20px;
}

.statistics-module-prediction .prediction-module-bottom {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #D9D9D9;
}

.statistics-module-prediction .prediction-bottom-state,
.statistics-module-prediction .prediction-top-state {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 20px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    color: #6D6D6D;
}

.statistics-module-prediction .prediction-bottom-left,
.statistics-module-prediction .prediction-bottom-right {
    display: flex;
    flex-direction: column;
    row-gap: 5px;
}

.statistics-module-prediction .prediction-bottom-state.register-date-state,
.statistics-module-prediction .prediction-bottom-state.update-date-state {
    align-items: stretch;
    justify-content: space-between;
}

.statistics-module-prediction .register-date-state .prediction-bottom-left,
.statistics-module-prediction .update-date-state .prediction-bottom-left {
    justify-content: center;
}

.statistics-module-prediction .prediction-bottom-state .prediction-date {
    color: #000;
    box-shadow: none;
    padding: 0;
    border: 0;
    margin: 0;
    font-size: 14px;
    font-family: "Avenir","Open Sans","Helvetica Neue", sans-serif;
    font-weight: 700;
    outline: 0;
}

.statistics-module-prediction .prediction-bottom-state .prediction-date:focus {
    color: #000;
}

.statistics-module-prediction .prediction-form-label,
.statistics-module-prediction .prediction-form-value {
    font-weight: 700;
    color: #000;
    font-size: 14px;
}

.statistics-module-prediction .register-date-state .prediction-form-label {
    color: #000;
}

.statistics-module-prediction .btn.btn-take-exam,
.statistics-module-prediction .prediction-submit {
    padding: 4px 10px 2px;
    display: flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    white-space: nowrap;
    margin: 0;
}

.statistics-module-prediction .prediction-submit {
    width: 122px;
    padding: 0 8px 2px;
    min-height: 28px;
    margin-left: auto;
}

.statistics-module-prediction .prediction-submit[disabled] {
    color: #FFF;
    background: #999;
    border: 1px solid #999;
}

.statistics-module-prediction .take-exam-state .prediction-top-right,
.statistics-module-prediction .retake-exam-state .prediction-top-right {
    flex: none;
}

.statistics-module-prediction .prediction-results-state {
    justify-content: flex-start;
    align-items: center;
}

.statistics-module-prediction .prediction-results-state .prediction-top-right {
    flex: none;
}

.statistics-module-prediction .prediction-chart {
    width: 78px;
    height: 78px;
}

.statistics-module-prediction .prediction-stats {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    row-gap: 3px;
    line-height: 1;
    color: #000;
    font-weight: 700;
}

.statistics-module-prediction .prediction-stats-title {
    margin: 0;
    font-size: 15px;
}

.statistics-module-prediction .prediction-stats-value {
    font-size: 28px;
}

.statistics-module-prediction .prediction-stats-legend {
    font-size: 13px;
    color: #6D6D6D;
    font-weight: 400;
}

@media (max-width: 1199px) {
    .statistics-module-wrapper.module-global-wrapper {
        grid-template-columns: auto 340px;
    }
    
    .statistics-module-prediction {
        max-width: 340px;
    }
}

@media (max-width: 991px) {
    .statistics-module-wrapper.module-global-wrapper {
        grid-template-columns: auto;
        row-gap: 40px;
    }

    .statistics-module-prediction {
        max-width: 100%;
    }
}
/* END MODULE: STATISTICS PREDICTION BLOCK ---------------------------- */


/* MODULE: QUIZ PROMOCIONAL ------------------------------------------ */
.main-wrapper.quiz-promocional {
    padding-top: 0;
    padding-bottom: 0;
}

.main-wrapper.quiz-promocional .results-header {
    background: rgb(210,172,42);
    background: radial-gradient(circle, rgba(210,172,42,1) 0%, rgba(201,163,215,1) 52%, rgba(177,208,241,1) 100%);
}

.main-wrapper.quiz-promocional .results-header .container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 92px;
}

.main-wrapper.quiz-promocional .results-header .page-title {
    padding: 20px 0;
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    color: #000;
}

.quiz-promocional .results-forecast {
    background: #F4F4F4;
    color: #000;
    padding: 24px 0;
    text-align: center;
    line-height: 1.4;
}

.quiz-promocional .results-forecast strong {
    white-space: nowrap;
}

.quiz-promocional .results-forecast h3 {
    font-size: 26px;
    font-weight: 400;
    margin: 0;
}

.quiz-promocional .results-forecast p {
    margin-top: 12px;
    font-size: 20px;
    margin-bottom: 0;
}

.quiz-promocional .result-columns {
    padding: 56px 0;
}

.quiz-promocional .discount-code-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    row-gap: 36px;
    line-height: 1;
    width: 352px;
}

.quiz-promocional .discount-code {
    font-size: 36px;
}

.quiz-promocional .discount-code-title {
    text-align: center;
    font-size: 22px;
    line-height: 1.25;
    margin: 0;
}

.quiz-promocional .discount-code-title .big-text {
    font-size: 26px;
    display: block;
    font-weight: 700;
}

.quiz-promocional .discount-code-expiration {
    font-size: 20px;
    text-transform: uppercase;
}

.quiz-promocional .discount-code-expiration .mini-countdown {
    color: #D62626;
    display: inline-block;
    font-weight: 700;
}

.quiz-promocional .results-grid {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: auto;
    margin: 0 auto;
    column-gap: 60px;
    row-gap: 20px;
    width: 100%;
    max-width: 710px;
}

.quiz-promocional .action-item {
    text-align: center;
}

.quiz-promocional .result-image {
    text-align: center;
}

.quiz-promocional .result-image img {
    width: 100%;
    max-width: 278px;
    height: auto;
}

.quiz-promocional .action-item .btn {
    height: 64px;
    width: 326px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    font-weight: 700;
    margin: 0 auto;
}

@media (max-width: 991px) {
    .quiz-promocional .results-grid {
        grid-template-columns: 1fr;
    }
    
    .quiz-promocional .action-test {
        order: 4;
    }
    
    .quiz-promocional .action-code {
        order: 3;
    }
    
    .quiz-promocional .discount-code-wrapper {
        margin: 0 auto 25px;
        row-gap: 25px;
    }
}

@media (max-width: 767px) {
    .main-wrapper.quiz-promocional .results-header .page-title {
        font-size: 24px;
        padding: 15px 0;   
    }
    
    .main-wrapper.quiz-promocional .results-header .container {
        justify-content: center;
    }
    
    .quiz-promocional .results-forecast h3 {
        font-size: 24px;
    }
    
    .quiz-promocional .results-forecast p {
        font-size: 18px;
    }
    
    .quiz-promocional .discount-code {
        font-size: 32px;
    }
    
    .quiz-promocional .discount-code-title {
        font-size: 20px;
    }
    
    .quiz-promocional .discount-code-title .big-text {
        font-size: 24px;
    }
    
    .quiz-promocional .action-item .btn {
        height: 56px;
    }
}
/* END MODULE: QUIZ PROMOCIONAL -------------------------------------- */

/* MODULE: LANDING PAQUETE- ------------------------------------------ */
.promo-banner.paquete-banner {
    margin-top: 0;
}

.promo-banner.paquete-banner .banner-buttons .banner-button {
    margin-top: 34px;
    display: flex;
    column-gap: 14px;
    justify-content: center;
    align-items: center;
}

.promo-banner.paquete-banner .banner-buttons .btn {
    margin: 0;
}

.landing-paquete .testimonies-wrapper {
    padding: 84px 0;
}

.landing-paquete .container.testimonies-heading {
    margin-bottom: 112px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 32px;
    color: #000;
}

.landing-paquete .testimony-copy {
    font-size: 26px;
    line-height: 1.23;
}

.landing-paquete .testimony-big-title {
    color: #000;
    font-size: 34px;
    line-height: 1.2;
    margin: 0;
    max-width: 710px;
}

.testimonies-cta {
    margin-top: 98px;
    width: 100%;
    text-align: center;
}

.testimonies-cta a.btn {   
    font-weight: 700;
    display: inline-block;
    padding: 12px 34px;
    font-size: 14px;
}

.landing-paquete .faq-wrapper {
    background: #000;
    color: #FFF;
    padding: 84px 0;
}

.landing-paquete .faq-wrapper .faq-wrapper-heading {
    margin-bottom: 72px;
}

.landing-paquete .faq-wrapper .faq-title {
    font-size: 34px;
    line-height: 1.205;
    font-weight: 600;
    text-align: center;
}

.landing-paquete .faq-wrapper .faq-title {
    font-size: 34px;
    line-height: 1.205;
    font-weight: 600;
    text-align: center;
}

.landing-paquete .faq-item-title {
    line-height: 1.2;
    font-size: 26px;
    font-weight: 700;
    border-bottom: 1px dotted #FFF;
    padding-bottom: 10px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
}

.landing-paquete .faq-item-title i {
    flex: none;
    font-size: 22px;
    transition: all 0.3s ease;
}

.landing-paquete .faq-item-title.active i {
    transform: rotate(90deg);
}

.landing-paquete .faq-item-content {
    padding: 36px 40px 0 40px;
    font-size: 22px;
    line-height: 1.3;
}

.landing-paquete .faq-item-content ul {
    margin: 0;
    padding-left: 25px;
}
.landing-paquete .faq-item-content p + ul {
    margin: 30px 0;
}

.landing-paquete .faq-item + .faq-item {
    padding-top: 66px;
}

.landing-paquete .courses-wrapper {
    padding: 84px 0;
}

.landing-paquete .courses-wrapper-heading {
    margin-bottom: 72px;
    text-align: center;
}

.landing-paquete .courses-wrapper-heading .courses-title {
    color: #000;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.205;
}

.landing-paquete .courses-wrapper-heading .courses-title span {
    display: block;
}

.landing-paquete .courses-list {
    display: flex;
    justify-content: space-between;
    column-gap: 18px;
}

.landing-paquete .course-item {
    border-radius: 20px;
    flex: 1;
    background: #a2b8df;
}

.landing-paquete .course-item .course-item-ribbon {
    background: #ed174d;
    width: 162px;
    display: none;
    align-items: center;
    justify-content: center;
    height: 40px;
    font-size: 17px;
    font-weight: 700;
    color: #FFF;
    position: absolute;
    right: 0;
    border-radius: 0 20px 0 20px;
    top: 0;
}

.landing-paquete .course-item .course-item-logo {
    position: relative;
}

.landing-paquete .course-item .course-item-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    column-gap: 12px;
    font-size: 32px;
    line-height: 28px;
    font-weight: 700;
    color: #FFF;
    margin-top: 16px;
}

.landing-paquete .course-item .course-item-price s {
    color: #D9D9D9;
}

.landing-paquete .course-item:nth-child(2) {
    background: #af88be;
}

.landing-paquete .course-item:nth-child(3) {
    background: #d3ad29;
}

.landing-paquete .course-item .course-item-header {
    height: 184px;
    padding-top: 80px;
    display: flex;
    flex-direction: column;
    position: relative;
    align-items: center;
    justify-content: flex-start;
}


.landing-paquete .course-item .course-item-header img {
    width: 134px;
    height: auto;
}

.landing-paquete .course-item .course-name {
    font-size: 24px;
    font-weight: 700;
    color: #D9D9D9;
    width: 100px;
    height: 32px;
    padding-top: 4px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #000;
    line-height: 0;
    margin-left: 6px;
}

.landing-paquete .course-item .course-item-content {
    padding: 38px 40px;
    background: #D9D9D9;
}

.landing-paquete .course-item .course-item-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 16px;
    line-height: 1.25;
}

.landing-paquete .course-item .course-item-footer {
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.landing-paquete .course-item .course-item-footer .btn {
    font-size: 14px;
    font-weight: 700;
    padding: 12px 40px;
}

.landing-paquete .course-item .course-item-footer .btn:hover {
    background: #FFF;
    color: #000 !important;
}

.landing-paquete .ribbon-banner {
    background: #d3ad29;
    padding: 40px 0;
}

.landing-paquete .ribbon-banner .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 40px;
}

.landing-paquete .ribbon-content {
    flex: 1;
    font-size: 22px;
    line-height: 1.2;
    color: #000;
}

.landing-paquete .ribbon-buttons {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    column-gap: 24px;
}

.landing-paquete .ribbon-buttons a {
    padding: 15px 14px 12px;
    font-weight: 700;
}

.landing-paquete .ribbon-buttons a:hover {
    color: #000 !important;
    background: #FFF;
}

.landing-paquete .summary-wrapper {
    padding: 84px 0;
}

.landing-paquete .summary-wrapper .summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 52px;
}

.landing-paquete .summary-wrapper .summary-row-content {
    line-height: 1.3;
    font-size: 22px;
    color: #000;
}

.landing-paquete .summary-wrapper .summary-row-content p + p {
    margin-top: 30px;
}

.landing-paquete .summary-wrapper .big-content {
    font-weight: 700;
    font-size: 26px;
    margin-top: 45px;
}

.landing-paquete .summary-wrapper .summary-row > div:first-child {
    width: 495px;
    flex: none;
}

.landing-paquete .summary-wrapper .summary-row > div:last-child {
    flex: 1;
}

.landing-paquete .summary-wrapper .summary-row-image img {
    width: 100%;
    height: auto;
}

.landing-paquete .summary-wrapper .summary-row + .summary-row {
    margin-top: 90px;
}

.landing-paquete .summary-info {
    display: grid;
    align-items: flex-start;
    grid-template-columns: auto 1fr;
    column-gap: 14px;
    row-gap: 12px;
    font-size: 18px;
    line-height: 1.35;
    margin-top: 40px;
}

.landing-paquete .summary-info .summary-info-th {
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 6px;
    text-align: right;
}

.landing-paquete .summary-info .summary-info-th img,
.landing-paquete .summary-info .summary-info-th svg {
    width: 22px;
    height: auto;
    position: relative;
    line-height: 0;
    top: -3px;
}

.landing-paquete .main-banner {
    position: relative;
    overflow: hidden;
    height: 705px;
}

.landing-paquete .banner-image-slider {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.landing-paquete .banner-image-slider .splide {
    width: 100%;
    height: 100%;
}

.landing-paquete .banner-image-slider .splide__track,
.landing-paquete .banner-image-slider .splide__slide {
    height: 100%;
}

.landing-paquete .image-slider-item {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.landing-paquete .banner-text {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: 44px;
    width: 100%;
    max-width: 700px;
}

.landing-paquete .banner-text .btn {
    margin: 0;
}

.landing-paquete .banner-title {
    font-size: 44px;
    line-height: 1.25;
    color: #FFF;
}

.landing-paquete .banner-copy {
    color: #FFF;
    font-size: 20px;
    line-height: 1.4;
    text-transform: uppercase;
}

.landing-paquete .slider-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 26px;
}

.landing-paquete .slider-buttons .btn {
    width: 102px;
    height: 48px;
    line-height: 1;
    font-size: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.landing-paquete .slider-buttons .btn:nth-child(1):hover,
.promo-banner.paquete-banner .banner-buttons .btn:nth-child(1):hover { background: #a2b8df !important; }

.landing-paquete .slider-buttons .btn:nth-child(2):hover,
.promo-banner.paquete-banner .banner-buttons .btn:nth-child(2):hover { background: #af88be !important; }

.landing-paquete .slider-buttons .btn:nth-child(3):hover,
.promo-banner.paquete-banner .banner-buttons .btn:nth-child(3):hover { background: #d3ad29 !important; }

.landing-paquete .discount-active .course-item-ribbon { display: inline-flex; }

/* Discount inactive */
.landing-paquete .courses-wrapper:not(.discount-active) .current-price { display: none; }
.landing-paquete .courses-wrapper:not(.discount-active) .old-price {
    text-decoration: none;
    color: #FFF;
}

/* Banner Button ---------------------------- */
.promo-banner .banner-buttons .btn {
    padding: 0 15px;
    text-transform: uppercase;
}

/* Responsive ------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
    html #footer.footer-wrapper.footer-full .footer-row {
        display: grid;
        row-gap: 60px;
        column-gap: 40px;
        grid-template-columns: 1fr 1fr;   
    }

    html #footer.footer-wrapper.footer-full h4 {
        margin-bottom: 28px;
    }
}

@media (max-width: 991px) {
    .landing-paquete .banner-text {
        row-gap: 30px;
    }

    .landing-paquete .banner-title {
        font-size: 32px;
    }   

    .landing-paquete .banner-copy {
        font-size: 16px;
    }

    .landing-paquete .banner-buttons {
        column-gap: 18px;
    }

    .landing-paquete .summary-wrapper,
    .landing-paquete .courses-wrapper,
    .landing-paquete .faq-wrapper,
    .landing-paquete .testimonies-wrapper {
        padding: 72px 0;
    }

    .landing-paquete .courses-wrapper-heading,
    .landing-paquete .faq-wrapper .faq-wrapper-heading {
        margin-bottom: 48px;
    }

    .landing-paquete .summary-wrapper .summary-row > div:first-child {
        width: 100%;
    }

    .landing-paquete .summary-wrapper .summary-row {
        flex-direction: column;
        row-gap: 40px;
    }
    
    .landing-paquete .summary-wrapper .summary-row.first-row {
        flex-direction: column-reverse;
    }

    .landing-paquete .summary-wrapper .summary-row.first-row .summary-row-image {
        max-width: 540px;
    }

    .landing-paquete .ribbon-banner .container {
        flex-direction: column;
        text-align: center;
        row-gap: 20px;
    }

    .landing-paquete .courses-list {
        row-gap: 30px;
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
        flex-direction: column;
    }

    .landing-paquete .faq-item-title {
        font-size: 22px;
    }

    .landing-paquete .container.testimonies-heading {
        margin-bottom: 84px;
    }
}

@media (max-width: 767px) {
    .landing-paquete .summary-wrapper, 
    .landing-paquete .courses-wrapper, 
    .landing-paquete .faq-wrapper, 
    .landing-paquete .testimonies-wrapper {
        padding: 64px 0;
    }

    .landing-paquete .summary-wrapper .summary-row-content,
    .landing-paquete .summary-info .summary-info-th {
        font-size: 18px;
    }

    .landing-paquete .summary-info {
        font-size: 16px;
    }

    .landing-paquete .summary-wrapper .summary-row + .summary-row {
        margin-top: 60px;
    }

    .landing-paquete .summary-wrapper .big-content {
        font-size: 20px;
    }

    .landing-paquete .ribbon-content {
        font-size: 18px;
    }

    .landing-paquete .ribbon-content br {
        display: none;
    }

    .landing-paquete .ribbon-buttons {
        column-gap: 10px;
    }

    .landing-paquete .courses-wrapper-heading .courses-title {
        font-size: 26px;
    }

    .landing-paquete .banner-text,
    .landing-paquete .banner-title {
        text-align: center;
    }

    .landing-paquete .main-banner .banner-text {
        align-items: center;
    }

    .landing-paquete .slider-buttons {
        column-gap: 10px;
    }

    .landing-paquete .main-banner {
        height: 580px;
    }

    .landing-paquete .faq-wrapper .faq-title,
    .landing-paquete .testimony-big-title {
        font-size: 26px;
    }

    .landing-paquete .faq-item-title,
    .landing-paquete .testimony-copy {
        font-size: 20px;
    }

    .landing-paquete .container.testimonies-heading {
        margin-bottom: 48px;
    }

    .landing-paquete .faq-item + .faq-item {
        padding-top: 40px;
    }

    .landing-paquete .faq-item-content {
        font-size: 16px;
        padding: 30px 20px 0 20px;
    }

    .landing-paquete .testimonies-cta {
        margin-top: 36px;
    }

    .promo-banner.paquete-banner .banner-buttons .banner-button{
        flex-direction: column;
        row-gap: 15px;
    }

    .landing-paquete .ribbon-buttons {
       row-gap: 10px;
       flex-direction: column;
    }

    .landing-paquete .ribbon-buttons .btn {
        width: 160px;
    }
}
@media (max-width: 440px) {
    .landing-paquete .summary-info {
        grid-template-columns: 1fr;
        row-gap: 6px;
        margin-top: 20px;
    }

    .landing-paquete .summary-info .summary-info-th {
        justify-content: flex-start;
        padding-top: 10px;
    }

    .landing-paquete .course-item .course-name {
        font-size: 18px;
        height: 28px;
        width: 80px;
    }

    .landing-paquete .course-item .course-item-header img {
        width: 120px;
    }

    .landing-paquete .course-item .course-item-price {
        font-size: 28px;
    }

    .landing-paquete .course-item .course-item-footer {
        height: 100px;
    }

    .landing-paquete .course-item .course-item-content {
        padding: 30px;
    }

    .landing-paquete .slider-buttons .btn {
        width: 90px;
        height: 44px;
        font-size: 18px;
    }
}
/* END MODULE: LANDING PAQUETE ---------------------------------------- */

/* MODULE: CHECKOUT --------------------------------------------------- */
.checkout-content .form-field select {
    margin: 0;
    width: 100%;
    max-width: 620px;
    height: 40px;
    padding: 0 10px;
    font: 400 14px / 1em "Avenir", "Open Sans", "Helvetica Neue", sans-serif;
}
/* END MODULE: CHECKOUT ----------------------------------------------- */

/* MODULE: VISUAL FIXES ----------------------------------------------- */
.main-wrapper.test-wrapper .test-list .time {
    flex: none;
}

.main-wrapper.test-wrapper .test-list .test-item .btn {
    padding-left: 6px;
    padding-right: 6px;
    flex: none;
}
/* END MODULE: VISUAL FIXES ------------------------------------------- */

/* MODULE: LANDING UNAM ----------------------------------------------- */
.landing-page .promo-examen h2 span {
    display: block;
}

.landing-page .features-wrapper .feature-thumb {
    background: transparent;
}

.landing-page .stats-wrapper {
    background: #000;
    color: #FFF;
    padding: 35px 0;
}

.landing-page .stats-wrapper .container {
    column-gap: 24px;
}

.landing-page .stat-item__item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: 12px;
}

.landing-page .stat-item__item-image {
    flex: none;
    width: 94px;
    line-height: 0;
}

.landing-page .stat-item:nth-child(2) .stat-item__item-image {
    width: 70px;
}

.landing-page .stat-item__item-text {
    flex: 1;
}

.landing-page .contact-form-section {
    background: #FFF;
}

/* FAQ Section ------------------------------ */
.landing-page .faq-section {
    padding: 84px 0;
    color: #FFF;
    background: #000;
}

.landing-page .faq-section__title {
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 72px;
    font-size: 34px;
}

.landing-page .faq-item .faq-title {
    padding-left: 0;
    font-size: 26px;
    font-weight: 700;
}

.landing-page .faq-questions {
    display: flex;
    flex-direction: column;
    row-gap: 66px;
}

.landing-page .faq-item {
    width: 100%;
}

.landing-page .faq-item .faq-answer {
    font-size: 22px;
    padding: 38px 0 0;
}

/* Responsive ------------------------------- */
@media (min-width: 992px) {
    .landing-page .contact-form-wrapper .contact-form-image {
        width: 380px;
    }
}

@media (max-width: 1199px) {
    .landing-page .stat-item__item-text {
        font-size: 18px;
    }
    
    
    .landing-page .stat-item__item-image {
        width: 75px;
    }

    .landing-page .stat-item:nth-child(2) .stat-item__item-image {
        width: 56px;
    }
}

@media (max-width: 991px) {
    .landing-page .promo-examen h2 span {
        display: inline;
    }
    
    .landing-page .promo-examen .btn {
        padding: 12px;
        flex: none;
    }
}

@media (max-width: 768px) {
    .landing-page .stats-wrapper .container {
        flex-direction: column;
        row-gap: 24px;
        padding: 0 30px;
    }
    
    .landing-page .stats-wrapper .stat-item {
        width: 60%;
        margin: 0 auto;
    }

    .landing-page .stat-item__item-text {
        text-align: left;
    }

    .landing-page .stat-item__item {
        justify-content: center;
    }

    .landing-page .stat-item__item-text {
        flex: 0 0 auto;
    }

    .landing-page .faq-questions {
        row-gap: 36px;   
    }

    .landing-page .faq-section__title {
        font-size: 24px;
        margin-bottom: 42px;
    }

    .landing-page .faq-item .faq-title {
        font-size: 20px;
        line-height: 1.2;
    }
    
    .landing-page .faq-item .faq-answer {
        padding-top: 24px;
        font-size: 16px;
    }
}

@media (max-width: 540px) {
    div.time-wrapper .time-info,
    .landing-page .stats-wrapper .stat-item {
        width: 100%;
    }

    .landing-page .stat-item__item-text {
        flex: 1;
        text-align: center;
    }

    .landing-page .stat-item__item {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        row-gap: 10px;
    }

    .landing-page .faq-section {
        padding: 64px 0;
    }

    .landing-page .faq-questions {
        row-gap: 24px;
    }

    .landing-page .faq-item .faq-title {
        font-size: 18px;
    }
}
/* END MODULE: LANDING UNAM- ------------------------------------------ */

/* MODULE: BLOG SECTION ----------------------------------------------- */
.blog-section {
    padding: 80px 0;
    background: #a2b8df;
}

.blog-section__grid {
    display: grid;
    grid-template-columns: 438px 1fr 1fr;
    grid-template-rows: auto auto;
    column-gap: 24px;
    row-gap: 24px;
}

.blog-section__aside {
    display: flex;
    width: 100%;
    row-gap: 46px;
    padding: 52px 26px;
    flex-direction: column;
    align-items: flex-start;
    flex-shrink: 0;
    background: #4A6389;
    color: #FFF;
    grid-column: 1 / 2;
    grid-row: 1 / -1;
}

.blog-section__aside-header {
    width: 100%;
}

.blog-section__title {
    line-height: 1.09;
    margin: 0;
    font-size: 22px;
}

.blog-section__copy {
    font-size: 14px;
    margin-top: 15px;
    line-height: 1.07;
}

.blog-section__nav {
    display: flex;
    flex-direction: column;
    row-gap: 18px;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

li.blog-section__nav-item {
    position: relative;
    padding: 0 0 0 35px;
}

.blog-section__nav-item a {
    color: #FFF;
}

.blog-section__nav-item a:hover {
    color: #000;
}

.blog-section__nav-item i {
    font-size: 22px;
    position: absolute;
    left: 0;
    top: 0;
}

.blog-section .nav-item__title {
    font-size: 20px;
    line-height: 1.15;
    margin: 0;
}

.blog-section .nav-item__description {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.31;
}

.blog-section__aside .btn {
    height: 48px;
    font-weight: 700;
    padding: 6px 25px 2px;
}

.blog-section__post {
    display: flex;
    width: 100%;
    flex: 1;
    padding: 12px 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    border-radius: 12px;
    border: 1px solid #000;
    background: #FFF;
    color: #000;
}

.blog-section__post-link {
    display: block;
    color: #000;
}

.blog-section__post-link:hover {
    color: #000;
}

.post-item__image {
    width: 100%;
    height: 124px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}

.post-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-item__title {
    color: #000;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.05;
    text-transform: uppercase;
}

@media (max-width: 1199px) {
    .blog-section__grid {
        grid-template-columns: 340px 1fr 1fr;
        column-gap: 18px;
        row-gap: 18px;
    }
}

@media (max-width: 991px) {
    .blog-section {
        padding: 64px 0;
    }

    .blog-section__grid {
        grid-template-columns: 1fr 1fr;
        row-gap: 18px;
    }

    .blog-section__aside {
        padding: 32px 26px;
        grid-column: 1 / -1;
        grid-row: 1 / span 1;
    }

    .blog-section__post {
        padding: 12px;
    }
}

@media (max-width: 560px) {
    .blog-section__grid {
        grid-template-columns: 1fr;
        row-gap: 18px;
    }
}
/* END MODULE: BLOG SECTION ------------------------------------------- */

/* MODULE: AREAS SECTION ---------------------------------------------- */
.areas-section {
    padding: 60px 0;
    background: #af88be;
    color: #FFF;
}

.areas-section__title {
    text-align: center;
    margin-bottom: 40px;
    text-transform: uppercase;

    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.66px;
}

.areas-section__cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
    row-gap: 20px;
    color: #000;
}

.area-card__item {
    background: #FFF;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.area-card__image {
    width: 194px;
    height: 100%;
    position: absolute;
    left: 4px;
    top: 0;
}

.area-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}

.area-card__content {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
    padding: 12px 4px 12px 205px;
}

.area-card__title {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 700;
    margin: 0;
}

.area-card__description {
    margin: 0;
}

.area-card__description,
.area-card__features {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.area-card__features::before {
    background: #af88be;
    width: 88px;
    height: 5px;
    display: block;
    content: '';
    margin-bottom: 12px;
} 

.area-card__features-list {
    margin: 0;
    list-style-position: inside;
    margin-top: 4px;
}

.area-card__features-list li {
    padding: 0;
}

/* Table ------------------------------------ */   
.areas-section__table {
    overflow-x: auto;
    margin-top: 42px;
}

.areas-table {
    border-collapse: collapse;
    width: 100%;
    min-width: 1050px;
    color: #000;
    table-layout: fixed;
    margin-bottom: 0;
}

.areas-table th,
.areas-table td {
    padding: 16px 7px;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #D4D4D8;
    text-align: center;
}

.areas-table th.th-sticky,
.areas-table td.th-sticky {
    left: 0;
    z-index: 1;
    text-align: left;
    position: sticky;
    padding-left: 30px;
    color: #18181B;
    background: #DADCDF;
    border-color: #bbbbbd;
}

.areas-table tr:first-child th.area-title.th-sticky {
    background: #B2B7C0;
}

.areas-table tr:nth-child(odd) th.th-sticky,
.areas-table tr:nth-child(odd) th.td-sticky {
    background: #D1D3D6;
}

.areas-table tbody tr th.th-sticky {
    font-size: 18px;
}

.areas-table tbody tr:first-child th.th-sticky,
.areas-table tbody tr:last-child th.th-sticky {
    font-size: 16px;
    font-weight: 700;
}


.areas-table thead th {
    padding: 0 10px;
    background: transparent;
    border: 0;
}

.areas-table thead th:nth-child(2) {
    padding-left: 0;
}

.areas-table thead th:last-child {
    padding-right: 0;
}

.areas-table thead .col-name {
    color: #FFF;
    border-radius: 16px 16px 0 0;
    padding: 12px 0 8px;
    font-size: 18px;
    font-weight: 700;
    display: block;
    background: #2F2F2F;
}

.areas-table .area-title {
    font-size: 15px;
    color: #000;
}

.areas-table .hide-th {
    opacity: 0;
}

.areas-table tbody tr:nth-last-child(2) th,
.areas-table tbody tr:nth-last-child(2) td {
    border-bottom: 0;
}

.areas-table tbody tr:nth-child(even) td {
    background: #FFF;
}

.areas-table tbody tr:nth-child(odd) td {
    background: #F5F5F5;
}

.areas-table tbody tr.first th:not(.th-sticky) {
    background: #D0D4DC;
}


.areas-table tr.tr-footer th,
.areas-table tr.tr-footer td {
    background: #2F2F2F !important;
    border: 0;
    color: #FFF;
}

.areas-table tbody td {
    color: #465564;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.15;
}

@media (min-width: 1200px) {
    .areas-table tbody tr.first th:first-child {
        border-radius: 16px 0 0 0;
    }
    
    .areas-table tbody tr.tr-footer {
        border-radius: 0 0 16px 16px;
    }
    
    .areas-table tbody tr.tr-footer th:first-child {
        border-radius: 0 0 0 16px;
    }
    
    .areas-table tbody tr.tr-footer td:last-child {
        border-radius: 0 0 16px 0;
    }
    
}

/* Responsive ------------------------------- */  
@media (max-width: 991px) {
    .areas-section__cards-grid {
        row-gap: 16px;
        column-gap: 16px;
    }
    
    .area-card__content {
        padding: 12px;
    }
    
    .area-card__item {
        display: flex;
        flex-direction: column-reverse;
        justify-content: flex-end;
    }
    
    .area-card__image {
        position: relative;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 200px;
        margin-top: auto;
    }

    .areas-table thead .col-name {
        font-size: 16px;
    }

    .areas-table .area-title,
    .areas-table tbody tr:first-child th.th-sticky, 
    .areas-table tbody tr:last-child th.th-sticky {
        font-size: 14px;
    }

    .areas-table tbody td {
        font-size: 16px;
    }

    .areas-table th.th-sticky, 
    .areas-table td.th-sticky,
    .areas-table tbody tr th.th-sticky {
        font-size: 16px;
    }

    .areas-table th.th-sticky, .areas-table td.th-sticky {
        padding-left: 15px;
    }
}

@media (max-width: 768px) {
    .areas-table {
      overflow-x: auto;
      min-width: 760px;
    }
}

@media (max-width: 620px) {
    .areas-section__cards-grid {
        grid-template-columns: 1fr;
    }

    .areas-section__title {
        font-size: 28px;
    }
}
/* MODULE: AREAS SECTION ---------------------------------------------- */

    #full-stars {
        .rating-group {
        display: inline-flex;
    }

    .rating__input {
    position: absolute !important;
    left: -9999px !important;
    }

    .rating__label {
    cursor: pointer;
    padding: 0 0.1em;
    font-size: 3rem;
    }

    .rating__icon--star {
    color: #D2AC2A;
    -webkit-text-stroke: 2px #D2AC2A;
    }

    .rating__input:checked ~ .rating__label .rating__icon--star {
    color: #ddd;
    -webkit-text-stroke: 2px #D2AC2A;
    }

    /* make all stars orange on rating group hover */
    .rating-group:hover .rating__label .rating__icon--star {
    color: #D2AC2A;
    -webkit-text-stroke: 2px #D2AC2A;
    }

    /* make hovered input's following siblings grey on hover */
    .rating__input:hover ~ .rating__label .rating__icon--star {
    color: #ddd;
    -webkit-text-stroke: 2px #D2AC2A;
        }
    }