@font-face {
    font-family: Montserrat SemiBold;
    src: url('../fonts/Montserrat/Montserrat-SemiBold.ttf');
}

@font-face {
    font-family: Montserrat Regular;
    src: url('../fonts/Montserrat/Montserrat-Regular.ttf');
}

@font-face {
    font-family: Cormorant Garamond SemiBold;
    src: url('../fonts/CormorantGaramond/CormorantGaramond-SemiBold.ttf');
}

:root {
    --purple-primary: #653074;
    --purple-primary-light: #8c4697;
    --purple-primary-dark: #4d1f5a;
    --purple-primary-ultra-light: #e7e0e8;
    --purple-primary-ultra-dark: #441c50;

    --yellow-primary: #bf934b;
    --yellow-primary-light: #e6c96f;
    --yellow-primary-dark: #9f6a2f;
}

* {
    font-family: 'Montserrat Regular';
    color: #303030;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Cormorant Garamond SemiBold';
    /* color: #303030 !important; */
}

.card-body h1,
.card-body h2,
.card-body h3,
.card-body h4,
.card-body h5,
.card-body h6 {
    color: #303030;
}

h1.semi-underline:after,
h2.semi-underline:after,
h3.semi-underline:after,
h4.semi-underline:after,
h5.semi-underline:after,
h6.semi-underline:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 15%;
    height: 2px;
    background: var(--yellow-primary);
    /* transform: scaleX(0); */
    transition: transform 0.3s;
    z-index: 9;
}

.elementor-row.menu {
    padding: 0px;
}
.elementor-section {
    height: 70px;
}

.elementor-4330
    .elementor-element.elementor-element-84b31bc
    > .elementor-container {
    min-height: 70px;
}

.position-relative {
    position: relative;
}

.login100-form-title {
    font-family: 'Cormorant Garamond SemiBold';
    font-size: 35px;
}

hr {
    border: 1px solid var(--yellow-primary);
}

.margin-auto {
    margin: auto !important;
}

.w-25 {
    width: 25% !important;
}

.mt-1 {
    margin-top: 1rem !important;
}

.mt-2 {
    margin-top: 2rem !important;
}

.mb-1 {
    margin-bottom: 1rem !important;
}
.mb-2 {
    margin-bottom: 2rem !important;
}

.mx-1 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
}

.p-1 {
    padding: 1rem !important;
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.my-1 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.my-2 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

.input100 {
    text-align: left;
    font-family: 'Montserrat Regular';
    font-size: 12px;
    padding-left: 50px !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.input100::placeholder {
    color: #a0a0a0;
}

.login-icon {
    position: absolute;
    top: 6px;
    left: 10px;
    background: var(--purple-primary-ultra-light);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-icon i {
    color: var(--purple-primary);
}

.limiter .login100-form-btn {
    background: linear-gradient(
        var(--purple-primary-light),
        var(--purple-primary)
    );
    font-family: 'Montserrat Regular';
    font-size: 12px;
    letter-spacing: 3px;
}

.limiter .login100-form-btn::before {
    background: linear-gradient(
        var(--purple-primary),
        var(--purple-primary-dark)
    ) !important;
}

.ms-2 {
    margin-left: 0.5rem !important;
}

.limiter .info {
    font-family: 'Montserrat Regular' !important;
    font-size: 12px !important;
}

.wrap-login100 {
    box-shadow: 3px 3px 10px #605f5f;
}

@media (max-width: 1024px) {
    /* .elementor-nav-menu--dropdown-2 {
        display: none;
    } */
}

.elementor-section-wrap {
    min-height: 100vh;
}
@media (min-width: 1024px) {
    .menu-home.elementor-section-wrap {
        margin-top: 70px;
    }
}

.elementor-column.elementor-col-100.elementor-top-column.elementor-element.elementor-element-6be27e9c {
    position: absolute;
    bottom: 0 !important;
}

.container .card.card-6 {
    margin-top: 20px !important;
}

@media (max-width: 1024px) {
    .container .card.card-6 {
        margin-top: 90px !important;
    }
}
@media (max-width: 991px) {
    .container .card.card-6 {
        margin-bottom: 0 !important;
    }
}
.container .card.card-6.card-new {
    margin-top: 0px !important;
}
.elementor-section-wrap {
    /* background: white; */
    background: url('../img/bg-home.jpg') no-repeat center center;
    background-size: cover;
}

@media (max-width: 600px) {
    .elementor-section-wrap {
        background: url('../img/bg-home.jpg') no-repeat right bottom;
        background-size: cover;
    }
}
/* @media (max-width: 1024px) {
    .menu-home .elementor-background-overlay {
        background: white !important;
    }

    .menu-home .eicon-menu-bar,
    .menu-home .mostrar_menu_aux {
        color: var(--purple-primary);
    }

    .menu-home .elementor-widget-container .elementor-image a {
        display: none;
    }
} */

.menu-home .eicon-menu-bar,
.menu-home .mostrar_menu_aux {
    color: white;
}

.card.card-6 .card-body {
    background: white !important;
    border: none !important;
    padding-top: 1px;
}

.card.card-6 .card-heading .title {
    font-family: 'Cormorant Garamond SemiBold';
    text-align: center;
    font-size: 40px;
    color: var(--purple-primary-ultra-dark);
    position: relative;
    margin-top: 0;
    /* margin-bottom: 40px; */
}

@media (max-width: 600px) {
    .card.card-6 .card-heading .title {
        font-size: 28px;
    }
}

.card.card-6 .card-heading .text-pre-title {
    color: var(--yellow-primary);
    font-family: 'Montserrat Regular';
    font-size: 25px;
    text-align: center;
    margin-bottom: 0px;
    letter-spacing: 4px;
    /* margin-top: 50px; */
}

.card.card-6 .card-heading .text-post-title {
    color: #b2b2b2;
    font-family: 'Montserrat Regular';
    font-size: 12px;
    text-align: center;
    letter-spacing: 3px;
}

.description-box,
.pdf-box {
    position: relative;
    border-radius: 10px;
    border: none !important;
    padding: 20px 20px;
}

.description-box:hover,
.pdf-box:hover {
    box-shadow: 3px 3px 10px var(--purple-primary) !important;
}

.description-box::before,
.pdf-box::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 10px;
    padding: 1px; /* grosor del borde */
    background: linear-gradient(
        90deg,
        var(--purple-primary),
        var(--yellow-primary)
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
}

.description-box .icon,
.pdf-box .icon {
    background: var(--purple-primary-ultra-light);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    /* border: 1px solid var(--yellow-primary);  */
}

.description-box .arrow-icon,
.pdf-box .arrow-icon {
    background: var(--purple-primary-light);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
}
.description-box .arrow-icon i,
.pdf-box .arrow-icon i {
    color: white;
}

.description-box .text,
.pdf-box .text {
    /* padding-left: 20px; */
    text-align: left;
    border-left: 1px solid var(--purple-primary-light);
    padding-left: 10px;
}

.description-box .text .title-big,
.description-box .text p,
.pdf-box .text .title-big,
.pdf-box .text p {
    margin: 0;
}
.description-box .text .title-big,
.pdf-box .text .title-big {
    font-size: 32px;
    color: var(--purple-primary) !important;
}

@media (max-width: 520px) {
    .description-box .text .title-big,
    .pdf-box .text .title-big {
        font-size: 25px;
    }
}
@media (min-width: 767px) and (max-width: 1200px) {
    .description-box .text .title-big,
    .pdf-box .text .title-big {
        font-size: 25px;
    }
}

.text-yellow {
    color: var(--yellow-primary);
}

.description-box .icon i,
.pdf-box .icon i {
    color: var(--purple-primary);
}

.d-flex {
    display: flex !important;
}

.flex-row {
    flex-direction: row !important;
}

#fh5co-header #navbar li a {
    color: black !important;
}

.text-muted {
    color: #8f8e8e !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-end {
    justify-content: end !important;
}
.justify-content-start {
    justify-content: start !important;
}

.align-items-center {
    align-items: center !important;
}
.flex-column {
    flex-direction: column !important;
}

.fs-12px {
    font-size: 12px !important;
}

.lh-1-2 {
    line-height: 1.2;
}

.fs-1 {
    font-size: 2.5rem;
} /* 40px - Título gigante */
.fs-2 {
    font-size: 2rem;
} /* 32px - Título principal */
.fs-3 {
    font-size: 1.75rem;
} /* 28px - Subtítulo grande */
.fs-4 {
    font-size: 1.5rem;
} /* 24px - Título mediano */
.fs-5 {
    font-size: 1.25rem;
} /* 20px - Título pequeño */
.fs-6 {
    font-size: 1rem;
} /* 16px - Texto de párrafo normal */
.fs-7 {
    font-size: 0.875rem;
} /* 14px - Texto secundario o notas */
.fs-8 {
    font-size: 0.75rem;
} /* 12px - Texto legal o etiquetas */
.fs-9 {
    font-size: 0.625rem;
} /* 10px - Texto muy pequeño */
.fs-10 {
    font-size: 0.5rem;
} /* 8px  - Tamaño mínimo legible */

.h-100 {
    height: 100%;
}
.w-100 {
    width: 100%;
}

.elementor-4330 .elementor-element.elementor-element-84b31bc {
    box-shadow: none;
}

.welcome-menu-img {
    margin-top: 50px;
}
@media (max-width: 1024px) {
    .welcome-menu-img {
        margin-top: -20px;
        position: relative;
        /* z-index: 99999999; */
    }
}
.welcome-menu-img img {
    min-width: 100px;
    max-width: 250px;
}

.text-left {
    text-align: left !important;
}
.card.card-6 .card-heading .text-left {
    text-align: left !important;
}

.text-primary-light {
    color: var(--purple-primary-light) !important;
}

.text-primary {
    color: var(--purple-primary) !important;
}

.courses .card {
    border-radius: 10px;
    box-shadow: 2px 2px 5px #6530746a !important;
}

.courses .card .card-image {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.courses h3 {
    font-family: 'Cormorant Garamond SemiBold' !important;
    text-align: left;
    color: var(--purple-primary) !important;
    margin-bottom: 0px !important;
    margin-top: 5px !important;
}

.courses h5 {
    font-family: 'Montserrat Regular' !important;
    text-align: left;
    color: var(--purple-primary) !important;
    margin-bottom: 0px !important;
    font-size: 12px;
}
.courses .card-text > span {
    font-family: 'Montserrat Regular' !important;
    text-align: left;
    display: none;
}

.courses hr {
    display: none;
}

.btn-primary-outline {
    background: none;
    border: 1px solid var(--purple-primary);
    color: var(--purple-primary);
    font-family: 'Montserrat Regular';
    font-size: 14px;
    letter-spacing: 2px;
    padding: 8px 20px;
    border-radius: 2.5rem;
}
.btn-primary-outline i {
    color: var(--purple-primary);
    transition: all 0.4s;
}

.btn-primary-outline:hover {
    border: 1px solid var(--purple-primary);
    background: var(--purple-primary);
    color: white;
}

.btn-primary-outline:hover i {
    color: white;
}

.font-primary {
    color: var(--purple-primary) !important;
    transition: all 0.4s;
}

.btn-primary-outline:hover .font-primary {
    color: white !important;
}

.progress-container {
    display: flex;
    align-items: center;
    font-family: 'Montserrat Regular' !important;
}

.progress-bar {
    flex: 1;
    height: 5px;
    background-color: #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    /*width: 65%; /* Cambia este valor para el progreso */
    background-color: var(--purple-primary);
    border-radius: 10px;
    transition: width 0.4s ease;
}

.table .progress .progress-bar {
    background-color: var(--purple-primary) !important;
}

.progress-percentage {
    font-size: 14px;
    /* font-weight: bold; */
    color: #333;
    min-width: 40px;
    text-align: right;
    font-family: 'Montserrat Regular' !important;
}

.submenu ul {
    display: flex;
    align-items: stretch;
}
.submenu ul li {
    background: #f9f7fa;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.submenu ul li:first-child,
.submenu ul li:first-child a {
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
}

.submenu ul li:last-child,
.submenu ul li:last-child a {
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}

.submenu ul li a {
    background: #f9f7fa;
    color: black;
    font-family: 'Montserrat Regular';
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--purple-primary-ultra-light) !important;
    padding: 14px 20px !important;
    transition: all 0.3s !important;
    position: relative;
    height: 100%;
}

.submenu ul li i {
    color: var(--purple-primary);
    font-size: 24px;
    transition: all 0.3s !important;
}

.submenu ul li a.active,
.submenu ul li a:hover {
    background: linear-gradient(
        var(--purple-primary-light),
        var(--purple-primary)
    );
    transition: all 0.3s !important;
}
.submenu ul li a:hover {
    background-color: linear-gradient(
        var(--purple-primary-light),
        var(--purple-primary)
    ) !important;
}
.submenu ul li a.active {
    border-radius: 50px;
}
.submenu ul li a.active:after {
    content: '';
    position: absolute;
    background: white;
    height: 10px;
    width: 50%;
    border-radius: 50px;
    bottom: -5px;
}
.submenu ul li a.active i,
.submenu ul li a:hover i {
    color: white;
}

/* .submenu ul li:not(:last-child) a {
    border: 1px solid red;
} */

.modal-content {
    background: white;
}
.rosa {
    background: #57257c !important;
}

.table {
    border: none;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background: rgb(239, 239, 239);
}

.table thead tr,
.table thead td {
    background: var(--purple-primary) !important;
    position: relative !important;
    overflow: hidden !important;
    color: white !important;
}

.table thead th,
.table thead td {
    color: #ffffff !important;
    /* font-weight: 600 !important; */
    /* font-size: 0.75rem; */
    /* text-transform: uppercase !important;     */
    /* letter-spacing: 1px !important; */
    padding: 8px 10px !important;
    border: none !important;
    background: transparent !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
    position: relative !important;
    z-index: 1 !important;
}

.table thead th:first-child,
.table thead td:first-child {
    border-radius: 10px 0 0 0 !important;
}

.table thead th:last-child,
.table thead td:last-child {
    border-radius: 0 10px 0 0 !important;
}

.table thead {
    border-top: none !important;
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
    background-color: var(--purple-primary) !important;
    border-color: var(--purple-primary) !important;
}

.btn-sm {
    font-size: 14px !important;
}

.text-dark {
    color: var(--purple-primary) !important;
}

.uppercase {
    text-transform: uppercase;
}

.ls-0 {
    letter-spacing: 0px;
}
.ls-1 {
    letter-spacing: 1px;
}
.ls-2 {
    letter-spacing: 2px;
}

.controles-de-direccion {
    margin-bottom: 0px;
}
.controles-de-direccion > div {
    border: none;
}

.controles-de-direccion a {
    border-radius: 50px;
    height: 30px !important;
}

.controles-de-direccion .anterior {
    background: transparent;
    border: 1px solid var(--purple-primary);
}

.controles-de-direccion .anterior * {
    color: var(--purple-primary) !important;
}
.controles-de-direccion .siguiente {
    background: var(--yellow-primary);
    border: 1px solid var(--yellow-primary);
}

.controles-de-direccion .siguiente * {
    color: white !important;
}
.controles-de-direccion p {
    margin-top: 0px !important;
}
.controles-de-direccion .arrow {
    font-size: 18px;
}

.controles-de-direccion .link-disabled .arrow,
.controles-de-direccion .link-disabled p {
    color: white !important;
}
.controles-de-direccion .anterior.link-disabled .arrow,
.controles-de-direccion .anterior.link-disabled p {
    color: var(--purple-primary) !important;
}

.gap-1 {
    gap: 1rem;
}

@media (min-width: 992px) {
    .gap-sm-1 {
        gap: 1rem;
    }
}

.gap-05 {
    gap: 0.5rem;
}

.dorado {
    background: var(--purple-primary) !important;
    color: white !important;
}

@media (max-width: 991px) {
    .enlaces-img {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }
}

.enlaces-img .col-md-12.caja {
    margin-bottom: 5px;
}
.enlaces-img .col-md-12.caja > a {
    display: flex;
    align-items: center;
    justify-content: start;
}
.enlaces-img .col-md-12.caja.caja-now {
    background: var(--purple-primary-ultra-light);
}
.enlaces-img .col-md-12.caja a {
    border: 1px solid var(--purple-primary-ultra-light);
}

#visto,
#prox_pago,
.enlaces-img .video-description-href {
    color: var(--purple-primary) !important;
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: 5px;
    padding-left: 0px;
    width: 100%;
}

.enlaces-img .video-description-href h5 {
    color: var(--purple-primary) !important;
    font-family: 'Montserrat Regular';
}

.enlaces-img a:hover {
    background: var(--purple-primary);
}
.enlaces-img a:hover h5 {
    color: white !important;
}
.enlaces-img .check-class i {
    color: var(--yellow-primary);
}

.enlaces-img .caja-now .check-class i {
    color: var(--purple-primary);
}

.enlaces-img .video-description-href.now h5 {
    background: transparent;
}

.description-pdf:has(.pdf-box),
.description-pdf:has(.description-box) {
    margin-top: 10px;
    padding: 0;
    border-radius: 10px;
    border: 1px solid var(--purple-primary-ultra-light);
}

.description-pdf > .row {
    margin-left: 0;
    margin-right: 0;
}
.description-pdf .pdf-box,
.description-pdf .description-box {
    border: 1px solid var(--purple-primary-ultra-light) !important;
    padding: 0;
}
.description-pdf .pdf-box:before {
    /* background: none; */
}

.description-pdf .circle-purple,
.description-pdf .circle-yellow {
    display: none;
}

.description-pdf .pdf-box .icon,
.description-pdf .description-box .icon {
    width: 40px;
    height: 40px;
    font-size: 22px;
}

.enlaces-img .caja:not(.publicity) .img img {
    display: none;
}
.enlaces-img .img {
    width: 20%;
}

.box-yt iframe {
    border-radius: 10px;
}

.video-js,
video,
.video-js .vjs-modal-dialog,
.vjs-poster {
    border-radius: 10px;
}

.border-none {
    border: none !important;
}
.enlaces-img a h5 {
    line-height: 1;
}

.elementor-nav-menu--dropdown-2 {
    box-shadow: -2px -2px 5px rgb(72, 72, 72) !important;
}

.container-login100 {
    min-height: calc(100vh - 50px);
}

.elementor-column.elementor-col-100.elementor-top-column.elementor-element.elementor-element-6be27e9c {
    height: 50px;
    position: relative;
    background: #fbf7ed;
}

.elementor-column.elementor-col-100.elementor-top-column.elementor-element.elementor-element-6be27e9c
    .elementor-widget-wrap {
    background: black;
}

.text-center {
    text-align: center !important;
}
