/**
* Template Name: Intelia Web
* Template URL:https://intelia.edu.pe
* Author: Intelia
*/

:root {
    --font-family: "Ubuntu", sans-serif;
    --color-white: #fff;
    --color-white-2: #f5f5f5;
    --color-black: #000;
    --color-form-error-black: #ff6666;
    --color-form-error-white: #e53935;

    --brand-01: #1a193f;
    --brand-02: #d8d8d8;
    --brand-03: #8b65f1;
    --brand-04: #4900db;
    --brand-05: #241efe;
    --neutro-blanco: #ffffff;
    --neutro-50: #f5f5f5;
    --neutro-100: #e8e8e9;
    --neutro-200: #cfcfcf;
    --neutro-300: #bcbcbc;
    --neutro-500: #9d9d9d;
    --neutro-600: #878787;
    --neutro-700: #757575;
    --neutro-800: #686868;
    --neutro-900: #545454;
    --neutro-950: #424242;
    --primary-50: #f2f0ff;
    --primary-100: #e7e4fd;
    --primary-200: #d4cdfe;
    --primary-300: #b4a6fc;
    --primary-400: #9279f7;
    --primary-600: #744df1;
    --primary-700: #6028e5;
    --primary-800: #5018cc;
    --primary-900: #4114a4;
    --primary-950: #361381;
    --header-height: 75px;
    --transition-300-ease: all 0.3s ease;
}

:root {
    scroll-behavior: smooth;
}

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

.anim_line {
    display: block;
    overflow: hidden;
}

.line {
    overflow: hidden;
}

[data-animation^="img-blur"] {
    position: relative;
    overflow: hidden;
    height: 100%;
}

[data-text-animation] {
    opacity: 0;
    overflow: hidden;
}

.intelia_animation[data-animation-type="fadeIn"] {
    opacity: 0.7;
}

body {
    font-size: 16px;
    font-weight: normal;
    line-height: 22px;
    font-family: var(--font-family);
    color: var(--color-black);
    transition: all 0.3s ease;
    overflow-x: hidden;
    scroll-behavior: smooth;
    margin: 0;
}

.cursor-pointer {
    cursor: pointer !important;
}

.body-overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(24, 24, 24, 0.8);
    visibility: hidden;
    opacity: 0;
    transition: 0.45s ease-in-out;
    &.apply {
        opacity: 1;
        visibility: visible;
    }
}

h1,
h2,
h3,
h4,
h5,
h6,
ul,
p,
a {
    margin: 0;
}
ul {
    padding: 0;
    list-style: none;
}
a {
    text-decoration: none;
}
img {
    display: block;
    max-width: 100%;
}

.btn {
    position: relative;
    display: inline-block;
    padding: 8px 20px;
    border-radius: 15px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-box-trim: trim-both;
    cursor: pointer;
    border: none;
    outline: none;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.btn-modal-close {
    color: transparent;
    border: 2px solid #fff;
    padding: 4px;
    border-radius: 50%;
    background-color: var(--brand-03);
    box-shadow: 0 1px 4px hsl(0deg 0% 0% / 50%);

    svg {
        display: block;
        width: 1.75rem;
        height: 1.75rem;
    }
}

.btn-outline-primary {
    color: var(--brand-03);
    border: 1px solid var(--brand-03);
    background-color: transparent;
}

.btn-outline-white {
    color: var(--color-white);
    border: 1px solid var(--color-white);
    background-color: transparent;
}

.btn-solid-primary {
    color: var(--color-white-2);
    border: 1px solid var(--brand-03);
    background-color: var(--brand-03);
}

.btn-submit {
    padding: 10px 20px;
    &.is-loading {
        cursor: no-drop;
        & .btn-submit__label {
            opacity: 0;
        }
    }
    & .btn-submit__label {
        transition: opacity 0.2s ease-in-out;
    }
}

.btn-submit__loader {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -12px 0 0 -12px;
    width: 24px;
    height: 24px;
    border: 3px solid #ffffff80;
    border-left-color: #fff;
    border-radius: 50%;
    transition: all 0.3s;
    animation: btnSubmitRotate 0.6s infinite linear;
}

@keyframes btnSubmitRotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/*==============================
  PRELOADER START
===============================*/
.preloader {
    position: fixed;
    z-index: 10;
    height: 100vh;
    width: 100%;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: transparent;
    z-index: 99999999999999;

    svg {
        position: absolute;
        top: 0;
        width: 100vw;
        height: 110vh;
        fill: var(--brand-01);
    }

    .preloader-text {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 2rem;
        color: var(--brand-03);

        &::after {
            content: "Loading";
            position: absolute;
            left: 0;
            top: 0;
            color: var(--neutro-50);
            animation: move 2s infinite alternate;
        }
    }
}

@keyframes move {
    from {
        clip-path: circle(50px at 0% 50%);
    }

    to {
        clip-path: circle(50px at 100% 50%);
    }
}

/*==============================
  PRELOADER END
===============================*/

.container {
    --bs-gutter-x: 3rem;
    @media (min-width: 767px) {
        --bs-gutter-x: 1.875rem;
    }
}

/*==============================
  HEADER START
===============================*/
.header-top-offset {
    margin-top: var(--header-height);
}

.header-mt-single-offset {
    margin-top: calc(
        clamp(30px, calc(20px + 2.777778vw), 60px) + var(--header-height)
    );
}

.section-header-main {
    position: fixed;
    width: 100%;
    height: var(--header-height);
    background: var(--neutro-blanco);
    z-index: 999;
    padding: 0;
    top: 0;
    transition: top 0.8s;
    min-height: var(--header-height);
    box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.08);
}

.section-header-container {
    display: flex;
    padding-block: 20px;
    justify-content: space-between;
    align-items: center;

    & .header-logo {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;

        img {
            aspect-ratio: 102/19;
            object-fit: contain;
            max-width: 103px;
            @media (min-width: 767px) {
                aspect-ratio: 160/31;
                max-width: none;
            }
        }
    }

    & .header-menu {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 32px;

        & .header-menu-navbar {
            display: none;
            @media (min-width: 1023px) {
                display: inline-block;
            }
            ul {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                gap: 32px;
                li {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    gap: 4px;
                    a {
                        color: var(--brand-01);
                        font-size: 1rem;
                        font-weight: normal;
                        text-align: left;
                        line-height: 1.2;
                        &.active {
                            color: var(--brand-01);
                            font-weight: bold;
                        }
                    }
                }
            }
        }

        & .header-menu-actions {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 16px;

            & .btn-menu-login {
                display: none;
                @media (min-width: 1023px) {
                    display: inline-block;
                }
            }

            & .btn-menu-register {
                position: relative;
            }

            & .btn-menu-toggler {
                width: 1.5rem;
                height: 1.5rem;
                display: grid;
                place-items: center;
                cursor: pointer;

                @media (min-width: 1023px) {
                    display: none;
                }
            }
        }
    }
}

.section-header-mobile {
    & .section-header-mobile__wrapper {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        position: fixed;
        top: 0;
        right: -100%;
        width: 480px;
        bottom: 0;
        box-shadow: 0 16px -32px 0 rgba(0, 0, 0, 0.8);
        background: white none repeat scroll 0 0;
        z-index: 999999;
        padding-inline: 1.5rem;
        scrollbar-width: none;
        opacity: 0;
        visibility: hidden;
        transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
        transition-duration: 0.6s;
        overflow-y: scroll;

        @media (max-width: 767px) {
            width: calc(100% - 35px);
            padding-inline: 1.5rem;
        }

        &.opened {
            right: 0;
            transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
            transition-duration: 0.6s;
            opacity: 1;
            visibility: visible;
        }
    }

    & .section-header-mobile__header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        padding-block: 1.25rem;
    }

    & .section-header-mobile__logo {
        position: relative;
        img {
            aspect-ratio: 102/19;
            object-fit: contain;
            max-width: 103px;
        }
    }

    & .section-header-mobile__close {
        width: 1.5rem;
        height: 1.5rem;
        display: grid;
        place-items: center;
        cursor: pointer;
    }

    & .section-header-mobile__menu {
        padding-top: 1rem;
        ul {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            gap: 32px;
            li {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 4px;
                a {
                    color: var(--brand-01);
                    font-size: 1rem;
                    font-weight: normal;
                    text-align: left;
                    line-height: 1.2;
                    &.active {
                        color: var(--brand-01);
                        font-weight: bold;
                    }
                }
            }
        }
    }
}

/*==============================
  HEADER END
===============================*/

/*==============================
  HOME - BANNER START
===============================*/
.banner-home {
    border-radius: 0 0 0 3.125rem;
    background: var(--brand-01);
    padding-bottom: 3.75rem;

    @media (min-width: 1024px) {
        border-radius: 0 0 0 12.5rem;
    }

    & .banner-home__container {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "area1"
            "area2";
        gap: 2rem;

        @media (min-width: 1023px) {
            grid-template-columns: repeat(12, 1fr);
            gap: 0 30px;
            grid-template-areas:
                "area1 area1 area1 area1 area1 area1 area1 area1 area1 area1 area1 area1"
                ". . . area2 area2 area2 area2 area2 area2 . . .";
        }
    }

    & .banner-home__area1 {
        grid-area: area1;
    }

    & .banner-home__area2 {
        grid-area: area2;

        @media (min-width: 1023px) {
            margin-top: -6rem;
        }
    }

    & .banner-home__image {
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 480/694;

        @media (min-width: 580px) {
            aspect-ratio: 425 / 213;
        }

        @media (min-width: 1023px) {
            aspect-ratio: 1200/606;
        }
    }

    & .banner-home__title {
        color: var(--neutro-50);
        font-size: clamp(32px, calc(25.142857px + 1.904762vw), 48px);
        font-weight: bold;
        margin-bottom: 1rem;
        text-align: center;
        line-height: 1.3;
        text-wrap-style: pretty;

        @media (min-width: 1024px) {
            padding-inline: 1.5rem;
            line-height: 1.1;
        }

        @media (min-width: 1200px) {
            line-height: 1.1;
        }
    }

    & .banner-home__description {
        color: var(--neutro-50);
        font-size: clamp(16px, calc(15.142857px + 0.238095vw), 18px);
        font-weight: normal;
        text-align: center;
        line-height: 1.4;
        margin-bottom: 2.5rem;
        text-wrap-style: balance;

        @media (min-width: 1024px) {
            text-wrap-style: pretty;
        }
    }

    & .banner-home__actions {
        display: flex;
        justify-content: center;
        flex-direction: column;
        gap: 1rem;

        a {
            text-align: center;
        }

        @media (min-width: 767px) {
            flex-direction: row;
        }

        @media (min-width: 1024px) {
            flex-direction: row;
        }
    }
}

/*==============================
  HOME - BANNER END
===============================*/

/*==============================
  HOME - SECTION CATEGORIES START
===============================*/

.section-categories {
    margin-top: clamp(75px, calc(-94.846154px + 16.586538vw), 144px);

    & .section-categories__grid {
        margin-top: clamp(30px, calc(-43.846154px + 7.211538vw), 60px);
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 1rem;

        @media (min-width: 767px) {
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem;
        }

        @media (min-width: 1023px) {
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }
    }
}

.card-category {
    position: relative;

    & .card-category__image {
        position: relative;
        border-radius: 20px;

        img {
            width: 100%;
            height: auto;
            aspect-ratio: 190 / 193;
            border-radius: 20px;
        }
    }

    & .card-category__content {
        position: absolute;
        left: 0;
        bottom: 0;
        border-radius: 0 0 0 20px;
        background-color: var(--primary-600);
        padding: 0.75rem 1rem;
        min-width: 75%;

        @media (min-width: 1023px) {
            padding: 1rem 2rem;
        }
    }

    & .card-category__count {
        display: inline-flex;
        padding: 4px 8px;
        justify-content: center;
        align-items: center;
        border-radius: 5px;
        background: rgba(255, 255, 255, 0.14);
        backdrop-filter: blur(15px);

        color: var(--neutro-50);
        font-size: clamp(12px, calc(11.142857px + 0.238095vw), 14px);
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        margin-bottom: 0.5rem;
    }

    & .card-category__title {
        color: var(--neutro-blanco);
        font-size: clamp(18px, calc(15.428571px + 0.714286vw), 24px);
        font-weight: bold;
        text-align: left;
        line-height: 1.3;
    }
}

/*==============================
  HOME - SECTION CATEGORIES END
===============================*/

/*==============================
  HOME - SECTION BENEFITS START
===============================*/

.section-benefits {
    position: relative;
    margin-top: clamp(72px, calc(52.666667px + 5.37037vw), 130px);

    & .benefits-grid {
        position: relative;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "area1"
            "area2";
        gap: 1rem;
        border-radius: 30px;
        background-color: var(--primary-900);
        background-image: var(--sb-img-mobile-bg);
        background-repeat: no-repeat;
        background-position: bottom left;
        background-size: contain;

        @media (min-width: 767px) {
            background-image: var(--sb-img-desktop-bg);
            background-position: top right;
        }

        @media (min-width: 1023px) {
            grid-template-columns: repeat(12, 1fr);
            grid-template-areas: "area1 area1 area1 area1 area1 area1 area2 area2 area2 area2 area2 area2";
            gap: 2rem;
        }
    }

    & .benefits-area-1 {
        grid-area: area1;

        display: inline-flex;
        flex-direction: column;
        align-items: flex-start;
        gap: clamp(25px, calc(20.666667px + 1.203704vw), 38px);

        padding-block: clamp(36px, calc(21.333333px + 4.074074vw), 80px);
        padding-inline: clamp(20px, calc(6.666667px + 3.703704vw), 60px);

        @media (min-width: 1023px) {
            padding-left: clamp(20px, calc(6.666667px + 3.703704vw), 60px);
            padding-right: 0;
        }
    }

    & .benefits-area-2 {
        grid-area: area2;
        display: grid;
        position: relative;
        place-items: center flex-start;
        padding-bottom: clamp(36px, calc(21.333333px + 4.074074vw), 80px);
        padding-inline: clamp(20px, calc(6.666667px + 3.703704vw), 60px);
        @media (min-width: 767px) {
            place-items: center;
        }
        @media (min-width: 1023px) {
            place-items: center flex-start;
            padding: 0;
        }
    }

    & .benefits-content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;

        & .benefits-content__title {
            color: var(--neutro-blanco);
            font-size: clamp(24px, calc(16px + 2.222222vw), 48px);
            font-weight: bold;
            text-align: left;
            line-height: 1.3;
            text-wrap-style: pretty;
        }

        & .benefits-content__description {
            color: var(--neutro-100);
            font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
            text-wrap-style: pretty;
        }
    }

    & .benefits-options {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;

        @media (min-width: 767px) {
            flex-direction: row;
            gap: 1.5rem;
        }

        & .benefits-option {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 10px;

            & .benefits-option__icon {
                width: clamp(30px, calc(24px + 1.666667vw), 48px);
                height: clamp(30px, calc(24px + 1.666667vw), 48px);
                aspect-ratio: 1/1;
            }

            & .benefits-option__title {
                color: var(--neutro-blanco);
                font-size: clamp(15px, calc(14px + 0.277778vw), 18px);
                font-weight: bold;
                text-align: left;
                line-height: 1.2;
                text-wrap-style: pretty;
            }

            & .benefits-option__description {
                color: var(--neutro-100);
                font-size: clamp(14px, calc(13.333333px + 0.185185vw), 16px);
                font-weight: normal;
                text-align: left;
                line-height: 1.4;
                text-wrap-style: pretty;
            }
        }
    }

    & .benefits-actions {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        width: 100%;

        @media (min-width: 767px) {
            flex-direction: row;
        }

        a {
            width: 100%;
            text-align: center;

            @media (min-width: 767px) {
                width: initial;
                text-align: left;
            }
        }
    }

    & .benefits-banner-wrapper {
        position: relative;
        border-radius: 15px;
        height: 100%;

        @media (min-width: 767px) {
            height: auto;
        }
    }

    & .benefits-banner-image {
        border-radius: 15px;
        aspect-ratio: 163/134;
    }
}

/*==============================
  HOME - SECTION BENEFITS END
===============================*/

/*==============================
  HOME - SECTION FEATURED COURSE START
===============================*/

.section-featured-courses {
    position: relative;
    margin-top: clamp(72px, calc(52.666667px + 5.37037vw), 130px);

    & .featured-courses__wrapper {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        grid-template-areas:
            "area1"
            "area3"
            "area2";
        gap: 0;

        @media (min-width: 767px) {
            grid-template-columns: repeat(6, 1fr);
            grid-template-rows: auto auto;
            gap: 30px;
            grid-template-areas:
                "area1 area1 area1 area1 area2 area2"
                "area3 area3 area3 area3 area3 area3";
        }

        & .featured-courses__content {
            grid-area: area1;
        }

        & .featured-courses__actions {
            grid-area: area2;
            position: relative;
            display: grid;
            place-items: center flex-end;

            a {
                width: 100%;
                margin-top: 3rem;
                text-align: center;
                @media (min-width: 767px) {
                    margin-top: initial;
                    width: initial;
                    text-align: center;
                }
            }
        }

        & .featured-courses__grid {
            grid-area: area3;
            margin-top: clamp(30px, calc(23.333333px + 1.851852vw), 50px);
            display: grid;
            grid-template-columns: 1fr;
            grid-template-rows: auto;
            gap: 1rem;

            @media (min-width: 767px) {
                grid-template-columns: repeat(2, 1fr);
                gap: 2rem;
            }

            @media (min-width: 1023px) {
                grid-template-columns: repeat(3, 1fr);
                gap: 30px;
            }
        }
    }
}

/*==============================
  HOME - SECTION FEATURED COURSE END
===============================*/

/*==============================
  HOME - SECTION TESTIMONIAL START
===============================*/

.testimonials {
    position: relative;
    margin-top: clamp(72px, calc(52.666667px + 5.37037vw), 130px);

    & .testimonials__grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 0;
        position: relative;
        overflow: hidden;
        height: 650px;
        margin-top: clamp(30px, calc(-43.846154px + 7.211538vw), 60px);

        &::before,
        &::after {
            content: "";
            position: absolute;
            width: 100%;
            height: 100px;
            z-index: 1;
        }

        &::before {
            left: 0;
            top: 0;
            background: linear-gradient(
                    360deg,
                    rgba(255, 255, 255, 0) 10%,
                    #ffffff 75%
                )
                center 0% / 100% 100px repeat no-repeat;
        }

        &::after {
            left: 0;
            bottom: 0;
            background: linear-gradient(
                180deg,
                rgba(255, 255, 255, 0) 10%,
                #ffffff 75%
            );
        }

        @media (min-width: 767px) {
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: auto;
            gap: 30px;
        }

        @media (min-width: 1023px) {
            grid-template-columns: repeat(3, 1fr);
        }
    }

    & .testimonials__column {
        display: flex;
        flex-direction: column;
        gap: 1rem;

        @media (min-width: 767px) {
            gap: 2rem;
        }
    }

    & .testimonials__column_1,
    & .testimonials__column_3 {
        animation: testimonials-slideup 30s linear infinite;
        justify-content: start;
    }

    & .testimonials__column_2 {
        animation: testimonials-slidedown 80s linear infinite;
        justify-content: end;

        display: none;
        @media (min-width: 767px) {
            display: flex;
        }
    }

    & .testimonials__column_3 {
        display: none;

        @media (min-width: 1023px) {
            display: flex;
        }
    }

    & .testimonials__card {
        border-radius: 1.5rem;
        border: 0.5px solid var(--primary-100);
        background-image: var(--url-icon-card-testimonial);
        background-color: var(--neutro-blanco);
        background-repeat: no-repeat;
        background-position: 2rem top;
        padding: 5rem 2rem 2rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 2.5rem;

        & .testimonials__comment {
            color: var(--neutro-700);
            font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
            text-wrap-style: pretty;
        }

        .testimonials__author {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 1rem;

            & .testimonials__author_img {
                flex-shrink: 0;
                aspect-ratio: 1/1;
                border-radius: 100%;
                overflow: hidden;

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                }
            }

            & .testimonials__author_content {
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 0.125rem;
                flex: 1;
                min-width: 0;
            }

            & .testimonials__author_name {
                color: var(--neutro-900);
                font-size: 14px;
                font-weight: 500;
                text-align: left;
                line-height: 1.25;
            }

            & .testimonials__author_job {
                color: var(--neutro-800);
                font-size: 12px;
                font-weight: normal;
                text-align: left;
                line-height: 1.5;
            }
        }
    }
}

/*==============================
  HOME - SECTION TESTIMONIAL END
===============================*/

/*==============================
  HOME - SECTION PARTNER START
===============================*/
.program-job {
    position: relative;
    margin-top: clamp(72px, calc(52.666667px + 5.37037vw), 130px);

    & .program-job__container {
        position: relative;
    }

    & .program-job__media {
        border-radius: 1.25rem;
        overflow: hidden;
        z-index: 1;

        @media (min-width: 1024px) {
            border-radius: 1.875rem;
        }

        img {
            border-radius: 1.25rem;
            object-fit: cover;
            width: 100%;
            height: auto;

            @media (min-width: 1024px) {
                border-radius: 1.875rem;
            }
        }
    }

    & .program-job__wrapper {
        position: absolute;
        top: 50%;
        left: 0;
        z-index: 2;
        padding-inline: calc(var(--bs-gutter-x) * 0.5);
        transform: translate(0, -50%);
    }

    & .program-job__grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "area2"
            "area1";
        gap: 2rem;
        border-radius: 1.25rem;
        padding: 2rem 1rem 1.5rem 1rem;

        @media (min-width: 767px) {
            padding: 2rem 1rem 1.5rem 1rem;
        }

        @media (min-width: 1024px) {
            border-radius: 1.875rem;
            padding: 3rem 0 3rem 0;
        }

        @media (min-width: 1023px) {
            grid-template-columns: repeat(12, 1fr);
            gap: 0 30px;
            grid-template-areas: ". area1 area1 area1 area1 area1 area1 area2 area2 area2 area2 area2";
        }
    }

    & .program-job__area.area1 {
        grid-area: area1;
    }

    & .program-job__area.area2 {
        grid-area: area2;
    }

    & .program-job__content {
        position: relative;
    }

    & .program-job__title {
        color: var(--neutro-blanco);
        font-size: clamp(24px, calc(16px + 2.222222vw), 48px);
        font-weight: 500;
        text-align: left;
        line-height: 1.1;
        text-wrap-style: balance;
        margin-bottom: clamp(8px, calc(2.666667px + 1.481481vw), 24px);
    }

    & .program-job__text {
        color: var(--neutro-50);
        font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        text-wrap-style: pretty;
        margin-bottom: clamp(24px, calc(21.333333px + 0.740741vw), 32px);
    }

    & .program-job__actions {
        display: flex;
        justify-content: center;
        flex-direction: column;
        gap: 1rem;

        a {
            text-align: center;
        }

        @media (min-width: 767px) {
            flex-direction: row;
            justify-content: flex-start;
        }
    }
}
/*==============================
  HOME - SECTION PARTNER END
===============================*/

/*==============================
  HOME - SECTION COMING SOON START
===============================*/
.coming-soon {
    position: relative;
    background-color: var(--brand-01);
    margin-top: clamp(72px, calc(52.666667px + 5.37037vw), 130px);

    & .container {
        position: relative;
    }

    & .coming-soon__grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        grid-template-areas:
            "area1"
            "area2"
            "area3"
            "area4";
        gap: 4rem;

        @media (min-width: 1023px) {
            grid-template-columns: repeat(12, 1fr);
            gap: 0;
            grid-template-areas:
                "area1 area1 area1 area1 area1 area1 area2 area2 area2 area2 area2 ."
                "area1 area1 area1 area1 area1 area1 area3 area3 area3 area3 area3 area3"
                "area1 area1 area1 area1 area1 area1 area4 area4 area4 area4 area4 .";
        }
    }

    & .coming-soon__area.area1 {
        grid-area: area1;
        display: grid;
        place-items: end flex-start;

        & .coming-soon__media {
            position: relative;
            width: 100%;
            height: 100%;
            padding-top: clamp(96px, calc(26.60241px + 19.277108vw), 224px);

            & .coming-soon__media-1 {
                position: relative;
                left: 0;
                bottom: 0;
                z-index: 1;
                width: 80%;

                @media (min-width: 1024px) {
                    position: absolute;
                    padding-top: 0;
                }
            }

            & .coming-soon__media-2 {
                position: absolute;
                left: initial;
                right: 0;
                bottom: 7%;
                z-index: 2;
                width: 80%;

                @media (min-width: 767px) {
                    display: grid;
                    place-items: flex-end;
                }

                @media (min-width: 1024px) {
                    left: 10%;
                    right: initial;
                }
            }
        }
    }

    & .coming-soon__area.area2 {
        grid-area: area2;
        padding: 0;

        @media (min-width: 1024px) {
            padding: clamp(32px, calc(5.333333px + 7.407407vw), 112px) 0 0 0;
        }
    }

    & .coming-soon__area.area3 {
        grid-area: area3;
    }

    & .coming-soon__area.area4 {
        grid-area: area4;
        padding: 0 0 3rem 0;

        @media (min-width: 1024px) {
            padding: 0 0 clamp(32px, calc(5.333333px + 7.407407vw), 112px) 0;
        }
    }

    & .coming-soon__badge {
        display: inline-block;
        font-size: 14px;
        font-weight: bold;
        text-align: left;
        line-height: 1.2;
        text-transform: uppercase;
        text-box-trim: trim-both;
        text-wrap-style: pretty;
        background-color: var(--neutro-blanco);
        color: var(--brand-04);
        border-radius: 5px;
        padding: 4px clamp(24px, calc(20px + 1.111111vw), 36px);
        margin-bottom: clamp(30px, calc(26.666667px + 0.925926vw), 40px);
    }

    & .coming-soon__title {
        color: var(--neutro-blanco);
        font-size: clamp(32px, calc(26.666667px + 1.481481vw), 48px);
        font-weight: bold;
        text-align: left;
        line-height: 1.3;
        text-wrap-style: pretty;
        margin-bottom: clamp(8px, calc(5.333333px + 0.740741vw), 16px);
    }

    & .coming-soon__text {
        color: var(--neutro-50);
        font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        text-wrap-style: pretty;

        @media (min-width: 1024px) {
            margin-bottom: clamp(32px, calc(29.333333px + 0.740741vw), 40px);
        }
    }

    & .coming-soon__countdown {
        display: flex;
        justify-content: center;
        flex-direction: column;
        gap: 36px;

        @media (min-width: 767px) {
            gap: 30px;
            flex-direction: row;
            justify-content: flex-start;
        }

        @media (min-width: 1024px) {
            padding-right: clamp(20px, calc(16px + 1.111111vw), 32px);
            margin-bottom: clamp(20px, calc(14.578313px + 1.506024vw), 30px);
        }

        & .coming-soon__time-box:first-child::before {
            display: none;
        }

        & .coming-soon__time-box {
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            flex-basis: 100%;
            text-align: center;
            border-radius: 10px;
            background: linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.07) 21.54%,
                rgba(26, 25, 63, 0.07) 99.69%
            );
            backdrop-filter: blur(10px);
            padding: 0.5rem 1rem;

            &::before {
                content: "";
                position: absolute;
                top: -16px;
                left: 0;
                height: 1px;
                width: 100%;
                background-color: var(--brand-03);

                @media (min-width: 767px) {
                    top: 0%;
                    left: -15px;
                    height: 100%;
                    width: 1px;
                }
            }

            & .coming-soon__time-number {
                color: var(--neutro-blanco);
                font-size: 60px;
                font-weight: bold;
                text-align: center;
                line-height: 1.1;

                @media (min-width: 1024px) {
                    font-size: clamp(24px, calc(16px + 2.222222vw), 48px);
                }
            }

            & .coming-soon__time-label {
                color: var(--neutro-blanco);
                font-size: 20px;
                font-weight: normal;
                text-align: left;
                line-height: 1.4;

                @media (min-width: 1024px) {
                    font-size: clamp(13px, calc(12px + 0.277778vw), 16px);
                }
            }
        }
    }

    & .coming-soon__form {
        & .form-label {
            display: none;
        }

        & .cf.form-row {
            width: 100%;

            @media (min-width: 767px) {
                width: auto;
                flex-basis: 100%;
            }
        }

        & .form-row.form-submit {
            width: 100%;

            @media (min-width: 767px) {
                width: auto;
            }

            & .btn-submit {
                width: 100%;

                @media (min-width: 767px) {
                    width: auto;
                }
            }
        }
    }
}
/*==============================
  HOME - SECTION COMING SOON END
===============================*/

/*==============================
  PAGE COURSE START
===============================*/

.section-courses {
    &.section-courses__index {
        margin-top: clamp(75px, calc(-48.076923px + 12.019231vw), 125px);
    }

    & .section-courses__grid {
        margin-top: clamp(45px, calc(-41.153846px + 8.413462vw), 80px);
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 1rem;

        @media (min-width: 767px) {
            grid-template-columns: repeat(2, 1fr);
            gap: 24px 30px;
        }

        @media (min-width: 1023px) {
            grid-template-columns: repeat(3, 1fr);
        }
    }
}

.card-course {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    box-shadow: 0 4px 27.9px -2px rgba(0, 0, 0, 0.05);

    & .card-course__link {
        position: relative;
        border-radius: 20px 20px 0 0;

        & .card-course__media {
            border-radius: 20px 20px 0 0;

            & .card-course__img {
                width: 100%;
                height: auto;
                border-radius: 20px 20px 0 0;
                object-fit: cover;
                object-position: center;
                aspect-ratio: 76 / 53;
            }
        }
    }

    & .card-course__content {
        display: flex;
        flex-direction: column;
        height: 100%;
        padding: clamp(20px, calc(18.666667px + 0.37037vw), 24px);
    }

    & .card-course__category {
        display: inline-block;
        align-self: flex-start;
        color: var(--neutro-950);
        background-color: var(--primary-50);
        font-size: 0.75rem;
        font-weight: normal;
        text-align: left;
        line-height: 1.2;
        margin-bottom: 0.875rem;
        text-wrap-style: pretty;
        padding: 0.25rem 0.5rem;
        border-radius: 0.3125rem;
    }

    & .card-course__title {
        display: grid;
        place-items: center start;
        flex: 1;
        a {
            color: var(--brand-01);
            font-size: clamp(16px, calc(13.333333px + 0.740741vw), 24px);
            font-weight: 500;
            text-align: left;
            line-height: 1.3;
            margin-bottom: 0.5rem;
            text-wrap-style: pretty;
        }
    }

    & .card-course__description {
        color: var(--neutro-700);
        font-size: clamp(14px, calc(13.333333px + 0.185185vw), 16px);
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        margin-bottom: 1.5rem;
        text-wrap-style: pretty;
    }

    & .card-course__teacher {
        display: flex;
        gap: 1rem;
    }

    & .card-course__teacher-avatar {
        width: 3rem;
        height: 3rem;
        aspect-ratio: 1/1;
        border-radius: 3rem;
        object-fit: cover;
        object-position: center;
    }

    & .card-course__teacher-info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0;
    }

    & .card-course__teacher-name {
        color: var(--brand-01);
        font-size: 0.875rem;
        font-weight: bold;
        text-align: left;
        line-height: 1.5;
        margin-bottom: 0.25rem;
    }

    & .card-course__extra-infos {
        display: flex;
        flex-direction: row;
        gap: 1.5rem;
        span {
            position: relative;
            color: var(--neutro-700);
            font-size: 0.875rem;
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
            --icon-course-dot-size: 6px;

            &::after {
                content: "";
                position: absolute;
                background-image: var(--icon-course-dot-url);
                background-size: var(--icon-course-dot-size);
                height: var(--icon-course-dot-size);
                width: var(--icon-course-dot-size);
                top: 50%;
                right: -15px;
                transform: translate(0, -50%);
            }

            &:last-child {
                &::after {
                    content: none;
                }
            }
        }
    }

    & .card-course__actions {
        display: flex;
        align-items: center;
        justify-content: flex-start;

        & .card-course__cta {
            color: var(--brand-04);
            font-size: 1rem;
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
        }
    }
}

.modal-promo-course {
    & .modal-content {
        border-radius: 3rem;
        background-color: var(--color-white);
        & .modal-body {
            --bs-modal-padding: clamp(
                    24px,
                    calc(21.333333px + 0.740741vw),
                    32px
                )
                clamp(20px, calc(16px + 1.111111vw), 32px);
            --bs-modal-border-radius: 3rem;
            position: relative;

            & .btn-modal-close {
                position: absolute;
                top: -50px;
                left: 50%;
                transform: translate(-50%, 0);

                @media (min-width: 1023px) {
                    top: -10px;
                    left: auto;
                    right: -10px;
                    transform: none;
                }
            }
            & .plyr {
                border-radius: 1.5rem;
            }
        }
    }
}

.modal-payment-course {
    & .modal-content {
        border-radius: clamp(50px, calc(33.333333px + 4.62963vw), 100px);
        background-color: var(--color-white);
        & .modal-body {
            --bs-modal-padding: clamp(48px, calc(44px + 1.111111vw), 60px)
                clamp(20px, calc(6.666667px + 3.703704vw), 60px);
            --bs-modal-border-radius: clamp(
                50px,
                calc(33.333333px + 4.62963vw),
                100px
            );

            & .btn-modal-close {
                position: absolute;
                top: 0;
                right: 0;
            }

            & .modal-payment-course__badge {
                color: var(--neutro-950);
                font-size: 1rem;
                font-weight: normal;
                text-align: center;
                line-height: 1;
                display: flex;
                align-items: center;
                justify-content: center;
                margin-bottom: 1rem;
                span {
                    padding: 0.25rem 0.5rem;
                    border-radius: 0.3125rem;
                    background: var(--primary-50);
                }
            }

            & .modal-payment-course__box {
                border-radius: 30px;
                background-color: var(--primary-900);
                margin-top: 2rem;
                display: grid;
                padding-top: 20rem;
                padding-bottom: clamp(
                    32px,
                    calc(22.666667px + 2.592593vw),
                    60px
                );
                padding-inline: clamp(
                    20px,
                    calc(6.666667px + 3.703704vw),
                    60px
                );
                grid-template-columns: 1fr;
                grid-template-rows: auto auto auto;
                grid-template-areas:
                    "area1"
                    "area2"
                    "area3";
                gap: clamp(20px, calc(13.333333px + 1.851852vw), 40px) 30px;
                background-image: var(--bg-payment-course);
                background-repeat: no-repeat;
                background-position: top -3rem center;
                background-size: 100%;

                @media (min-width: 1023px) {
                    background-position: top left;
                    padding-top: clamp(48px, calc(44px + 1.111111vw), 60px);
                    grid-template-columns: repeat(5, 1fr);
                    grid-template-areas:
                        ". . area1 area1 area1"
                        ". . area2 area2 area2";
                    grid-template-rows: auto auto;
                    background-size: auto;
                }

                p {
                    color: var(--neutro-50);
                    font-size: clamp(
                        16px,
                        calc(15.333333px + 0.185185vw),
                        18px
                    );
                    font-weight: normal;
                    text-align: left;
                    line-height: 1.4;
                }

                h3 {
                    color: var(--color-white);
                    font-size: clamp(18px, calc(16px + 0.555556vw), 24px);
                    font-weight: bold;
                    text-align: left;
                    line-height: 1.4;
                }

                & .modal-payment-course__title {
                    grid-area: area1;

                    h3 {
                        font-size: clamp(24px, calc(16px + 2.222222vw), 48px);
                    }
                }

                & .modal-payment-course__content {
                    grid-area: area2;
                    display: flex;
                    flex-direction: column;
                    gap: 2rem;

                    @media (min-width: 1023px) {
                        flex-direction: row;
                    }

                    & .modal-payment-course__info {
                        flex: 1;
                        display: flex;
                        flex-direction: column;
                        gap: 1.5rem;

                        > div {
                            display: flex;
                            flex-direction: column;
                            gap: 0.5rem;
                        }
                    }

                    & .modal-payment-course__qr {
                        flex: 1;
                        display: flex;
                        flex-direction: column;
                        gap: 1rem;

                        img {
                            width: fit-content;
                            height: auto;
                            max-width: 8rem;

                            @media (min-width: 1023px) {
                                max-width: none;
                            }
                        }
                    }
                }
            }
        }
    }
}

.course_detail {
    position: relative;

    .course_detail__grid {
        display: grid;
        place-items: center;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto auto;
        grid-template-areas:
            "area1"
            "area2"
            "area5"
            "area3"
            "area4";
        gap: 0;

        @media (min-width: 1023px) {
            grid-template-columns: repeat(3, 1fr);
            gap: 0 30px;
            grid-template-areas:
                "area1 area1 area5"
                "area2 area2 area5"
                "area3 area3 area5"
                "area4 area4 area5";
            grid-template-rows: auto auto auto auto;
        }
    }

    .course_detail__area1 {
        grid-area: area1;
        width: 100%;
    }

    .course_detail__area2 {
        grid-area: area2;
        width: 100%;
    }

    .course_detail__area3 {
        grid-area: area3;
        width: 100%;
    }

    .course_detail__area4 {
        grid-area: area4;
        width: 100%;
    }

    .course_detail__area5 {
        grid-area: area5;
        width: 100%;
        height: 100%;
    }

    & .course_detail__title {
        color: var(--brand-01);
        font-size: clamp(32px, calc(26.666667px + 1.481481vw), 48px);
        font-weight: bold;
        text-align: left;
        line-height: 1.2;
        margin-bottom: 1rem;
        text-wrap-style: pretty;
    }
    & .course_detail__description {
        color: var(--neutro-700);
        font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        margin-bottom: clamp(32px, calc(29.333333px + 0.740741vw), 40px);
        text-wrap-style: pretty;
    }

    & .course_detail__includes {
        border-radius: 20px;
        border: 1px solid var(--neutro-100);
        background: var(--neutro-blanco);
        padding: clamp(20px, calc(16px + 1.111111vw), 32px);
        display: grid;
        gap: clamp(16px, calc(13.333333px + 0.740741vw), 24px) 2rem;
        grid-template-areas:
            "title"
            "list1"
            "list2";
        grid-template-rows: auto auto auto;

        margin-bottom: clamp(32px, calc(29.333333px + 0.740741vw), 40px);

        @media (min-width: 1023px) {
            grid-template-areas:
                "title title"
                "list1 list2";
            grid-template-rows: auto auto;
        }

        & .course_detail__includes-title {
            grid-area: title;
            color: var(--color-black);
            font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
            font-weight: bold;
            text-align: left;
            line-height: 1.4;
        }

        & .course_detail__includes-list1 {
            grid-area: list1;
        }

        & .course_detail__includes-list2 {
            grid-area: list2;
        }

        & .course_detail__includes-list {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 1rem;

            & .course_detail__includes-item {
                display: flex;
                align-items: flex-start;
                gap: 1rem;
                align-self: stretch;
                & .course_detail__includes-item-icon {
                    svg {
                        width: 1.5625rem;
                        height: 1.5625rem;
                        aspect-ratio: 1/1;
                        line-height: 1;
                    }
                }

                & .course_detail__includes-item-text {
                    color: var(--neutro-700);
                    font-size: clamp(
                        14px,
                        calc(13.333333px + 0.185185vw),
                        16px
                    );
                    font-weight: normal;
                    text-align: left;
                    line-height: 1.4;
                    margin-bottom: 0;
                    text-wrap-style: pretty;
                    text-box-trim: trim-start;
                }
            }
        }
    }

    & .course_detail__content {
        position: relative;

        & .course_detail__content-title {
            color: var(--color-black);
            font-size: clamp(18px, calc(15.923077px + 0.576923vw), 24px);
            font-weight: bold;
            text-align: left;
            line-height: 1.4;

            margin-bottom: 1.5rem;
        }

        & .accordion {
            & .accordion-item {
                border: none;
                border-top: 0.5px solid var(--neutro-100);

                & .accordion-header {
                    & .accordion-button {
                        color: transparent;
                        background-color: transparent;
                        box-shadow: none;
                        padding: 1rem 0;
                        display: flex;
                        flex-direction: row-reverse;
                        justify-content: flex-end;
                        gap: 1rem;
                        &::after {
                            margin-left: initial;
                            width: 1.5rem;
                            height: 1.5rem;
                            background-size: 1.5rem;
                            background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjYwMjMgOC44Njc5MUMxMS44MjIgOC42NDgyMyAxMi4xNzgxIDguNjQ4MjMgMTIuMzk3OCA4Ljg2NzkxTDE4LjEzMjYgMTQuNjAyOEMxOC4zNTIzIDE0LjgyMjUgMTguMzUyMyAxNS4xNzg2IDE4LjEzMjYgMTUuMzk4MkwxNy44Njc0IDE1LjY2MzRDMTcuNjQ3OCAxNS44ODMxIDE3LjI5MTYgMTUuODgzMSAxNy4wNzE5IDE1LjY2MzRMMTIgMTAuNTkxNUw2LjkyODA4IDE1LjY2MzRDNi43MDg0IDE1Ljg4MzEgNi4zNTIzIDE1Ljg4MzEgNi4xMzI2MyAxNS42NjM0TDUuODY3NDMgMTUuMzk4MkM1LjY0Nzc1IDE1LjE3ODYgNS42NDc3NSAxNC44MjI1IDUuODY3NDMgMTQuNjAyOEwxMS42MDIzIDguODY3OTFaIiBmaWxsPSIjOEI2NUYxIi8+Cjwvc3ZnPgo=");
                        }
                        span {
                            color: var(--brand-01);
                            font-size: clamp(
                                16px,
                                calc(15.307692px + 0.192308vw),
                                18px
                            );
                            font-weight: bold;
                            text-align: left;
                            line-height: 1.4;
                        }
                    }
                }

                & .accordion-collapse {
                    & .accordion-body {
                        color: var(--neutro-700);
                        font-size: clamp(
                            16px,
                            calc(15.307692px + 0.192308vw),
                            18px
                        );
                        font-weight: normal;
                        text-align: left;
                        line-height: 1.5;
                        padding: 0 0 1.5rem 0;
                    }
                }
            }
        }
    }

    & .course_detail__media {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        margin-bottom: clamp(32px, calc(29.333333px + 0.740741vw), 40px);

        @media (min-width: 1023px) {
            padding-left: clamp(18px, calc(16px + 0.555556vw), 24px);
        }

        & .course_detail__media-video {
            position: relative;
            cursor: pointer;

            &::before {
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                border-radius: 1rem;
                background: rgba(0, 0, 0, 0.5);
                z-index: 1;
            }

            &::after {
                content: none;
                position: absolute;
                top: 50%;
                left: 50%;
                width: 60%;
                height: 60%;
                transform: translate(-50%, -50%);
                border-radius: 1rem;
                background: rgba(0, 0, 0, 0.25);
                z-index: 2;
            }

            & svg {
                position: absolute;
                z-index: 3;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                cursor: pointer;
            }
        }

        & .course_detail__media-video,
        & .course_detail__media-image {
            & .course_detail__media-img {
                position: relative;
                aspect-ratio: 36/19;
                border-radius: 1rem;
                object-fit: cover;
                object-position: center;
                width: 100%;
                height: auto;
            }
        }

        & .course_detail__media-info {
            position: relative;
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 2rem;

            & .course_detail__media-price {
                position: relative;
                display: flex;
                flex-direction: row;
                align-items: center;
                gap: 0.5rem;

                & .course_detail__media-price-number {
                    color: var(--color-black);
                    font-size: 2rem;
                    font-weight: bold;
                    text-align: left;
                    line-height: 1.4;
                    text-box-trim: trim-both;
                }

                & .course_detail__media-price-oldnumber {
                    color: var(--neutro-600);
                    font-size: 1rem;
                    font-weight: bold;
                    text-align: left;
                    line-height: 1;
                    text-decoration: line-through;
                    text-box-trim: trim-both;
                }
            }

            & .course_detail__media-rating {
                position: relative;
                display: flex;
                flex-direction: column;
                gap: 0.5rem;

                &::before {
                    content: "";
                    position: absolute;
                    top: 50%;
                    left: -1rem;
                    width: 2px;
                    background-color: var(--color-black);
                    height: 100%;
                    transform: translate(0, -50%);
                }

                & .course_detail__media-rating-stars {
                    display: flex;
                    flex-direction: row;
                    gap: 0.25rem;

                    svg {
                        width: 1.5rem;
                        height: auto;
                    }
                }

                & .course_detail__media-rating-text {
                    color: var(--neutro-700);
                    font-size: 0.875rem;
                    font-weight: normal;
                    text-align: left;
                    line-height: 1.4;
                    text-box-trim: trim-both;
                }
            }
        }

        & .course_detail__media-buttons {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            padding-top: 0.5rem;
            gap: 1rem;

            & .btn {
                width: 100%;
                text-align: center;
            }

            p {
                color: var(--neutro-700);
                font-size: 0.75rem;
                font-weight: normal;
                text-align: center;
                line-height: 1.4;
                width: 100%;
            }
        }
    }

    & .course_detail__teacher {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        gap: 2rem;
        padding-block: 1.5rem;
        margin-bottom: clamp(32px, calc(29.333333px + 0.740741vw), 40px);

        @media (min-width: 1023px) {
            flex-direction: row;
            align-items: center;
            padding-block: 0.25rem;
        }

        & .course_detail__teacher-avatar {
            display: flex;
            align-items: center;
            gap: 1rem;
            & .course_detail__teacher-avatar-img {
                img {
                    width: 3.5rem;
                    height: 3.5rem;
                    border-radius: 3.5rem;
                    aspect-ratio: 1/1;
                    object-fit: cover;
                    object-position: center;
                    background-color: lightgray;
                }
            }

            & .course_detail__teacher-avatar-info {
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 0.25rem;
            }
        }
        & .course_detail__teacher-additional-info {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0.25rem;
        }
        & .course_detail__teacher-title {
            color: var(--brand-01);
            font-size: 1.125rem;
            font-weight: bold;
            text-align: left;
            line-height: 1.2;
        }

        & .course_detail__teacher-description {
            color: var(--neutro-700);
            font-size: 1rem;
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
        }
    }
}

.course_detail__breadcrumb {
    margin-bottom: 1.5rem;
    & .course_detail__breadcrumb-list {
        list-style: none;
        padding: 0;
        display: flex;
        flex-direction: row;
        gap: clamp(16px, calc(10.666667px + 1.481481vw), 32px);

        & .course_detail__breadcrumb-item {
            display: grid;
            place-items: center start;
            position: relative;
            --breadcrum-clamp-size: clamp(
                12px,
                calc(10.666667px + 0.37037vw),
                16px
            );
            &::before {
                content: "";
                position: absolute;
                background-image: var(--icon-breadcrumb-url);
                background-size: var(--breadcrum-clamp-size);
                height: var(--breadcrum-clamp-size);
                width: var(--breadcrum-clamp-size);
                right: calc(
                    clamp(16px, calc(13.333333px + 0.740741vw), 24px) * -1
                );
                top: 0;
            }
            &.active {
                &::before {
                    content: none;
                }
                span {
                    font-weight: 500;
                    color: var(--brand-01);
                    display: -webkit-box;
                    -webkit-line-clamp: 1;
                    -webkit-box-orient: vertical;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: normal;
                    @media (min-width: 1023px) {
                        display: block;
                    }
                }
            }
            a,
            span {
                color: var(--neutro-700);
                font-size: clamp(10px, calc(7.333333px + 0.462963vw), 14px);
                font-weight: normal;
                text-align: left;
                line-height: 1.2;
                margin-bottom: 0;
                text-wrap-style: pretty;
                text-box-trim: trim-both;
                white-space: nowrap;
                @media (min-width: 1023px) {
                }
            }
        }
    }
}
/*==============================
  PAGE COURSE END
===============================*/

/*==============================
  PAGE BLOG START
===============================*/
.section-blog {
    &.section-blog__index {
        padding-top: clamp(48px, calc(42.666667px + 1.481481vw), 64px);
    }

    & .section-blog__menu {
        position: relative;
        z-index: 1;
        & .section-blog__categories {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;

            @media (min-width: 767px) {
                flex-direction: row;
                gap: 0.25rem;
            }
            & .section-blog__category {
                &.section-blog__category--active {
                    a {
                        background: var(--brand-04);
                        span {
                            color: var(--color-white);

                            &:hover {
                                color: var(--color-white);
                            }
                        }
                    }
                }
                a {
                    display: flex;
                    padding: 0.5rem 1.5rem;
                    justify-content: center;
                    align-items: center;
                    gap: 0.5rem;
                    border-radius: 1.25rem;
                    background: transparent;
                    span {
                        color: var(--neutro-700);
                        font-size: clamp(
                            14px,
                            calc(13.333333px + 0.185185vw),
                            16px
                        );
                        font-weight: normal;
                        line-height: 1.4;
                        transition: all 0.2s ease;
                        &:hover {
                            color: var(--color-black);
                        }
                    }
                }
            }
        }
    }

    & .section-blog__grid {
        position: relative;
        z-index: 1;
        margin-top: clamp(36px, calc(28px + 2.222222vw), 60px);
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 2rem;

        @media (min-width: 767px) {
            grid-template-columns: repeat(2, 1fr);
            gap: 36px 30px;
        }

        @media (min-width: 1023px) {
            grid-template-columns: repeat(3, 1fr);
        }
    }
}

.card-blog {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    box-shadow: 0 4px 27.9px -2px rgba(0, 0, 0, 0.05);
    background-color: var(--color-white);

    &.card-blog--popular {
        flex-direction: column;
        gap: 0;
        @media (min-width: 1023px) {
            flex-direction: row;
        }
        & .card-blog__link {
            --card-blog-link-bradius: 20px 20px 0 0;
            border-radius: var(--card-blog-link-bradius);

            @media (min-width: 1023px) {
                --card-blog-link-bradius: 20px 0 0 20px;
                flex-basis: 104%;
                border-radius: var(--card-blog-link-bradius);
            }

            & .card-blog__media {
                border-radius: var(--card-blog-link-bradius);

                & .card-blog__img {
                    width: 100%;
                    height: auto;
                    border-radius: var(--card-blog-link-bradius);
                    object-fit: cover;
                    object-position: center;
                    aspect-ratio: 16 / 9;
                }
            }
        }
        & .card-blog__content {
            padding: clamp(20px, calc(10.666667px + 2.592593vw), 48px);

            @media (min-width: 1023px) {
                flex-basis: 96%;
            }
        }
    }

    & .card-blog__link {
        position: relative;
        border-radius: 20px 20px 0 0;

        & .card-blog__media {
            border-radius: 20px 20px 0 0;

            & .card-blog__img {
                width: 100%;
                height: auto;
                border-radius: 20px 20px 0 0;
                object-fit: cover;
                object-position: center;
                aspect-ratio: 76 / 53;
            }
        }
    }

    & .card-blog__content {
        display: flex;
        flex-direction: column;
        height: 100%;
        padding: clamp(20px, calc(18.666667px + 0.37037vw), 24px);
    }

    & .card-blog__category {
        display: inline-block;
        align-self: flex-start;
        color: var(--neutro-950);
        background-color: var(--primary-50);
        font-size: 0.75rem;
        font-weight: normal;
        text-align: left;
        line-height: 1.2;
        margin-bottom: 0.875rem;
        text-wrap-style: pretty;
        padding: 0.25rem 0.5rem;
        border-radius: 0.3125rem;
    }

    & .card-blog__title {
        display: grid;
        place-items: center start;
        flex: 1;
        a {
            color: var(--brand-01);
            font-size: clamp(16px, calc(13.333333px + 0.740741vw), 24px);
            font-weight: 700;
            text-align: left;
            line-height: 1.3;
            margin-bottom: 0.5rem;
            text-wrap-style: pretty;
        }
    }

    & .card-blog__description {
        color: var(--neutro-700);
        font-size: clamp(14px, calc(13.333333px + 0.185185vw), 16px);
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        margin-bottom: 1.5rem;
        text-wrap-style: pretty;
    }

    & .card-blog__actions {
        & .card-blog__link {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            gap: 0.5rem;
            span {
                color: var(--brand-04);
                font-size: clamp(14px, calc(13.333333px + 0.185185vw), 16px);
                font-weight: normal;
                text-align: left;
                text-box-trim: trim-both;
            }

            svg {
                width: clamp(20px, calc(18.666667px + 0.37037vw), 24px);
            }
        }
    }
}

.card-blog-author {
    display: flex;
    gap: 1rem;

    &.card-blog-author--black {
        & .card-blog-author__info {
            & .card-blog-author__name {
                color: var(--brand-01);
            }

            & .card-blog-author__avatar {
                width: 3.5rem;
                height: 3.5rem;
                border-radius: 3.5rem;
            }
        }
    }

    & .card-blog-author__avatar {
        width: 3rem;
        height: 3rem;
        aspect-ratio: 1/1;
        border-radius: 3rem;
        object-fit: cover;
        object-position: center;
        background-color: lightgray;
    }

    & .card-blog-author__info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0;

        & .card-blog-author__name {
            color: var(--color-white);
            font-size: 1rem;
            font-weight: bold;
            text-align: left;
            line-height: 1.2;
            margin-bottom: 0.25rem;
        }

        & .card-blog-author__time {
            color: var(--neutro-50);
            font-size: 0.875rem;
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
            margin-bottom: 0;
        }

        & .card-blog-author__job {
            color: var(--neutro-700);
            font-size: 0.875rem;
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
            margin-bottom: 0;
        }
    }
}

.blog_detail {
    position: relative;
    padding-top: clamp(75px, calc(56.666667px + 5.092593vw), 130px);

    .blog_detail__grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "area2"
            "area1";
        gap: 2rem;

        @media (min-width: 1023px) {
            grid-template-columns: repeat(7, 1fr);
            gap: 0 clamp(30px, calc(-14.158273px + 4.316547vw), 48px);
            grid-template-areas: "area1 area1 area2 area2 area2 area2 area2";
            grid-template-rows: auto;
        }

        .blog_detail__area1 {
            position: relative;
            z-index: 1;
            grid-area: area1;
            width: 100%;
            display: flex;
            flex-direction: column;
            gap: 6rem;

            & .blog_detail__authors_title,
            & .blog_detail__newsletter_title,
            & .blog_detail__share_title {
                color: var(--brand-01);
                font-size: clamp(18px, calc(17.333333px + 0.185185vw), 20px);
                font-weight: bold;
                text-align: left;
                line-height: 1.4;
                margin-bottom: 1rem;
            }

            & .blog_detail__authors {
                position: relative;
                &::after {
                    position: absolute;
                    content: "";
                    width: 100%;
                    height: 1px;
                    background-color: var(--neutro-100);
                    bottom: -3rem;
                    left: 0;
                }
            }

            & .blog_detail__authors_list {
                padding-top: 0.25rem;
            }

            & .blog_detail__newsletter {
                position: relative;
                &::after {
                    position: absolute;
                    content: "";
                    width: 100%;
                    height: 1px;
                    background-color: var(--neutro-100);
                    bottom: -3rem;
                    left: 0;
                }
                & .blog_detail__newsletter_title {
                    margin-bottom: 0.5rem;
                }
                & .form-submit {
                    width: 100%;
                    & .btn-submit {
                        width: 100%;
                    }
                }
            }

            & .blog_detail__share {
                & .blog_detail__share_socials {
                    display: flex;
                    justify-content: flex-start;
                    flex-direction: row;
                    gap: 1rem;

                    @media (min-width: 1023px) {
                        gap: 0.5rem;
                    }

                    & .blog_detail__share-social {
                        border-radius: 50%;
                        padding: 0;
                        margin: 0;
                        border: none;
                        background-color: #fff;
                        cursor: pointer;
                    }
                }
            }
        }

        .blog_detail__area2 {
            position: relative;
            z-index: 1;
            grid-area: area2;
            width: 100%;

            @media (min-width: 1023px) {
                padding-left: 1.5rem;
            }
        }
    }
}

.blog_related_posts {
    position: relative;
    padding-top: clamp(72px, calc(48px + 6.666667vw), 144px);

    & .blog_related_posts__grid {
        position: relative;
        z-index: 1;
        margin-top: clamp(36px, calc(28px + 2.222222vw), 60px);
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 30px;

        @media (min-width: 767px) {
            grid-template-columns: repeat(2, 1fr);
            gap: 36px 30px;
        }

        @media (min-width: 1023px) {
            grid-template-columns: repeat(3, 1fr);
        }
    }
}
/*==============================
  PAGE BLOG END
===============================*/

/*==============================
  PAGE ABOUT START
===============================*/
.banner-inner {
    border-radius: 0 0 0 3.125rem;
    background: var(--brand-01);
    position: relative;
    display: grid;
    padding-block: 4rem 5rem;

    @media (min-width: 1023px) {
        border-radius: 0 0 0 12.5rem;
        padding-block: 7rem 9rem;
    }

    &.banner-inner--blog_index {
        padding-block: 4rem;

        @media (min-width: 1023px) {
            padding-block: 5rem 6rem;
        }
    }

    &::before {
        content: "";
        position: absolute;
        top: 0px;
        right: 0px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        background-image: var(--bi-icon-right);
        width: 260px;
        height: 295px;

        @media (min-width: 1023px) {
            width: 456px;
            height: 518px;
        }
    }

    & .banner-inner__grid {
        display: grid;
        place-items: center;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "area2"
            "area1";
        gap: 3rem;

        @media (min-width: 1023px) {
            grid-template-columns: repeat(12, 1fr);
            gap: 0 30px;
            grid-template-areas: "area1 area1 area1 area1 area1 area1 area2 area2 area2 area2 area2 area2";
            grid-template-rows: auto;
        }

        &.banner-inner__grid--contact_grid {
            grid-template-areas:
                "area1"
                "area2";
            @media (min-width: 1023px) {
                grid-template-areas: "area1 area1 area1 area1 area1 area1 area2 area2 area2 area2 area2 area2";
            }
        }

        &.banner-inner__grid--post_grid {
            place-items: start center;
            grid-template-areas:
                "area2"
                "area1";
            @media (min-width: 1023px) {
                grid-template-areas: "area1 area1 area1 area1 area1 area2 area2 area2 area2 area2 area2 area2";
            }
            & .banner-inner__area_content {
                & .banner-inner__title {
                    color: var(--neutro-50);
                    font-weight: bold;
                    margin-bottom: 1rem;
                    line-height: 1.1;
                }

                & .banner-inner__description {
                    margin-bottom: clamp(
                        44px,
                        calc(37.333333px + 1.851852vw),
                        64px
                    );
                }

                & .banner-inner__actions {
                    justify-content: space-between;
                    gap: 1.75rem;

                    @media (min-width: 767px) {
                        gap: 1rem;
                    }

                    & .banner-inner__action-socials {
                        display: flex;
                        justify-content: flex-start;
                        flex-direction: row;
                        gap: 1rem;

                        @media (min-width: 767px) {
                            justify-content: flex-end;
                            gap: 0.5rem;
                        }

                        & .banner-inner__action-social {
                            border-radius: 50%;
                            padding: 0;
                            margin: 0;
                            border: none;
                            background-color: #fff;
                            cursor: pointer;
                            width: clamp(
                                30px,
                                calc(29.333333px + 0.185185vw),
                                32px
                            );
                            height: clamp(
                                30px,
                                calc(29.333333px + 0.185185vw),
                                32px
                            );
                        }
                    }
                }
            }

            & .banner-inner__area_media {
                @media (min-width: 1023px) {
                    padding-left: clamp(
                        32px,
                        calc(13.76523px + 2.377415vw),
                        48px
                    );
                }

                & .banner-inner__media_img {
                    img {
                        aspect-ratio: 20 / 13;
                        object-fit: cover;
                    }
                }
            }
        }

        &.banner-inner__grid--blog_grid {
            place-items: start center;
            gap: clamp(32px, calc(21.333333px + 2.962963vw), 64px) 0;
            grid-template-areas:
                "area1"
                "area2";
            @media (min-width: 1023px) {
                grid-template-columns: 1fr;
                grid-template-areas:
                    "area1"
                    "area2";
            }

            & .banner-inner__area_content {
                & .banner-inner__title {
                    color: var(--neutro-50);
                    margin-bottom: 0;
                }
            }
        }

        & .banner-inner__area_content {
            grid-area: area1;
            position: relative;
            z-index: 2;

            &.banner-inner__area_content--align-top {
                height: 100%;
            }
        }

        & .banner-inner__area_media {
            grid-area: area2;
            position: relative;
            display: grid;
            place-items: center;
            width: 100%;
            z-index: 2;

            @media (min-width: 1023px) {
                place-items: end;
            }
        }
    }

    & .banner-inner__title {
        color: var(--neutro-50);
        font-size: clamp(32px, calc(20px + 3.333333vw), 60px);
        font-weight: bold;
        margin-bottom: 1rem;
        text-align: left;
        line-height: 1.3;
        text-wrap-style: pretty;
    }

    & .banner-inner__description {
        color: var(--brand-02);
        font-size: clamp(16px, calc(15.142857px + 0.238095vw), 18px);
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        margin-bottom: 2.5rem;
        text-wrap-style: pretty;

        @media (min-width: 1023px) {
            margin-bottom: 2rem;
        }
    }

    & .banner-inner__actions {
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        gap: 1rem;

        a {
            text-align: center;
        }

        @media (min-width: 767px) {
            flex-direction: row;
        }
    }

    & .banner-inner__media_img {
        border-radius: 1.875rem;

        img {
            border-radius: 1.875rem;
            width: 100%;
            height: auto;
        }
    }

    & .banner-inner__contact_list {
        padding-block: 8px;
        ul {
            display: flex;
            justify-content: flex-start;
            flex-direction: column;
            gap: 1rem;
            li {
                display: flex;
                align-items: flex-start;
                gap: 1rem;

                svg {
                    width: 24px;
                    height: 24px;
                }
                span * {
                    color: var(--neutro-50);
                    font-size: clamp(14px, calc(12.666667px + 0.37037vw), 18px);
                    font-weight: normal;
                    text-align: left;
                    line-height: 1.4;
                }
            }
        }
    }
}

.about-content {
    position: relative;
    margin-top: clamp(70px, calc(46.666667px + 6.481481vw), 140px);

    &.about-content--imgtext {
        & .about-content__grid {
            @media (min-width: 1023px) {
                grid-template-areas: "area2 area2 area2 area2 area2 area2 area1 area1 area1 area1 area1 area1";
            }

            & .about-content__content {
                @media (min-width: 1023px) {
                    grid-template-areas: ". content content content content content content content";
                }
            }
        }
    }

    & .about-content__grid {
        display: grid;
        place-items: center;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "area2"
            "area1";
        gap: 3rem;

        @media (min-width: 1023px) {
            grid-template-columns: repeat(12, 1fr);
            gap: 0 30px;
            grid-template-areas: "area1 area1 area1 area1 area1 area1 area2 area2 area2 area2 area2 area2";
            grid-template-rows: auto;
        }

        & .about-content__content {
            grid-area: area1;
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: 1fr;
            grid-template-rows: auto;
            grid-template-areas: "content";

            @media (min-width: 1023px) {
                grid-template-columns: repeat(8, 1fr);
                grid-template-areas: "content content content content content content content .";
            }

            & .about-content__content_wrapper {
                grid-area: content;
            }
        }

        & .about-content__media {
            grid-area: area2;
            position: relative;
        }
    }

    & .section-general__title {
        margin-bottom: clamp(20px, calc(18.666667px + 0.37037vw), 24px);
    }

    & .section-general__description {
        margin-bottom: clamp(24px, calc(13.333333px + 2.962963vw), 56px);
    }

    & .about-content__stats {
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        gap: 1.25rem;

        @media (min-width: 767px) {
            flex-direction: row;
        }

        & .about-content__stat {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            gap: 8px;
            padding: 1.25rem;
            border-radius: 0.625rem;
            border: 1px solid var(--primary-100);
            flex: 1;

            & .about-content__stat-title {
                color: var(--brand-04);
                font-size: clamp(48px, calc(44px + 1.111111vw), 60px);
                font-weight: bold;
                line-height: 1.1;
            }

            & .about-content__stat-description {
                color: var(--neutro-700);
                font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
                font-weight: normal;
                line-height: 1.4;
            }
        }
    }

    & .about-content__img {
        border-radius: 1.5rem;
        img {
            width: 100%;
            height: auto;
            border-radius: 1.5rem;
            object-fit: cover;
            object-position: center;
            aspect-ratio: 78/89;

            @media (min-width: 767px) {
                aspect-ratio: 65/51;
            }
        }
    }

    & .about-content__card {
        position: absolute;
        left: clamp(16px, calc(12.666667px + 0.925926vw), 26px);
        bottom: clamp(16px, calc(14px + 0.555556vw), 22px);
        border-radius: 1rem;
        background: var(--neutro-blanco);
        box-shadow: 0 0 50px -4px rgba(0, 0, 0, 0.06);
        padding-block: clamp(22px, calc(18.666667px + 0.925926vw), 32px);
        padding-inline: clamp(20px, calc(16.666667px + 0.925926vw), 30px);

        > svg {
            text-align: left;
            margin-bottom: clamp(24px, calc(20px + 1.111111vw), 36px);
        }
        .about-content__card-title {
            color: var(--color-black);
            font-size: clamp(20px, calc(16px + 1.111111vw), 32px);
            font-weight: bold;
            text-align: left;
            line-height: 1.3;
            margin-bottom: clamp(12px, calc(10.666667px + 0.37037vw), 16px);
        }

        .about-content__card-badge {
            display: inline-flex;
            padding: 8px 12px;
            justify-content: center;
            align-items: center;
            gap: 8px;
            flex-shrink: 0;
            color: var(--brand-04);
            font-size: clamp(8px, calc(6.666667px + 0.37037vw), 12px);
            font-weight: 500;
            text-align: left;
            line-height: 1.2;
            border-radius: 4px;
            background: var(--primary-50);
        }
    }
}

/*==============================
  PAGE ABOUT END
===============================*/

/*==============================
  PAGE CONSULTANCY START
===============================*/
.consultancy-benefits {
    position: relative;
    margin-top: clamp(72px, calc(52.666667px + 5.37037vw), 130px);

    & .consultancy-benefits__grid {
        position: relative;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "area1"
            "area2";
        gap: clamp(40px, calc(22.857143px + 4.761905vw), 80px) 30px;
        border-radius: 30px;
        background-color: var(--primary-900);
        background-image: none;
        background-repeat: no-repeat;
        background-size: initial;
        background-position: right top;
        padding-inline: clamp(20px, calc(16px + 1.111111vw), 32px);
        padding-block: clamp(36px, calc(25.714286px + 2.857143vw), 60px);

        @media (min-width: 767px) {
            background-image: var(--cb-img-desktop-bg);
        }

        @media (min-width: 1023px) {
            grid-template-columns: repeat(16, 1fr);
            grid-template-areas:
                ". area1 area1 area1 area1 area1 area1 area1 area1 area1 area1 . . . . ."
                ". area2 area2 area2 area2 area2 area2 area2 area2 area2 area2 area2 area2 area2 area2 .";
            padding-inline: 0;
        }
    }

    & .consultancy-benefits__content {
        grid-area: area1;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;

        & .consultancy-benefits__title {
            color: var(--neutro-blanco);
            font-size: clamp(32px, calc(25.142857px + 1.904762vw), 48px);
            font-weight: bold;
            text-align: left;
            line-height: 1.3;
            text-wrap-style: pretty;
        }

        & .consultancy-benefits__description {
            color: var(--neutro-50);
            font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
            text-wrap-style: pretty;
        }
    }

    & .consultancy-benefits__options {
        grid-area: area2;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: column;
        gap: clamp(32px, calc(29.333333px + 0.740741vw), 40px);

        @media (min-width: 1023px) {
            flex-direction: row;
        }

        & .consultancy-benefit__option {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 1rem;
            flex: 1;

            & svg {
                width: clamp(50px, calc(46.666667px + 0.925926vw), 60px);
                height: clamp(50px, calc(46.666667px + 0.925926vw), 60px);
                aspect-ratio: 1/1;
            }

            & .consultancy-benefit__option-title {
                color: var(--neutro-blanco);
                font-size: clamp(18px, calc(17.142857px + 0.238095vw), 20px);
                font-weight: bold;
                text-align: left;
                line-height: 1.2;
                text-wrap-style: pretty;
            }

            & .consultancy-benefit__option-description {
                color: var(--neutro-50);
                font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
                font-weight: normal;
                text-align: left;
                line-height: 1.4;
                text-wrap-style: pretty;
            }
        }
    }
}

/*==============================
  PAGE CONSULTANCY END
===============================*/

/*==============================
  PAGE CONTACT START
===============================*/

.banner-inner__contact-form {
    width: 100%;
    display: grid;
    place-items: flex-start;
}

.contact__form {
    border-radius: 0.9375rem;
    background: rgba(212, 212, 212, 0.1);
    backdrop-filter: blur(17.5px);
    padding: 1.75rem 1.5rem;
    width: 100%;
    @media (min-width: 767px) {
        width: 80%;
        margin: 0 auto;
    }
    @media (min-width: 1023px) {
        width: 88%;
        margin: 0 auto 0 0;
    }
}

.contact__information {
    margin-top: clamp(80px, calc(66.666667px + 3.703704vw), 120px);

    .contact__information_grid {
        margin-top: clamp(45px, calc(36.666667px + 2.314815vw), 70px);
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 2rem;

        @media (min-width: 767px) {
            gap: 30px;
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: auto auto;
        }
        @media (min-width: 1023px) {
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: auto;
        }
    }

    .contact__information_card {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        flex: 1 0 0;
        padding-inline: 0.5rem;

        .contact__information_content {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 16px;
            align-self: stretch;
        }

        .contact__information_title {
            color: var(--color-black);
            font-size: clamp(24px, calc(21.333333px + 0.740741vw), 32px);
            font-weight: bold;
            text-align: left;
            line-height: 1.3;
        }

        .contact__information_description {
            color: var(--neutro-700);
            font-size: clamp(14px, calc(13.333333px + 0.185185vw), 16px);
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
            text-wrap-style: pretty;
        }

        .contact__information_link {
            color: var(--brand-01);
            font-size: 1rem;
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
            &:hover {
                text-decoration-line: underline;
                text-decoration-style: solid;
                text-decoration-skip-ink: auto;
                text-decoration-thickness: auto;
                text-underline-offset: auto;
                text-underline-position: from-font;
            }
        }
    }
}

/*==============================
  PAGE CONTACT END
===============================*/

/*==============================
  PAGE INNER START
===============================*/

.page-inner {
    margin-top: calc(
        clamp(50px, calc(43.333333px + 1.851852vw), 70px) + var(--header-height)
    );

    & .page-inner__title {
        color: var(--brand-01);
        font-size: clamp(32px, calc(26.666667px + 1.481481vw), 48px);
        font-weight: bold;
        text-align: left;
        line-height: 1.3;
        margin-bottom: 1rem;
    }

    & .page-inner__description {
        color: var(--neutro-700);
        font-size: 1.125rem;
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        margin-bottom: 3.125rem;
    }
}

.page-inner__content {
    position: relative;

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-top: 0;
        margin-bottom: 0.75rem;
        line-height: 1.4;
    }

    p,
    li {
        color: var(--neutro-700);
        font-size: 1rem;
        font-weight: normal;
        text-align: left;
        line-height: 1.5;
        margin-bottom: 0.75rem;
        b,
        strong {
            color: var(--brand-01);
            font-weight: bold;
        }
    }

    ol {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        list-style: none;
        counter-reset: num;
        > li {
            position: relative;
            counter-increment: num;

            > p:first-child {
                text-box-trim: trim-both;
                margin-bottom: 0.5rem;
            }

            &::before {
                position: absolute;
                top: 0.5px;
                left: -2.5rem;
                content: counter(num) ". ";
                color: var(--brand-01);
                font-size: 1rem;
                font-weight: bold;
                line-height: 1;
                text-align: right;
                width: 2rem;
                text-box-trim: trim-both;
            }
        }
    }

    ul {
        list-style: disc;
        padding-left: 1.75rem;
        padding-block: 0.5rem;
        display: flex;
        flex-direction: column;
        gap: 0.25rem;

        > li {
            line-height: 1.4;
            margin-bottom: 0;
        }
    }

    ul,
    ol {
        > li {
            margin-bottom: 0.25rem;
            p {
                margin-bottom: 0.05rem;
            }
        }
    }
}

/*==============================
  PAGE INNER END
===============================*/

/*==============================
  FORM START
===============================*/
.fv-icon-close-circle {
    content: var(--url-icon-close-circle);
}

.fv-icon-check-circle {
    content: var(--url-icon-check-circle);
}

.form-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;

    &.form-vertical {
        align-items: flex-start;
        gap: 1rem;

        @media (min-width: 1023px) {
            gap: 1.25rem;
        }

        & .form-row {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;

            &:has(.form-row__item) {
                display: flex;
                flex-direction: row;
                gap: 1.65rem;
            }

            & .form-row__item {
                flex: 1;
            }

            & .form-input {
                select,
                input,
                textarea {
                    border-radius: 10px;
                    padding: 0.75rem 2.5rem 0.75rem 0.75rem;
                }

                &.fv-plugins-icon-container {
                    .fv-plugins-icon {
                        top: 13px;
                    }

                    .fv-plugins-message-container {
                        padding-left: 0;
                    }
                }
            }

            &.form-submit {
                width: auto;
            }
        }
    }

    &.form-horizontal {
        flex-direction: column;
        align-items: center;
        gap: 18px;

        @media (min-width: 767px) {
            flex-direction: row;
            align-items: baseline;
            gap: 1rem;
        }
    }

    &.form-theme-white {
        & .form-row {
            width: 100%;

            & .form-label {
                color: var(--brand-01);
            }
        }

        & .form-input {
            select,
            input,
            textarea {
                color: var(--neutro-700);
                border-radius: 8px;
                border: 1px solid var(--primary-100);

                &::placeholder {
                    color: var(--neutro-700);
                }
            }

            &.fv-plugins-icon-container {
                & .fv-plugins-message-container {
                    color: var(--color-form-error-white);
                }
            }
        }

        & .form-check-wrapper {
            .form-check-input {
                background-color: #fff;
                border: 1px solid var(--brand-03);
                &:checked[type="checkbox"] {
                    background-size: 11px;
                    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='10' viewBox='0 0 11 10' fill='none'%3E%3Cpath d='M3.61047 9.03489L0 5.42442L1.64535 3.77907L3.61047 5.75L9.35465 0L11 1.64535L3.61047 9.03489Z' fill='%230F172A'/%3E%3C/svg%3E");
                }

                &:checked {
                    background-color: #fff;
                    border: 1px solid var(--brand-03);
                }
            }
            .form-check-label {
                color: var(--neutro-700);
                a {
                    color: var(--neutro-700);
                    &:hover {
                        color: var(--color-black);
                    }
                }
            }
            .fv-plugins-icon-container {
                .fv-plugins-message-container {
                    color: var(--color-form-error-white);
                }
            }
        }
    }

    & .form-row {
        width: 100%;

        & .form-label {
            color: var(--neutro-blanco);
            font-size: clamp(14px, calc(13.333333px + 0.185185vw), 16px);
            font-weight: bold;
            text-align: left;
            line-height: 1.2;
            text-box-trim: trim-both;

            & .required {
                color: var(--bs-danger);
            }
        }

        &.form-row__links {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            /* margin-top: 0.75rem; */

            &.form-row__links--center {
                justify-content: center;
            }
            &.form-row__links--end {
                justify-content: flex-end;
            }

            & .form-row__link {
                a,
                p {
                    color: var(--neutro-700);
                    text-align: left;
                    font-size: 1rem;
                    font-weight: normal;
                    line-height: 1.4;
                    transition: var(--transition-300-ease);
                }
                a:hover {
                    text-decoration: underline;
                }
                &.form-row__link--bold * {
                    font-weight: bold;
                }

                &.form-row__link--secondary * {
                    font-size: 14px;
                }
            }
        }
    }

    & .form-submit {
        button {
            cursor: pointer;
        }
    }

    & .form-input {
        select,
        input,
        textarea {
            width: 100%;
            display: flex;
            padding: 0.5rem 2.5rem 0.5rem 0.875rem;
            align-items: center;
            gap: 0.5rem;
            flex: 1 0 0;
            color: var(--neutro-50);
            border-radius: 20px;
            border: 1px solid var(--neutro-blanco);
            background: transparent;
            text-box-trim: trim-both;
            outline: none;

            &::placeholder {
                color: var(--neutro-50);
                font-size: 14px;
                font-weight: normal;
                text-align: left;
                line-height: 1;
                text-box-trim: trim-both;
                opacity: 0.8;
            }

            &.form-input-readonly {
                background-color: rgb(203 213 225 / 20%);
                color: rgb(248 250 252 / 80%);
            }
        }

        &.fv-plugins-icon-container {
            .fv-plugins-icon {
                position: absolute;
                text-align: center;
                right: 8px;
                top: 8px;
                width: 20px;
                height: 20px;
            }

            &.red {
                .fv-plugins-icon {
                    color: var(--bs-red);
                }
            }

            &.green {
                .fv-plugins-icon {
                    color: var(--bs-green);
                }
            }

            .fv-plugins-message-container {
                color: var(--color-form-error-black);
                text-align: left;
                font-size: 12px;
                font-weight: normal;
                line-height: 1.2;
                text-wrap-style: pretty;
                padding-left: 1rem;
                padding-top: 0.375rem;
            }
        }
    }

    & .form-check-wrapper {
        .form-check {
            display: grid;
            grid-template-columns: auto 1fr;
            grid-template-rows: auto auto;
            grid-template-areas:
                "input label"
                "error error";
            align-items: flex-start;
            gap: 0.5rem;
        }

        .fv-plugins-icon {
            display: none;
        }

        .fv-plugins-message-container {
            grid-area: error;
            color: var(--color-form-error-black);
            text-align: left;
            font-size: 12px;
            font-weight: normal;
            line-height: 1;
            padding-left: 0;
            padding-top: 2px;
        }

        .form-check-input {
            grid-area: input;
            width: 1rem !important;
            padding: 0;
            height: 1rem;
            margin-top: 1px;
            min-height: 0;
            vertical-align: top;
            background-color: #d9d9d9;
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            border: 1px solid rgba(0, 0, 0, 0.25);
            appearance: none;
            opacity: 1;
            border-radius: 4px;

            &:checked[type="checkbox"] {
                background-size: 11px;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='10' viewBox='0 0 11 10' fill='none'%3E%3Cpath d='M3.61047 9.03489L0 5.42442L1.64535 3.77907L3.61047 5.75L9.35465 0L11 1.64535L3.61047 9.03489Z' fill='%230F172A'/%3E%3C/svg%3E");
            }

            &:checked {
                background-color: #d9d9d9;
                border-color: #d9d9d9;
                border: none;
            }
        }

        .form-check-label {
            grid-area: label;
            color: var(--neutro-50);
            font-size: 0.875rem;
            font-weight: normal;
            line-height: 1.4;
            cursor: pointer;

            a {
                color: var(--neutro-50);
                text-decoration: underline;

                &:hover {
                    color: var(--neutro-300);
                }
            }
        }
    }

    & .form-password-wrapper {
        position: relative;
        /* & .form-password-button {
            aspect-ratio: 1/1;
            background: #111113;
            border-radius: 2px;
            border: none;
            color: #fff;
            font-weight: 600;
            margin: 0;
            padding: 5px;
            position: absolute;
            right: 20px;
            text-align: center;
            top: 15px;
            z-index: 9;
            transition: all 0.3s ease-in;
        }
        & .form-password-input {
            padding-right: 3rem !important;
        } */
    }

    & .form-password-requirements {
        position: relative;
        padding: 0.5rem 0 0 0;

        p {
            color: var(--neutro-700);
            font-size: 0.875rem;
            font-weight: normal;
            padding-bottom: 0.5rem;
        }

        ul {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;

            li {
                color: var(--neutro-700);
                font-size: 0.875rem;
                font-weight: normal;
                display: grid;
                grid-template-columns: 13px 1fr;
                gap: 0.5rem;
                align-items: center;

                .req-icon {
                    font-size: 1rem;
                    text-align: center;
                    --icon-req-size: 14px;

                    &.req-icon--error {
                        background-image: var(--icon-pass-error);
                        background-repeat: no-repeat;
                        background-size: var(--icon-req-size);
                        width: var(--icon-req-size);
                        height: var(--icon-req-size);
                    }

                    &.req-icon--success {
                        background-image: var(--icon-pass-success);
                        background-repeat: no-repeat;
                        background-size: var(--icon-req-size);
                        width: var(--icon-req-size);
                        height: var(--icon-req-size);
                    }
                }
            }
        }
    }
}

/*==============================
  FORM END
===============================*/

/*==============================
  PAGE AUTH START
===============================*/

.auth-page {
    position: relative;
    margin-top: calc(
        clamp(30px, calc(6.666667px + 6.481481vw), 100px) + var(--header-height)
    );
    margin-bottom: clamp(10px, calc(0px + 2.777778vw), 40px);

    .auth-page__grid {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "area2"
            "area1";
        gap: 36px;

        @media (min-width: 1023px) {
            grid-template-columns: repeat(12, 1fr);
            grid-template-rows: auto;
            gap: 0 30px;
            grid-template-areas: ". area1 area1 area1 area1 . area2 area2 area2 area2 area2 .";
        }

        &.auth-page__grid--register {
            @media (min-width: 1023px) {
                grid-template-columns: repeat(13, 1fr);
                grid-template-rows: auto;
                gap: 0 0px;
                grid-template-areas: ". area1 area1 area1 area1 area1 . area2 area2 area2 area2 area2 .";
            }
        }
    }

    & .auth-page__content {
        grid-area: area1;

        & .auth-page__form {
            margin-top: clamp(40px, calc(36.666667px + 0.925926vw), 50px);

            & .form-submit {
                width: 100%;
                button {
                    width: 100%;
                }
            }

            & .auth-page__checkbox-spacer {
                padding-top: 1rem;
            }
        }
    }

    & .auth-page__media {
        grid-area: area2;

        & .auth-page__media-picture {
            position: relative;
            overflow: hidden;
            height: auto;
            border-radius: clamp(10px, calc(6.666667px + 0.925926vw), 20px);
        }

        & .auth-page__media-img {
            width: 100%;
            height: auto;
            border-radius: clamp(10px, calc(6.666667px + 0.925926vw), 20px);
        }
    }
}

/*==============================
  PAGE AUTH END
===============================*/

/*==============================
  GENERAL START
===============================*/

.section-general__banner {
    border-radius: 0 0 0 3.125rem;
    background: var(--brand-01);
    position: relative;
    padding-block: 16rem;
    display: grid;

    @media (min-width: 1023px) {
        border-radius: 0 0 0 14rem;
    }

    &::before {
        position: absolute;
        top: 0px;
        left: 0px;
        content: var(--bc-img-mobile-left);
        width: 163px;
        height: 237px;

        @media (min-width: 1023px) {
            content: "";
            width: 368px;
            height: 558px;
            background-image: var(--bc-img-desktop-left);
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
        }
    }

    &::after {
        position: absolute;
        top: initial;
        bottom: 0px;
        right: 0px;
        content: var(--bc-img-mobile-left);
        width: 163px;
        height: 237px;
        transform: scaleX(-1);

        @media (min-width: 1023px) {
            top: 0px;
            bottom: initial;
            right: 0px;
            content: var(--bc-img-desktop-left);
            width: 368px;
            height: 558px;
        }
    }

    & .section-general__banner-container {
        display: grid;
        place-items: center;

        @media (min-width: 1023px) {
            grid-template-columns: repeat(12, 1fr);
            gap: 0 30px;
            grid-template-areas: ". . . area area area area area area . . .";
        }
    }

    & .section-general__banner-area {
        grid-area: area;
        position: relative;
        z-index: 2;
    }
    & .section-general__banner-title {
        color: var(--neutro-50);
        font-size: clamp(32px, calc(20px + 3.333333vw), 60px);
        font-weight: bold;
        margin-bottom: 1rem;
        text-align: center;
        line-height: 1.3;
        padding-inline: 1rem;
        text-wrap-style: pretty;

        @media (min-width: 1024px) {
            padding-inline: 30px;
        }
    }

    & .section-general__banner-description {
        color: var(--brand-02);
        font-size: clamp(16px, calc(15.142857px + 0.238095vw), 18px);
        font-weight: normal;
        text-align: center;
        line-height: 1.4;
        margin-bottom: 2rem;
        padding-inline: 1rem;
        text-wrap-style: pretty;

        @media (min-width: 1024px) {
            padding-inline: 0;
            text-wrap-style: pretty;
        }
    }

    & .section-general__banner-actions {
        display: flex;
        justify-content: center;
        flex-direction: column;
        gap: 1rem;

        a {
            text-align: center;
        }

        @media (min-width: 1024px) {
            flex-direction: row;
        }
    }
}

.section-general__title {
    color: var(--brand-01);
    font-size: clamp(32px, calc(25.142857px + 1.904762vw), 48px);
    font-weight: bold;
    text-align: left;
    line-height: 1.1;
    margin-bottom: 1rem;
    text-wrap-style: balance;

    &.section-general__title--fs1 {
        font-size: clamp(24px, calc(21.333333px + 0.740741vw), 32px);
    }

    &.section-general__title--fs2 {
        font-size: clamp(28px, calc(26.666667px + 0.37037vw), 32px);
    }

    &.section-general__title--center {
        text-align: center;
    }

    span {
        color: var(--brand-04);
    }
}

.section-general__description {
    color: var(--neutro-700);
    font-size: clamp(16px, calc(15.333333px + 0.185185vw), 18px);
    font-weight: normal;
    text-align: left;
    line-height: 1.4;
    margin-bottom: 0rem;
    text-wrap-style: pretty;

    &.section-general__description--center {
        text-align: center;
    }
}

.swal2-container {
    .swal2-popup.swal2-modal {
        border-radius: 2rem;
    }
}

.pagination-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1.25rem 0;
    margin-top: 3.25rem;
    border-top: 1px solid #dfe4ec;

    .pagination-prev,
    .pagination-next {
        a,
        span {
            display: flex;
            padding: 0.75rem 1rem;
            justify-content: center;
            align-items: center;
            gap: 0.5rem;
            transition: all 0.2s ease;
            border-radius: 6.25rem;
            color: var(--neutro-700);
            background: #f8f9fa;
            box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
            font-size: 0.875rem;
            font-weight: 400;
            line-height: 1.4;
        }

        a:hover {
            background-color: #f2f2f2;
        }

        span {
            cursor: not-allowed;
            opacity: 0.8;
        }
    }

    .pagination-pages {
        display: none;
        @media (min-width: 1023px) {
            display: block;
        }
        .pagination-list {
            display: flex;
            list-style: none;
            padding: 0;
            margin: 0;
            gap: 8px; /* Espacio entre los números */

            li {
                a,
                span {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    flex-shrink: 0;
                    align-self: stretch;
                    padding: 0.75rem;
                    border: none;
                    border-radius: 0.5rem;
                    text-decoration: none;
                    width: 2.5rem;
                    height: 2.5rem;
                    color: var(--neutro-700);
                    font-size: 15px;
                    font-weight: 500;
                    line-height: 1.2;
                }

                a:hover {
                    background-color: #f2f2f2;
                }

                /* Estilo para la página activa */
                &.active span {
                    background-color: #f8f9fa;
                    color: var(--brand-01);
                }

                /* Estilo para los tres puntos '...' */
                &.disabled span {
                    border: none;
                    background: transparent;
                    color: #aaa;
                }
            }
        }
    }
}

.bg-icon-arrow-white {
    position: relative;
    &.bg-icon-arrow-white--top {
        &::after {
            @media (min-width: 1023px) {
                top: calc((var(--bg-par-pos-top) + var(--header-height)) * -1);
            }
        }
    }
    &::after {
        position: absolute;
        top: 0px;
        right: 0px;
        content: none;
        width: auto;
        height: auto;

        @media (min-width: 1023px) {
            content: var(--bg-par-arrow-white);
            top: 0;
            width: 447px;
            height: 558px;
        }
    }
}

/*==============================
  GENERAL END
===============================*/

/*==============================
  FOOTER START
===============================*/
.section-footer {
    background: var(--brand-01);
    margin-top: clamp(70px, calc(53.333333px + 4.62963vw), 120px);
    padding-top: clamp(32px, calc(30.666667px + 0.37037vw), 36px);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto auto auto;
    grid-template-areas:
        "area0"
        "area4"
        "area1"
        "area2"
        "area5"
        "area3";
    gap: 0;

    @media (min-width: 767px) {
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: auto auto auto auto auto;
        gap: 0 30px;
        grid-template-areas:
            "area0 area0 area0 area4 area4 area4"
            "area1 area1 area1 area4 area4 area4"
            "area2 area2 area2 area2 area2 area2"
            "area5 area5 area5 area5 area5 area5"
            "area3 area3 area3 area3 area3 area3";
    }

    @media (min-width: 1023px) {
        grid-template-columns: repeat(12, 1fr);
        grid-template-rows: auto auto auto;
        grid-template-areas:
            "area0 area0 area0 area0 area3 area3 area3 area3 area4 area4 area4 area4"
            "area1 area1 area1 area1 area3 area3 area3 area3 area4 area4 area4 area4"
            "area2 area2 area2 area2 area3 area3 area3 area3 area5 area5 area5 area5";
    }

    & .footer-area0 {
        grid-area: area0;
    }

    & .footer-area1 {
        grid-area: area1;
    }
    & .footer-area2 {
        grid-area: area2;
    }
    & .footer-area3 {
        grid-area: area3;
        display: flex;
        justify-content: center;
        align-items: flex-end;

        img {
            width: 70%;
            height: auto;
            @media (min-width: 767px) {
                width: initial;
            }
        }
    }
    & .footer-area4 {
        grid-area: area4;
        display: flex;
        gap: 3rem;
        justify-content: space-between;
        padding-bottom: 1.5rem;

        @media (min-width: 767px) {
            justify-content: flex-end;
            padding-bottom: 0rem;
        }
    }
    & .footer-area5 {
        grid-area: area5;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    & .footer-logo {
        margin-bottom: 2rem;
    }

    & .footer-contact {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        margin-bottom: 3rem;

        @media (min-width: 767px) {
            margin-bottom: 1.5rem;
        }
    }

    & .footer-contact-title {
        color: var(--neutro-blanco);
        font-size: 1rem;
        font-weight: 500;
        text-align: left;
        line-height: 1.2;
        margin-bottom: 0.5rem;
    }

    & .footer-contact-text {
        color: var(--neutro-50);
        font-size: 0.875rem;
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        margin-bottom: 0.125rem;
    }

    & .footer-socials {
        display: flex;
        flex-direction: row;
        gap: 0.75rem;
        li {
            a {
                position: relative;
                svg {
                    display: block;
                    line-height: 1;
                }
            }
        }
    }

    & .footer-copyright {
        color: var(--neutro-50);
        font-size: clamp(12px, calc(11.333333px + 0.185185vw), 14px);
        font-weight: normal;
        text-align: left;
        line-height: 1.4;
        padding-top: clamp(50px, calc(40px + 2.777778vw), 80px);
        padding-bottom: clamp(12px, calc(4px + 2.222222vw), 36px);

        @media (min-width: 767px) {
            text-align: center;
        }

        @media (min-width: 1023px) {
            text-align: left;
        }
    }

    :is(.footer-page-links, .footer-course-links, .footer-term-links) {
        a {
            color: var(--neutro-50);
            font-size: 0.875rem;
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
        }
    }

    :is(.footer-page-links, .footer-course-links) {
        display: flex;
        flex-direction: column;
        gap: 0;

        a {
            display: block;
            padding-block: 0.5rem;
        }
    }

    & .footer-course-links {
        & .footer-course-links--title {
            color: var(--neutro-blanco);
            font-size: 1rem;
            font-weight: 500;
            text-align: left;
            line-height: 1.2;
        }
    }

    & .footer-term-links {
        width: 100%;
        display: flex;
        flex-direction: row;
        gap: 1rem;
        justify-content: space-between;
        padding-bottom: clamp(32px, calc(30.666667px + 0.37037vw), 36px);
        a {
            font-size: clamp(12px, calc(11.333333px + 0.185185vw), 14px);
        }

        @media (min-width: 767px) {
            justify-content: space-around;
        }

        @media (min-width: 1023px) {
            justify-content: flex-end;
        }
    }
}

@keyframes testimonials-slideup {
    0% {
        -webkit-transform: translateY(0%);
        transform: translateY(0%);
    }
    100% {
        -webkit-transform: translateY(-20%);
        transform: translateY(-20%);
    }
}

@keyframes testimonials-slidedown {
    0% {
        -webkit-transform: translateY(-70%);
        transform: translateY(-70%);
    }
    100% {
        -webkit-transform: translateY(0%);
        transform: translateY(0%);
    }
}
/*==============================
  FOOTER END
===============================*/

.lms-layout {
    display: flex;
    flex-direction: column;

    @media (min-width: 1023px) {
        flex-direction: row;
    }

    .lms-layout__sidebar {
        background-color: var(--brand-01);
        color: white;
        padding: 1.25rem 1.5rem;
        position: sticky; /* O fixed si quieres que siempre esté visible al hacer scroll */
        top: 0;
        z-index: 1000;
        width: 100%;

        @media (min-width: 1023px) {
            position: fixed;
            width: 260px;
            height: 100vh;
            padding: 2.5rem 1.5rem;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .lms-sidebar__header {
            display: flex;
            justify-content: space-between;
            align-items: center;

            @media (min-width: 1023px) {
                margin-bottom: 3rem;
            }
        }

        .lms-sidebar__logo img {
            display: block;

            @media (max-width: 1020px) {
                width: auto;
                height: 20px;
            }
        }

        .lms-sidebar__nav {
            position: fixed;
            top: 0;
            left: 0;
            height: 100vh;
            width: 280px;
            background-color: #2d3748;
            padding-top: 60px; /* Espacio para el logo o botón de cerrar */
            transform: translateX(-100%);
            transition: transform 0.3s ease-in-out;
            z-index: 1001;

            @media (min-width: 1023px) {
                position: static;
                height: auto;
                width: auto;
                background-color: transparent;
                padding-top: 0;
                transform: none;
            }

            .lms-sidebar__menu {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-direction: column;
                gap: 1.5rem;

                .lms-sidebar__item {
                    .lms-sidebar__link {
                        display: flex;
                        align-items: center;
                        gap: 0.5rem;
                        padding: 0.25rem 0.5rem;
                        border: 1px solid var(--brand-01);
                        border-radius: 0.75rem;
                        text-decoration: none;
                        transition: all 0.3s ease-in-out;

                        svg {
                            color: var(--color-white);
                        }

                        span {
                            color: var(--color-white);
                            font-size: 1rem;
                            font-weight: normal;
                            text-align: left;
                            line-height: 1.4;
                        }

                        &:hover {
                            border-color: var(--primary-50);
                        }
                        &.lms-sidebar__link--active {
                            background-color: var(--primary-50);
                            border-color: var(--primary-50);
                            span,
                            svg {
                                color: var(--brand-01);
                            }
                        }
                    }
                }
            }
        }

        /* --- Overlay (oculto por defecto) --- */
        .lms-sidebar__overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s, visibility 0.3s;
            z-index: 999;

            @media (min-width: 1023px) {
                display: none;
            }
        }

        /* --- Botón Hamburguesa --- */
        .lms-sidebar__toggle {
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            width: 2rem;
            height: 2rem;
            background: transparent;
            border: none;
            cursor: pointer;
            padding: 0;
            z-index: 1002;
            @media (min-width: 1023px) {
                display: none;
            }

            span {
                width: 2rem;
                height: 0.25rem;
                background: white;
                border-radius: 10px;
            }
        }

        &.lms-sidebar--is-open {
            .lms-sidebar__nav {
                transform: translateX(0);
            }
            .lms-sidebar__overlay {
                opacity: 1;
                visibility: visible;
            }
        }
    }

    .lms-layout__main {
        width: 100%;
        background-color: var(--color-white);
        padding: 2rem 4rem;

        @media (min-width: 1023px) {
            flex: 1;
            height: 100vh;
            margin-left: 260px;
        }

        .lms-layout__header {
            display: flex;
            justify-content: space-between;
            padding-bottom: 3rem;

            .lms-layout__header__title {
                color: var(--brand-01);
                font-size: 2rem;
                font-weight: bold;
                text-align: left;
                line-height: 1.4;
            }

            .lms-layout__header__user {
                display: flex;
                align-items: center;
                gap: 0.75rem;
                padding: 0.5rem 1rem;
                background-color: var(--primary-50);
                border-radius: 1.875rem;

                .lms-layout__header__user-img {
                    position: relative;
                    img {
                        width: 40px;
                        height: 40px;
                        aspect-ratio: 1/1;
                        object-fit: cover;
                        border-radius: 50%;
                    }
                }
                .lms-layout__header__user-info {
                    display: flex;
                    flex-direction: column;
                    gap: 0.25rem;

                    .lms-layout__header__user-info__name {
                        color: var(--brand-01);
                        font-size: 1rem;
                        font-weight: bold;
                        text-align: left;
                        line-height: 1.2;
                        text-box-trim: trim-both;
                    }

                    .lms-layout__header__user-info__role {
                        color: var(--neutro-900);
                        font-size: 0.875rem;
                        font-weight: normal;
                        text-align: left;
                        line-height: 1.4;
                        text-box-trim: trim-both;
                    }
                }
            }
        }

        .lms-layout__body {
        }
    }
}

.section-lms-courses {
    position: relative;

    .section-lms-courses__grid {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 2rem;

        @media (min-width: 767px) {
            grid-template-columns: repeat(2, 1fr);
            gap: 36px 30px;
        }

        @media (min-width: 1023px) {
            grid-template-columns: repeat(3, 1fr);
        }

        .section-lms-courses__card {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            gap: 1rem;
            border-radius: 1rem;
            border: 1px solid var(--primary-200);
            padding: 1rem;
            box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.05);

            .section-lms-courses__image {
                position: relative;
                width: 100%;
                img {
                    aspect-ratio: 16/9;
                    object-fit: cover;
                    width: 100%;
                    border-radius: 1rem;
                }
            }

            .section-lms-courses__details {
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: flex-start;
                gap: 1rem;
                width: 100%;

                .section-lms-courses__title {
                    color: var(--brand-01);
                    font-size: 1.125rem;
                    font-weight: bold;
                    text-align: left;
                    line-height: 1.2;
                }
                .section-lms-courses__teacher {
                    color: var(--neutro-700);
                    font-size: 0.875rem;
                    font-weight: normal;
                    text-align: left;
                    line-height: 1.4;
                }
            }

            .section-lms-courses__extras {
                display: flex;
                flex-direction: row;
                justify-content: space-between;
                width: 100%;

                .section-lms-courses__expiration {
                    display: flex;
                    flex-direction: column;
                    gap: 0.275rem;
                    color: var(--neutro-700);
                    font-size: 0.875rem;
                    font-weight: normal;
                    text-align: left;
                    line-height: 1.4;
                }
            }
        }
    }
}

.section-lms-courses__progress {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;

    .progress__bar {
        width: 100%;
        background-color: #eaeaea;
        border-radius: 1rem;
        padding: 0px;
        /* box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); */

        .progress__fill {
            width: var(--progress);
            height: 1rem;
            background-color: var(--brand-03);
            text-align: center;
            line-height: 1rem;
            border-radius: 1rem;
            transition: width 0.3s ease-in-out;
        }
    }

    .progress__text {
        span {
            display: flex;
            gap: 0.5rem;
            font-size: 0.875rem;
            font-weight: normal;
            text-align: left;
            line-height: 1.4;
        }
    }
}

.section-lms-course-player__grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 2rem;

    @media (min-width: 1023px) {
        grid-template-columns: repeat(4, 1fr);
        grid-template-areas: "area1 area1 area1 area2";
    }

    .section-lms-course-player__content {
        grid-area: area1;
    }

    .section-lms-course-player__side {
        grid-area: area2;

        .course-content-playlist {
            .course-content-header {
                margin-bottom: 1.5rem;
            }

            .course-playlist-accordion {
                .accordion {
                    --bs-border-width: 0;
                    .accordion-item {
                        .accordion-header {
                            .accordion-button {
                                box-shadow: none;
                                &:not(.collapsed) {
                                    color: var(--brand-03);
                                    background-color: #fff;                                    
                                    font-weight: 500;
                                }
                            }
                        }

                        .accordion-collapse {
                        }
                    }
                }
            }
        }
    }
}

.section-lms-courses__video-area {
    padding: 0px;
    background: white;
    box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.1);
    border-radius: 20px;
    overflow: hidden;

    & .course-video-wrap {
        border: 1px solid #000;
        .plyr {
            .plyr__video-wrapper {
                .plyr__poster {
                    border-radius: 20px;
                }
            }
        }
    }
}
