@font-face {
    font-family: 'visby';
    src: url(../fonts/VisbyCF/VisbyCF-Thin.woff2) format('woff2)');
    font-weight: 100;
    font-display: optional;
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 10%;
}

@font-face {
    font-family: 'visby';
    src: url(../fonts/VisbyCF/VisbyCF-Light.woff2) format('woff2)');
    font-weight: 200;
    font-display: optional;
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 10%;
}

@font-face {
    font-family: 'visby';
    src: url(../fonts/VisbyCF/VisbyCF-Regular.woff2) format('woff2)');
    font-weight: 300;
    font-display: optional;
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 10%;
}

@font-face {
    font-family: 'visby';
    src: url(../fonts/VisbyCF/VisbyCF-Medium.woff2) format('woff2)');
    font-weight: 400;
    font-display: optional;
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 10%;
}

@font-face {
    font-family: 'visby';
    src: url(../fonts/VisbyCF/VisbyCF-Bold.woff2) format('woff2)');
    font-weight: 500;
    font-display: optional;

    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 10%;
}

@font-face {
    font-family: 'visby';
    src: url(../fonts/VisbyCF/VisbyCF-DemiBold.woff2) format('woff2)');
    font-weight: 600;
    font-display: optional;
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 10%;
}

@font-face {
    font-family: 'visby';
    src: url(../fonts/VisbyCF/VisbyCF-ExtraBold.woff2) format('woff2)');
    font-weight: 700;
    font-display: optional;
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 10%;
}

@font-face {
    font-family: 'visby';
    src: url(../fonts/VisbyCF/VisbyCF-Heavy.woff2) format('woff2)');
    font-weight: 800;
    font-display: optional;
    ascent-override: 105%;
    descent-override: 35%;
    line-gap-override: 10%;
}

:root {
    --white: #fff;
    --black: #000;
    --green: #358A42;
    --red: #DB2C28;
    --purple: #3F1F68;
    --gray: #333;
    --gray-light: #E0E0E0;
    --gray-medium: #CECECE;
    --radious-general: .6rem;
    --shadow-default: 5px 5px 15px 0 rgb(0 0 0 / 15%);
    --transition-default: all .3s ease-in-out
}

body {
    margin: 0;
    padding: 0;
    font-family: 'visby', sans-serif;
    font-display: optional;
    position: relative;
}

main {
    position: relative;
    background-image: url(../img/cdmx-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: top;
    z-index: -1;
}

section {
    padding: 90px 0
}

h1 {
    color: var(--white);
    text-transform: uppercase
}

h2 {
    color: var(--green);
    font-size: 45px;
    font-weight: 500
}

h2 span {
    font-weight: 800;
    font-size: 60px
}

header {
    top: 0;
    position: sticky;
    z-index: 50;
    width: 100%;
    background-color: #fff
}

.section-dec {
    position: relative
}

.section-dec__img {
    position: absolute;
    width: 65vw;
    bottom: var(--b);
    right: var(--r);
    left: var(--l);
    z-index: -1;
    display: none
}

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important
}

header .navbar {
    background-color: #fff;
    width: 100%;
    text-align: center;
    z-index: 99;
    top: 0;
    padding: 0;
    box-shadow: 0 0 20px 0 #00000040
}

.navbar-toggler {
    padding: 4px 8px;
    border: 1px solid #333;
    transition: .5s ease-in-out;
    border-radius: 6px;
    background-color: #333;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 50px;
    height: 50px
}

.navbar-toggler span:nth-child(1) {
    width: 80%
}

.navbar-toggler span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: .5s ease-in-out
}

header .nav-link {
    font-size: 14px;
    transition: all .5s ease-in-out;
    margin: auto 10px;
    position: relative;
    font-weight: 400;
    color: var(--green)
}

header .nav-link:hover,
header .nav-link:active,
header .nav-link:focus {
    color: var(--red)
}

@media screen and (max-width: 991px) {
    header .nav-link::before {
        display: none
    }
}

#hero {
    /* background-image:url(../img/banner.webp); */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 700px;
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    position: relative;
}

#hero .hero-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: -1;
}

#hero p {
    color: var(--white);
    font-size: 20px
}

.containerspans {
    display: flex
}

.hero__data {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: center
}

.hero__title {
    font-size: 3.2rem;
    font-weight: 300;
    width: 100%;
    max-width: 800px
}

.hero__title span {
    font-weight: 500
}

.hero__btn {
    color: var(--white);
    background-color: #fa1b96;
    display: block;
    border-radius: 30px;
    width: 100%;
    max-width: 14rem;
    text-decoration: none;
    margin: 0 auto;
    font-size: 1.3rem;
    padding: .7rem 1rem;
    transition: var(--transition-default)
}

.hero__btn:hover {
    background-color: #008a39;
    color: #fff
}

.clock {
    display: flex;
    justify-content: center;
    background: #fa1b96;
    padding: 15px 0;
    width: 100%;
    position: absolute;
    top: 7rem;
    left: 0
}

.clock span {
    color: #fff;
    font-size: 50px;
    padding: 0 10px;
    font-family: "visby", sans-serif;
    font-display: optional;
    font-optical-sizing: auto;
    font-weight: 700;
    text-align: center
}

.clock span .small {
    font-size: 14px;
    margin: 0;
    font-family: "Lexend", sans-serif;
    font-display: optional;
    font-optical-sizing: auto;
    font-weight: 600
}

.clock .puntos {
    position: relative
}

@media (max-width: 767px) {
    .clock {
        justify-content: center
    }

    .clock span {
        font-size: 24px;
        padding: 0 10px
    }

    .clock span .small {
        font-size: 12px
    }
}

@media (max-width: 399px) {
    .clock {
        flex-wrap: wrap
    }
}

#video {
    padding: 120px 0 80px
}

.img-gradience {
    border-radius: var(--radious-general);
    overflow: hidden;
    width: 100%;
    position: relative
}

.img-gradience::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.img-gradience img {
    width: 100%
}

.z-10 {
    z-index: 10
}

.z-20 {
    z-index: 20
}

.video__content {
    border-radius: var(--radious-general);
    box-shadow: var(--shadow-default);
    position: relative;
    overflow: hidden;
    padding-top: 56.25%
}

.video__content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.hora {
    color: var(--gray);
    font-weight: 700;
    text-align: center
}

.conferencia {
    color: #fa1b96;
    font-weight: 700;
    margin-bottom: 0;
    font-size: 20px
}

.nombre-conferencia {
    color: #333;
    font-weight: 400
}

hr.div-hr {
    border: none;
    border-left: 4px solid var(--green);
    width: 1px;
    margin-bottom: 0;
    padding: 0
}

hr {
    opacity: 1;
    margin: 0
}

.card.cardpro {
    border: none;
    border-radius: 10px;
    -webkit-box-shadow: 5px 5px 15px 0 #0003;
    -moz-box-shadow: 5px 5px 15px 0 #0003;
    box-shadow: 5px 5px 15px 0 #0003;
    margin: 15px 0;
    width: 100%;
    max-width: 99%
}

.card.cardpro p {
    margin-bottom: 0
}

.cardpro__img {
    width: 100%
}

.programa-sec {
    width: 100%;
    min-height: 100vh;
    position: relative
}

.programa-sec__title {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.programa-sec__title span {
    display: block;
    font-weight: 800
}

.programa-sec__title span:first-child {
    font-weight: 500
}

.programa-sec__title span:nth-child(n+2) {
    width: 100%;
    font-size: 11rem;
    margin-bottom: -3rem
}

.program-sec__list {
    min-height: 80vh;
    overflow: hidden;
    position: relative
}

.program-sec__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0 1rem
}

.cardpro .col-3 {
    display: flex;
    align-items: center;
    justify-content: center
}

.cardpro .col-6 {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center
}

.accordion-button:not(.collapsed)::after {
    background-image: none !important
}

.dec-program {
    position: relative
}

.dec-program::before {
    position: absolute;
    top: 0;
    right: 100%;
    content: "";
    background-image: url(../img/cincillo-programa.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    width: clamp(0rem, 10vw, 3rem);
    height: 100%
}

.accordion-body li {
    text-align: start
}

#acceso {
    padding: 0 0 90px;
    margin-top: -36vh;
}

#acceso p {
    font-size: 18px;
    color: var(--gray)
}

#acceso .card.default {
    border: none;
    margin: 15px 0;
    -webkit-box-shadow: var(--shadow-default);
    -moz-box-shadow: var(--shadow-default);
    box-shadow: var(--shadow-default);
    border-radius: 10px
}

#acceso .card.default p {
    color: var(--green);
    font-size: 1.3rem
}

#acceso .card.card-ticket {
    background-image: url(../img/tickett.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    border: none;
    padding: 100px 20px 130px;
    color: var(--white);
    -webkit-box-shadow: 0;
    -moz-box-shadow: 0;
    box-shadow: 0
}

h1.precio {
    font-size: 35px;
    font-weight: 600;
    justify-content: center;
    display: flex;
    align-items: center
}

h1.precio span {
    font-size: 70px;
    font-weight: 800
}

.card.card-ticket ul {
    margin: 20px
}

.card.card-ticket ul li {
    font-size: 15px
}

.btn.btn-blanco,
.btn.btn-green {
    background-color: #fa1b96;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    width: 100%;
    padding: 10px 0;
    transition: var(--transition-default)
}

.btn.btn-blanco {
    background-color: #fff;
    color: #fa1b96
}

.btn.btn-blanco:hover {
    background-color: #fa1b96;
    color: #fff
}

.btn.btn-green {
    background-color: var(--green);
    color: var(--white)
}

.btn.btn-green:hover {
    background-color: var(--white);
    color: var(--green)
}

#programa .accordion-button {
    padding: 0;
    color: var(--green);
}

#programa .accordion-button::after {
    background: inherit;
}

#programa .accordion-body {
    padding: 0;
}

#programa .accordion-button:focus {
    box-shadow: none;
}

#programa .accordion-button:not(.collapsed) {
    box-shadow: inherit;
    background-color: inherit
}

#mesas {
    padding: 90px 0
}

#mesas .card,
#patrocinadores .card,
#app .card {
    border: none;
    margin: 15px 0;
    -webkit-box-shadow: var(--shadow-default);
    -moz-box-shadow: var(--shadow-default);
    box-shadow: var(--shadow-default);
    border-radius: 10px
}

#speakers {
    padding: 90px 0
}

.card.speaker {
    border: 0;
    border-radius: var(--radious-general);
    overflow: hidden;
    box-shadow: var(--shadow-default);
    margin: 1rem 0
}

.card.speaker .card-img {
    position: relative
}

.card.speaker .card-img::before {
    content: "";
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: linear-gradient(0deg, #333f 0%, #333f 10%, #33333393 29%, #3330 76%)
}

.swiperSpeakers {
    width: 100%;
    height: auto
}

.swiperSpeakers .swiper-button-next {
    top: auto;
    bottom: 20px;
    border: 1px solid var(--white-color);
    width: auto;
    height: auto;
    padding: 2px 10px;
    border-radius: 4px;
    background-color: #fff0;
    right: 0;
    margin-left: 56px;
    transition: all .5s ease-in-out;
    transform: translateY(28px);
    color: var(--white)
}

.swiperSpeakers .swiper-button-next::after {
    content: ""
}

.swiperSpeakers .swiper-button-prev {
    top: auto;
    bottom: 20px;
    border: 1px solid var(--white-color);
    width: auto;
    height: auto;
    padding: 2px 10px;
    border-radius: 4px;
    background-color: #fff0;
    left: 0;
    transition: all .5s ease-in-out;
    transform: translateY(28px);
    color: var(--white)
}

.swiperSpeakers .swiper-button-prev::after {
    content: ""
}

.swiperSpeakers .swiper-button-next,
.swiperSpeakers .swiper-button-prev {
    position: relative
}

.swiperSpeakers .swiper-button-next svg,
.swiperSpeakers .swiper-button-prev svg {
    fill: var(--green);
    width: 20px;
    height: 20px
}

.swiperSpeakers .swiper-button-next:hover svg,
.swiperSpeakers .swiper-button-prev:hover svg,
.swiperSpeakers .swiper-button-next:active svg,
.swiperSpeakers .swiper-button-prev:active svg {
    opacity: .6
}

.swiper__nav {
    position: relative;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: end
}

.name-job {
    position: absolute;
    background-color: #fff;
    padding: 10px 15px 10px 20px;
    border-radius: 0 45px 45px 0;
    bottom: 5%
}

.name-job .info-speaker {
    padding: 10px 25px 0 10px
}

.name-job .info-speaker h5 {
    color: var(--green);
    font-size: 16px
}

.name-job .info-speaker p {
    color: var(--gray);
    font-size: 12px;
    padding-bottom: 0;
    margin-bottom: 0;
    display: none
}

.btn-speaker {
    background-color: transparent;
    border: none;
    font-size: 14px;
    color: var(--red)
}

hr.div-hr2 {
    border: none;
    border-left: 4px solid var(--red);
    width: 1px;
    margin-bottom: 0;
    padding: 0;
    max-height: 60px
}

.card .speakers {
    border: none !important
}

.card-special {
    display: flex;
    filter: drop-shadow(0px 0px 20px #0003)
}

.card-special__left,
.card-special__right {
    width: 100%;
    max-width: 50%
}

.card-special__left {
    background-color: var(--white);
    padding: 1.9rem 1.4rem;
    margin-top: auto;
    border-top-left-radius: var(--radious-general);
    border-bottom-left-radius: .2rem
}

.card-special__title {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.6rem
}

.card-special__title h2 {
    font-size: 2.4rem;
    font-weight: 400;
    margin-bottom: 0
}

.card-special__title h2 span {
    font-size: 2.4rem
}

.card-special__title hr.div-hr {
    max-height: 100%
}

.card-special__text {
    font-size: .8rem
}

.card-special__right {
    background-color: var(--green);
    border-top-left-radius: var(--radious-general);
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    border-top-right-radius: .2rem;
    border-bottom-right-radius: .2rem
}

.card-special__img {
    width: 100%
}

.gasolinero-sec {
    padding-top: 14rem;
    padding-bottom: 22rem
}

.gasolinero-sec__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    position: relative;
    z-index: 40
}

.gasolinero-sec__title h2 {
    margin-bottom: 0
}

.gasolinero-sec__title img {
    width: 5rem
}

.card-gasolinero {
    position: relative;
    background-color: var(--white);
    display: flex;
    box-shadow: var(--shadow-default);
    border-radius: var(--radious-general);
    padding: 2.5rem 3rem;
    gap: 1rem;
    z-index: 40
}

.card-gasolinero hr.div-hr {
    max-height: 100%
}

.card-gasolinero__text {
    font-size: 1.2rem;
    font-weight: 300
}

.gasolinero-sec__img {
    position: absolute
}

.img__1 {
    bottom: 50%;
    left: -50%;
    z-index: 30
}

.img__2 {
    top: 65%;
    left: -25%;
    z-index: 20
}

.img__3 {
    top: 0;
    right: -35%;
    z-index: 10
}

.gallery-networking {
    display: flex;
    flex-direction: row;
    gap: 1rem
}

.gallery-networking__frame {
    position: relative;
    overflow: hidden;
    border-radius: var(--radious-general);
    width: 100%;
    max-width: 12%;
    min-height: 38rem;
    transition: max-width .6s ease-in-out
}

.gallery-networking__img {
    height: 100%;
    width: 100%;
    object-fit: cover
}

.gallery-networking__title {
    position: absolute;
    bottom: 2.5rem;
    z-index: 10;
    width: 100%
}

.gallery-networking__detail {
    position: relative;
    width: 3rem;
    text-wrap: nowrap;
    transition: width .6s ease-in-out
}

.gallery-networking__pleca {
    background-color: var(--white);
    border-top-right-radius: 100rem;
    border-bottom-right-radius: 100rem;
    width: 0;
    overflow: hidden;
    transition: width .6s ease-in-out
}

.gallery-networking__pleca p {
    color: var(--green);
    font-weight: 400;
    padding: 1rem 4rem;
    margin-bottom: 0
}

.gallery-networking__button {
    position: absolute;
    border: none;
    background-color: var(--red);
    color: var(--white);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 100rem;
    font-size: 2.8rem;
    font-weight: 200;
    top: 50%;
    right: -1rem;
    transform: translateY(-50%)
}

.gallery-networking__button img {
    width: 16px;
    height: 16px
}

.gallery-networking__frame .img-gradience {
    border-radius: 0;
    width: 100%;
    height: 100%
}

.gallery-networking__frame.active {
    max-width: 60%
}

.gallery-networking__frame.active .gallery-networking__detail {
    width: 55%
}

.gallery-networking__frame.active .gallery-networking__pleca {
    width: 100%
}

.card-evento {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: var(--radious-general);
    overflow: hidden
}

.card-evento__pleca {
    position: absolute;
    bottom: 1rem;
    left: 0;
    z-index: 30;
    background-color: var(--white);
    border-top-right-radius: 100rem;
    border-bottom-right-radius: 100rem;
    width: 100%;
    max-width: 65%;
    padding: .7rem 1.8rem;
    display: flex
}

.card-evento__data {
    padding: .5rem .8rem 0
}

.card-evento__title {
    color: var(--green)
}

.card-evento__text {
    margin-bottom: 0;
    color: var(--gray);
    font-size: .8rem
}

.card-evento__logo {
    position: absolute;
    top: 35%;
    width: 100%;
    max-width: 14rem;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 20
}

.card-evento__bg {
    width: 100%;
    z-index: 10
}

.aside {
    background-image: url(../img/textura.png);
    background-position: center;
    background-size: cover;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100vh;
    position: sticky;
    top: 0;
    width: 100%;
    box-shadow: 0 0 20px 0 #00000040;
    background-color: var(--white)
}

.aside__group {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: available;
    width: -moz-available;
    width: -wit-available;
    width: -o-available;
    width: -ms-available
}

.aside__title {
    background-color: var(--green);
    color: var(--white);
    text-align: center;
    padding: .5rem .2rem;
    width: 100%
}

.aside__title p {
    word-break: break-all;
    font-size: 1rem;
}

.aside__img {
    background-color: var(--white);
    margin: 0 auto;
    padding: 1rem .8rem;
    border-bottom-left-radius: var(--radious-general);
    border-bottom-right-radius: var(--radious-general);
    box-shadow: var(--shadow-default)
}

.aside.aside__movil {
    position: fixed;
    z-index: 50;
    bottom: 0;
    height: 90px;
    background-color: var(--white);
    box-shadow: none
}

.aside.aside__movil .aside__group {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: normal;
    height: 100%;
    width: 100%;
    justify-content: start
}

.aside.aside__movil .aside__title {
    width: 2.5rem
}

.aside.aside__movil .aside__title p {
    -webkit-writing-mode: sideways-lr;
    -ms-writing-mode: sideways-lr;
    writing-mode: sideways-lr;
    margin: 0;
    font-size: .8rem
}

.aside.aside__movil .aside__img {
    margin: auto 0;
    border-radius: var(--radious-general)
}

.aside.aside__movil .aside__img img {
    width: 100%;
    max-width: 8rem
}

body.modal-speakers__active {
    overflow: hidden !important
}

.modal-speakers {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    z-index: 100;
    overflow: hidden;
    display: flex;
    visibility: visible
}

.modal-speakers__content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex
}

.modal-speakers:not(.show) {
    display: none
}

.modal-speakers__left {
    background-color: var(--green);
    width: 100%;
    max-width: 20%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(0);
    height: 100%;
    z-index: 20;
    transition: all .3s ease-in-out
}

.modal-speakers__content.disabled .modal-speakers__left {
    transform: translateX(-150%);
    transition: all .3s ease-in-out
}

.modal-speakers__nav {
    display: flex;
    align-items: start;
    padding: 1rem 1.6rem
}

.modal-speakers__back {
    background-color: inherit;
    border: 0;
    border-radius: 0;
    transition: var(--transition-default)
}

.modal-speakers__back:hover {
    opacity: .6
}

.modal-speakers__img {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 40%
}

.modal-speakers__img img {
    width: 100%;
    margin-left: 45%;
    border-radius: .1rem;
    border: 1rem solid var(--white);
    box-shadow: var(--shadow-default)
}

.modal-speakers__right {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    background-color: var(--white);
    width: 100%;
    max-width: 80%;
    height: 100%;
    min-height: 100vh;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    padding-right: 30px;
    transform: translateX(0);
    transition: all .3s ease-in-out
}

.modal-speakers__content.disabled .modal-speakers__right {
    transform: translateX(100%);
    transition: all .3s ease-in-out
}

.modal-speakers__detail {
    padding-left: 20%;
    width: 100%;
    max-width: 1200px
}

.modal-speakers__bussine {
    display: none
}

.modal-speakers__description {
    text-align: justify
}

.footer p {
    margin-bottom: 0
}

.footer__top {
    margin-bottom: -3rem;
    z-index: 10;
    position: relative
}

.footer__news {
    background-color: var(--white);
    box-shadow: 5px 5px 15px 0 #0000001a;
    border-radius: .8rem;
    padding: 2rem 3.2rem
}

.footer__title {
    color: var(--green);
    margin-bottom: 0;
    font-size: calc(1.275rem + .3vw)
}

.footer__subtitle {
    color: var(--black);
    font-weight: 300
}

.footer__form {
    display: flex;
    flex-direction: row;
    width: 100%
}

.footer__input {
    padding: .8rem 2rem;
    border-top-left-radius: var(--radious-general);
    border-bottom-left-radius: var(--radious-general);
    width: 100%;
    border: 2px solid var(--gray-light);
    outline: 2px solid transparent;
    transition: var(--transition-default)
}

.footer__input:focus {
    border-color: var(--red);
    outline: 2px solid #db2c2866
}

.footer__input::placeholder {
    color: var(--gray-medium);
    font-weight: 500
}

.footer__button {
    background-color: var(--red);
    color: var(--white);
    border: 0;
    padding: .6rem 2rem;
    border: 2px solid var(--red);
    transition: var(--transition-default);
    border-radius: 0 var(--radious-general) var(--radious-general) 0
}

.footer__button:hover {
    border: 2px solid var(--red);
    color: var(--red)
}

.footer__bottom {
    background-color: var(--green);
    border-top-left-radius: 1.8rem;
    border-top-right-radius: 1.8rem;
    z-index: 1;
    position: relative;
    padding-top: 5rem;
    padding-bottom: 1.6rem;
    color: var(--white)
}

.footer__rs {
    list-style: none;
    padding-left: 0;
    display: flex;
    margin-bottom: 0;
    width: 100%;
    justify-content: center;
    gap: 1rem
}

.footer__rs-link {
    display: block;
    transition: var(--transition-default)
}

.footer__rs-link:hover {
    opacity: .6
}

.footer__rs-icon {
    width: 100%;
    max-width: 1.2rem
}

.footer__contact {
    background-color: var(--gray);
    padding: 1rem 0
}

.footer__contact-links {
    display: flex;
    gap: 1rem;
    color: var(--white);
    align-items: center
}

.footer__contact-links a {
    text-decoration: none;
    color: var(--white);
    transition: var(--transition-default)
}

.footer__contact-links a:hover,
.footer__contact-links a:active {
    opacity: .6
}

.jc-rwd {
    justify-content: end
}

.cardform {
    background-image: url(../tuxtla/img/textura.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border: 1px solid #f7f7f7;
    -webkit-box-shadow: 10px 10px 20px -8px #c7c7c7ff;
    -moz-box-shadow: 10px 10px 20px -8px #c7c7c7ff;
    box-shadow: 10px 10px 20px -8px #c7c7c7ff
}

.input-field {
    position: relative
}

.input-field input {
    width: 100%;
    height: 50px;
    border-radius: 0;
    padding: 6px 15px;
    background: transparent;
    outline: none;
    border: 1px solid #ff0084 !important;
    background-color: transparent !important;
    font-family: "mont" !important;
    font-display: swap !important;
    font-size: 14px !important;
    color: #333 !important
}

.input-field input.is-invalid,
input.is-invalid {
    border-color: #DB2C28 !important
}

.input-field input.is-invalid~label,
input.is-invalid~label {
    color: #DB2C28 !important
}

.input-field label {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    font-size: 14px;
    pointer-events: none;
    transition: .3s;
    display: block !important;
    color: #ff5018 !important
}

.form-control::file-selector-button {
    color: #333 !important;
    font-family: 'mont';
    font-display: swap !important;
    background-color: transparent !important;
    margin: 0 7px 0 5px
}

.input-field label i {
    color: #e41e2b
}

.input-field label span {
    color: #FF8C00
}

.form-select {
    --bs-form-select-bg-img: none
}

select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    position: relative
}

select.is-invalid,
.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size="1"],
.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"] {
    border-color: #DB2C28 !important;
    --bs-form-select-bg-icon: none
}

.form-group.select::after {
    content: "▼";
    font-size: 14px;
    color: #fff !important;
    position: absolute;
    top: 75%;
    right: 10px;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 10
}

input:focus {
    border: 2px solid #18ffff
}

input:focus~label,
input:valid~label,
textarea:focus~label,
textarea:valid~label {
    top: 0;
    left: 15px;
    font-size: 14px;
    padding: 0 4px;
    background: #fff
}

select:focus~label,
select:valid~label {
    top: 0;
    left: 15px;
    font-size: 14px;
    padding: 0 4px;
    background: #fff
}

.cardform form textarea {
    width: 100%;
    border-radius: 0;
    padding: 6px 15px;
    outline: none;
    border: 1px solid #ff0084 !important;
    background-color: transparent !important;
    font-family: "mont", sans-serif !important;
    font-display: swap !important;
    font-size: 15px !important;
    color: #333 !important;
    font-weight: 500
}

.cardform form textarea:focus {
    background-color: transparent
}

.custom-select-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column
}

.custom-select-container::placeholder,
.custom-select-container option {
    color: #333
}

.custom-select-container option:disabled {
    color: #fafafa80 !important
}

.custom-select-container::after {
    content: "▼";
    font-size: 14px;
    color: #fff !important;
    position: absolute;
    top: 75%;
    right: 10px;
    transform: translateY(-50%);
    pointer-events: none
}

.custom-input {
    width: 100%;
    padding: 8px;
    font-size: 16px;
    border: 1px solid #fff;
    border-radius: 5px;
    box-sizing: border-box;
    width: 100%;
    height: 50px;
    border-radius: 0;
    padding: 6px 15px;
    outline: none;
    border: 1px solid #fff !important;
    background-color: #358a42;
    font-family: "mont", sans-serif !important;
    font-display: swap !important;
    font-size: 15px !important;
    color: #fff !important;
    font-weight: 500
}

.custom-dropdown {
    position: absolute;
    width: 100%;
    max-height: 150px;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #fff;
    display: none;
    z-index: 10;
    top: 100%
}

.custom-dropdown div {
    padding: 8px;
    cursor: pointer
}

.custom-dropdown div:hover {
    background-color: #f0f0f0
}

.custom-input::placeholder {
    color: #fff;
    font-style: italic;
    opacity: 1
}

label {
    color: #ff5018 !important
}

.btn.btn-danger {
    color: #fff;
    background-color: #ff0084;
    border: none;
    width: 100%
}

.btn.btn-danger:hover {
    color: #fff;
    background-color: #ff5018;
    border: none;
    width: 100%
}

.form-control {
    background-color: #358A42
}

.ev-001-color {
    color: #3F1F68
}

.ev-002-color {
    color: #ff5018
}

.ev-003-color {
    color: #DAA520
}

.ev-004-color {
    color: #024BBA
}

.btn-app-more {
    background-color: #008a39;
    color: #fff;
    border-radius: 2px;
    text-decoration: none;
    padding: 10px 40px;
    font-weight: bold;
    font-size: 12px;
}

/* Preguntas */
:root {
    --color-pink: #ff0a8d;
    --color-success: #198754;
    --color-gray: #6c757d;
    --color-light: #f8f9fa;
    --border-radius: 10px;
    --transition: 0.3s ease;
}

.form-expertos {
    padding: 3rem 1rem;
    display: flex;
    justify-content: center;
}


.form-title {
    text-align: center;
    color: var(--color-success);
    font-weight: 700;
    margin-bottom: 1rem;
}

.form-subtitle {
    text-align: center;
    color: var(--color-gray);
    margin-bottom: 2rem;
    line-height: 1.6;
}

.form-group {
    margin-bottom: 1.4rem;
}

.form-label {
    display: flex;
    align-items: center;
    color: var(--color-pink) !important;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.icon {
    font-size: 1.1rem;
    margin-right: 8px;
}

.form-input {
    width: 100%;
    border: 2px solid #ddd;
    border-radius: var(--border-radius);
    padding: 0.7rem 1rem;
    font-size: 1rem;
    color: #727272;
    outline: none;
    transition: border var(--transition), box-shadow var(--transition);
    appearance: none;
    background-color: #fff;
}

.form-input::placeholder {
    color: #c9c7c7;
}

.form-input:focus {
    border-color: var(--color-pink);
    box-shadow: 0 0 0 3px rgba(255, 20, 147, 0.15);
}

.form-input:valid {
    color: #727272;
}

.select-wrapper {
    position: relative;
}

.select-wrapper::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 0;
    height: 0;
    pointer-events: none;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--color-pink);
    transform: translateY(-50%);
}

.select-wrapper select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 2.5rem;
}

.form-warning {
    font-size: 0.85rem;
    color: #777;
    line-height: 1.5;
    margin-top: 1rem;
    margin-bottom: 1.5rem;
}

.form-warning>.pk {
    color: var(--color-pink);
}

.form-btn-container {
    text-align: center;
}

.form-btn {
    background-color: var(--color-pink);
    color: white;
    border: none;
    border-radius: var(--border-radius);
    padding: 0.7rem 2.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition), transform var(--transition);
}

.form-btn:hover {
    background-color: #e01382;
    transform: scale(1.02);
}

textarea.form-input {
    resize: none;
}


@media (max-width: 576px) {
    .form-card {
        padding: 1.8rem;
    }
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px white inset;
    -webkit-text-fill-color: #000;
    transition: background-color 5000s ease-in-out;
}

input:-moz-autofill,
textarea:-moz-autofill,
select:-moz-autofill {
    box-shadow: 0 0 0px 1000px white inset;
    -moz-text-fill-color: #000;
}

input.form-input,
textarea.form-input,
select.form-input {
    border: 1px solid #ccc;
    border-radius: 4px;
}
/* Preguntas */