@charset "utf-8";
/* CSS Document */

/* ---------------- Inicio Modulo de redes ------------- */
.social-media-card {
    /*border-radius: 16px;*/
    aspect-ratio: 171/230
}

@media (min-width: 768px) {
    .social-media-card {
        height:230px;
        aspect-ratio: auto
    }
}

@media (min-width: 1024px) {
    .social-media-card {
        height:auto;
        aspect-ratio: 169/280
    }
}

@media (min-width: 1280px) {
    .social-media-card {
        aspect-ratio:215/300;
    }
}

.social-media-card .logo-text-wrapper {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.social-media-card .logo-wrapper {
    top: auto;
    bottom: 0;
    right: auto;
    left: 0;
    margin: 8px
}

.social-media-card .logo-wrapper span[class^=icon] {
    font-size: 36px
}

.social-media-card .text-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center
}
.mod-social-media .mod-title {
    padding-bottom: 32px
}

@media (min-width: 1024px) {
    .mod-social-media .mod-title {
        padding-bottom:0
    }
}

.mod-social-media .mod-title .ifema-h2 {
    margin-top: -10px;
    margin-bottom: 0!important
}

.mod-social-media .mod-title>:not(:first-child) {
    padding-top: 16px
}

.mod-social-media .mod-title .mod-title-link-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    line-height: 0;
	margin-top: 20px;
}

@media (min-width: 1280px) {
    .mod-social-media .mod-title .mod-title-subtitle-wrapper>* {
        font-size:1.5rem;
        line-height: 1.75rem
    }
}

.mod-social-media .mod-title .link-primary {
    padding: 19px 14px 19px 16px!important;
    border: none!important;
    color: #fff!important;
    background: #000!important
}
.mod-social-media .mod-title .link-primary span {
	font-weight: 600
}
.mod-social-media .mod-title .link-primary:hover {
    background: #F7C642!important
}
.mod-social-media .mod-title .link-primary:hover span {
    color: #000!important
}
.mod-social-media .mod-title .link-primary:before,.mod-social-media .mod-title .link-primary:after{
	display: none;
}
@media (min-width: 1280px) {
    .mod-social-media .mod-title .mod-title-link-wrapper {
        margin-left:0;
    }
}

.mod-social-media .mod-title.mobile-title-link {
    padding-top: 32px;
    padding-bottom: 0
}

@media (min-width: 1024px) {
    .mod-social-media .social-media-cards-wrapper {
        -webkit-box-flex:1;
        -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }
}

@media (min-width: 1024px) {
    .mod-social-media .social-media-cards-wrapper .row {
        margin-left:-4px;
        margin-right: -4px
    }
}

.mod-social-media .social-media-cards-wrapper .col {
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    max-width: 50%
}

@media (min-width: 1024px) {
    .mod-social-media .social-media-cards-wrapper .col {
        -webkit-flex-basis:25%;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        padding-left: 4px;
        padding-right: 4px;
        max-width: 25%
    }
}

.mod-social-media .social-media-card {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-shadow: none;
    box-shadow: none
}

.mod-social-media .social-media-card img {
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform .3s ease-in-out;
    transition: -webkit-transform .3s ease-in-out;
    -o-transition: -o-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out,-webkit-transform .3s ease-in-out,-o-transform .3s ease-in-out
}

.mod-social-media .social-media-card:focus:not(:active),.mod-social-media .social-media-card:hover {
    margin-top: 0;
    margin-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none
}

.mod-social-media .social-media-card:focus:not(:active) img,.mod-social-media .social-media-card:hover img {
    -webkit-transform: scale(1)!important;
    -o-transform: scale(1)!important;
    transform: scale(1)!important
}

.mod-social-media .social-media-card .pretitle span,.mod-social-media .social-media-card .title span {
    -webkit-line-clamp: none
}

@media (min-width: 1440px) {
    .mod-social-media .social-media-card .pretitle span {
        font-size:1.125rem;
        line-height: 1.25rem
    }
}
.mod-social-media .title-cards-wrapper .ifema-h2 {
	font-size: 2rem !important;
	line-height: 2.64rem !important;
	letter-spacing: 1.28px;
}
@media (max-width: 1024px) {
	.mod-social-media .title-cards-wrapper .ifema-h2 {
		font-size: 2rem !important;
		line-height: 2.6rem !important;
	}
}
@media (max-width: 768px) {
	.mod-social-media .title-cards-wrapper .ifema-h2 {
		font-size: 2rem !important;
		line-height: 2.64rem !important;
	}
}
.mod-social-media .social-media-card .ifema-h4 {
    font-size: 1rem!important;
    line-height: 1.1875rem!important
}

@media (min-width: 1440px) {
    .mod-social-media .social-media-card .ifema-h4 {
        font-size:1.5rem!important;
        line-height: 1.75rem!important
    }
}

.mod-social-media .social-media-list {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 22px;
    margin-top: 50px;
    margin-bottom: 73px;
    /*border-radius: 22px;*/
    padding: 24px;
    background-color: #F2F2F5
}

@media (min-width: 1024px) {
    .mod-social-media .social-media-list {
        -webkit-box-orient:horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 73px;
        margin-bottom: 112px;
        padding: 18px 32px
    }
}

@media (min-width: 1280px) {
    .mod-social-media .social-media-list {
        padding:24px 40px
    }
}

@media (min-width: 1024px) {
    .mod-social-media .social-media-list ul {
        -webkit-flex-wrap:nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
}

.mod-social-media .social-media-list li {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.mod-social-media .social-text {
    text-align: center
}

.mod-social-media .social-text span {
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 3.42931rem;
    line-height: 3.93531rem
}

@media (min-width: 1024px) {
    .mod-social-media .social-text span {
        font-size:70px;
        line-height: 62px
    }
}

@media (min-width: 1280px) {
    .mod-social-media .social-text span {
        font-size:89px;
        line-height: 78px
    }
}

.mod-social-media .social-text span.ifema-h3 {
    color: #000;
    font-weight: 700!important;
    text-transform: uppercase!important;
    font-size: 2.4293125rem!important;
    line-height: 2.9353125rem!important
}

@media (max-width: 1024px) {
    .mod-social-media .social-text span.ifema-h3 {
        font-size: 2rem !important;
        line-height: 2.64rem!important
    }
}

@media (max-width: 768px) {
    .mod-social-media .social-text span.ifema-h3 {
        font-size: 2rem !important;
        line-height: 2.64rem!important
    }
}

.mod-social-media .social-icon-link {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative;
    border-radius: 0px;
    padding: 10px;
    background-color: #000;
    color: #fff;
    overflow: hidden;
    -webkit-transition: color .3s ease-in-out;
    -o-transition: color .3s ease-in-out;
    transition: color .3s ease-in-out
}

@media (min-width: 1024px) {
    .mod-social-media .social-icon-link {
        padding:14px
    }
}

@media (min-width: 1280px) {
    .mod-social-media .social-icon-link {
        padding:18px
    }
}

.mod-social-media .social-icon-link[href*=youtube] {
    padding-right: 32px
}

.mod-social-media .social-icon-link span[class^=icon] {
    z-index: 1
}

@media (min-width: 1024px) {
    .mod-social-media .social-icon-link span[class^=icon] {
        font-size:28px
    }
}

@media (min-width: 1280px) {
    .mod-social-media .social-icon-link span[class^=icon] {
        font-size:35px
    }
}

.mod-social-media .social-icon-link::after {
    content: "";
    position: absolute;
    top: 0;
    left: -128%;
    width: 229%;
    height: 100%;
    background: -webkit-linear-gradient(165deg,transparent 50%,#F7C642 50%);
    background: -o-linear-gradient(165deg,transparent 50%,#F7C642 50%);
    background: linear-gradient(-90deg,transparent 50%,#F7C642 50%);
    -webkit-transition: left .3s ease-in-out;
    -o-transition: left .3s ease-in-out;
    transition: left .3s ease-in-out
}

.mod-social-media .social-icon-link:focus:not(:active),.mod-social-media .social-icon-link:hover {
    color: #000
}

.mod-social-media .social-icon-link:focus:not(:active)::after,.mod-social-media .social-icon-link:hover::after {
    left: 0
}

@media (min-width: 1024px) {
    .mod-social-media {
        display:-webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin-left: auto;
        margin-right: auto
    }
}

@media (min-width: 1024px) {
    .mod-social-media .container {
        display:-webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media (min-width: 1024px) {
    .mod-social-media .title-cards-wrapper {
        display:-webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

@media (min-width: 1024px) {
    .mod-social-media .mod-title {
        margin-right:35px;
        width: 270px;
        min-width: 270px
    }
}

@media (min-width: 1280px) {
    .mod-social-media .mod-title {
        margin-right:42px
    }
}

@media (min-width: 1920px) {
    .mod-social-media .mod-title {
        width:360px;
        min-width: 360px
    }
}

@media (min-width: 1280px) {
    .mod-social-media .social-media-cards-wrapper .row {
        margin-left:-8px;
        margin-right: -8px
    }

    .mod-social-media .social-media-cards-wrapper .col {
        padding-left: 8px;
        padding-right: 8px
    }
}
/* ---------------- Fin Modulo de redes ------------- */

.basico .links-container>div .card .embed-responsive-ifema img {
    object-fit: contain;
}
.mod-modal-cards {
	background: white;
}
.contenido-galeria .col-img img {
	    height: 100% !important;
}

.contenido-galeria .col-img:hover img {
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
}
.contenido-galeria .col-img img {
    -webkit-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
}
.contenido-galeria .col-img {
	overflow: hidden;
}
.contenido-galeria .col-img:hover img {
    -webkit-box-shadow: none;
    box-shadow: none;
}
:not(.about-wrapper)> .contenido-galeria .row:not(.panel-body)  .col-xl-3 {
        margin-top: 0px !important;
        padding-left: 0px !important;
        padding-right: 0px !important;
}
.contenido-galeria .row {
	gap: 10px;
}
aside.box-with-title {
	padding-top: 0px !important;
        margin-top: 0 !important;
}

    .fixed-tickets-sales .countdown .number {
        font-size: 2rem;
        line-height: 2rem;
    }
.modal-open .modal {
    background: rgb(0,0,0,0.6);
}

.hero-banner-slick .hero-banner-slider .container .hero-banner-title {
  background-color: #000000a3;
  margin-left: -40px;
  padding: 10px 10px 0 40px;
  max-width: fit-content;
}
@media (min-width: 768px) {
    .contenido-galeria .col-md-4 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 calc(33.33333% - 10px);
        -ms-flex: 0 0 calc(33.33333% - 10px);
        flex: 0 0 calc(33.33333% - 10px);
        max-width: calc(33.33333% - 10px);
    }
}
@media (min-width: 1440px) {
   .contenido-galeria .col-xl-3 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 calc(25% - 10px);
        -ms-flex: 0 0 calc(25% - 10px);
        flex: 0 0 calc(25% - 10px);
        max-width: calc(25% - 10px);
    }
}
@media (max-width: 768px) {
    .contenido-galeria .col-sm-6 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 calc(50% - 10px);
        -ms-flex: 0 0 calc(50% - 10px);
        flex: 0 0 calc(50% - 10px);
        max-width: calc(50% - 10px);
    }
}
     /* HOTFIXES */

@supports (-webkit-touch-callout: none) {

  /* 1. Neutralizar aspect-ratio en contenedores de cards */
  .mod-modal-cards .modal-card-container,
  .mod-modal-cards .modal-card,
  .mod-modal-cards [class*="card"] {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: auto !important;
  }

  /* 2. Forzar flujo vertical estable (evita solapes) */
  .mod-modal-cards,
  .mod-modal-cards .cards,
  .mod-modal-cards .listing {
    display: flex !important;
    flex-direction: column !important;
  }

  /* 3. Desactivar comportamientos peligrosos en mobile iOS */
  .mod-modal-cards * {
    transform: none !important;
  }

  /* 4. Evitar absolute en contenidos internos de cards */
  .mod-modal-cards .modal-card-container *,
  .mod-modal-cards .modal-card * {
    position: static !important;
  }

  /* 5. Imágenes: asegurar que definen altura correctamente */
  .mod-modal-cards img,
  .mod-modal-cards picture,
  .mod-modal-cards picture img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }

  /* 6. Prevenir colapsos por overflow */
  .mod-modal-cards .modal-card-container,
  .mod-modal-cards .modal-card {
    overflow: visible !important;
  }

  /* 7. Grid → comportamiento seguro en iOS */
  .mod-modal-cards [style*="grid"],
  .mod-modal-cards .grid {
    grid-auto-rows: auto !important;
  }

  /* 8. Separación explícita entre cards */
  .mod-modal-cards .modal-card,
  .mod-modal-cards .modal-card-container {
    margin-bottom: 16px !important;
  }

}


@supports (-webkit-touch-callout: none) {

  /* -------- RESET CRÍTICO DE ALTURAS -------- */
  .mod-modal-cards,
  .mod-modal-cards * {
    box-sizing: border-box;
  }

  .mod-modal-cards .modal-card,
  .mod-modal-cards .modal-card-container {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  /* -------- CONTENEDOR PRINCIPAL -------- */
  .mod-modal-cards .listing,
  .mod-modal-cards .cards {
    display: grid !important;
    grid-auto-rows: auto !important;
    align-items: stretch !important;
  }

  /* -------- 2 COLUMNAS (como la captura) -------- */
  @media (min-width: 541px) {
    .mod-modal-cards .listing,
    .mod-modal-cards .cards {
      grid-template-columns: 1fr 1fr !important;
      gap: 16px !important;
    }
  }

  /* -------- 1 COLUMNA < 540px -------- */
  @media (max-width: 540px) {
    .mod-modal-cards .listing,
    .mod-modal-cards .cards {
      grid-template-columns: 1fr !important;
      gap: 16px !important;
    }
  }

  /* -------- CARDS: FLUJO VERTICAL ESTABLE -------- */
  .mod-modal-cards .modal-card {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
  }

  /* -------- CONTENIDO INTERNO -------- */
  .mod-modal-cards .modal-card * {
    position: static !important;
    transform: none !important;
  }

  /* -------- IMÁGENES -------- */
  .mod-modal-cards img,
  .mod-modal-cards picture,
  .mod-modal-cards picture img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }
@supports (-webkit-touch-callout: none) {

  /* Restaurar el contexto de posicionamiento SOLO donde hace falta */
  .mod-modal-cards .modal-card-link {
    position: relative !important;
  }

  /* Reposicionar la flecha según diseño */
  .mod-modal-cards .modal-card-link::before,
  .mod-modal-cards .modal-card-link::after {
    top: 50% !important;
    transform: translateY(-50%) rotate(45deg) !important;
    right: 6px !important;
  }

  .mod-modal-cards .modal-card-link::before {
    width: 2px !important;
    height: 18px !important;
    background-color: #000 !important;
  }

  .mod-modal-cards .modal-card-link::after {
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    width: 12px !important;
    height: 12px !important;
  }
}
@supports (-webkit-touch-callout: none) {
	 /* Aseguramos que la propia card-link es el contenedor relativo */
  .mod-modal-cards .modal-card-link {
    position: relative !important;
    padding-right: 24px !important; /* espacio para la flecha */
  }

  /* Palo vertical (barra recta) */
  .mod-modal-cards .modal-card-link::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    width: 2px !important;
    height: 14px !important;
    background-color: currentColor !important;
    transform: translateY(-50%) !important; /* sin rotación */
  }

  /* Check diagonal (la parte inclinada) */
  .mod-modal-cards .modal-card-link::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;

  right: 6px !important;    
  width: 11px !important;   
  height: 11px !important;

  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;

  transform: translateY(-50%) rotate(45deg) !important;
}
}

@media (max-width: 500px) {
    .mod-modal-cards .slider:not(.slick-initialized) .modal-card {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%!important;
        max-width: 100%!important;
    }
}
.ticket-card .price-wrapper {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-top: 0;
    padding: 0 0 0 8px;
    min-height: auto;
    max-width: 45%!important;
    overflow: visible;
    text-align: center!important;
}
.ticket-card .title span {
    font-size: 1rem!important;
}