@charset "UTF-8";
/*

  VARIABLES

*/
/*
	Theme Name: Madrid Top Tour 2025
	Theme URI: https://www.loygorri.com
	Description: Tailored WordPress Theme
	Version: 1
	Author: Gabriel García Loygorri
	Author URI: https://www.loygorri.com
	Tags: TAILORED, HTML5, CSS3, SASS

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  scroll-behavior: smooth;
  height: 100vh;
  overflow-y: scroll;
  -ms-scroll-snap-type: y mandatory;
  scroll-snap-type: y mandatory;
  -webkit-overflow-scrolling: touch; /* Para desplazamiento suave en dispositivos móviles */
}

a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

:root, :root.light {
  --familia: "Montserrat", sans-serif; /*********/
  --texto_size_default: 18px; /*********/
  --color_principal: #c9104e; /*********/
  --color_oscuro: rgba(51,51,51,1); /*********/
  --color_blanco: rgba(255,255,255,1); /*********/
  --color_blanco_siempre: rgba(255,255,255,1); /*********/
  --color_fondo_oscuro: rgba(51,51,51,0.1); /*********/
  --color_fondo_oscuro_siempre: rgba(51,51,51,1); /*********/
  --crema: rgba(255,255,255,1);
  --crema_siempre: rgba(255,255,255,1);
  --crema_75: rgba(255,255,255,0.75);
  --morado: rgba(34,35,65,1);
  --morado: #ff672a;
  --oscuro: #252524;
  --casi_negro:rgba(0,0,0,0.75);
  --blanco: rgba(255,255,255,1);
  --color_secundario: var(--morado);
  --color_oscuro: var(--casi_negro);
  --color_claro: var(--blanco);
  --fondo: var(--color_fondo_oscuro_siempre); /*********/
  --fondo_menu: var(--verde);
  --color_logo_principal: var(--verde);
  --color_logo_secundario: var(--morado);
  --color_logo_oscuro: var(--oscuro);
  --color_logo_blanco: var(--blanco);
  --ancho_maximo: 1200px;
  --ancho_bloque_texto: 400px;
  --padding_section_medio: 50px;
  --padding_section: 100px;
  --familia: "Montserrat", sans-serif;
  --texto_size_default: 18px;
  --color_texto: var(--casi_negro);
  --color_negritas: var(--verde);
  --color_titular_h1: var(--morado);
  --color_titular_h2: var(--verde);
  --color_titular_h3: var(--morado);
  --color_titular_h4: var(--verde);
  --color_enlace: var(--verde);
  --size_texto_boton_clean: 25px;
}

body {
  font-family: var(--familia);
  font-size: var(--texto_size_default);
  font-optical-sizing: auto;
  font-weight: 400;
  color: var(--color_oscuro);
  line-height: 1.5em;
  width: 100vw;
  /*min-height: 100dvh;*/
  margin: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: var(--color_texto);
}

p, li {
  padding-bottom: 10px;
}
@media only screen and (min-width: 550px) {
  p, li {
    font-size: 16px;
  }
}

.move {
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.move_2 {
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out 0.2s;
  transition: all 0.5s ease-in-out 0.2s;
}

.move_3 {
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out 0.4s;
  transition: all 0.5s ease-in-out 0.4s;
}

.move_4 {
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out 0.6s;
  transition: all 0.5s ease-in-out 0.6s;
}

.move_5 {
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out 0.8s;
  transition: all 0.5s ease-in-out 0.8s;
}

.move_6 {
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out 1s;
  transition: all 0.5s ease-in-out 1s;
}

.nueva .banner {
  width: 100%;
  height: 101vh;
  position: sticky;
  top: 0px;
  z-index: 1;
  padding: 0px;
  margin: 0px;
  background-color: var(--fondo);
  overflow: hidden;
}
.nueva .banner > img, .nueva .banner > video {
  height: 101vh;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
  opacity: 0;
}
.nueva .banner .boia {
  width: 20px;
  height: 20px;
  background-color: var(--color_principal);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  opacity: 0;
  /* Tooltip */
}
.nueva .banner .boia::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 30px; /* Aparece arriba del punto */
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.75);
  color: white;
  padding: 5px 10px;
  font-size: 14px;
  border-radius: 5px;
  white-space: nowrap;
  opacity: 1;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  pointer-events: none;
}
.nueva .banner .boia:hover::after {
  opacity: 1;
}
.nueva .banner .centrado {
  position: relative;
  height: 101vh;
  z-index: 2;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--ancho_maximo);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 550px) {
  .nueva .banner .centrado {
    padding-left: 20px;
    padding-right: 20px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-bottom: 120px;
  }
}
.nueva .banner .centrado .panel {
  width: 100%;
  max-width: 50%;
  min-height: 30vh;
  background-color: var(--color_principal);
  z-index: 2;
  border-radius: 20px;
  padding: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 20px;
  opacity: 0;
}
@media only screen and (max-width: 550px) {
  .nueva .banner .centrado .panel {
    max-width: 100%;
    padding: 30px;
  }
}
.nueva .banner .centrado .panel > a {
  width: 100%;
  max-width: 300px;
}
.nueva .banner .centrado .panel svg {
  fill: var(--color_blanco_siempre);
  max-width: 300px;
}
.nueva .banner .centrado .panel svg .st0 {
  fill: var(--color_blanco_siempre);
  opacity: 1;
}
.nueva .banner .centrado .panel h2 {
  color: var(--color_blanco_siempre);
  padding: 0px;
  margin: 0px;
  font-size: 50px;
  text-align: right;
  line-height: 1em;
}
@media only screen and (max-width: 550px) {
  .nueva .banner .centrado .panel h2 {
    font-size: 40px;
  }
}
.nueva .banner .centrado .panel h3 {
  color: var(--color_blanco_siempre);
  padding: 0px;
  margin: 0px;
  font-size: 30px;
  text-align: right;
  line-height: 1.1em;
}
@media only screen and (max-width: 550px) {
  .nueva .banner .centrado .panel h3 {
    font-size: 25px;
  }
}
.nueva .banner .centrado .panel h4 {
  color: var(--color_blanco_siempre);
  padding: 0px;
  margin: 0px;
  text-align: right;
}
.nueva .banner .centrado .panel h5 {
  color: var(--color_blanco_siempre);
  padding: 0px;
  margin: 0px;
  text-align: right;
}
.nueva .banner .centrado .panel h6 {
  color: var(--color_blanco_siempre);
  padding: 0px;
  margin: 0px;
  text-align: right;
}
.nueva .banner .centrado .panel p {
  color: var(--color_blanco_siempre);
}
.nueva .banner .centrado .panel a {
  color: var(--color_blanco_siempre);
  text-decoration: none;
}
.nueva .argumentos {
  background-color: white;
  position: relative;
  z-index: 2;
  padding: 0px;
  width: 100%;
  overflow: hidden;
  padding-bottom: var(--padding_section_medio);
  padding-top: var(--padding_section_medio);
  min-height: 35vh;
}
.nueva .argumentos .centrado {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--ancho_maximo);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 550px) {
  .nueva .argumentos .centrado {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.nueva .argumentos .centrado div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 25px;
  padding-right: 25px;
}
.nueva .argumentos .centrado div svg, .nueva .argumentos .centrado div img {
  width: 200px;
}
.nueva .argumentos .centrado div h2 {
  font-size: 30px;
  color: var(--color_principal);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0px;
  margin-bottom: 0px;
}
.nueva .argumentos .centrado div h2 span {
  display: block;
}
.nueva .argumentos .centrado div h3 {
  color: var(--color_oscuro);
}
.nueva .carrusel {
  background-color: white;
  position: relative;
  z-index: 2;
  padding: 0px;
  width: 100%;
  overflow: hidden;
}
.nueva .carrusel .owl-stage-outer {
  width: 100%;
  overflow: hidden;
}
.nueva .carrusel .owl-stage-outer .owl-stage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.nueva .carrusel .owl-stage-outer .owl-stage .owl-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.nueva .carrusel .owl-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  position: absolute;
  bottom: 10px;
  width: 100%;
}
.nueva .carrusel .owl-dots .owl-dot {
  border: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  aspect-ratio: 1/1;
  width: 15px;
  height: 15px;
  border-radius: 10px;
  cursor: pointer;
}
.nueva .carrusel .owl-dots .owl-dot.active span {
  background-color: var(--color_principal);
}
.nueva .carrusel .owl-dots .owl-dot span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  aspect-ratio: 1/1;
  width: 15px;
  height: 15px;
  border-radius: 10px;
  background-color: var(--color_blanco_siempre);
}
.nueva .carrusel .owl-nav {
  display: none;
}
.nueva .carrusel .owl-nav .owl-prev {
  position: absolute;
  left: 0px;
  top: calc(50% - 25px);
  width: 20px;
  height: 50px;
}
.nueva .carrusel .owl-nav .owl-prev svg {
  fill: var(--oscuro);
}
.nueva .carrusel .owl-nav .owl-next {
  position: absolute;
  right: 0px;
  top: calc(50% - 25px);
  width: 20px;
  height: 50px;
}
.nueva .carrusel .owl-nav .owl-next svg {
  fill: var(--oscuro);
}
.nueva .carrusel .item {
  width: 100%;
  height: 65vh;
  background-color: var(--blanco);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.nueva .carrusel .item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.65)), color-stop(50%, rgba(0, 0, 0, 0)));
  background: linear-gradient(to left, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 50%);
  z-index: 2;
  pointer-events: none;
}
.nueva .carrusel .item .centrado {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media only screen and (max-width: 550px) {
  .nueva .carrusel .item .centrado {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.nueva .carrusel .item .centrado h1 {
  z-index: 2;
  bottom: 100px;
  font-size: 45px;
  line-height: 1em;
  width: 100%;
  text-align: left;
  color: white;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (max-width: 550px) {
  .nueva .carrusel .item .centrado h1 {
    text-align: right;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.nueva .carrusel .item .centrado h1 a {
  color: var(--color_blanco_siempre);
  text-decoration: none;
}
@media only screen and (min-width: 550px) {
  .nueva .carrusel .item .centrado h1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    max-width: 500px;
    text-align: right;
  }
}
.nueva .carrusel .item .centrado h2 {
  position: relative;
  z-index: 2;
  text-transform: uppercase;
  color: white;
  font-size: 25px;
  line-height: 30px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
  text-align: left;
  padding-left: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 10px;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (max-width: 550px) {
  .nueva .carrusel .item .centrado h2 {
    text-align: right;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media only screen and (min-width: 550px) {
  .nueva .carrusel .item .centrado h2 {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.nueva .carrusel .item .centrado h2 svg {
  height: 40px;
  -webkit-filter: drop-shadow(0px 0px 5px black);
          filter: drop-shadow(0px 0px 5px black);
}
.nueva .carrusel .item .centrado h2 svg path {
  fill: white;
}
.nueva .carrusel .item .centrado ul {
  z-index: 2;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media only screen and (max-width: 550px) {
  .nueva .carrusel .item .centrado ul {
    text-align: right;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media only screen and (min-width: 550px) {
  .nueva .carrusel .item .centrado ul {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.nueva .carrusel .item .centrado ul li {
  color: white;
  width: 100%;
  font-size: 20px;
  font-weight: 600;
  position: relative;
}
@media only screen and (max-width: 550px) {
  .nueva .carrusel .item .centrado ul li {
    text-align: left;
  }
}
.nueva .carrusel .item .centrado ul li:before {
  display: none;
}
.nueva .carrusel .item .centrado ul li.duracion {
  width: 100%;
  max-width: 45%;
  padding-left: 50px;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (min-width: 550px) {
  .nueva .carrusel .item .centrado ul li.duracion {
    max-width: initial;
    width: initial;
  }
}
.nueva .carrusel .item .centrado ul li.plazas {
  width: 100%;
  max-width: 55%;
  padding-left: 65px;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (min-width: 550px) {
  .nueva .carrusel .item .centrado ul li.plazas {
    max-width: initial;
    width: initial;
  }
}
.nueva .carrusel .item .centrado ul li svg {
  height: 45px;
  position: absolute;
  left: 0px;
  top: 5px;
  -webkit-filter: drop-shadow(0px 0px 5px black);
          filter: drop-shadow(0px 0px 5px black);
}
.nueva .carrusel .item .centrado ul li svg path {
  fill: white;
}
.nueva .carrusel .item .centrado ul li span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.nueva .carrusel .item .centrado p {
  position: relative;
  z-index: 2;
  font-weight: 700;
  color: white;
  font-size: 25px;
}
.nueva .carrusel .item .centrado p.precio {
  font-size: 50px;
  color: var(--color_blanco_siempre);
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 5px;
  border: 5px solid var(--color_principal);
  background-color: var(--color_principal);
  padding: 10px;
  padding-bottom: 15px;
  padding-top: 5px;
  text-shadow: 1px 1px 5px black;
  -webkit-box-shadow: 1px 1px 5px black;
          box-shadow: 1px 1px 5px black;
  margin: 1px;
}
.nueva .carrusel .item .centrado p.precio a {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: var(--color_blanco_siempre);
}
.nueva .carrusel .item .centrado p.precio span {
  font-size: 17px;
  text-transform: uppercase;
  padding-bottom: 5px;
  text-align: right;
}
.nueva .carrusel .item img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  height: 65vh;
  width: 100%;
  margin-bottom: 0px;
  position: absolute;
  z-index: 1;
  top: 0px;
  left: 0px;
}
.nueva .carrusel .item img.desktop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 550px) {
  .nueva .carrusel .item img.desktop {
    display: none;
  }
}
.nueva .carrusel .item img.movil {
  display: none;
}
@media only screen and (max-width: 550px) {
  .nueva .carrusel .item img.movil {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.nueva .listado {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 0px;
  background-color: white;
  position: relative;
  z-index: 2;
}
.nueva .listado .centrado {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--ancho_maximo);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}
@media only screen and (max-width: 550px) {
  .nueva .listado .centrado {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.nueva .listado .centrado article {
  width: 100%;
  max-width: calc(25% - 15px);
  position: relative;
  max-width: calc(33.3333333333% - 15px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  background-color: var(--oscuro);
  overflow: hidden;
}
@media only screen and (max-width: 550px) {
  .nueva .listado .centrado article {
    max-width: 100%;
  }
}
.nueva .listado .centrado article a {
  position: absolute;
  top: 100%;
  left: 0px;
  z-index: 4;
  height: 100%;
  width: 100%;
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}
@media only screen and (max-width: 550px) {
  .nueva .listado .centrado article a {
    top: 0px;
  }
}
.nueva .listado .centrado article:hover a {
  top: 0px;
  left: 0px;
}
.nueva .listado .centrado article::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.65)), color-stop(50%, rgba(0, 0, 0, 0)));
  background: linear-gradient(to left, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 50%);
  z-index: 1;
  pointer-events: none;
}
.nueva .listado .centrado article img {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  margin-bottom: 0px;
}
.nueva .listado .centrado article h1 {
  z-index: 2;
  font-size: 25px;
  line-height: 1em;
  width: 100%;
  padding: 10px;
  text-align: left;
  color: white;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  text-shadow: 0px 0px 5px black;
  position: relative;
  text-align: right;
}
.nueva .listado .centrado article h2 {
  position: relative;
  z-index: 2;
  text-transform: uppercase;
  color: white;
  font-size: 20px;
  line-height: 30px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
  text-align: left;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 10px;
  text-shadow: 0px 0px 5px black;
  text-align: right;
  margin-bottom: 0px;
}
@media only screen and (min-width: 550px) {
  .nueva .listado .centrado article h2 {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.nueva .listado .centrado article h2 svg {
  height: 40px;
  -webkit-filter: drop-shadow(0px 0px 5px black);
          filter: drop-shadow(0px 0px 5px black);
}
.nueva .listado .centrado article h2 svg path {
  fill: white;
}
.nueva .listado .centrado article ul {
  z-index: 2;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  margin: 0px;
  padding: 10px;
}
@media only screen and (min-width: 550px) {
  .nueva .listado .centrado article ul {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.nueva .listado .centrado article ul li {
  color: white;
  width: 100%;
  font-size: 20px;
  font-weight: 600;
  position: relative;
}
.nueva .listado .centrado article ul li:before {
  display: none;
}
.nueva .listado .centrado article ul li.duracion {
  width: 100%;
  max-width: 45%;
  padding-left: 50px;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (min-width: 550px) {
  .nueva .listado .centrado article ul li.duracion {
    max-width: initial;
    width: initial;
  }
}
.nueva .listado .centrado article ul li.plazas {
  width: 100%;
  max-width: 55%;
  padding-left: 65px;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (min-width: 550px) {
  .nueva .listado .centrado article ul li.plazas {
    max-width: initial;
    width: initial;
  }
}
.nueva .listado .centrado article ul li svg {
  height: 45px;
  position: absolute;
  left: 0px;
  top: 5px;
  -webkit-filter: drop-shadow(0px 0px 5px black);
          filter: drop-shadow(0px 0px 5px black);
}
.nueva .listado .centrado article ul li svg path {
  fill: white;
}
.nueva .listado .centrado article ul li span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.nueva .listado .centrado article p {
  position: relative;
  z-index: 2;
  font-weight: 700;
  color: white;
  font-size: 25px;
}
.nueva .listado .centrado article p.precio {
  font-size: 40px;
  color: var(--color_blanco);
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 5px;
  border: 5px solid var(--color_principal);
  background-color: var(--color_principal);
  padding: 10px;
  padding-bottom: 15px;
  padding-top: 5px;
  margin: 0px;
}
.nueva .listado .centrado article p.precio span {
  font-size: 17px;
  text-transform: uppercase;
  padding-bottom: 5px;
  text-align: right;
}
.nueva .categorias {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: white;
  position: relative;
  z-index: 2;
}
.nueva .categorias .centrado {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--ancho_maximo);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media only screen and (max-width: 550px) {
  .nueva .categorias .centrado {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.nueva .categorias .centrado article {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 50%;
  overflow: hidden;
  border-radius: 15px;
  overflow: hidden;
}
@media only screen and (max-width: 550px) {
  .nueva .categorias .centrado article {
    max-width: 100%;
  }
}
.nueva .categorias .centrado article:hover .panel {
  position: absolute;
  opacity: 1;
  top: 0px;
}
.nueva .categorias .centrado article:hover .texto {
  bottom: -100px;
}
.nueva .categorias .centrado article .panel {
  position: absolute;
  opacity: 0;
  padding: 20px;
  top: -20px;
  background-color: var(--color_principal);
  color: var(--color_blanco_siempre);
}
.nueva .categorias .centrado article .panel h2 {
  margin-bottom: 0px;
}
.nueva .categorias .centrado article .panel h2 a {
  color: var(--color_blanco_siempre);
  text-decoration: none;
}
.nueva .categorias .centrado article .texto {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  background-color: var(--color_principal);
  color: var(--color_blanco_siempre);
  border-radius: 10px;
  font-weight: 800;
  font-size: 30px;
  gap: 20px;
  text-decoration: none;
  text-transform: uppercase;
  padding: 10px 20px;
}
@media only screen and (max-width: 550px) {
  .nueva .categorias .centrado article .texto {
    max-width: 90%;
    font-size: 25px;
  }
}
.nueva .categorias .centrado article .texto svg {
  fill: var(--color_blanco_siempre);
  height: 25px;
}
.nueva .categorias .centrado article > a.imagen {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  background-color: blue;
}
.nueva .categorias .centrado article > a.imagen img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  margin: 0px;
}
.nueva .testimonios {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 0px;
  position: relative;
  z-index: 2;
  padding-bottom: var(--padding_section);
  background-color: var(--color_blanco_siempre);
}
.nueva .testimonios .centrado {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--ancho_maximo);
}

.aurrera main .banner img,
.aurrera main .banner .boia,
.aurrera main .banner .centrado .panel {
  opacity: 1;
}

.aurrera.no_top main .banner .centrado .panel {
  -webkit-transition: none;
  transition: none;
}

body .cerrar_menu {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.8);
  top: 0px;
  height: 100vh;
  left: -300px;
  width: 300px;
  opacity: 0;
  z-index: 10;
  padding: 10px;
  cursor: pointer;
}
body .menu_lateral {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.8);
  top: 0px;
  height: 100vh;
  right: -300px;
  width: 100vw;
  max-width: 300px;
  opacity: 1;
  z-index: 11;
  padding: 10px;
  border-left: 1px solid var(--color_principal);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
body .menu_lateral.desplegado {
  right: 0px;
}
body .menu_lateral nav:last-of-type {
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
body .menu_lateral svg {
  max-width: 200px;
  margin-top: 20px;
}
body .menu_lateral svg.logo_uno {
  max-width: 250px;
  margin-left: 5px;
}
body .menu_lateral svg.logo_dos {
  max-width: 150px;
  margin-left: 30px;
}
body .menu_lateral ul {
  padding-top: 20px;
  padding-right: 20px;
  padding-right: 0px;
  list-style: none;
}
body .menu_lateral ul li {
  padding-bottom: 5px;
  padding-top: 5px;
  border-bottom: 1px solid var(--color_principal);
}
body .menu_lateral ul li.menu-item-has-children {
  padding-bottom: 0px;
}
body .menu_lateral ul li a {
  display: block;
  color: white;
  text-decoration: none;
  font-size: 14px;
  line-height: 20px;
  text-transform: uppercase;
}
body .menu_lateral ul li:last-child {
  border-bottom: 0px;
}
body .menu_lateral ul li ul {
  padding-top: 0px;
  padding-right: 0px;
  padding-left: 20px;
  border-top: 1px solid var(--color_principal);
}
body .bars {
  width: 40px;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}
@media only screen and (max-width: 1200px) {
  body .bars {
    width: 30px;
  }
}
body .bars svg {
  width: 40px;
}
@media only screen and (max-width: 1200px) {
  body .bars svg {
    width: 30px;
  }
}
body .bars svg path {
  fill: white;
}
body header {
  position: fixed;
  z-index: 8;
  width: 100%;
  top: 0px;
  left: 0px;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  background-color: black;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  opacity: 0;
}
body header > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 550px) {
  body header > div {
    display: none;
  }
}
body header > div .languages {
  width: 40px;
  -webkit-filter: invert(100%);
          filter: invert(100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 20px;
}
@media only screen and (max-width: 1200px) {
  body header > div .languages {
    width: 30px;
  }
}
body header > div > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1200px;
  list-style: none;
}
body header > div > ul > li {
  padding-bottom: 0px;
  border-right: 2px solid var(--color_principal);
  max-width: 240px;
  position: relative;
}
body header > div > ul > li.current-menu-item > a, body header > div > ul > li.current-menu-parent > a, body header > div > ul > li:hover > a {
  background-color: var(--color_principal);
}
body header > div > ul > li:last-child {
  border-right: 0px;
}
body header > div > ul > li a {
  text-transform: uppercase;
  color: white;
  text-decoration: none;
  font-weight: bold;
  line-height: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  height: 100%;
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (max-width: 1200px) {
  body header > div > ul > li a {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 14px;
  }
}
body header > div > ul > li ul {
  display: none;
}
body header > div > ul > li:hover ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: -2px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: black;
  width: 180px;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 1px 2px 5px black;
          box-shadow: 1px 2px 5px black;
}
body header > div > ul > li:hover ul li {
  padding-bottom: 0px;
  cursor: pointer;
}
body header > div > ul > li:hover ul li.current-menu-item > a, body header > div > ul > li:hover ul li.current-menu-parent > a, body header > div > ul > li:hover ul li:hover > a {
  background-color: var(--color_principal);
}
body header > div > ul > li:hover ul li a {
  padding: 10px;
}
body header > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
body header > a svg {
  width: 171px;
  height: 50px;
}
body header > a svg .fire path {
  fill: var(--color_principal);
}
body header > a svg .nem {
  fill: white;
}
body header > a svg .by {
  fill: white;
}
body header > a svg .ex {
  fill: var(--color_principal);
}
body header > a svg.logo_uno {
  height: 55px;
}
body header > a svg.logo_dos {
  display: none;
  height: 75px;
}
body main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  min-height: 100vh;
}
body main nav {
  position: sticky;
  top: 0px;
  z-index: 9;
}
body main nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
  padding: 10px;
  list-style: none;
  background-color: var(--color_principal);
  padding: 5px 5px;
  border-radius: 0px;
  margin-top: 20px;
}
@media only screen and (min-width: 550px) {
  body main nav ul {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
  }
}
body main nav ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  padding-bottom: 0px;
}
body main nav ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: var(--color_principal);
  color: var(--color_blanco);
  font-weight: 700;
  padding: 0px 5px;
  border-radius: 10px;
  text-transform: uppercase;
  font-size: 15px;
  text-decoration: none;
  position: relative;
}
body main nav ul li a svg {
  position: absolute;
  left: 5px;
  height: 15px;
  display: none;
}
body main nav ul li a svg path {
  fill: white;
}
body main nav ul li.promocion a {
  background-color: blue;
}
@media only screen and (min-width: 550px) {
  body main .bloques {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 20px;
  }
}
@media only screen and (min-width: 550px) {
  body main .bloques .lado {
    width: calc(100% - 400px);
  }
}
@media only screen and (max-width: 550px) {
  body main .bloques .lado .navegacion ul li a {
    font-size: 14px;
  }
}
@media only screen and (max-width: 550px) {
  body main .bloques .compra {
    position: fixed;
    overflow: scroll;
    top: 0px;
    left: 100%;
    width: 100vw;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.75);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    padding: 10px;
    padding-top: 40px;
    padding-bottom: 70px;
    z-index: 13;
  }
  body main .bloques .compra.compra_activa {
    left: 0%;
  }
}
@media only screen and (min-width: 550px) {
  body main .bloques .compra {
    padding: 20px 0px;
    width: 400px;
    background-color: transparent;
  }
}
@media only screen and (min-width: 550px) {
  body main .bloques .compra .marco {
    position: sticky;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    top: 60px;
    border-radius: 5px;
    max-height: calc(100vh - 60px);
    overflow: scroll;
  }
}
body main .bloques .compra .marco aside {
  width: 100%;
  background-color: var(--color_principal);
  border-radius: 10px;
}
body main .bloques .compra .cerrar {
  position: absolute;
  top: 10px;
  right: 10px;
  color: var(--color_principal);
  font-weight: bold;
  text-decoration: none;
}
@media only screen and (min-width: 550px) {
  body main .bloques .compra .cerrar {
    display: none;
  }
}
body main section {
  background-color: white;
  width: 100%;
  margin-bottom: 50px;
  position: relative;
  padding: 10px;
}
body main section p em {
  border-radius: 5px;
  border: 1px solid var(--color_principal);
  padding: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  font-style: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-weight: bold;
  color: var(--color_principal);
}
body main section.cartela {
  height: 75dvh;
  overflow: hidden;
  margin-bottom: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  position: relative;
  background-color: black;
}
@media only screen and (max-height: 850px) {
  body main section.cartela {
    height: 90dvh;
  }
}
@media only screen and (max-width: 1024px) {
  body main section.cartela {
    height: 100dvh;
  }
}
@media only screen and (max-width: 550px) {
  body main section.cartela {
    height: 100dvh;
  }
}
body main section.cartela::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.65)), color-stop(50%, rgba(0, 0, 0, 0)));
  background: linear-gradient(to left, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 50%);
  z-index: 2;
  pointer-events: none;
}
@media only screen and (max-width: 550px) {
  body main section.cartela::before {
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.65)), color-stop(50%, rgba(0, 0, 0, 0)));
    background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 50%);
  }
}
body main section.cartela video {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  top: 0px;
  left: 0px;
}
@media only screen and (min-width: 550px) {
  body main section.cartela video {
    height: 50dvh;
  }
}
body main section.cartela img {
  display: block;
  width: 100%;
  max-width: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  -o-object-fit: cover;
     object-fit: cover;
  height: 75dvh;
  z-index: 1;
  opacity: 0.95;
}
@media only screen and (max-height: 850px) {
  body main section.cartela img {
    height: 90dvh;
  }
}
body main section.cartela img.movil {
  display: none;
}
body main section.cartela img.extra {
  z-index: 2;
  width: 100%;
  max-width: 400px;
  opacity: 1;
  -o-object-fit: initial;
     object-fit: initial;
  height: initial;
  top: calc(50% - 60px);
}
@media only screen and (max-width: 550px) {
  body main section.cartela img.extra {
    top: 80px;
    max-width: 200px;
  }
}
@media only screen and (max-width: 1024px) {
  body main section.cartela img {
    height: 100dvh;
  }
}
@media only screen and (max-width: 550px) {
  body main section.cartela img {
    height: 100dvh;
  }
  body main section.cartela img.movil {
    display: block;
  }
  body main section.cartela img.desktop {
    display: none;
  }
}
body main section.cartela .centrado {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  min-height: 50dvh;
  overflow: hidden;
  margin-bottom: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  position: relative;
}
@media only screen and (max-width: 1024px) {
  body main section.cartela .centrado {
    height: 75dvh;
  }
}
@media only screen and (max-width: 550px) {
  body main section.cartela .centrado {
    height: 100dvh;
  }
}
body main section.cartela .centrado h1 {
  z-index: 2;
  bottom: 100px;
  font-size: 45px;
  line-height: 1em;
  width: 100%;
  text-align: right;
  color: white;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (min-width: 550px) {
  body main section.cartela .centrado h1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    max-width: 500px;
    text-align: right;
  }
}
body main section.cartela .centrado h2 {
  position: relative;
  z-index: 2;
  text-transform: uppercase;
  color: white;
  font-size: 25px;
  line-height: 30px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
  text-align: left;
  padding-left: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 10px;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (min-width: 550px) {
  body main section.cartela .centrado h2 {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
body main section.cartela .centrado h2 svg {
  height: 40px;
  -webkit-filter: drop-shadow(0px 0px 5px black);
          filter: drop-shadow(0px 0px 5px black);
}
body main section.cartela .centrado h2 svg path {
  fill: white;
}
body main section.cartela .centrado ul {
  z-index: 2;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media only screen and (min-width: 550px) {
  body main section.cartela .centrado ul {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    min-height: 45px;
  }
}
body main section.cartela .centrado ul li {
  color: white;
  width: 100%;
  font-size: 20px;
  font-weight: 600;
  position: relative;
}
body main section.cartela .centrado ul li.duracion {
  width: 100%;
  max-width: 45%;
  padding-left: 50px;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (min-width: 550px) {
  body main section.cartela .centrado ul li.duracion {
    max-width: initial;
    width: initial;
  }
}
body main section.cartela .centrado ul li.plazas {
  width: 100%;
  max-width: 55%;
  padding-left: 65px;
  text-shadow: 0px 0px 5px black;
}
@media only screen and (min-width: 550px) {
  body main section.cartela .centrado ul li.plazas {
    max-width: initial;
    width: initial;
  }
}
body main section.cartela .centrado ul li svg {
  height: 45px;
  position: absolute;
  left: 0px;
  top: 5px;
  -webkit-filter: drop-shadow(0px 0px 5px black);
          filter: drop-shadow(0px 0px 5px black);
}
body main section.cartela .centrado ul li svg path {
  fill: white;
}
body main section.cartela .centrado ul li span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
body main section.cartela .centrado p {
  position: relative;
  z-index: 2;
  font-weight: 700;
  color: white;
  font-size: 25px;
}
body main section.cartela .centrado p.precio {
  font-size: 50px;
  color: var(--color_blanco);
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 5px;
  border: 5px solid var(--color_principal);
  background-color: var(--color_principal);
  padding: 10px;
  padding-bottom: 15px;
  padding-top: 5px;
  text-shadow: 1px 1px 5px black;
  -webkit-box-shadow: 1px 1px 5px black;
          box-shadow: 1px 1px 5px black;
  margin: 1px;
}
body main section.cartela .centrado p.precio span {
  font-size: 17px;
  text-transform: uppercase;
  padding-bottom: 5px;
  text-align: right;
}
body main section.cartela .centrado .paneles {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  padding-bottom: 50px;
}
@media only screen and (max-width: 550px) {
  body main section.cartela .centrado .paneles {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 10px 20px;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 3;
    position: relative;
    gap: 0px;
    border-radius: 10px;
  }
}
body main section.cartela .centrado .paneles .panel {
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
  width: calc(33.3333333333% - 10px);
  z-index: 3;
  padding: 40px 40px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media only screen and (max-width: 550px) {
  body main section.cartela .centrado .paneles .panel {
    width: 100%;
    padding: 5px 0px 5px;
    background-color: transparent;
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
    border-radius: 0px;
    border-top: 1px solid black;
  }
  body main section.cartela .centrado .paneles .panel:first-child {
    border-top: 0px solid black;
  }
}
body main section.cartela .centrado .paneles .panel p {
  text-align: center;
}
body main section.cartela .centrado .paneles .panel p:first-child {
  text-transform: uppercase;
  color: var(--color_principal);
  font-size: 25px;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 80%;
  margin: auto;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media only screen and (max-width: 550px) {
  body main section.cartela .centrado .paneles .panel p:first-child {
    padding: 0px;
    width: 100%;
    font-size: 20px;
    display: block;
  }
}
body main section.cartela .centrado .paneles .panel p:first-child span {
  display: block;
}
@media only screen and (max-width: 550px) {
  body main section.cartela .centrado .paneles .panel p:first-child span {
    display: initial;
  }
}
body main section.cartela .centrado .paneles .panel p:last-child {
  font-size: 20px;
  color: var(--color_oscuro);
  padding-bottom: 0px;
}
@media only screen and (max-width: 550px) {
  body main section.cartela .centrado .paneles .panel p:last-child {
    display: none;
  }
}
body main section.cartela a {
  position: fixed;
  bottom: -100px;
  left: 10px;
  z-index: 10;
  background-color: var(--color_principal);
  color: var(--color_blanco);
  width: calc(100% - 20px);
  font-size: 18px;
  min-height: 50px;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.1em;
  opacity: 0;
}
@media only screen and (min-width: 550px) {
  body main section.cartela a {
    display: none;
  }
}
body main section.cartela a span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 24px;
  text-transform: initial;
  font-weight: 300;
}
body main section:not(.cartela) {
  padding-top: 40px;
  margin-bottom: 0px;
  border-bottom: 2px solid var(--color_principal);
}
body main section:not(.cartela):last-child {
  border-bottom: 0px;
}
@media only screen and (min-width: 550px) {
  body main section:not(.cartela) {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
body main section:not(.cartela) h2 {
  color: var(--color_principal);
  font-size: 24px;
  padding-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
body main section:not(.cartela) h2 svg {
  height: 30px;
}
body main section:not(.cartela) h2 svg path {
  fill: var(--color_principal);
}
body main section:not(.cartela) h3 {
  color: var(--color_principal);
  padding-top: 10px;
  padding-bottom: 10px;
}
body main section:not(.cartela) h4 {
  color: var(--color_oscuro);
  padding-top: 10px;
}
body main section:not(.cartela) img {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 5px;
  margin-bottom: 20px;
}
body main section:not(.cartela) ul {
  margin-left: 20px;
  list-style: none;
  margin-bottom: 20px;
}
body main section:not(.cartela) ul.recorrido {
  border-left: 8px solid var(--color_principal);
  border-radius: 0px;
  margin-left: 10px;
  margin-bottom: 20px;
}
body main section:not(.cartela) ul.recorrido li {
  padding-left: 15px;
}
body main section:not(.cartela) ul.recorrido li::before {
  position: absolute;
  z-index: 3;
  display: block;
  width: 20px;
  height: 20px;
  background-color: var(--color_principal);
  border-radius: 10px;
  top: 2px;
  left: -14px;
  content: "";
  margin-right: 10px;
}
body main section:not(.cartela) ul.insignias {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 50px;
  margin-bottom: 50px;
  padding-left: 0px;
  padding-right: 0px;
  margin-left: 0px;
  margin-right: 0px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
body main section:not(.cartela) ul.insignias li {
  color: var(--color_principal);
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  padding: initial;
  line-height: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 150px;
}
body main section:not(.cartela) ul.insignias li svg, body main section:not(.cartela) ul.insignias li img {
  max-height: 75px;
}
body main section:not(.cartela) ul.insignias li::before {
  content: none;
  padding-left: 0px;
  position: relative;
}
body main section:not(.cartela) ul.panel {
  margin-left: 0px;
  margin-right: 0px;
  border-radius: 5px;
  border: 5px solid var(--color_principal);
  padding: 10px;
}
@media only screen and (min-width: 550px) {
  body main section:not(.cartela) ul.panel {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
body main section:not(.cartela) ul.panel li {
  list-style: none;
  padding-left: 40px;
  position: relative;
}
body main section:not(.cartela) ul.panel li::before {
  content: none;
}
body main section:not(.cartela) ul.panel li svg {
  height: 30px;
  position: absolute;
  top: 0px;
  left: 0px;
}
body main section:not(.cartela) ul.panel li svg path {
  fill: var(--color_principal);
}
body main section:not(.cartela) ul.panel li span {
  display: block;
}
body main section:not(.cartela) ul.check {
  margin-left: 0px;
}
body main section:not(.cartela) ul.check li {
  list-style: none;
  padding-left: 30px;
  position: relative;
}
body main section:not(.cartela) ul.check li::before {
  content: none;
}
body main section:not(.cartela) ul.check li svg {
  height: 25px;
  position: absolute;
  top: -1px;
  left: 0px;
}
body main section:not(.cartela) ul.check li svg path {
  fill: var(--color_principal);
}
body main section:not(.cartela) ul.check li span {
  display: block;
}
body main section:not(.cartela) ul.check li.si svg path {
  fill: green;
}
body main section:not(.cartela) ul.check li.no svg path {
  fill: red;
}
body main section:not(.cartela) ul li {
  position: relative;
  padding-bottom: 5px;
  padding-left: 10px;
  z-index: 2;
}
body main section:not(.cartela) ul li:last-child {
  padding-bottom: 0px;
}
body main section:not(.cartela) ul li::before {
  position: absolute;
  z-index: 3;
  display: block;
  width: 15px;
  height: 15px;
  background-color: var(--color_principal);
  border-radius: 10px;
  top: 4px;
  left: -14px;
  content: "";
  margin-right: 10px;
}
body main section:not(.cartela).foto {
  padding-top: 20px;
}
body main section:not(.cartela).testimonios .array {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media only screen and (max-width: 550px) {
  body main section:not(.cartela).testimonios .array {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body main section:not(.cartela).testimonios .array div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 15px;
  background-color: #f2f2f2;
  padding: 20px 10px;
}
body main section:not(.cartela).testimonios .array div .titulo {
  font-size: 22px;
  width: 100%;
  color: var(--color_principal);
  font-weight: 600;
  padding-bottom: 20px;
}
body main section:not(.cartela).testimonios .array div .texto {
  font-size: 17px;
  line-height: 19px;
  width: 100%;
  font-weight: 600;
}
body main section:not(.cartela).testimonios .array div .fecha {
  font-size: 17px;
  text-align: right;
  color: var(--color_principal);
  font-weight: 600;
  line-height: 19px;
}
body main section:not(.cartela).testimonios .array div .autor {
  font-size: 17px;
  text-align: right;
  color: var(--color_principal);
  font-weight: 600;
  line-height: 19px;
}
body main section:not(.cartela).testimonios .array div .estrellas {
  padding-top: 20px;
  padding-bottom: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
body main section:not(.cartela).testimonios .array div .estrellas .estrella {
  fill: #ffcc33;
}
body main section:not(.cartela).promocion h2 {
  color: blue;
  border-bottom: 2px solid blue;
}
body main section:not(.cartela).promocion h2 svg path {
  fill: blue;
}
body main section:not(.cartela).promocion h3 {
  color: blue;
}
body main section:not(.cartela).promocion ul li::before {
  background-color: blue;
}
body main section:not(.cartela).promocion a {
  background-color: blue;
  color: white;
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none;
}
body main section.que_ver .spots {
  padding-top: 25px;
}
body main section.que_ver .spots .spot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 25px;
}
@media only screen and (max-width: 550px) {
  body main section.que_ver .spots .spot {
    display: block !important; /* Asegura que se vean */
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 10px;
  }
}
body main section.que_ver .spots .spot img {
  width: 400px;
}
@media only screen and (max-width: 550px) {
  body main section.que_ver .spots .spot img {
    width: 100%;
    margin-bottom: 10px;
  }
}
body main section.que_ver .spots .spot div {
  width: 100%;
}
body main section.que_ver .spots .spot div h3 {
  padding-top: 0px;
}
@media only screen and (max-width: 550px) {
  body main section.que_ver .spots .spot div h3 {
    padding-top: 20px;
  }
}
body main section.que_ver ul {
  list-style: none;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0px 0px;
  margin: 0px;
}
@media only screen and (max-width: 550px) {
  body main section.que_ver ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: none;
  }
}
body main section.que_ver ul li {
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: var(--color_principal);
  line-height: 20px;
  font-weight: 700;
  cursor: pointer;
  border-left: 1px solid var(--color_principal);
  border-bottom: 1px solid var(--color_principal);
}
body main section.que_ver ul li:before {
  display: none;
}
body main section.que_ver ul li:last-child {
  padding-bottom: 10px;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
body main section.que_ver ul li.active {
  background-color: var(--color_principal);
  color: var(--blanco);
}
body main section.descripcion ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px 40px;
}
body main section.descripcion ul li {
  width: 100%;
  max-width: calc(50% - 40px);
}
@media only screen and (max-width: 550px) {
  body main section.descripcion ul li {
    max-width: 100%;
  }
}
body main section.precios .tipos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media only screen and (max-width: 1024px) {
  body main section.precios .tipos {
    gap: 10px;
  }
}
@media only screen and (max-width: 550px) {
  body main section.precios .tipos {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body main section.precios .tipos .tipo {
  border-radius: 15px;
  border: 2px solid var(--color_principal);
  padding: 20px 20px 10px;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media only screen and (max-width: 1024px) {
  body main section.precios .tipos .tipo {
    font-size: 25px;
    padding: 10px 10px 10px;
  }
}
body main section.precios .tipos .tipo svg {
  position: absolute;
  top: 10px;
  right: 10px;
  fill: var(--color_principal);
  width: 40px;
}
body main section.precios .tipos .tipo .nombre {
  font-size: 27px;
  font-weight: 700;
  line-height: 21px;
  max-width: 170px;
}
@media only screen and (max-width: 1024px) {
  body main section.precios .tipos .tipo .nombre {
    font-size: 25px;
    max-width: 140px;
  }
}
@media only screen and (max-width: 550px) {
  body main section.precios .tipos .tipo .nombre {
    max-width: 100%;
  }
}
body main section.precios .tipos .tipo .nombre span {
  font-size: 14px;
  display: block;
}
body main section.precios .tipos .tipo .precio {
  color: var(--color_principal);
  font-size: 47px;
  padding: 0px;
  font-weight: 700;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  padding-bottom: 5px;
}
@media only screen and (max-width: 1024px) {
  body main section.precios .tipos .tipo .precio {
    font-size: 40px;
  }
}
body main section.precios .tipos .tipo .edad {
  font-size: 17px;
  font-weight: 700;
  padding: 0px;
}
body main section.horarios div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media only screen and (max-width: 550px) {
  body main section.horarios div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body main section.horarios div svg {
  height: 20px;
}
body main section.horarios.horarios-alt div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
body main section.horarios.horarios-alt div p em {
  background-color: var(--color_principal);
  color: white;
  text-align: center;
  font-size: 18px;
  font-weight: 500;
}
body main section.conexiones a {
  background-color: var(--color_principal);
  color: white;
  padding: 10px 20px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  margin-top: 10px;
}
body main section.detalles ul li::before {
  position: absolute;
  z-index: 3;
  display: block;
  width: 20px;
  height: 20px;
  background-color: transparent;
  background-image: url("simple_check.svg");
  background-repeat: no-repeat;
  border-radius: 10px;
  top: 4px;
  left: -14px;
  content: "";
  margin-right: 10px;
}
body > aside {
  background-color: var(--color_fondo_oscuro);
  background-color: #f2f2f2;
  padding-top: 90px;
  padding-bottom: 90px;
  width: 100%;
}
body > aside .centrado {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
body > aside h2 {
  font-size: 30px;
  color: var(--color_principal);
  padding: 0px;
  text-align: left;
  text-transform: uppercase;
  line-height: 1em;
}
body > aside .owl-galeria .owl-stage-outer .owl-stage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0px;
}
body > aside .owl-galeria .owl-stage-outer .owl-stage .owl-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  border-radius: 10px;
  overflow: hidden;
}
body > aside article {
  padding: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
body > aside article img {
  display: block;
  width: 100%;
  max-width: 100%;
  top: 0px;
  left: 0px;
  z-index: 3;
}
body > aside article a > span.titulo {
  position: absolute;
  bottom: 20px;
  left: 30px;
  padding: 10px;
  background-color: var(--color_principal);
  color: white;
  font-size: 18px;
  font-weight: 500;
  line-height: 22px;
  z-index: 4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: calc(100% - 60px);
  border-radius: 15px;
  gap: 10px;
}
body > aside article a > span.titulo svg {
  fill: white;
  width: 60px;
}
body > aside article a > span.titulo span {
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  width: calc(100% - 90px);
}

.no_top header {
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  opacity: 0;
}
.no_top header a svg.logo_uno {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 35px;
  margin-bottom: 10px;
}
.no_top header a svg.logo_dos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 35px;
  margin-bottom: 10px;
}
.no_top main {
  padding-bottom: 50px;
}
.no_top main section.cartela a {
  bottom: 10px;
  opacity: 1;
}

.sticky-active header {
  opacity: 0;
}
.sticky-active nav {
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.25);
}

.fijo .cerrar_menu {
  left: 0px;
  width: 100vw;
  opacity: 1;
}

.aurrera header {
  opacity: 1;
}

.aurrera.no_top header {
  opacity: 0;
}

.archive main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  min-height: 75vh;
}
.archive main > img {
  height: 50vh;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.archive main .centrado {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.archive main .centrado h1 {
  padding-top: 25px;
  color: var(--color_principal);
  padding-bottom: 25px;
}
.archive main .array_tours {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  gap: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-bottom: 50px;
  padding-top: 50px;
}
@media only screen and (min-width: 550px) {
  .archive main .array_tours {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media only screen and (max-width: 550px) {
  .archive main .array_tours {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.archive main .array_tours .tours {
  width: calc(33.3333333333% - 20px);
  overflow: hidden;
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 10px;
}
@media only screen and (max-width: 550px) {
  .archive main .array_tours .tours {
    width: 100%;
  }
}
.archive main .array_tours .tours video {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  top: 0px;
  left: 0px;
}
.archive main .array_tours .tours img {
  display: block;
  width: 100%;
  max-width: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  z-index: 1;
  opacity: 0.95;
}
.archive main .array_tours .tours img.movil {
  display: none;
}
.archive main .array_tours .tours img.extra {
  z-index: 2;
  width: 100%;
  max-width: 400px;
  opacity: 1;
  -o-object-fit: initial;
     object-fit: initial;
  height: initial;
  top: calc(50% - 60px);
}
@media only screen and (max-width: 550px) {
  .archive main .array_tours .tours img.extra {
    top: 80px;
    max-width: 200px;
  }
}
@media only screen and (max-width: 550px) {
  .archive main .array_tours .tours img.movil {
    display: block;
  }
  .archive main .array_tours .tours img.desktop {
    display: none;
  }
}
.archive main .array_tours .tours h2 {
  position: absolute;
  z-index: 2;
  background-color: var(--color_principal);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  border-radius: 10px;
  margin: 20px;
  bottom: 0px;
  padding: 10px 10px;
}
.archive main .array_tours .tours h2 a {
  color: var(--color_blanco_siempre);
  text-decoration: none;
  font-size: 20px;
}
.archive main .array_tours .tours h2 svg {
  fill: var(--color_blanco_siempre);
  width: 50px;
}

.legal main {
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding-top: 20%;
  gap: 25px;
  width: 100%;
}
@media only screen and (max-width: 550px) {
  .legal main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.legal main > img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 20%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.legal main .centrado {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}
.legal main .centrado h1, .legal main .centrado h2, .legal main .centrado h3, .legal main .centrado h4, .legal main .centrado h5, .legal main .centrado h6 {
  color: var(--color_principal);
  padding-top: 10px;
}
.legal main .centrado h1 {
  padding-bottom: 20px;
}
.legal main .centrado a {
  color: var(--color_principal);
}
.legal main .centrado ul {
  padding-left: 20px;
  padding-bottom: 10px;
}
.legal main .centrado ul li {
  position: relative;
  list-style: none;
}
.legal main .centrado ul li::before {
  position: absolute;
  z-index: 3;
  display: block;
  width: 8px;
  height: 8px;
  background-color: var(--color_principal);
  border-radius: 10px;
  top: 9px;
  left: -15px;
  content: "";
  margin-right: 10px;
}
.legal main .centrado table {
  width: 100%;
  margin-bottom: 20px;
}
.legal main .centrado table tr td {
  padding: 10px;
}
.legal main .titulo {
  width: 100%;
  max-width: 50%;
  position: relative;
}
@media only screen and (max-width: 550px) {
  .legal main .titulo {
    max-width: 100%;
  }
}
.legal main .titulo h1 {
  font-family: var(--titular);
  font-size: 22px;
  padding-bottom: 20px;
  text-transform: uppercase;
  color: var(--principal);
  font-weight: normal;
  position: sticky;
  top: 150px;
}
.legal main .descripcion {
  width: 100%;
  max-width: 50%;
  font-size: 22px;
}
@media only screen and (max-width: 550px) {
  .legal main .descripcion {
    max-width: 100%;
  }
}
.legal main .descripcion h2 {
  font-family: var(--titular);
  font-size: 22px;
  padding-bottom: 10px;
  text-transform: uppercase;
  padding-top: 10px;
  color: var(--principal);
  font-weight: normal;
}
.legal main .descripcion p, .legal main .descripcion li {
  font-size: 20px;
  padding-bottom: 10px;
  line-height: 1.5em;
}
.legal main .descripcion ul, .legal main .descripcion ol {
  padding-left: 20px;
}

.contacto main {
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding-top: 20%;
  gap: 25px;
  width: 100%;
}
@media only screen and (max-width: 550px) {
  .contacto main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.contacto main > img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 20%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.contacto main .centrado {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
}
.contacto main .centrado .lados {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
}
@media only screen and (max-width: 550px) {
  .contacto main .centrado .lados {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.contacto main .centrado .lados .lado {
  width: 100%;
  max-width: 50%;
}
@media only screen and (max-width: 550px) {
  .contacto main .centrado .lados .lado {
    max-width: 100%;
  }
}
.contacto main .centrado .lados .lado:first-child > .wpcf7 {
  position: sticky;
  top: 20px;
}
.contacto main .centrado h1, .contacto main .centrado h2, .contacto main .centrado h3, .contacto main .centrado h4, .contacto main .centrado h5, .contacto main .centrado h6 {
  color: var(--color_principal);
  padding-top: 10px;
}
.contacto main .centrado h1 {
  padding-bottom: 20px;
}
.contacto main .centrado a {
  color: var(--color_principal);
}
.contacto main .centrado ul {
  padding-left: 20px;
  padding-bottom: 10px;
}
.contacto main .centrado ul li {
  position: relative;
  list-style: none;
}
.contacto main .centrado ul li::before {
  position: absolute;
  z-index: 3;
  display: block;
  width: 8px;
  height: 8px;
  background-color: var(--color_principal);
  border-radius: 10px;
  top: 9px;
  left: -15px;
  content: "";
  margin-right: 10px;
}
.contacto main .centrado table {
  width: 100%;
  margin-bottom: 20px;
}
.contacto main .centrado table tr td {
  padding: 10px;
}
.contacto main .titulo {
  width: 100%;
  max-width: 50%;
  position: relative;
}
@media only screen and (max-width: 550px) {
  .contacto main .titulo {
    max-width: 100%;
  }
}
.contacto main .titulo h1 {
  font-family: var(--titular);
  font-size: 22px;
  padding-bottom: 20px;
  text-transform: uppercase;
  color: var(--principal);
  font-weight: normal;
  position: sticky;
  top: 150px;
}
.contacto main .descripcion {
  width: 100%;
  max-width: 50%;
  font-size: 22px;
}
@media only screen and (max-width: 550px) {
  .contacto main .descripcion {
    max-width: 100%;
  }
}
.contacto main .descripcion h2 {
  font-family: var(--titular);
  font-size: 22px;
  padding-bottom: 10px;
  text-transform: uppercase;
  padding-top: 10px;
  color: var(--principal);
  font-weight: normal;
}
.contacto main .descripcion p, .contacto main .descripcion li {
  font-size: 20px;
  padding-bottom: 10px;
  line-height: 1.5em;
}
.contacto main .descripcion ul, .contacto main .descripcion ol {
  padding-left: 20px;
}

.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  word-wrap: normal !important;
}

.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 2px solid #00a0d2;
}

.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450;
}

.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
  border-color: #dc3232;
}

.wpcf7 form.spam .wpcf7-response-output {
  border-color: #f56e28;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ffb900;
}

.wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 1em;
  font-weight: 400;
  display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
  position: relative;
  top: -2ex;
  left: 1em;
  z-index: 100;
  border: 1px solid #dc3232;
  background: #fff;
  padding: 0.2em 0.8em;
  width: 24em;
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before, .wpcf7-list-item-label::after {
  content: " ";
}

.wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #23282d;
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 0 24px;
  position: relative;
}

form.submitting .wpcf7-spinner {
  visibility: visible;
}

.wpcf7-spinner::before {
  content: "";
  position: absolute;
  background-color: #fbfbfc;
  top: 4px;
  left: 4px;
  width: 6px;
  height: 6px;
  border: none;
  border-radius: 100%;
  -webkit-transform-origin: 8px 8px;
          transform-origin: 8px 8px;
  -webkit-animation-name: spin;
          animation-name: spin;
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
  .wpcf7-spinner::before {
    -webkit-animation-name: blink;
            animation-name: blink;
    -webkit-animation-duration: 2000ms;
            animation-duration: 2000ms;
  }
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes blink {
  from {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes blink {
  from {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.wpcf7 input[type=file] {
  cursor: pointer;
}

.wpcf7 input[type=file]:disabled {
  cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
  cursor: not-allowed;
}

.wpcf7 input[type=url], .wpcf7 input[type=email], .wpcf7 input[type=tel] {
  direction: ltr;
}

.wpcf7-reflection > output {
  display: list-item;
  list-style: none;
}

.wpcf7 {
  width: 100%;
  margin: auto;
}
.wpcf7 form {
  position: relative;
}
.wpcf7 form p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  width: 100%;
  margin: auto;
}
.wpcf7 form p label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left;
}
.wpcf7 form p label > span:first-child {
  padding-bottom: 5px;
}
.wpcf7 form p label .wpcf7-form-control-wrap .wpcf7-list-item {
  margin-left: 0px;
}
.wpcf7 form p label .wpcf7-form-control-wrap .wpcf7-list-item label {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
}
.wpcf7 form p label .wpcf7-form-control-wrap input {
  width: 100%;
  background-color: var(--blanco);
}
.wpcf7 form p label .wpcf7-form-control-wrap input[type=text], .wpcf7 form p label .wpcf7-form-control-wrap input[type=tel], .wpcf7 form p label .wpcf7-form-control-wrap input[type=email] {
  line-height: 25px;
  font-size: 16px;
  padding: 5px 10px;
  border: 0px;
  border-radius: 5px;
  background-color: rgba(0, 0, 0, 0.05);
}
.wpcf7 form p label .wpcf7-form-control-wrap input[type=checkbox] {
  width: 16px;
  height: 16px;
  background-color: var(--color_blanco);
  border-radius: 50%;
  vertical-align: middle;
  border: 1px solid var(--color_oscuro);
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  position: relative;
}
@media only screen and (max-width: 550px) {
  .wpcf7 form p label .wpcf7-form-control-wrap input[type=checkbox] {
    width: 24px;
  }
}
.wpcf7 form p label .wpcf7-form-control-wrap input[type=checkbox]:checked {
  background-color: var(--color_principal);
  border: 1px solid var(--color_principal);
}
.wpcf7 form p label .wpcf7-form-control-wrap textarea {
  width: 100%;
  padding: 5px 10px;
  border: 0px;
  border-radius: 5px;
  font-size: 16px;
  font-family: var(--familia);
  background-color: rgba(0, 0, 0, 0.05);
}
.wpcf7 form p input[type=submit] {
  -webkit-appearance: none;
  -webkit-border-radius: none;
  margin-top: 10px;
  background-color: var(--color_principal);
  font-size: 18px;
  color: var(--blanco);
  text-transform: uppercase;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 15px;
  border-radius: 5px;
  white-space: nowrap;
  border: 0px;
  width: 100%;
  cursor: pointer;
}
@media only screen and (max-width: 1024px) {
  .wpcf7 form p input[type=submit] {
    white-space: normal;
    text-align: center;
  }
}
.wpcf7 form .wpcf7-spinner {
  position: absolute;
  top: calc(50% - 12px);
  left: calc(50% - 12px);
  display: block;
  margin: 0px;
}
.wpcf7 form .wpcf7-response-output {
  position: absolute;
  bottom: -75px;
  left: 0px;
  border: 0px;
  margin: 0px;
  padding: 10px;
  width: 100%;
  border-radius: 5px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  background-color: #ffb900;
  color: black;
}
.wpcf7 form.sent .wpcf7-response-output {
  background-color: #46b450;
  color: black;
}

footer {
  position: relative;
  z-index: 2;
  width: 100%;
  background-color: rgb(51, 51, 51);
  padding-bottom: 75px;
}
footer .centrado {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: var(--ancho_maximo);
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media only screen and (min-width: 550px) {
  footer .centrado {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 1200px) {
  footer .centrado {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 550px) {
  footer .centrado {
    padding-left: 10px;
    padding-right: 10px;
  }
}
footer .centrado a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
@media only screen and (min-width: 550px) {
  footer .centrado a {
    margin: initial;
  }
}
footer .centrado a svg {
  height: 50px;
}
footer .centrado ul {
  padding-top: 20px;
}
@media only screen and (min-width: 550px) {
  footer .centrado ul {
    text-align: right;
  }
}
footer .centrado ul li {
  list-style: none;
}
footer .centrado ul li a {
  color: white;
  text-transform: uppercase;
  font-size: 15px;
  text-decoration: none;
}