/* Estilos generales */
@font-face {
    font-family: 'Avenir LT Pro 65';
    src: url('../fonts/AvenirLTPro-Black.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro 65';
    src: url('../fonts/AvenirLTPro-BlackOblique.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-BlackOblique.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro';
    src: url('../fonts/AvenirLTPro-Book.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro 55 Roman';
    src: url('../fonts/AvenirLTPro-HeavyOblique.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-HeavyOblique.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro 55 Roman';
    src: url('../fonts/AvenirLTPro-Heavy.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-Heavy.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro 45 Book';
    src: url('../fonts/AvenirLTPro-BookOblique.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-BookOblique.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro 35';
    src: url('../fonts/AvenirLTPro-LightOblique.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-LightOblique.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro';
    src: url('../fonts/AvenirLTPro-Light.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro';
    src: url('../fonts/AvenirLTPro-Medium.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro 55 Roman';
    src: url('../fonts/AvenirLTPro-Oblique.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-Oblique.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro 65';
    src: url('../fonts/AvenirLTPro-MediumOblique.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-MediumOblique.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir LT Pro';
    src: url('../fonts/AvenirLTPro-Roman.woff2') format('woff2'),
        url('../fonts/AvenirLTPro-Roman.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: '.';
    src: url('../fonts/4477d8061e3fd7e4631f861e6438a36c.woff2') format('woff2'),
        url('../fonts/4477d8061e3fd7e4631f861e6438a36c.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Frankfurter Std';
    src: url('../fonts/FrankfurterStd.woff2') format('woff2'),
        url('../fonts/FrankfurterStd.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Italian Plate No1';
    src: url('../fonts/ItalianPlateNo1-Black.woff2') format('woff2'),
        url('../fonts/ItalianPlateNo1-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Geomanist';
    src: url('../fonts/Geomanist-Bold.woff2') format('woff2'),
        url('../fonts/Geomanist-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geomanist';
    src: url('../fonts/Geomanist-Bold.woff2') format('woff2'),
        url('../fonts/Geomanist-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

html{
    scroll-behavior: smooth;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html.body-fixed {
    overflow-y: hidden;
  }
body {
    font-family: 'Avenir LT Pro';
    background-color: #f5f5f5;
    position: relative;
}

.gf-bg-dark{
    background-color:#242421;
    
}
.gf-pblo-40{
    padding-block: 40px;
}
.gf-pblo-100{
    padding-block: 100px;
}
.gf-pblo-25{
    padding-block: 25px;
}
/* Estilos del encabezado */
.gf-header {
    background-color: #EFEFEF;
    padding: 30px 0;
    width: 100%;
    border-bottom: 1px solid #2B2B2B;
}
/* .gf-header.kids{
    background-color: #ffffff;
    color: #2B2B2B;
} */
.gf-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 90%;
    max-width: 1440px;
    margin: 0 auto;
    /* padding: 0 20px; */
}

/* Estilos del logo */
.gf-logo {
    flex: 0 0 150px;
}

.gf-logo-link {
    display: inline-block;
    width: 150px;
    height: 55px;
}
.gf-logo-link img, .gf-logo-adi img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.gf-logo-adi-link{
    width: 100px;
    height: 50px;
}
.gf-logo-adi img{
    mix-blend-mode: exclusion;
}
.gf-logo > .gf-logo-adi{
    display: none;
}
.gf-header__button{
    display: none;
}
.gf-content-menu{
    display: flex;
    flex: 1;
    justify-content: center;
}

/* Estilos del menú */
.gf-menu {
    display: flex;
    list-style: none;
    align-items: center;
    /* flex: 1; */
    justify-content: center;
    gap: 40px;
}
.gf-content-menu ul:nth-child(2){
    margin-left: 40px;
}
.gf-menu-item {
    position: relative;
}

.gf-menu-link {
    color: #2B2B2B;
    text-decoration: none;
    transform: translateY(0px);
    transition: 0.3s ease-in-out;
    display: flex;
    align-items: center;
    /* -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #000; */
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}

.gf-menu-link:hover {
    /* font-size: 20px; */
    /* transition: color 0.3s ease; */
    transform: translateY(-4px);
    transition: 0.3s ease-in-out;

}
/* .gf-header.kids .gf-menu-link{
    color: #2B2B2B;
} */

/* Estilos para el botón de comprar entradas */
.gf-button {
    padding: 10px;
    width: 100%;
    max-width: 230px;
    text-align: center;
    text-decoration: none;
    border-radius: 30px;
    transition: background-color 0.3s ease;
    background-color: transparent;
    transform: translateY(0px);
    transition: 0.3s ease-in-out;
}
.gf-tickets-link {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gf-arrow {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
}

.gf-tickets-link:hover .gf-arrow {
    transform: translateX(3px);
}

/* Estilos del patrocinador */
.gf-sponsor {
    flex: 0 0 150px;
    text-align: right;
}

.gf-sponsor-img {
    max-height: 40px;
}

/* Estilos responsivos */
@media (min-width:768px) and (max-width: 992px) {
    .gf-nav {
        display: block;
        gap: 20px;
        padding: 0 50px;
    }

    
    .gf-menu {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 15px;
    }
    .gf-content-menu{
        justify-content: space-between;
    }
    .gf-logo{
        margin-bottom: 24px;
        display: flex;
        justify-content: space-between;
    }
    
    .gf-sponsor {
        margin-top: 15px;
    }
    .gf-nav > .gf-logo-adi{
        display: none;
    }
    .gf-logo > .gf-logo-adi {
        display: block;
    }
}

@media (min-width:0px) and (max-width: 767px) {
    .gf-header{
        padding: 20px 0;
    }
    .gf-logo {
        flex: unset;
        display: flex;
        width: 100%;
        justify-content: space-between;
    }
    .gf-header__button{
        display: block;
    }
    .gf-menu {
        flex-direction: column;
        width: 100%;
        gap: 20px;
        
    }
    .gf-content-menu{
        flex-direction: column;
        width: 100%;
        margin-top: 40px;
        display: none;

    }
    .gf-content-menu.active{
        display: block;
        position: absolute;
        top: 56px;
        height: 100%;
        width: 100%;
        z-index: 999;
        /* background-color: #fff; */
        padding: 20px;
    }
    .gf-content-menu ul:nth-child(2) {
        margin-left: 0;
    }
    
    .gf-menu-item {
        width: 100%;
        text-align: center;
        padding: 5px 0;

    }
    
    .gf-tickets {
        margin-top: 10px;
    }
    .gf-logo-adi{
        display: none;
    }

}

.gf-container {
    width: 90%;
    max-width: 1440px;
    margin: 0 auto;
    /* padding: 0 20px; */
  }

/* Contenedor del banner */
.gf-banner-container {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    height: 80vh;
    min-height: 500px;
}

/* Estilos del slider */
.gf-banner-slider {
    width: 100%;
    height: 100%;
    position: relative;
}

.gf-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.8s ease;
    z-index: 1;
}

.gf-slide.active {
    opacity: 1;
    z-index: 2;
}

.gf-slide-content {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.gf-slide-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gf-slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.gf-slide-text {
    color: white;
    max-width: 80%;
    padding: 20px;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.8s ease 0.3s;
}

.gf-slide.active .gf-slide-text {
    opacity: 1;
    transform: translateY(0);
}

.gf-slide-title {
    font-size: 3.5rem;
    font-weight: bold;
    margin-bottom: 15px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.gf-slide-description {
    font-size: 1.5rem;
    margin-bottom: 25px;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}

.gf-slide-button {
    display: inline-block;
    padding: 12px 30px;
    background-color: #ffffff;
    color: #000000;
    text-decoration: none;
    font-weight: bold;
    border-radius: 4px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    font-size: 1rem;
}

.gf-slide-button:hover {
    background-color: #000000;
    color: #ffffff;
}

/* Controles del banner */
.gf-banner-controls {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

.gf-banner-prev,
.gf-banner-next {
    background: rgba(255, 255, 255, 0.7);
    color: #000;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    margin: 0 15px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gf-banner-prev:hover,
.gf-banner-next:hover {
    background: rgba(255, 255, 255, 0.9);
}

.gf-banner-dots {
    display: flex;
    justify-content: center;
}

.gf-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    margin: 0 5px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.gf-dot.active {
    background-color: #ffffff;
    transform: scale(1.2);
}

/* Barra de progreso */
.gf-progress-container {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: rgba(255, 255, 255, 0.2);
    z-index: 10;
}

.gf-progress-bar {
    height: 100%;
    width: 0;
    background-color: #ffffff;
    transition: width 0.1s linear;
}

/* Responsive */
@media (max-width: 992px) {
    .gf-slide-title {
        font-size: 2.5rem;
    }
    
    .gf-slide-description {
        font-size: 1.2rem;
    }
}

@media (max-width: 768px) {
    .gf-banner-container {
        height: 60vh;
    }
    
    .gf-slide-title {
        font-size: 2rem;
    }
    
    .gf-slide-description {
        font-size: 1rem;
    }
    
    .gf-slide-button {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
    
    .gf-banner-prev,
    .gf-banner-next {
        display: none;
    }
}

@media (max-width: 576px) {
    .gf-banner-container {
        height: 50vh;
    }
    
    .gf-slide-title {
        font-size: 1.8rem;
    }
}


/* Sección eventos */
.gf-events-container{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:25px;
}
.gf-events-item{
    width: 100%;
    height: 550px;
    height: auto;
    /* aspect-ratio: 10 / 10;
    max-height: 550px;
    min-height: 550px; */
}

.gf-events-item img{
    width: 100%;
    height: 100%;
}
  /* Sección de galería */
  .gf-gallery-section {
      padding: 60px 0 0;
      /* background-color: #f5f5f5; */
  }
  
  .gf-title {
    margin-bottom: 40px;
    text-transform: uppercase;
    color: #2B2B2B;
    font-family: Geomanist;
    font-size: 30px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
  }
  .gf-title.center{
    text-align: center;
  }

  .gf-content{
    color: #2B2B2B;
    transition: opacity 0.3s ease;
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
  }
  .gf-content p{
    margin-bottom: 10px;
  }
  .gf-content p a, 
  .gf-content li a{
    font-weight: 700;
    color: #2B2B2B;
    text-decoration: none;
  }
  .gf-content .wp-block-heading{
    margin: 30px 0 20px;
  }
  .gf-content ul{
    padding-left: 50px;
  }
  .gf-title.kids{
    font-family: "Italian Plate No1";
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: var(--Bsicos-Negro, #2B2B2B);
    color: #fafafa;
    font-size: 40px;
  }
  
  /* Contenedor de la galería */
  .gf-gallery-container {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
  }
  
  /* Imagen principal */
  .gf-main-image-container {
      flex: 1 1 75%;
      position: relative;
      overflow: hidden;
      border-radius: 4px;
      /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); */
      background-color: #000;
      aspect-ratio: 16/9;
      height: 500px;
  }
  
  .gf-main-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.5s ease;
  }
  
  .gf-main-image:hover {
      transform: scale(1.02);
      transition: transform 0.5s ease;
  }
  
  .gf-image-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px 20px;
    text-align: center;
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  
  /* Contenedor de miniaturas */
  .gf-thumbnails-container {
      flex: 1 1 20%;
      display: flex;
      flex-direction: column;
      gap: 15px;
      max-height: 500px;
      height: 550px;
      overflow-y: auto;
  }
  
  .gf-thumbnail {
      position: relative;
      /* overflow: hidden; */
      border-radius: 4px;
      cursor: pointer;
      /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
      transition: all 0.3s ease;
      aspect-ratio: 16/9;
      height: 150px;
  }
  
  .gf-thumbnail:hover {
      transform: translateY(-3px);
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  }
  
  .gf-thumbnail::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease;
}
  .gf-thumbnail.active {
      /* border: 3px solid #d32f2f; */
  }
  
  .gf-thumbnail-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.3s ease;
  }
  
  .gf-thumbnail:hover .gf-thumbnail-image {
      transform: scale(1.05);
  }

  
  
  /* Sección de FAQs */
  .gf-faqs-section {
    padding: 60px 0;
  }
  
  .gf-faqs-title {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 40px;
    color: #1a1a1a;
  }
  
  /* Contenedor de FAQs */
  .gf-faqs-container {
    width: 100%;
  }
  
  /* Elemento individual de FAQ */
  .gf-faq-item {
    margin-bottom: 5px;
    border-block: 1px solid #2B2B2B;
  }
  
  /* Botón de pregunta */
  .gf-faq-question {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 20px 0;
    background: transparent;
    border: none;
    text-align: left;
    font-size: 1.1rem;
    font-weight: 500;
    color: #2B2B2B;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
  }
  
  .gf-faq-question:hover {
    color: #000;
  }
  
  /* Icono + */
  .gf-icon-plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #333;
    margin-right: 15px;
    position: relative;
    transition: all 0.3s ease;
  }
  
  .gf-icon-plus::before,
  .gf-icon-plus::after {
    content: "";
    position: absolute;
    background-color: #333;
    transition: all 0.3s ease;
  }
  
  .gf-icon-plus::before {
    width: 12px;
    height: 2px;
  }
  
  .gf-icon-plus::after {
    width: 2px;
    height: 12px;
  }
  
  /* Cuando está activo, cambia el icono a - */
  .gf-faq-question.active .gf-icon-plus::after {
    transform: rotate(90deg);
    opacity: 0;
  }
  
  .gf-faq-question.active .gf-icon-plus {
    border-color: #000;
    background-color: #fff;
  }
  
  .gf-faq-question.active .gf-icon-plus::before,
  .gf-faq-question.active .gf-icon-plus::after {
    background-color: #000;
  }
  
  /* Contenedor de respuesta */
  .gf-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    padding: 0 0 0 39px; /* Alineado con el texto de la pregunta */
  }
  
  .gf-faq-answer p {
    margin-bottom: 15px;
    color: #2B2B2B;
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
  }
  
  .gf-faq-answer a {
    color: #d32f2f;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
  }
  
  .gf-faq-answer a:hover {
    text-decoration: underline;
  }
  
  /* Cuando la respuesta está activa */
  .gf-faq-question.active + .gf-faq-answer {
    max-height: 500px; /* Altura máxima para la animación */
    padding-bottom: 20px;
  }
  
  /* Responsive */
  @media (min-width:768px) and (max-width: 992px) {
    .gf-events-container.gf-two-events .gf-event-card,
    .gf-events-container.gf-slider-mode .gf-event-card {
      flex: 1 1 100%;
      max-width: 100%;
    }
  
    .gf-event-title {
      font-size: 3rem;
    }
  
    .gf-main-image-container {
      flex: 1 1 70%;
    }
  
    .gf-thumbnails-container {
      flex: 1 1 25%;
      flex-direction: column;
    }
  

  }
  
  @media (max-width: 767px) {
    .gf-event-poster {
      height: auto;
      padding-bottom: 50px;
    }
  
    .gf-event-title {
      font-size: 2.5rem;
    }
  
    .gf-event-date {
      font-size: 2rem;
    }
  
    .gf-artist {
      font-size: 1rem;
    }
  
    .gf-event-actions {
      flex-direction: column;
    }
  
    .gf-gallery-title {
      font-size: 2rem;
      text-align: center;
    }
  
    .gf-thumbnail {
      flex: 1 1 calc(40% - 10px);
      max-width: calc(40% - 10px);
    }
  
    .gf-faqs-title {
      font-size: 2rem;
      text-align: center;
    }
  
    .gf-faq-question {
      font-size: 1rem;
      padding: 15px 0;
    }
  
    .gf-icon-plus {
      width: 20px;
      height: 20px;
      margin-right: 10px;
    }
  
    .gf-icon-plus::before {
      width: 10px;
    }
  
    .gf-icon-plus::after {
      height: 10px;
    }
  
    .gf-faq-answer {
      padding-left: 30px;
    }
  }
  
  @media (max-width: 480px) {
    .gf-event-title {
      font-size: 2rem;
    }
  
    .gf-event-date {
      font-size: 1.5rem;
    }
  
    .gf-thumbnail {
      flex: 1 1 100%;
      max-width: 100%;
    }
  
    .gf-faqs-section {
      padding: 40px 0;
    }
  
    .gf-faqs-title {
      font-size: 1.8rem;
      margin-bottom: 30px;
    }
  }
  






/* Footer */
.gf-footer {
    background-color: #EEEEEE;
    color: #2b2b2b;
    padding: 50px 0 30px;
    margin-top: auto;
    border-top: 1px solid #2B2B2B;
}


/* Parte superior del footer */
.gf-footer-top {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    /* display: flex;
    justify-content: space-between;
    align-items: flex-start; */
    margin-bottom: 40px;
    flex-wrap: wrap;
    gap: 30px;
}

/* Redes sociales */
.gf-social-links {
    display: flex;
    gap: 35px;
}
.gf-social-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    transition: transform 0.3s ease;
}
.gf-social-link:hover .gf-social-icon {
    transform: scale(1.1);
}

/* Email de contacto */
.gf-contact-email {
    font-size: 1.1rem;
}

.gf-email-link {
    color:#000000;
    text-decoration: none;
    transition: opacity 0.3s ease;
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}


.gf-email-link:hover {
    opacity: 0.7;
    text-decoration: underline;
}

/* Newsletter */
.gf-newsletter {
    max-width: 400px;
}

.gf-newsletter-title {
    margin-bottom: 10px;
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.gf-newsletter-form,
.gf-newsletter form {
    display: flex;
    gap: 0px;
}
.gf-newsletter form p{
    display: flex;
        align-items: center;
}

.gf-newsletter form {
    flex-direction: column;
}

.gf-form-container {
    display: flex;
}

.gf-newsletter-input,
.gf-newsletter input:not([type="submit"]) {
    flex: 1;
    padding: 10px 15px;
    border: none;
    background-color: #fff;
    color: #2B2B2B;
    font-family: "Avenir LT Pro";
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    border: 1px solid #000000;
    width: 100%;
    
}
.gf-newsletter input[type="submit"]{
    border:none;
    color: #2B2B2B;
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    margin-right: 8px;
}
.gf-newsletter-button{
    background-color: transparent;
    color: #fafafa;
    color: #000000;
    border: 1px solid #000000;
    /* border-bottom: 2px solid transparent; */
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    padding: 0 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: border 0.3s ease-in-out;
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}



.gf-newsletter-button:hover {
    transition: border 0.3s ease-in-out;
    border-bottom: 3px solid #000000;
}


.wpcf7-spinner{
    display: none;
}
.gf-newsletter-message {
    margin-top: 10px;
    font-size: 0.8rem;
    min-height: 20px;
}

.gf-newsletter-message.gf-success {
    color: #4caf50;
}

.gf-newsletter-message.gf-error {
    color: #f44336;
}

/* Parte inferior del footer */
.gf-footer-bottom {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    /* flex-wrap: wrap; */
    gap: 30px;
    /* border-top: 1px solid rgba(255, 255, 255, 0.1); */
    /* padding-top: 30px; */
}
.gf-footer-bottom-img img{
	width:100%;
}


/* Enlaces legales */
.gf-legal-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gf-legal-link {
    color: #000000;
    text-decoration: none;
    font-size: 0.9rem;
    transition: opacity 0.3s ease;
    font-family: "Avenir LT Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}


.gf-legal-link:hover {
    opacity: 0.7;
    text-decoration: none;
}

/* Dirección */
.gf-address a {
    text-align: left;
    font-size: 18px;
    line-height: 25px; 
    font-family: "Avenir LT Pro";
    font-style: normal;
    font-weight: 300;
    text-decoration: none;
    color: #2b2b2b;
}

/* .gf-address-line {
    margin-bottom: 5px;
} */

.gf-address p {
    margin-bottom: 5px;
}

.gf-language.mobile {
    display: none;
}

.gf-language-radio-option.active .gf-language-radio-custom::after {
    content: '';
    width: 8px;
    height: 8px;
    background: #2B2B2B;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Responsive */
@media (min-width:768px) and (max-width: 992px) {
    .gf-events-item{
        height: 330px;
    }
    .gf-footer-top {
        margin-bottom: 30px;
    }
    
    .gf-social-links {
        justify-content: center;
    }
    
    .gf-newsletter {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }
 
}

@media (max-width: 767px) {
    .gf-nav{
        flex-direction: column;
    }
    .gf-faq-answer p {
        font-size: 14px !important;
    }
    .gf-language.mobile {
        display: block;
    }
    .gf-events-item{
        height: auto;
        aspect-ratio: 10 / 10;
    }
    .gf-events-container{
        grid-template-columns: 1fr;
    }
    .gf-main-image-container, .gf-thumbnails-container{
        flex: 0 0 100%;
    }
    .gf-thumbnails-container{
        max-height: 200px;
        height: 180px;
        flex-direction: row;
    }
    .gf-contact-email{
        text-align: center;
    }
    .gf-social-links {
        justify-content: center;
    }
    .gf-footer-bottom, .gf-footer-top {
        grid-template-columns: 1fr;
        gap: 20px;

    }
    
    .gf-legal-links {
        align-items: center;
    }
    
    .gf-address {
        text-align: center;
    }
    
    /* .gf-newsletter-form {
        flex-direction: column;
    } */
    
    .gf-newsletter-button {
        /* padding: 10px 15px; */
        justify-content: center;
    }
}

/* Estilos para el popup */
.gf-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    /* box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); */
    z-index: 1001;
    max-width: 400px;
    width: 90%;
    text-align: center;
    display: none;
  }
  
  .gf-popup-content h2 {
    margin-bottom: 20px;
    font-size: 24px;
  }
  .gf-popup-content-info{
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
  }
  .gf-popup-content .gf-email a{
    font-size: 18px;
    color: #2b2b2b;
    text-decoration: none;
  }
  
  .gf-popup-content .gf-social-icons {
    display: flex;
    justify-content: center;
    gap: 20px;
  }
  
  .gf-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: none;
  }
  
  /* Clase para mostrar el popup y overlay */
  .show {
    display: block;
  }
  
  .wpml-ls-legacy-list-vertical.wpml-ls-statics-footer {
    display: none;
  }

  .cky-consent-bar {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1) !important;
  }

  .cky-notice-des p,
  .cky-preference-content-wrapper p {
    color: #2B2B2B !important;
    font-family: "Avenir LT Pro" !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 300 !important;
    line-height: normal !important;
  }

  .cky-preference-title {
    color: #2B2B2B !important;
    font-family: "Avenir LT Pro" !important;
  }

  .cky-btn.cky-btn-accept,
  .cky-btn.cky-btn-preferences {
    color: #fff !important;
    background-color: #000 !important;
    border: solid 1px #000 !important;
  }

  .cky-btn.cky-btn-reject,
  .cky-btn.cky-btn-customize {
    color: #000 !important;
    border: solid 1px #000 !important;
    background-color: #fff !important;
  }

  .cky-btn-revisit-wrapper.cky-revisit-bottom-left {
    background-color: #000 !important;
  }

  body > div.cky-modal.cky-modal-open > div > div.cky-footer-wrapper > div:nth-child(3) {
    display: none !important;
  }

  .cky-accordion-btn,
  .cky-accordion-header-des p {
    color: #2B2B2B !important;
    font-family: "Avenir LT Pro" !important;
  }
  

@media (min-width:1300px){
	.gf-footer-bottom-img{
	    margin-left: -100px;
}

}