@charset "UTF-8";

/* FEEL THE TOUR CSS Document */


/* uso de variable css: */


/* var(--nombre-de-variable) */

:root {
    --primary-color: #bf272e;
    --secondary-color: #4d4d4d;
    --third-color: #30415d;
    --fourth-color: #8eaebd;
    --light-primary-color: rgba(191, 39, 46, .1);
    --harder-primary-color: rgba(191, 39, 46, .8);
    --light-secondary-color: rgba(77, 77, 77, .8);
}


/* FONTS */

@font-face {
    font-family: 'destacada';
    src: url('fonts/Montserrat-Bold.eot');
    src: url('fonts/Montserrat-Bold.eot?#iefix') format('embedded-opentype'), url('fonts/Montserrat-Bold.woff2') format('woff2'), url('fonts/Montserrat-Bold.woff') format('woff'), url('fonts/Montserrat-Bold.ttf') format('truetype'), url('fonts/Montserrat-Bold.svg#Montserrat-Bold') format('svg');
    font-weight: 600;
}

@font-face {
    font-family: 'destacada';
    src: url('fonts/Montserrat-Medium.eot');
    src: url('fonts/Montserrat-Medium.eot?#iefix') format('embedded-opentype'), url('fonts/Montserrat-Medium.woff2') format('woff2'), url('fonts/Montserrat-Medium.woff') format('woff'), url('fonts/Montserrat-Medium.ttf') format('truetype'), url('fonts/Montserrat-Medium.svg#Montserrat-Medium') format('svg');
    font-weight: 500;
}

@font-face {
    font-family: 'destacada';
    src: url('fonts/Montserrat-Regular.eot');
    src: url('fonts/Montserrat-Regular.eot?#iefix') format('embedded-opentype'), url('fonts/Montserrat-Regular.woff2') format('woff2'), url('fonts/Montserrat-Regular.woff') format('woff'), url('fonts/Montserrat-Regular.ttf') format('truetype'), url('fonts/Montserrat-Regular.svg#Montserrat-Regular') format('svg');
    font-weight: 300;
}

@font-face {
    font-family: 'principal';
    src: url('fonts/Roboto-Medium.eot');
    src: url('fonts/Roboto-Medium.eot?#iefix') format('embedded-opentype'), url('fonts/Roboto-Medium.woff2') format('woff2'), url('fonts/Roboto-Medium.woff') format('woff'), url('fonts/Roboto-Medium.ttf') format('truetype'), url('fonts/Roboto-Medium.svg#Roboto-Medium') format('svg');
    font-weight: 500;
}

@font-face {
    font-family: 'principal';
    src: url('fonts/Roboto-Regular.eot');
    src: url('fonts/Roboto-Regular.eot?#iefix') format('embedded-opentype'), url('fonts/Roboto-Regular.woff2') format('woff2'), url('fonts/Roboto-Regular.woff') format('woff'), url('fonts/Roboto-Regular.ttf') format('truetype'), url('fonts/Roboto-Regular.svg#Roboto-Regular') format('svg');
    font-weight: 300;
}

@font-face {
    font-family: 'principal';
    src: url('fonts/Roboto-Light.eot');
    src: url('fonts/Roboto-Light.eot?#iefix') format('embedded-opentype'), url('fonts/Roboto-Light.woff2') format('woff2'), url('fonts/Roboto-Light.woff') format('woff'), url('fonts/Roboto-Light.ttf') format('truetype'), url('fonts/Roboto-Light.svg#Roboto-Light') format('svg');
    font-weight: 200;
}


/* GENERAL */

html,
body {
    width: 100%;
    overflow-x: hidden;
}

html {
    font-size: 12px;
}

body {
    text-align: center;
    font: 300 1rem/1.4 'principal', Arial, sans-serif;
    color: #4d4d4d;
}

h1 {}

h2 {}

h3 {}

h4 {}

h5 {}

h6 {}

::moz-selection {
    background: #bf272e;
    background: rgba(191, 39, 46, .1);
}

::selection {
    background: #bf272e;
    background: rgba(191, 39, 46, .1);
}

a,
a:hover,
a:focus,
a:active {
    color: inherit;
    text-decoration: none;
    outline: 0;
}

.coloured {
    color: #bf272e;
}

.btn {
    border-radius: 0;
}

.btn-primary {
    background-color: #bf272e;
    border: solid 2px #bf272e;
    font-size: 1.3rem;
    padding: .5em 3.5em;
    font-weight: 300;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active {
    background-color: transparent;
    color: #bf272e;
    border-color: #bf272e;
    outline: 0;
    box-shadow: 0 0 0;
}

.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus {
    box-shadow: 0 0 0;
}

.btn-secondary {
    background-color: transparent;
    border: solid 2px #4d4d4d;
    font-size: 1.3rem;
    padding: .5em 3.5em;
    font-weight: 300;
    color: #4d4d4d;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary.focus,
.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active {
    background-color: #bf272e;
    color: #fff;
    border-color: #bf272e;
    outline: 0;
    box-shadow: 0 0 0;
}

.btn-secondary:not(:disabled):not(.disabled).active:focus,
.btn-secondary:not(:disabled):not(.disabled):active:focus {
    box-shadow: 0 0 0;
}

.btn-secondary_oncolor {
    background-color: transparent;
    border: solid 2px #fff;
    font-size: 1.3rem;
    padding: .5em 3.5em;
    font-weight: 100;
}

.btn-secondary_oncolor:hover,
.btn-secondary_oncolor:active,
.btn-secondary_oncolor.active {
    background-color: #fff;
    color: #bf272e;
    border-color: #fff;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus textarea:-webkit-autofill,
textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-text-fill-color: #bf272e;
    -webkit-box-shadow: 0 0 0 30px #F7F5E8 inset;
    transition: background-color 5000s ease-in-out 0s;
}

input,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input,
textarea,
textarea.form-control,
select,
select.form-control,
form button:not(.btn) {
    font: inherit;
    color: #444444;
    height: 3rem;
    line-height: 3rem;
    background: transparent;
    margin-bottom: 1.4rem;
    padding: 0 .5rem;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid #444444;
    width: 100%;
}

input[type="datetime"],
input[type="datetime-local"],
input[type="date"] {
    min-width: 120px;
}

input:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus,
textarea:focus,
textarea.form-control:focus,
select:focus,
select.form-control:focus,
form button:focus:not(.btn) {
    outline: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

[type="checkbox"]+label:not(.lever) {
    line-height: 1.6em;
}

button:focus {
    outline: 0;
}

input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
    border-color: #e9322d;
    -webkit-box-shadow: 0 0 6px #f8b9b7;
    -moz-box-shadow: 0 0 6px #f8b9b7;
    box-shadow: 0 0 6px #f8b9b7;
}

s {
    color: #e9322d;
}

option {
    font-weight: inherit;
}

input[type="file"],
input[type="checkbox"],
input[type="radio"] {
    float: left;
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    margin: 0;
    padding: 0
}

input[type="file"]+label {
    color: #fff;
    min-width: 40px;
    height: 40px;
    background: #666 url(../img/icon-upload-image.png) 5px center no-repeat;
    border-color: #666;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    margin-bottom: 10px;
    padding: 10px 10px 10px 50px !important;
    opacity: .8
}

input[type="file"]:focus+label,
input[type="file"]+label:hover,
input[type="file"].has-focus+label {
    opacity: 1
}

input[type="checkbox"]+label,
input[type="radio"]+label {
    display: block;
    cursor: pointer;
    margin-bottom: 1.4rem;
    text-align: left;
}

input[type="checkbox"]+label:before,
input[type="radio"]+label:before {
    content: '';
    float: left;
    margin-right: 8px;
    margin-top: 0;
    width: 20px;
    height: 20px;
    border: 3px solid #666;
}

input[type="radio"]+label:before {
    border-radius: 50%;
}

input[type="checkbox"]:checked+label:before,
input[type="radio"]:checked+label:before {
    background: transparent;
}

.input.checkbox input[type="checkbox"]+label {
    padding-left: 30px;
    position: relative;
}

.input.checkbox input[type="checkbox"] {
    width: 0.1px;
    height: 0.1px;
    float: left;
    opacity: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.input.checkbox input[type="checkbox"]+label:before {
    display: none;
}

.input.checkbox input[type="checkbox"]+label svg {
    position: absolute;
    top: 0px;
    left: 0px;
}

.input.checkbox input[type="checkbox"]+label svg path {
    fill: none;
    stroke: #a58100;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 71px;
    stroke-dashoffset: 71px;
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    transition: all 0.6s ease;
}

.input.checkbox input[type="checkbox"]+label svg polyline {
    fill: none;
    stroke: #FFF;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 18px;
    stroke-dashoffset: 18px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.input.checkbox input[type="checkbox"]+label svg path {
    stroke-dashoffset: 0;
}

.input.checkbox input[type="checkbox"]:checked+label svg {
    border-color: #a58100;
}

.input.checkbox input[type="checkbox"]:checked+label svg path {
    fill: #a58100;
}

.input.checkbox input[type="checkbox"]:checked+label svg polyline {
    stroke-dashoffset: 0;
}

.input.checkbox input[type="checkbox"]:checked+label svg path {
    stroke-dashoffset: 0;
}

textarea,
select[multiple],
select[size] {
    resize: vertical;
    line-height: 1.4;
    height: 150px;
}

input.error {
    border: 1px solid #e9322d;
}

label.error,
.error-message {
    position: relative;
    top: -12px;
    left: 10px;
    color: #e9322d;
    text-align: left;
}

input[type="checkbox"]+label+label.error,
input[type="radio"]+label+label.error {
    top: 0;
    left: 0;
    float: left;
}

.alert {
    margin-bottom: 0;
    border-radius: 0;
    cursor: pointer;
}

.g-recaptcha {
    display: inline-block;
    margin: 20px auto
}

iframe {
    border: 0 !important
}

figure {
    margin: 0 auto
}

figure img,
figure svg,
figure video {
    width: 100%
}

.google-maps {
    position: relative;
    padding-bottom: 35%;
    height: 0;
    overflow: hidden
}

.google-maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important
}

.valign {
    width: 0;
    display: inline-block;
    vertical-align: middle;
    height: 100%
}

.inline {
    width: 100%;
    display: inline-block;
    vertical-align: middle;
}

.video_responsive {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    padding-top: 25px;
    height: 0;
}

.video_responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.scrolltop {
    display: none;
    position: fixed;
    bottom: 3vw;
    right: 3vw;
    width: 10vw;
    height: 10vw;
    z-index: 99;
    background: #444444;
    padding: 3vw;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    opacity: .5;
    cursor: pointer;
}

.scrolltop svg {
    width: 100%;
    height: 100%;
}

.scrolltop svg * {
    fill: #fff !important;
}

.content_flex {
    width: 100%;
}

span.br {
    display: block;
    margin: 0;
    height: 0;
}


/** HEADER */

header .pre-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    background-color: #31302d;
    padding: 10px 0;
    color: #fff;
    font-weight: 400;
}

header .pre-header svg {
    width: 25px;
    margin-right: 15px;
    /*NUEVO*/
}

header .pre-header .idiomas {
    color: #fff;
}

header .pre-header a.active {
    color: #bf272e;
}
header .pre-header .telefono-cabecera,
header .pre-header .idiomas {
    font-size: 1rem;
    margin: 0;
}
header {}

header .logo {
    width: 100%;
    max-width: 250px;
    margin: 0;
}

header .columna-header {
    margin-top: 10px;
}

.social a,
header .acciones figure {
    display: inline-block;
    vertical-align: middle;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
}

.social a:not(:last-child),
header .acciones figure:not(:last-child) {
    margin-right: .5rem;
}

.social a img,
.social a svg {
    display: block;
    width: 20px;
    height: 20px;
}

header .acciones figure img,
header .acciones figure svg {
    display: block;
    width: 24px;
    height: 24px;
}

.icono-cabecera {
    vertical-align: text-top;
    width: 16px;
}

.icono-cabecera2 {
    vertical-align: text-top;
    width: 16px;
}

.telefono-cabecera {
    font-size: 1rem;
}


/** MENU */

.navbar {
    padding: 1rem 0;
    /*NUEVO*/
    position: sticky;
    top: 0;
    background-color: #fff;
    z-index: 98;
}

.navbar .navbar-nav {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.navbar .navbar-nav a {
    padding-right: 0;
    padding-left: 0;
    margin-left: 2rem;
    letter-spacing: .05em;
    font-size: 1rem;
    font-weight: 400;
}


/*NUEVO*/

.navbar * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
}

.navbar .nav-item a {
    position: relative;
}

.navbar .nav-item a:before {
    position: absolute;
    content: '';
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
    opacity: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom: 2px solid #421a05;
    -ms-transform: scaleX(0);
    transform: scaleX(0);
}

.navbar .nav-item a:hover,
.navbar .nav-item.current a {}

.navbar .nav-item a:hover:before,
.navbar .nav-item.current a:before {
    opacity: 1;
    -ms-transform: scaleX(.7);
    transform: scaleX(.7);
}

.navbar-toggler {
    width: 40px;
    padding: 0;
    font-size: none;
}

.navbar-toggler-icon {
    width: 100%;
    position: relative;
}

.hamburger {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.hamburger-inner,
.hamburger-inner:after,
.hamburger-inner:before {
    background-color: #4d4d4d;
    position: absolute;
    width: 30px;
    height: 3px;
    right: 0;
    border-radius: 5px;
    content: '';
    transition-timing-function: ease;
    transition-duration: 0.5s;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
}

.hamburger-inner:before {
    top: 8px;
}

.hamburger-inner:after {
    top: 16px;
}

.hamburger.open .hamburger-inner {
    -webkit-transform: translate3d(0, 8px, 0) rotate(405deg);
    transform: translate3d(0, 8px, 0) rotate(405deg);
    background-color: #4d4d4d;
}

.hamburger.open .hamburger-inner:after {
    -webkit-transform: translate3d(0, -16px, 0) rotate(-450deg);
    transform: translate3d(0, -16px, 0) rotate(-450deg);
    background-color: #4d4d4d;
}

.hamburger.open .hamburger-inner:before {
    -webkit-transform: translate3d(0, -20px, 0) rotate(90deg);
    transform: translate3d(0, -20px, 0) rotate(90deg);
    opacity: 0;
    background-color: #4d4d4d;
}


/** FLAGS */

.flag {
    background-size: contain;
    background-position: 50%;
    background-repeat: no-repeat;
    position: relative;
    display: inline-block;
    width: 1.33333333em;
    line-height: 1em;
    height: 20px;
    vertical-align: text-bottom;
    margin: 0 5px;
}

.flag-us {
    background-image: url(../img/flags/4x3/us.svg);
}

.flag-gb {
    background-image: url(../img/flags/4x3/gb.svg);
}

.flag-es {
    background-image: url(../img/flags/4x3/es.svg);
}

.flag-fr {
    background-image: url(../img/flags/4x3/fr.svg);
}

.flag-it {
    background-image: url(../img/flags/4x3/it.svg);
}

.flag-cn {
    background-image: url(../img/flags/4x3/cn.svg);
}

.flag-ru {
    background-image: url(../img/flags/4x3/ru.svg);
}

.flag-ua {
    background-image: url(../img/flags/4x3/ua.svg);
}

.flag-jp {
    background-image: url(../img/flags/4x3/jp.svg);
}

.flag-kr {
    background-image: url(../img/flags/4x3/kr.svg);
}

.flag-pt {
    background-image: url(../img/flags/4x3/pt.svg);
}

.flag-de {
    background-image: url(../img/flags/4x3/de.svg);
}

.flag-nl {
    background-image: url(../img/flags/4x3/nl.svg);
}

.flag-sa {
    background-image: url(../img/flags/4x3/sa.svg);
}

.flag-hu {
    background-image: url(../img/flags/4x3/hu.svg);
}

.flag-ro {
    background-image: url(../img/flags/4x3/ro.svg);
}


/** CONTENIDO */

cite {
    display: block;
    margin: 40px 0;
    padding: 48px 0 0 5px;
    position: relative;
    font-size: 30px;
    line-height: 34px;
    font-weight: 200;
    font-style: italic;
    text-align: left;
    color: #686868;
}

cite:first-child {
    margin-top: 0;
}

cite:last-child {
    margin-bottom: 0;
}

cite:before {
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    width: 80px;
    height: 60px;
    opacity: .3;
    background: url(../img/comillas.svg) 0 0 no-repeat;
    background-size: 100%;
}


/*cite:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 33%;
	border-top: 5px solid #bf272e;
}*/

cite .smaller {
    font-size: 14px;
    line-height: 16px;
    margin-top: 10px;
}

cite .smaller big {
    line-height: 1.2;
    color: #bf272e;
}

cite .num {
    position: absolute;
    top: -3rem;
    left: 0;
    width: 3rem;
    height: 3rem;
    font-size: 2rem;
    line-height: 3rem;
    background-color: #bf272e;
    color: #fff;
    padding: 0 .5rem;
    text-align: center;
}

.logo_shape {
    color: #bf272e;
    text-align: center;
    font-family: 'destacada';
    font-size: 2rem;
    line-height: 1;
    font-weight: 300;
    padding: 15px 0;
    margin-top: 1.5rem;
    cursor: pointer;
    position: relative;
}

.logo_shape img,
.logo_shape svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.logo_shape svg * {
    fill: #fff !important;
    transition: all .3s linear;
}

.logo_shape:hover svg * {
    fill: rgba(191, 39, 46, 0.5) !important;
}

.link_images {
    margin: 4rem 0;
}

.descubre .link_images figure {
    position: relative;
    margin-bottom: 2rem;
    cursor: pointer;
}

.link_images figure:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .7;
    transition: opacity .3s linear;
}

.link_images figure:hover:before {
    opacity: .5;
}

.link_images figcaption {
    position: absolute;
    top: 50%;
    left: 10%;
    width: 80%;
    text-align: center;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
}

.link_images figcaption h4 {
    font-family: 'destacada';
    font-weight: 600;
    font-size: 2rem;
}

.link_images figcaption>div {
    font-family: 'destacada';
    font-weight: 300;
    font-size: 1rem;
    line-height: 1;
    margin-top: 1.4rem;
}

.descubre pre {
    margin: 0;
}

.descubre pre.poema {
    font-family: principal, Arial, sans-serif;
    font-weight: 200;
    font-style: italic;
}

.carousel .carousel-indicators {
    /*VIEJO*/
    margin-top: 20px; /* Ajusta según sea necesario */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    /*NUEVO*/
    /*margin: 0;
	position: absolute;
	bottom: 1rem;
	left: 0;
	width: 100%;*/
}

.carousel .carousel-indicators li {
    background-color: transparent;
    text-indent: 0;
    margin: 0;
    height: auto;
}

.carousel .carousel-indicators li.special {
    margin-top: 10px;
}

.carousel .carousel-indicators .active {
    background-color: transparent;
}

.carousel .carousel-indicators li .boton_redondo {
    border-radius: 60%;
    border: solid 5px #bf272e;
    position: relative;
    overflow: hidden;
    width: 75%;
    margin: 0 auto;
}

.carousel .carousel-indicators li.special .boton_redondo {
    width: 100%;
}

.carousel .carousel-indicators li .boton_redondo:before {
    content: '';
    background-color: rgba(191, 39, 46, .8);
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    transition: all .3s linear;
}

.carousel .carousel-indicators li .boton_redondo :hover {
    background-color: rgba(77, 77, 77, .8);
}

.carousel .carousel-indicators li .boton_redondo .padding-top {
    padding-top: 100%;
}


/**.carousel .carousel-indicators li.active .boton_redondo.dark:before {background-color: rgba(255,255,255,.9);}*/

.carousel .carousel-indicators li .boton_redondo .title {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    color: #fff;
    font-weight: 500;
    font-size: 1.3rem;
    font-family: 'destacada';
}

.carousel .carousel-indicators li.special .boton_redondo .title {
    font-size: 1.2rem;
}

.carousel .carousel-indicators li.special .boton_redondo .title .precio {
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 1px;
    font-weight: 600;
    font-family: 'principal';
    margin-top: 1rem;
}

.carousel .carousel-indicators li .boton_redondo.dark .title {
    color: #fff;
}

.carousel .carousel-indicators li .subtitle p {
    font-size: 1.1rem;
    color: #4d4d4d;
    font-family: 'destacada';
    width: 85%;
    height: 70px;
    /*height: 90px;*/
    /*NUEVO*/
    margin: 1em auto 1em;
}

.carousel .carousel-indicators li.special .subtitle p {
    font-size: 1.5rem;
}

.ticket {
    background: url('../img/ticket.svg') center center no-repeat;
    background-size: 90% auto;
    padding: 5px 10px;
    color: #fff;
    font-weight: 400;
    font-size: 1.3rem;
}

.reserva .ticket {
    background-image: url('../img/ticket_grey.svg');
    padding: 15px 10px;
}

.precio_total {
    margin-top: 30px;
    text-align: center;
}

.precio_total>div {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.1rem;
}

.precio_total .precio_final {
    margin-left: 20px;
    font-size: 2.5rem;
    line-height: 1;
    font-weight: 500;
    /*NUEVO*/
}

section.portada {
    padding: 0 !important;
}
.portada #slider {
    position: relative;
}
.claims {
    margin: 0;
    padding: 6rem 0;
    background-color: #ededed;
    overflow: hidden;
}

.claims figure {
    max-width: 100px;
    margin: 1rem auto;
    -webkit-transition: all .6s ease-out;
    transition: all .6s ease-out;
    -ms-transform: translateY(-1000px);
    transform: translateY(-1000px);
}

.claims div[class*=col]:nth-child(2) figure {
    -webkit-transition-delay: .2s;
    transition-delay: .2s;
}

.claims div[class*=col]:nth-child(3) figure {
    -webkit-transition-delay: .4s;
    transition-delay: .4s;
}

.claims h4 {
    margin: 0 auto;
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 1.2;
    -webkit-transition: opacity .3s linear;
    transition: opacity .3s linear;
    opacity: 0;
}

.claims h4 strong {
    font-weight: 500;
    font-size: 1.8rem;
}

.claims.animado figure {
    -ms-transform: translateY(0);
    transform: translateY(0);
}

.claims.animado h4 {
    opacity: 1;
}

section.video {
    position: relative;
    margin-top: 0;
    padding: 250px 0 !important;
    background-position: center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../img/video-falso.jpg);
    color: #fff;
    /*NUEVO*/
    /*position: relative;
	margin-top: 0;
	height: 600px;
	background: url(../img/video-falso.webp) no-repeat center / cover;
	color: #fff;*/
}

section.video h5 {
    font-weight: 100;
    font-size: 1.8rem;
    margin-bottom: 0;
}

section.video h3 {
    font-family: 'destacada';
    font-size: 3.5rem;
    font-weight: 100;
}

section.video .button_play .play {
    width: 100%;
    max-width: 60px;
    margin-bottom: 10px;
}

section.video .button_play p {
    font-size: 1rem;
    color: #fff;
    font-weight: 100;
}

.video h2 {
    font-size: 4.5rem;
}


/*section.video .texto {
	cursor: pointer;
}
section.video .texto.hide {
	display: none;
}
section.video .wrapper_video {
	display: none;
}
section.video .wrapper_video.show {
	display: block;
}*/

.venta .banner {
    color: #fff;
    background-color: #bf272e;
    padding: 30px 0;
    position: relative;
}

.venta .banner svg {
    position: absolute;
    bottom: -60%;
    max-width: 60px;
    transform: translate(-50%, -50%);
}

.venta .banner h2 {
    margin-bottom: 0;
}

.video .texto .emblema svg {
    margin-bottom: 25px;
    max-width: 50px;
}

.video .play svg {
    margin-top: 25px;
    max-width: 150px;
}

section.galeria {
    padding: 6rem 0 4rem !important;
    margin: 0 10%;
    overflow: hidden;
}

.galeria h2 {
    font-family: 'destacada';
    margin: 0 0 40px 0;
    font-size: 2.5rem;
}

.flipster__item {
    max-width: 95%;
    margin: 0 auto;
}

.banner_separador:not(.nomargin) {
    margin-bottom: 50px;
    z-index: 3;
    /*NUEVO*/
}


/*NUEVO*/

section.descubre {
    overflow: hidden;
}

.descubre:first-child {
    padding-bottom: 0;
}

.descubre .columna.order-md-first figure {
    direction: rtl;
}

.descubre .columna.order-md-last figure {
    direction: ltr;
}

.descubre .columnas {
    margin-bottom: 4rem;
    /*NUEVO*/
    /*padding-bottom: 3.5rem;
	padding-top: 3.5rem;*/
}

.descubre .columna figure img,
.descubre .columna figure svg {
    height: 800px;
    width: auto;
    max-width: none;
}

.descubre h2 {
    font-family: 'destacada';
    font-weight: 300;
    font-size: 3rem;
    margin-bottom: 1em;
}

.descubre h3 {
    font-family: 'destacada';
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 3rem;
    margin-bottom: 1em;
}

.descubre h3 strong {
    font-weight: 400;
    font-size: 2.2rem;
    line-height: 3rem;
    color: #4d4d4d;
}

.descubre p {
    font-weight: 200;
    font-size: 1.5rem;
    color: #686868;
}

.descubre p:last-child {
    margin-bottom: 0;
}

.descubre .columnas .btn {
    margin-top: 3rem;
}

.descubre_content {
    position: relative;
    padding: 5rem 0;
}

.descubre_content .inster {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6);
    padding: 3rem;
}

.descubre_content .inster_content {
    background-color: #fff;
    text-align: left;
    max-height: 100%;
    overflow: auto;
}

.descubre_content .inster_content .top {
    background-color: #4d4d4d;
    color: #fff;
    padding: 2.5rem 2.5rem .5rem;
    position: relative;
}

.descubre_content .inster_content .top h4 {
    font-family: 'destacada', principal, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2rem;
}

.descubre_content .inster_content .top:after {
    content: 'X';
    font-family: principal, Arial, sans-serif;
    position: absolute;
    top: .5rem;
    right: 1rem;
    font-size: 1.5rem;
    opacity: .7;
    cursor: pointer;
}

.descubre_content .inster_content .logo_shape {
    position: absolute;
    bottom: -1.3rem;
    left: 2rem;
    width: 4rem;
    z-index: 1;
}

.descubre_content .inster_content .logo_shape+h4 {
    margin-left: 5rem;
}

.descubre_content .inster_content .logo_shape svg * {
    fill: #e3d9b0 !important;
}

.descubre_content .inster_content .bottom {
    background-color: #fff;
    padding: 2.5rem;
    overflow: auto;
}

.descubre_content .inster_content .bottom [class*="columns"] {
    -webkit-column-gap: 80px;
    -moz-column-gap: 80px;
    column-gap: 80px;
}

.descubre .columnas-texto .columna {
    margin: 25px 0;
    padding: 25px;
}

.descubre .estrellas {
    margin-top: 85px;
}

.descubre .estrellas figure {
    max-width: 150px;
    cursor: pointer;
}

.descubre .estrellas figure svg *:hover {
    fill: #E2D8B0 !important;
}


/** FOOTER */

footer {
    background-color: #bf272e;
    color: #fff;
}

footer .coloured {
    color: #bf272e;
}

footer p {
    margin-bottom: 0;
    padding: 5px;
}

footer .banner {
    background-color: #bf272e;
    padding: 25px 0;
}

footer .banner .boton-reservar {
    background-color: transparent;
    border: 1.5px solid #fff;
    padding: 10px 25px;
    color: #fff;
}

footer .cuerpo-footer {
    background-color: #31302d;
    padding: 25px 0;
    color: #fff;
    font-weight: 100;
}

footer .cuerpo-footer .logo-footer svg {
    max-width: 250px;
    margin: 0 auto;
}

footer .mapa {
    position: relative;
}

footer .mapa .ubicacion {
    /*position: absolute;
	top: -20%;
	right: 10%;
	background-color: #bf272e;
	color: #fff;
	padding: 2rem 4rem;
	font-weight: 100;*/
    /*NUEVO*/
    position: absolute;
    top: -10%;
    right: 5%;
    background-color: #421a05;
    color: #fff;
    padding: 2rem 4rem;
    font-weight: 100;
    z-index: 3;
}

footer .mapa iframe {
    display: block;
}

footer .social a img,
footer .social a svg {
    width: 32px;
    height: 32px;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

footer .contactos>div {
    margin-top: 10px;
}

footer .subfooter {
    font-weight: 100;
}

footer .subfooter .row div {
    padding-left: 7px;
    padding-right: 7px;
}


/** CONTENT */

section {
    /*padding: 2rem 0;*/
}

section:first-child {
    padding-top: 0;
}

.carousel .carousel-inner .carousel-item>img {
    width: 100%;
}

.carousel .carousel-item .image {
    height: 650px;
    background: #fff no-repeat center / cover;
    background-image: url("/img/carousel/desktop/sagrada-familia-cupulas.webp");
}

.carousel .carousel-caption {
    position: absolute;
    top: auto;
    bottom: 5%;
    left: auto;
    right: 5%;
    width: 50%;
    padding: 0 0 1rem;
    text-align: right;
}

.carousel .carousel-caption .caption1 {
    display: inline-block;
    font-size: 1.5rem;
    line-height: 1;
    background-color: #bf272e;
    color: #fff;
    padding: .5rem 0;
    -webkit-box-shadow: 10px 0 0 #bf272e, -10px 0 0 #bf272e;
    box-shadow: 10px 0 0 #bf272e, -10px 0 0 #bf272e;
}

.carousel .carousel-caption .caption2 {
    display: inline-block;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.3;
    font-family: 'destacada', principal, Arial, sans-serif;
    color: #fff;
    margin-bottom: 250px;
    background-color: rgba(40, 40, 40, .75);
    -webkit-box-shadow: 10px 0 0 rgba(40, 40, 40, .75), -10px 0 0 rgba(40, 40, 40, .75);
    box-shadow: 10px 0 0 rgba(40, 40, 40, .75), -10px 0 0 rgba(40, 40, 40, .75);
}

.carousel .carousel-control-next,
.carousel .carousel-control-prev {
    width: 5%;
}

.carousel .carousel-indicators {
    left: 0;
    margin: 0;
    position: absolute;
    bottom: 1rem;
}

.carousel .carousel-indicators li {
    max-width: 250px !important;
    margin: 0;
    min-width: 85px;
}

.carousel .carousel-indicators li.active {
    opacity: 1 !important;
}

.carousel .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%23292b2c' viewBox='0 0 8 8'><path d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/></svg>");
}

.carousel .carousel-control-next-icon {
    background-image: url("data:image/svg+xml;charset=utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%23292b2c' viewBox='0 0 8 8'><path d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/></svg>");
}

.carousel .btn {
    margin-top: 2rem;
    padding-left: 4rem;
    padding-right: 4rem;
}

section.reserva {
    padding-bottom: 0;
}

.reserva form {
    position: relative;
}

.reserva form>#loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    opacity: 0;
    z-index: -1;
    transition: opacity .3s linear;
}

.reserva form>#loader:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #e1e1e1;
    opacity: .4;
}

.reserva form>#loader:after {
    content: '';
    position: absolute;
    top: 10%;
    left: 50%;
    width: 150px;
    height: 150px;
    margin-left: -75px;
    background: url(../img/loading.svg) center center no-repeat;
    background-size: 100% auto;
    -webkit-animation: rotate 5s linear 0s infinite;
    animation: rotate 5s linear 0s infinite;
}

@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}

.reserva form>#loader>.texto {
    position: absolute;
    top: calc(10% + 180px);
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
    color: #bf272e;
}

.reserva form>#loader.show {
    opacity: 1;
    z-index: 1;
}

section.reserva ::-webkit-input-placeholder {
    color: #bf272e;
    font-weight: 100;
    font-size: 1rem;
}

section.reserva :-moz-placeholder {
    color: #bf272e;
    font-weight: 100;
    font-size: 1rem;
}

section.reserva ::-moz-placeholder {
    color: #bf272e;
    font-weight: 100;
    font-size: 1rem;
}

section.reserva :-ms-input-placeholder {
    color: #bf272e;
    font-weight: 100;
    font-size: 1rem;
}

.reserva .advertencia,
.reserva .regalo_advertencia {
    margin-top: 1.2rem;
    color: #bf272e;
}

.reserva .tarjetas_regalo .btn {
    margin-bottom: 10px;
}

.reserva .advertencia p:not(:first-child),
.reserva .regalo_advertencia p:not(:first-child) {
    margin-top: 1.2rem;
}

.banner_separador {
    background-color: #bf272e;
    position: relative;
    padding: 30px 0;
}

.banner_separador img {
    display: inline;
    vertical-align: middle;
    width: 50px;
    margin: -.2em auto 0;
    margin-right: 20px;
}

.banner_separador h3 {
    color: #fff;
    font-weight: 400;
    font-size: 2.2rem;
    margin: 0 auto;
    display: inline-block;
    vertical-align: middle;
    font-family: 'destacada';
}

.banner_separador .flecha_reserva {
    position: absolute;
    left: 50%;
    top: 100%;
    width: 50px;
    margin-left: -25px;
    margin-top: -25px;
    z-index: 10;
}

.reserva .haz_tu_reserva,
.reserva .reserva_siguiente,
.reserva #pay-result {
    display: block;
}

.reserva .note {
    font-size: 1.2rem;
    font-weight: 300;
    margin-top: 10px;
    color: #4d4d4d;
    /*max-width: 410px;*/
}

.reserva .note .important {
    color: #bf272e;
}


/*NUEVO*/


/*.reserva .note {
	font-size: 1rem;
	font-weight: bold;
	color: #74461b;
}*/

.reserva .geolocate {
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    margin-right: 1rem;
}


/*NUEVO*/


/*.reserva .geolocate {
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	margin-right: 10px;
	margin-top: -7px;
}*/

.reserva ul.incluye {
    list-style-image: url('../img/ico_incluye.svg');
}

.reserva ul.no-incluye {
    list-style-image: url('../img/ico_no_incluye.svg');
}

.content_gracias {
    padding: 0 0 50px;
}

.reserva .container_pago .cabecera_pago,
.container_reserva .cabecera_reserva {
    background: url('../img/slider/slider-5.webp') no-repeat center center;
    background-size: cover;
    position: relative;
    margin-bottom: 75px;
    min-height: 200px;
}

.container_reserva .cabecera_reserva {
    background: url('../img/pago/01.jpg') no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.reserva .container_pago .cabecera_pago .altura,
.container_reserva .cabecera_reserva .altura {
    padding-top: 25%;
}

.reserva .container_pago .cabecera_pago .contenido,
.container_reserva .cabecera_reserva .contenido {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.reserva .container_pago .cabecera_pago .contenido h1,
.container_reserva .cabecera_reserva .contenido h1 {
    color: #fff;
    font-weight: 100;
    font-size: 4rem;
    font-family: 'destacada';
}

.reserva .container_pago .cabecera_pago .contenido h2,
.container_reserva .cabecera_reserva .contenido h2 {
    color: #fff;
    font-weight: 100;
    font-size: 1.5rem;
}

.reserva .container_pago .cabecera_pago .contenido p,
.container_reserva .cabecera_reserva .contenido p {
    color: #fff;
}

.reserva .container_pago .cuadro_total {
    border-bottom: solid 1px #808080;
    padding: 15px 15px 12px;
}


/*NUEVO*/


/*.reserva .container_pago .cuadro_total {
	padding: 4rem 2.5rem;
	background-color: rgba(248, 167, 93, .1);
	border-top: solid 7px #808080;
}

.reserva .container_pago .cuadro_total .triangulo {
	position: absolute;
	left: 50%;
	top: 0;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px 20px 0 20px;
	border-color: #421a05 transparent transparent transparent;
	line-height: 0px;
	_border-color: #421a05 #000000 #000000 #000000;
	_filter: progid: DXImageTransform.Microsoft.Chroma(color='#000000');
}*/

.reserva .container_pago .cuadro_total h1 {
    margin: 0 auto 15px;
    font-family: 'destacada';
    font-weight: 100;
}

.reserva .container_pago .cuadro_total h2 {
    margin: 0 auto 1em;
    font-size: 1.3rem;
}

.reserva .container_pago .botones_pago,
.reserva .container_pago .cuadro_total {
    max-width: 550px;
    margin: 0 auto;
}

.reserva .container_pago .cuadro_total {
    border-top: solid 5px #bf272e;
    background-color: cornsilk;
}

.reserva .container_pago .cuadro_total li {
    list-style-type: circle;
}

.reserva .container_pago .cuadro_total ul {
    padding-left: 18px;
}

.reserva .container_pago .botones_pago {
    margin-top: 50px;
}

.reserva .botones_pago .stripe-button-el {
    border: 0;
    margin: 0;
    padding: 0;
    -webkit-box-shadow: 0 0 0;
    box-shadow: 0 0 0;
    line-height: 1;
}

.reserva .botones_pago .stripe-button-el span {
    font-size: .9rem;
}

.reserva .botones_pago .btn-secondary {
    margin-top: 1rem;
}

.reserva .container_pago .container h2 {
    font-weight: 100;
}

.reserva .derecha {
    background-color: rgba(191, 39, 46, .1)
}

.reserva .izquierda {
    padding: 5% 4%;
}

.reserva .derecha {
    padding: 5%;
}


/*NUEVO*/


/*.reserva .derecha,
.reserva .izquierda {
	padding: 6rem 3rem;
}*/

.datepicker .ui-datepicker-prev,
.datepicker .ui-datepicker-next {
    text-indent: 100%;
    width: 30px;
    height: 1rem;
    overflow: hidden;
    background: url('../img/calendario_flecha.svg') no-repeat center center;
    background-size: contain;
    transform-origin: center;
    cursor: pointer;
}

.datepicker .ui-datepicker-prev {
    float: left;
    transform: rotate(-180deg);
}
.datepicker .ui-datepicker-prev.ui-state-disabled,
.datepicker .ui-datepicker-next.ui-state-disabled{
	display: none;
}
.datepicker .ui-datepicker-next {
    float: right;
}

.datepicker .ui-datepicker-month {
    font-size: 1.3rem;
}
.datepicker .ui-datepicker-year{
	font-size: 1.3rem;
	font-weight: 300;
	margin-right: 1%;
}

.datepicker .ui-datepicker-title {
    margin-bottom: 5%;
    font-weight: 600;
}

.datepicker table {
    border-spacing: 5px;
    border-collapse: separate;
    width: 100%;
}

.datepicker th,
.datepicker td {
    text-align: center;
    height: 45px;
    width: 10%;
    padding: 5px;
}

.datepicker th {
    font-size: 1rem;
    font-weight: 100;
    color: #bf272e;
    height: 30px;
}

.datepicker thead {
    border: none;
}

.datepicker td{
	border: none;
	cursor: pointer;
    font-size: 1.3rem;
    font-weight: 100;
    position: relative;
    width: calc(100%/7);
}


/*NUEVO*/

.datepicker td {
	border: none;
	cursor: pointer;
	font-size: 1.3rem;
	font-weight: 100;
	position: relative;
	width: calc(100%/7);
}

.datepicker tbody td:after {
	content: '';
	width: 6px;
	height: 6px;
	position: absolute;
	left: 50%;
	bottom: 10%;
	background-color: #02b18a;
	-ms-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
	border-radius: 60%;
}

.datepicker td.aviso {
    border-bottom: solid 7px #F68C12;
}

.datepicker table a {
    color: #444444;
    text-decoration: none;
}

.datepicker .ui-datepicker-current-day{
	font-weight: 600;
}




/*NUEVO*/

.datepicker .ui-datepicker-unselectable.ui-state-disabled {
    border-bottom: none !important;
    cursor: default;
}

.datepicker td.pasado {
    opacity: .4;
}

.datepicker td.pasado:after,
.datepicker .ui-datepicker-other-month:after {
    display: none;
}

.datepicker .ui-state-disabled:after {
    background-color: #b41712;
}
.ui-datepicker .weekend .ui-state-default {
    background: #FEA;
  }
  .ui-datepicker-calendar td a[data-custom] {
    position: relative;
    padding-bottom: 10px;
  }
  .ui-datepicker-calendar td a[data-custom]::after {
    /*STYLE THE CUSTOME DATA HERE*/
    content: attr(data-custom) '€';
    display: block;
    font-size: small;
  }
  @media (max-width: 600px) {
    header .pre-header .telefono-cabecera {
        font-size: 0.8rem;
    }

    header .pre-header .idiomas {
        font-size: 0.8rem;
        margin-left: 5px;
    }
}
  @media (max-width: 600px) {
    .ui-datepicker-calendar td a[data-custom]::after {
        font-size: 10px;
        
    
    }

    .ui-datepicker-calendar td a {
        font-size: 12px; 
    }
}

/* Aplica Flexbox al contenedor principal que incluye el título y las esferas */
.contenedor-titulo-esferas {
    display: flex;
    flex-direction: column; /* Coloca los elementos en columna */
}

/* En vista de escritorio, muestra las esferas en la misma línea */
@media (min-width: 768px) {
    .contenedor-titulo-esferas {
        flex-direction: row; /* Coloca los elementos en fila en pantallas grandes */
    }
}

.datepicker .ui-datepicker-unselectable {
    border-bottom: none !important;
    cursor: default;
}

.datepicker .ui-datepicker-other-month {
    font-weight: 600;
    border-bottom: solid 7px rgba(191, 39, 46, .8) !important;
}

.reserva .leyenda {
    text-align: center;
    margin: 30px auto 30px;
}

.reserva .leyenda .cuadro,
.reserva .leyenda p {
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
}

.reserva .leyenda .cuadro {
    width: 10px;
    height: 10px;
    margin-right: 5px;
}

.reserva .titulo_formulario,
.reserva .cod_prom h3 {
    font-weight: 300;
    margin: 0 auto 20px;
    font-size: 1.5rem;
    color: #444444
}

.reserva .hora label span {
    color: #444444;
}

.reserva .hora label span.agotadas {
    color: #bf272e;
    font-size: 14px;
}

.reserva [type="radio"]+label {
    color: #444444;
    font-weight: 300;
    font-size: 1.2rem;
    font-weight: 500;
    transform: scale(1.2) translateX(7.8%);
    padding-right: 65px;
}


.reserva [type="radio"]:checked+label:after,
.reserva [type="radio"].with-gap:checked+label:before,
.reserva [type="radio"].with-gap:checked+label:after {
    border: 2px solid #bf272e;
}

.reserva [type="radio"]:checked+label:after,
.reserva [type="radio"].with-gap:checked+label:after {
    background-color: #bf272e;
    margin: 2px 0 0 6px;
}

.reserva #wrapper_hora:empty:before {
    content: 'Not available';
}

.reserva .especial_zambomba {
    display: none;
}

.reserva .personas {
    margin-bottom: 30px;
}

.reserva .personas_input input,
.reserva .idiomas .opciones {
    width: 35% !important;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    border-bottom: none;
    margin-bottom: -1%;
}

.reserva .personas_input input::-webkit-outer-spin-button,
.reserva .personas_input input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0;
    /* <-- Apparently some margin are still there even though it's hidden */
}

.reserva .menos,
.reserva .mas,
.reserva .idiomas .prev,
.reserva .idiomas .next {
    display: inline-block;
    vertical-align: middle;
    width: 60%;
    max-width: 30px;
    cursor: pointer;
}

.reserva .idiomas .prev.disabled,
.reserva .idiomas .next.disabled {
    opacity: .3
}

.reserva .menos,
.reserva .idiomas .prev {
    margin-right: 6%;
}

.reserva .mas,
.reserva .idiomas .next {
    margin-left: 6%;
}

.reserva .linea {
    margin: 0 0 20px 0;
}

.reserva .personas .linea p {
    margin-bottom: 0;
    font-size: 1.2rem;
}

.reserva .personas .linea div:first-child,
.reserva .idiomas div:first-child {
    padding-left: 0;
}

.reserva .personas .linea div:last-child,
.reserva .idiomas div:last-child {
    padding-right: 0;
}

.reserva .idiomas {
    margin: 50px 0 0;
}

.reserva .idiomas .opciones {
    overflow: hidden;
}

.reserva .idiomas .opciones>div {
    width: 400%;
    position: relative;
    left: 0;
    -webkit-transition: left ease .3s;
    -moz-transition: left ease .3s;
    -o-transition: left ease .3s;
    transition: left ease .3s;
}

.reserva .cod_prom {
    position: relative;
    z-index: 1;
    margin: 0;
    text-align: center;
    padding: 0;
    margin-top: 60px;
}

.reserva .cod_prom div {
    width: 80%;
    margin: 0 0 0 auto;
}

.reserva .cod_prom figure {
    position: absolute;
    top: 50%;
    left: 0;
    width: 15%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.reserva .cod_prom h3 {
    text-transform: uppercase;
    margin: 0;
}

.reserva .cod_prom input {
    margin-bottom: 0;
}

.reserva .completar:not(.nomargin) {
    margin-top: 30px;
}

.reserva .completar .input-field {
    width: 100%;
    display: block;
    
}

.reserva .completar .input-field label {
    font-size: 1.4rem;
}

.reserva .completar .terminos label {
    font-size: .8rem;
    color: #444444;
}

.reserva .completar .terminos label a {
    color: #bf272e;
    text-decoration: none;
    cursor: pointer;
}

#porLaCara .terminos label a {
    color: #a51c30;
    text-decoration: none;
    cursor: pointer;
}

.reserva .completar [type="checkbox"].filled-in:checked+label:after {
    border: 2px solid #bf272e;
    background-color: #bf272e;
}

.reserva .boton_enviar {
    margin-top: 50px;
}

.reserva .select-wrapper span.caret {
    display: none;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    background-color: none !important;
    background-image: none;
    -webkit-animation: autofill 0s forwards;
    animation: autofill 0s forwards;
}

@keyframes autofill {
    100% {
        background: transparent;
        color: inherit;
    }
}

@-webkit-keyframes autofill {
    100% {
        background: transparent;
        color: inherit;
    }
}

.servicios .with_info {
    position: relative;
    padding-right: 2rem;
}

.servicios .with_info .mas_info_tapa {
    position: absolute;
    top: 0;
    right: 0;
    width: 1.5rem;
    height: 1.5rem;
}

.mas_info_tapa {
    padding: .2rem .25rem 0;
    border: 1px solid #bf272e;
    border-radius: 50%;
    cursor: pointer;
}

.mas_info_tapa svg * {
    fill: #bf272e !important;
}

.modal {
    background-color: transparent;
    border-radius: 0;
    margin: auto;
    -webkit-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0;
}


/**
 * The CSS shown here will not be introduced in the Quickstart guide, but shows
 * how you can use CSS to style your Element's container.
 */

.StripeElement {
    background-color: white;
    height: auto;
    padding: 1rem 1.5em;
    border-radius: 4px;
    border: 2px solid #ececec;
    box-shadow: none;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 150ms ease;
}

.StripeElement--focus {
    box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
    border-color: #fa755a;
}

.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}


/*NUEVO*/

.container_pago .process {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.container_pago .process,
.container_pago #card-element,
.container_pago .boton_paypal,
.container_pago #card-button {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.container_pago #card-button {
    border-radius: 4px;
}

.container_pago .submitting #card-element,
.container_pago .submitting .boton_paypal,
.container_pago .submitting #card-button {
    display: none;
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

.container_pago .process {
    display: none;
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

.container_pago .submitting .process {
    display: block;
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@-webkit-keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

.spinner {
    margin: 2rem auto 0;
    width: 70px;
    text-align: center;
}

.spinner>div {
    width: 18px;
    height: 18px;
    background-color: #212529;
    border-radius: 100%;
    display: inline-block;
    -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}

.spinner .bounce2 {
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

.navigation {
    color: #bd1622;
    font-size: 1.5rem;
}

.terminos {
    border: 2px solid transparent;
    border-radius: 10px;
    padding: 5px;
    transition: background-color 1.5s ease-out, border-color 1.5s ease-out;
}

.terminos.aviso {
    border-color: red;
}

@-webkit-keyframes sk-bouncedelay {
    0%,
    80%,
    100% {
        -webkit-transform: scale(0)
    }
    40% {
        -webkit-transform: scale(1.0)
    }
}

@keyframes sk-bouncedelay {
    0%,
    80%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    40% {
        -webkit-transform: scale(1.0);
        transform: scale(1.0);
    }
}


/*Fin parte nueva de Stripe creo*/

.estaticos {
    text-align: left;
    padding: 4rem 0;
}

.estaticos h1:not(:first-child),
.estaticos h2:not(:first-child) {
    margin-top: 4rem;
}

.estaticos p,
.estaticos li {
    text-align: justify;
    font-size: 1.125rem;
}

.estaticos p,
.estaticas ul,
.estaticos ol {
    margin-bottom: 2rem;
}

.estaticos img,
.estaticos svg,
.estaticos video {
    max-width: 100%;
}

.faq .btn_pregunta {
    border-bottom: solid 1px #bf272e;
    margin-bottom: 3rem;
    padding: 1.5rem 0;
    cursor: pointer;
}

.faq .btn_pregunta .icon {
    max-width: 35px;
}

.faq .btn_pregunta h1 {
    font-weight: 100;
}

.faq .respuesta {
    display: none;
}

.faq .respuesta p {
    font-size: 1.5rem;
    font-weight: 100;
}

[class*="shape-content-"] {
    position: relative;
    padding-left: 55px;
    margin-top: 25px;
    margin-bottom: 20px;
}

[class*="shape-content-"]:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -25px;
    width: 44px;
    height: 51px;
    background: url('../img/marker.png') center center no-repeat;
    color: #fff;
    font-size: 30px;
    line-height: 51px;
    text-align: center;
}

.shape-content-a:before {
    content: 'A'
}

.shape-content-b:before {
    content: 'B'
}

.shape-content-c:before {
    content: 'C'
}

.shape-content-d:before {
    content: 'D'
}

.shape-content-e:before {
    content: 'E'
}

.shape-content-f:before {
    content: 'F'
}

.shape-content-g:before {
    content: 'G'
}

.shape-content-h:before {
    content: 'H'
}

.shape-content-i:before {
    content: 'I'
}

.shape-content-j:before {
    content: 'J'
}

.shape-content-k:before {
    content: 'K'
}

.shape-content-l:before {
    content: 'L'
}

.shape-content-m:before {
    content: 'M'
}

.shape-content-n:before {
    content: 'N'
}

.shape-content-ñ:before {
    content: 'Ñ'
}

.shape-content-o:before {
    content: 'O'
}

.shape-content-p:before {
    content: 'P'
}

.shape-content-q:before {
    content: 'Q'
}

.shape-content-r:before {
    content: 'R'
}

.shape-content-s:before {
    content: 'S'
}

.shape-content-t:before {
    content: 'T'
}

.shape-content-u:before {
    content: 'U'
}

.shape-content-v:before {
    content: 'V'
}

.shape-content-w:before {
    content: 'W'
}

.shape-content-x:before {
    content: 'X'
}

.shape-content-y:before {
    content: 'Y'
}

.shape-content-z:before {
    content: 'Z'
}

.shape-content-1:before {
    content: '1'
}

.shape-content-2:before {
    content: '2'
}

.shape-content-3:before {
    content: '3'
}

.shape-content-4:before {
    content: '4'
}

.shape-content-5:before {
    content: '5'
}

.shape-content-6:before {
    content: '6'
}

.shape-content-7:before {
    content: '7'
}

.shape-content-8:before {
    content: '8'
}

.shape-content-9:before {
    content: '9'
}

.shape-content-0:before {
    content: '0'
}

.errorpage {
    padding: 80px 0;
}

.errorpage figure {
    max-width: 500px;
    margin: 0 auto;
}


/** LOGIN */

.login-page h2 {
    margin-bottom: 2rem;
}

.login-page .input,
.login-page button {
    position: relative;
    max-width: 250px;
    margin: 0 auto;
}

.login-page .input:not(.checkbox) label:not(.error) {
    font-weight: 300;
    font-size: .9rem;
    color: #aaa;
    position: absolute;
    top: 0;
    left: 0;
    cursor: text;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.login-page .input:not(.checkbox) label.active,
.login-page .input:not(.checkbox) input:focus+label:not(.error) {
    font-size: .7rem;
    top: -10px;
    color: #56b99f;
}

.login-page .input:not(.checkbox) input {
    width: 100%;
    background: none;
    border: none;
    border-bottom: 1px solid #eee;
    font-size: 1rem;
    line-height: 2rem;
    margin-bottom: 20px;
}

.login-page .input:not(.checkbox) input:focus {
    border-color: #56b99f;
    outline: 0 !important;
    box-shadow: 0 0 0;
}

.login-page .input:not(.checkbox) input:focus:invalid:focus {
    border-color: #56b99f;
    box-shadow: 0 0 0;
}

.login-page .forgot-pass {
    margin-top: 20px;
    font-size: .8rem;
}


/** COOKIES */

.show_cookies {
    position: fixed;
    top: auto;
    bottom: -300px;
    left: auto;
    right: 30px;
    width: calc(100% - 60px);
    z-index: 99;
    font-weight: 300;
    font-size: .8rem;
    text-align: left;
    text-transform: none;
    background: #fff;
    color: #444444;
    border: 3px solid #56b99f;
    padding: 20px;
    -webkit-transition: all .8s cubic-bezier(.2, .45, .42, 1.28);
    -moz-transition: all .8s cubic-bezier(.2, .45, .42, 1.28);
    transition: all .8s cubic-bezier(.2, .45, .42, 1.28);
}

.show_cookies.mostrar {
    bottom: 30px;
}

.show_cookies.ocultar {
    display: none;
}

.show_cookies>div {
    display: inline-block;
    vertical-align: middle;
}

.show_cookies>div:first-child {
    width: 60%;
    padding-right: 10px;
    border-right: 1px solid #56b99f;
}

.show_cookies>div.cookies_actions {
    width: 40%;
    padding-left: 10px;
    text-align: center;
}

.show_cookies>div.cookies_actions button {
    background: #56b99f;
    color: #fff;
    line-height: 50px;
    height: 50px;
    text-align: center;
    text-transform: uppercase;
    padding: 0 20px;
    margin: 0 0 5px;
    border: 0;
    outline: 0;
}

.show_cookies>div.cookies_actions a {
    display: block;
    color: #444444;
    font-size: .7rem;
    text-decoration: none;
}

.show_cookies>div.cookies_actions a:hover {
    text-decoration: underline;
}


/*!
 * IE10 viewport hack for Surface/desktop Windows 8 bug
 */

@-ms-viewport {
    width: device-width
}

@-o-viewport {
    width: device-width
}

@viewport {
    width: device-width
}


/** MEDIA QUERIES **/

@media (min-width: 420px) {
    .carousel .carousel-caption .caption2 {
        font-size: 3rem;
        
    }
}
/* Configuración base de Flexbox para el contenedor */
.carousel .carousel-caption .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Ajustes específicos para móvil */
@media (max-width: 768px) {
    .carousel-caption .container {
        flex-direction: column;
        align-items: center;
    }
    .carousel-caption .caption2 {
        order: 1;
        text-align: center;
    }
    

    .carousel-caption h1.caption2 {
        order: 1;
        margin-bottom: 20px;
        text-align: center;
    }

    .carousel .carousel-indicators {
        order: 2;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin-top: 10px;
    }

    .carousel-indicators li {
        width: 45%;
        max-width: 45%;
        text-align: center;
    }
}

/* Small devices (landscape phones, 576px and up) */

@media (min-width: 576px) {
    html {
        font-size: 14px;
    }
    .carousel .carousel-caption {
        bottom: 14%;
        left: 5%;
        right: auto;
        width: 80%;
        text-align: left;
    }
    .carousel .carousel-caption .caption1 {
        font-size: 1.5rem;
    }
    .carousel .carousel-caption .caption2 {
        font-size: 2.5rem;
    }
    .carousel .carousel-indicators {
        margin-top: -50px;
    }
    .carousel-indicators li.special {
        margin-top: -10px;
    }
    [class*="columns"] {
        -webkit-column-gap: 30px;
        -moz-column-gap: 30px;
        column-gap: 30px;
    }
    .columns-2 {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
    .descubre pre.poema {
        font-size: 1.5rem;
        border-right: 1px solid #aaa;
    }
}


/* Medium devices (tablets, 768px and up) */

@media (min-width: 768px) {
    .scrolltop {
        bottom: 5vw;
        right: 5vw;
        width: 5vw;
        height: 5vw;
        padding: 1vw;
    }
    .carousel .carousel-caption {
        bottom: 35%;
        left: 10%;
        right: auto;
        width: 80%;
    }
    .carousel .carousel-caption .caption2 {
        font-size: 3rem;
        margin: auto;
    }
    .carousel .carousel-indicators li.special {
        margin-top: -10px;
    }
    .descubre .banner_separador:not(.nomargin) {
        margin-bottom: 80px;
    }
    .flipster__item {
        max-width: 80%;
    }
    .descubre figure {
        margin-bottom: 0;
    }
    .descubre .row.justify-content-between .col-md-5 {
        padding-bottom: 0;
    }
    .show_cookies {
        width: 50%;
    }
    .logo_shape {
        font-size: 2.5rem;
        padding: 25px 0;
    }
    .descubre_content .inster_content .top {
        padding: 5rem 5rem .75rem;
    }
    .descubre_content .inster_content .top h4 {
        font-size: 3rem;
        line-height: 3rem;
    }
    .descubre_content .inster_content .top:after {
        top: 1rem;
        right: 1rem;
    }
    .descubre_content .inster_content .logo_shape {
        bottom: -2.3rem;
        left: 5rem;
        width: 7rem;
    }
    .descubre_content .inster_content .logo_shape+h4 {
        margin-left: 9rem;
    }
    .descubre_content .inster_content .bottom {
        padding: 5rem;
    }
    cite.masmargin {
        margin-top: 12rem;
    }
    .telefono-cabecera br {
        display: none !important;
    }
}


/* Large devices (desktops, 992px and up) */

@media (min-width: 992px) {
    .carousel .carousel-caption .caption1 {
        font-size: 2.2rem;
    }
    .carousel .carousel-caption .caption2 {
        font-size: 3.5rem;
        margin: auto;
    }
    .carousel .carousel-indicators {
        margin-top: -90px;
        /*            position: absolute;
            top: 470px;
            left: -850px;	*/
    }
    .carousel .carousel-indicators li.special {
        margin-top: 10px;
    }
    .show_cookies {
        width: 35%;
    }
    .logo_shape {
        font-size: 4rem;
        padding: 25px 0;
        margin-top: 2rem;
    }
}


/* Extra large devices (large desktops, 1200px and up) */

@media (min-width: 1200px) {
    .carousel .carousel-caption .caption2 {
        font-size: 4.5rem;
        margin: auto;
    }
    .carousel .carousel-indicators li .subtitle p {
        font-size: 1.3rem;
    }
    .carousel .carousel-indicators li.special .subtitle p {
        font-size: 1.5rem;
    }
    .container {
        max-width: 1280px;
    }
}

@media (max-width: 1200px) {
    .carousel .carousel-indicators li.special {
        padding-left: 10px;
        padding-right: 10px;
    }
    .carousel .carousel-indicators li.special .boton_redondo .title {
        font-size: 1.2rem;
    }
    .carousel .carousel-indicators li.special .subtitle p {
        width: 100%;
    }
    /*NUEVO*/
    .descubre .columna figure img,
    .descubre .columna figure svg {
        height: 860px;
    }
}

@media (max-width: 992px) {
    /*NUEVO*/
    .navbar-expand-lg>.container,
    .navbar-expand-lg>.container-fluid {
        padding-left: 15px!important;
        padding-right: 15px!important;
    }
    .carousel .carousel-indicators li.special .boton_redondo {
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2);
        max-width: 150px;
    }
    .carousel .carousel-indicators li.special .boton_redondo .title {
        font-size: 1rem;
    }
    .carousel .carousel-indicators li .boton_redondo .title {
        line-height: 1.2;
    }
    .carousel .carousel-indicators li.special .boton_redondo .title .precio {
        font-size: .8rem;
    }
    .carousel .carousel-indicators li.special .boton_redondo .title .precio span {
        font-size: 1rem;
    }
    .carousel .carousel-indicators li .subtitle>p {
        display: none;
    }
    .carousel .carousel-indicators li .subtitle .ticket {
        margin-top: 10px;
    }
    .carousel .carousel-indicators li .boton_redondo .title {
        font-size: 1rem;
    }
    .banner_separador h3 {
        font-size: 2rem;
    }
    .reserva .menos,
    .reserva .mas,
    .reserva .idiomas .prev,
    .reserva .idiomas .next {
        max-width: 22px;
    }
    .descubre h3 {
        font-size: 2rem;
    }
    .descubre p {
        font-size: 1rem;
    }
    .navbar .navbar-nav a.nav-link {
        font-size: 1.1rem;
        padding: 1.5em 0;
        margin: 0 auto;
    }
    /*NUEVO*/
    .reserva .personas_input input,
    .reserva .idiomas .opciones {
        width: 50px !important;
    }
    /*NUEVO*/
    .descubre .columna figure img,
    .descubre .columna figure svg {
        height: 700px;
    }
}


/*NUEVO*/

@media (max-width: 768px) {
    footer .subfooter p {
        font-size: .9rem;
    }
    .reserva .container_pago .cabecera_pago .contenido h1,
    .container_reserva .cabecera_reserva .contenido h1 {
        font-size: 3rem;
    }
    .carousel .carousel-indicators {
        position: absolute;
        top: 0;
        left: 0;
        width: 26%;
        height: 100%;
        margin: 0;
    }
    .carousel .carousel-indicators li,
    .carousel .carousel-indicators li.special {
        padding-left: 0;
        padding-right: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: auto;
        min-width: 120px;
    }
    .carousel .carousel-indicators li .subtitle .ticket {
        margin-top: 0;
    }
}
@media (max-width: 576px) {
	.reserva .container_pago .cabecera_pago, .container_reserva .cabecera_reserva{margin-bottom:35px;}
	footer .cuerpo-footer .logo-footer svg{max-width: 170px;}
	footer{overflow: hidden;}
	.carousel .carousel-item{overflow: hidden;}
	.carousel .carousel-item .image{height: 100%;}
	.carousel .carousel-indicators{position: absolute;left:0;max-width:115px;height:100%;margin:0;}
	.carousel .carousel-indicators li,.carousel .carousel-indicators li.special{padding-left:0;padding-right:0;margin-top:0;margin-bottom:0;min-width: 120px;}
	.carousel .carousel-indicators .subtitle{display:none;}
	.carousel .carousel-indicators li .boton_redondo,.carousel .carousel-indicators li.especial .boton_redondo{width:100%;-ms-transform:translateY(-50%)!important;transform:translateY(-50%)!important;position: relative;top: 50%;}
	.carousel .carousel-indicators li.special .boton_redondo{-webkit-animation: none;animation: none;}
	section.reserva{padding-top:0;}
	.reserva .menos,.reserva .mas,.reserva .idiomas .prev,.reserva .idiomas .next{max-width:30px;}
	footer .mapa .ubicacion{position:relative;top:auto;right:auto;font-size:1.2rem;padding:1.5rem 3rem;}
	.reserva .container_pago .cabecera_pago .contenido h1, .container_reserva .cabecera_reserva .contenido h1{font-size:2.5rem;}
	.video h2 {font-size:3rem;}
	.descubre .degradado,.descubre .columna_figure{display: none;}
	.descubre p{font-size:1.2rem;}
	.carousel .carousel-indicators li .boton_redondo .title .precio {font-size: 1rem;}
	.banner_separador{padding: 20px 0; }
	.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before{width: 25px;height:2px;}
	.caption2 .main-tour {font-size: 2.5rem;}
}
@media (max-width: 767px) {
    .carousel .carousel-indicators li {
        padding-left: 8px;
        padding-right: 8px;
        margin-left: 10px;
    }
    .carousel .carousel-indicators li .boton_redondo {
        border: solid 1px #bf272e;
    }
    .carousel .carousel-indicators li.special .boton_redondo .title,
    .carousel .carousel-indicators li.special .boton_redondo .title .precio span {
        font-size: 1.1rem;
    }
    .carousel .carousel-indicators li.special .boton_redondo .title .precio {
        font-size: .6rem;
    }
    .carousel .carousel-indicators {
        max-width: 100%;
        top: 0;
    }
    .carousel .carousel-indicators li.special .boton_redondo {
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none;
    }
    .banner_separador h3 {
        font-size: 1.7rem;
    }
    .reserva .haz_tu_reserva,
    .reserva .reserva_siguiente,
    .reserva #pay-result {
        margin-top: 30px;
    }
    .descubre .columna figure img,
    .descubre .columna figure svg {
        height: 700px;
    }
    /*NUEVO*/
    /*Inicio bloque*/
    .descubre .columnas {
        position: relative;
    }
    .descubre .columna_figure {
        position: absolute;
        top: 50%;
        width: 125%;
        max-width: 125%;
        z-index: 1;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .descubre .columna_figure.order-md-last {
        left: 50%;
    }
    .descubre .columna_figure.order-md-first {
        right: 50%;
    }
    .descubre .columna figure img,
    .descubre .columna figure svg {
        width: 100%;
        height: auto;
    }
    .descubre .columna_texto {
        margin-top: 5rem;
        margin-bottom: 5rem;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
        z-index: 3;
    }
    .descubre_content .inster_content .logo_shape {
        bottom: 0;
        left: .5rem;
        width: 6rem;
    }
    section.reserva {
        overflow: hidden;
    }
    .icono-cabecera {
        vertical-align: text-top;
        width: 14px;
    }
    .icono-cabecera2 {
        vertical-align: text-top;
        width: 16px;
        top: 12px;
        left: 115px;
    }
    .separador-cabecera {
        display: none !important;
    }
    ol.row {
        display: grid!important;
    }
    ol.carousel-indicators {
        grid-template-columns: repeat(2, 1fr) !important;
        max-width: 260px!important;
        width: auto!important;
        height: 60%!important;
    }
    .boton_redondo .inline {
        font-size: 1.1rem !important;
    }
    .carousel-caption {
        width: 100% !important;
        bottom: 0px !important;
        right: 0% !important;
    }
    /*Fin bloque*/
}

@media (max-width: 576px) {
    /*NUEVO*/
    /*Inicio bloque*/
    .reserva .container_pago .cabecera_pago,
    .container_reserva .cabecera_reserva {
        margin-bottom: 35px;
    }
    footer .cuerpo-footer .logo-footer svg {
        max-width: 170px;
    }
    footer {
        overflow: hidden;
    }
    .navbar .logo {
        max-width: 180px;
    }
    .carousel .carousel-item {
        height: 65vh;
        overflow: hidden;
    }
    /*Fin bloque*/
    header .logo {
        max-width: 200px;
    }
    .carousel .carousel-indicators {
        position: absolute;
        top: 0;
        left: 0;
        width: 26%;
        height: 100%;
        margin: 0;
    }
    .carousel .carousel-indicators li,
    .carousel .carousel-indicators li.special {
        padding-left: 0;
        padding-right: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: auto;
        min-width: 120px;
    }
    /*.carousel .carousel-indicators li .boton_redondo,.carousel .carousel-indicators li.especial .boton_redondo{width:100%;-webkit-transform:translateX(-20%)!important;-moz-transform:translateX(-20%)!important;-ms-transform:translateX(-20%)!important;-o-transform:translateX(-20%)!important;transform:translateX(-20%)!important;-webkit-transition:all ease .2s;-moz-transition:all ease .2s;-o-transition:all ease .2s;transition:all ease .2s;}
	.carousel .carousel-indicators li.active .boton_redondo,.carousel .carousel-indicators li.especial.active .boton_redondo{-webkit-transform:translateX(0)!important;-moz-transform:translateX(0)!important;-ms-transform:translateX(0)!important;-o-transform:translateX(0)!important;transform:translateX(0)!important;}*/
    .carousel .carousel-indicators li .boton_redondo,
    .carousel .carousel-indicators li.especial .boton_redondo {
        width: 100%;
        -webkit-transform: translateX(0)!important;
        -moz-transform: translateX(0)!important;
        -ms-transform: translateX(0)!important;
        -o-transform: translateX(0)!important;
        transform: translateX(0)!important;
        -webkit-transition: all ease .2s;
        -moz-transition: all ease .2s;
        -o-transition: all ease .2s;
        transition: all ease .2s;
    }
    section.reserva {
        padding-top: 0;
    }
    .reserva .menos,
    .reserva .mas,
    .reserva .idiomas .prev,
    .reserva .idiomas .next {
        max-width: 30px;
    }
    footer .mapa .ubicacion {
        position: relative;
        top: auto;
        right: auto;
        font-size: 1.2rem;
        padding: 1.5rem 3rem;
    }
    .reserva .container_pago .cabecera_pago .contenido h1,
    .container_reserva .cabecera_reserva .contenido h1 {
        font-size: 3rem;
    }
    .video h2 {
        font-size: 3rem;
    }
    /*NUEVO*/
    /*Inicio bloque*/
    .descubre .degradado,
    .descubre .columna_figure {
        display: none;
    }
    .descubre p {
        font-size: 1.2rem;
    }
    .carousel .carousel-indicators li .boton_redondo .title .precio {
        font-size: 1rem;
    }
    .banner_separador {
        padding: 20px 0;
    }
    .hamburger-inner,
    .hamburger-inner:after,
    .hamburger-inner:before {
        width: 25px;
        height: 2px;
    }
    /*    .ticket {
        background: none;
        position: relative;
    }*/
    /*Fin bloque*/
}

@media (max-width: 767px) {
    ol.carousel-indicators {
        grid-template-columns: repeat(3, 1fr) !important;
        max-width: 100% !important;
        height: 50% !important;
    }
}

@media (max-width: 420px) {
    footer .subfooter {
        padding: 10px 0;
    }
    /*NUEVO*/
    footer .subfooter p {
        padding: 5px;
    }
    footer .subfooter .row div {
        width: 100%;
    }
    footer .subfooter .row .col-linea {
        display: none;
    }
    /*    .carousel .carousel-indicators li.special .boton_redondo .title .precio {
        display: none;
    }*/
    /*NUEVO*/
    .video h2 {
        font-size: 2.6rem;
    }
}


/*Todo lo que sigue es /*NUEVO*/

.tituloH1 {
    margin-bottom: 0.5rem;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.2;
    color: inherit;
    font-size: 2.5rem;
}

h1 {
    font-family: 'Montserrat', Arial, sans-serif;
    display: inline-block;
}

.separador {
    border-top: 6px solid !important;
}

.verystrong {
    font-weight: bold !important;
}

.mensaje_dispo {
    color: red;
    font-size: 1.5rem;
}

.mensaje_custom {
    color: red;
    font-size: 1.3rem;
    padding-top: 15px;
}

.boton_enviar .btn-primary:disabled {
    background-color: #6c757d;
    border-color: #6c757d;
}

.boton_enviar .btn-primary:disabled:hover {
    background-color: #6c757d;
    border-color: #6c757d;
    color: white;
}

.icono-pie {
    vertical-align: text-top;
    width: 16px;
}

@keyframes pulso_entradas_frame {
    0% {
        background-color: #f8a75d;
        left: 0px;
        top: 0px;
        -webkit-box-shadow: 10px 0 0 #f8a75d, -10px 0 0 #f8a75d;
        box-shadow: 10px 0 0 #f8a75d, -10px 0 0 #f8a75d;
    }
    25% {
        background-color: #c91414;
        left: 0px;
        top: 0px;
        -webkit-box-shadow: 10px 0 0 #c91414, -10px 0 0 #c91414;
        box-shadow: 10px 0 0 #c91414, -10px 0 0 #c91414;
    }
    50% {
        background-color: #c91414;
        left: 0px;
        top: 0px;
        -webkit-box-shadow: 10px 0 0 #c91414, -10px 0 0 #c91414;
        box-shadow: 10px 0 0 #c91414, -10px 0 0 #c91414;
    }
    75% {
        background-color: #c91414;
        left: 0px;
        top: 0px;
        -webkit-box-shadow: 10px 0 0 #c91414, -10px 0 0 #c91414;
        box-shadow: 10px 0 0 #c91414, -10px 0 0 #c91414;
    }
    100% {
        background-color: #f8a75d;
        left: 0px;
        top: 0px;
        -webkit-box-shadow: 10px 0 0 #f8a75d, -10px 0 0 #f8a75d;
        box-shadow: 10px 0 0 #f8a75d, -10px 0 0 #f8a75d;
    }
}

.pulso_entradas {
    animation-name: pulso_entradas_frame;
    animation-duration: 4s;
    animation-iteration-count: infinite;
}

#card-errors {
    padding-top: 30px;
    text-align: left;
}

.submittingFadding {
    transition: opacity 2s ease-in-out;
    opacity: 50%;
}

#wrapper_hora_contenedor_selector {
    padding-right: 15px;
    padding-left: 15px;
}

#wrapper_hora_selector {
    -webkit-appearance: none;
    border: solid 1px #bf272e;
    border-bottom: solid 7px #bf272e;
    height: 3.5rem;
    font-size: 1.2rem;
    min-width: 100px;
    max-width: 50%;
}


/*La versión para combos va por clase y no por id*/

.wrapper_hora_selector {
    -webkit-appearance: none;
    border: solid 1px #bf272e;
    border-bottom: solid 7px #bf272e;
    height: 3.5rem;
    font-size: 1.2rem;
    min-width: 100px;
    max-width: 50%;
    margin-left: 15px;
}

.hora_selector_arrow {
    pointer-events: none;
    position: relative;
    margin-left: -30px;
    margin-top: 17px;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #bf272e;
}

.cont_elemento_combo {
    margin-bottom: 20px;
}

.cabecera_elemento_combo {
    /*border-bottom: solid 1px #bf272e;
    margin-bottom: 3rem;
    padding: 1.5rem 0;*/
    cursor: pointer;
}

.cabecera_elemento_combo .icon {
    max-width: 25px;
}

.titulo_formulario_combo {
    font-weight: bold;
    margin: 0 auto 10px;
    font-size: 1.5rem;
    color: #444444;
}

.custom-select {
    position: relative;
    background: #31302d;
}

.select-selected {
    background-color: #31302d;
    color: white;
    cursor: pointer;
    font-weight: 400;
}

.select-items div,
.select-selected {
    display: flex;
    align-items: center;
}

.select-items {
    position: absolute;
    background-color: white;
    border: 1px solid #ccc;
    z-index: 99;
    display: none;
}

.select-items div {
    padding: 8px;
    cursor: pointer;
}

.select-items div:hover {
    background-color: #ddd;
}

.select-arrow {
    float: right;
}

.select-flag {
    margin-right: 10px;
}

.active {
    display: block;
}

.text-center p {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.tour_alert {
    font-weight: bold;
}

.ui-datepicker .weekend .ui-state-default {
    background: #FEA;
  }
  .ui-datepicker-calendar td a[data-custom] {
    position: relative;
    padding-bottom: 10px;
  }
  .ui-datepicker-calendar td a[data-custom]::after {
    /*STYLE THE CUSTOME DATA HERE*/
    content: attr(data-custom) '€';
    display: block;
    font-size: small;
  }

  @media (max-width: 600px) {
    .ui-datepicker-calendar td a[data-custom]::after {
        font-size: 10px;
    }

    .ui-datepicker-calendar td a {
        font-size: 12px; 
    }
    }

.enlaceFAQ {
    color: #bf272e;
    font-weight: lighter;
    display: flex;
    justify-content: center;
    align-items: center;
}

.textoFAQ {
    font-weight: bold;
}
.utilidad {
    display: flex;
    align-items: center;
    margin-top: 10px;
    font-size: 0.9em;
    color: #666;
}

.svg-util {
    width: 24px;
    height: 24px;
    margin-left: 10px;
    transition: transform 0.3s, fill 0.3s; /* Animación de escala y cambio de color */
    cursor: pointer;
    fill: #666; /* Color inicial */
}

.svg-util.seleccionado {
    transform: scale(1.2); /* Aumenta el tamaño al hacer clic */
    fill: #bf272e; /* Cambia el color al hacer clic */
}


.faq-filtros {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px; /* Espacio entre botones */
    margin-top: 20px; /* Espacio entre el título y los botones */
    padding: 10px;
}

.faq-filtros button {
    font-size: 1.8rem;
    padding: 10px 20px;
    border: 1px solid #bf272e;
    background-color: white;
    color: #bf272e;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    padding: 1rem 2rem; /* Aumenta el espacio interno (padding) */
    margin: 0.5rem; /* Aumenta el espacio entre botones */
    border-radius: 5px; /* Ajusta el radio de las esquinas */
}

.faq-filtros button:hover {
    background-color: #bf272e;
    color: white;
    display: flex;
    justify-content: center;
}

.titulo_paypal {
    position: relative; /* Cambia a absolute si es necesario */
    top: 0; /* Ajusta según la ubicación que deseas */
    z-index: 10; /* Para estar por encima de otros elementos */
}
.cabecera_pago .contenido {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.titulo_paypal {
    font-size: 2.5rem;
    color: #fff;
    margin: 0;
}
.cabecera_pago {
    position: relative;
    min-height: 400px; /* Ajusta esto según el tamaño completo de tu imagen */
    background-size: cover; /* Asegura que la imagen cubra el área */
    background-position: center; /* Centra la imagen */
    display: flex;
    align-items: center;
    justify-content: center;
}

.titulo_paypal {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 3rem;
    text-align: center;
    z-index: 10;
}
/* Estilo específico para el botón "Mostrar todas" */
/* Estilo específico para el botón "Mostrar todas" */
.btn-mostrar-todas {
    border: none !important; /* Quita el borde */
    background: transparent !important; /* Fondo transparente */
    color: #bf272e !important; /* Color del texto */
    padding: 0.5rem 1.5rem !important; /* Ajusta el padding para que coincida con los otros botones */
    font-size: 1.5rem !important; /* Tamaño del texto para que coincida */
    cursor: pointer; /* Cursor de puntero */
    display: inline-block; /* Para asegurar que se alinee con otros botones */
    min-width: 150px; /* Ajusta el ancho mínimo para que se vea consistente */
    text-align: center; /* Centra el texto dentro del botón */
}
@media (max-width: 768px) {
    .faq-filtros {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 15px; /* Espacio entre los botones */
    }

    .faq-filtros button {
        width: 85%; /* Hace los botones más grandes en ancho */
        padding: 1.5rem 0; /* Aumenta el padding para hacerlos más altos */
        font-size: 1.5rem; /* Aumenta el tamaño de fuente para hacer el texto más grande */
        
        text-align: center;
        box-sizing: border-box;
    }

    .faq-filtros .btn-mostrar-todas {
        width: 85%; /* Aplica el mismo tamaño al botón "Mostrar todas" */
    }
}
@media (max-width: 767px) {
    .carousel-caption {
        position: absolute;
        top: 20%; /* Ajusta este valor según sea necesario */
        left: 0;
        right: 0;
        transform: translateY(-20%); /* Sube el título y esferas */
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 0 20px;
    }
    .carousel-indicators.row.align-items-center.justify-content-center {
        
        margin-top: 300px;
        }


}

@media (max-width: 400px) {
    main .carousel-indicators.row.align-items-center.justify-content-center .boton_redondo {
        width: 100% !important;
        max-width: 110px !important;
        margin-bottom: 230px;
    }
    .carousel-indicators.row.align-items-center.justify-content-center{
        gap: 1px; /* Reduce el espacio entre las esferas */
    }
    .idiomas.inline {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Ajuste del contenedor del menú desplegable */
    .idiomas.inline .custom-select {
        left: 0;
        right: 0;
    }

    .idiomas.inline .custom-select ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .idiomas.inline .custom-select li {
        padding: 8px 10px;
        font-size: 0.9rem;
        cursor: pointer;
    }
}

@media (min-width: 401px) and (max-width: 576px) {
    /* Agrega un margen inferior a la última esfera para evitar que se solape con el texto */
    .carousel-indicators .boton_redondo:nth-child(1) {
        margin-bottom: 20px; /* Ajusta este valor según el espacio deseado */
        
    }
    .carousel-indicators .boton_redondo:nth-child(2) {
        margin-top: 20px; /* Ajusta este valor según el espacio deseado */
    }

    /* Alternativamente, puedes añadir un padding al contenedor de las esferas */
    .carousel-indicators.row.align-items-center.justify-content-center {
       margin-top: 250px; /* Espacio adicional debajo de las esferas */
    }
    .carousel-indicators {
        margin-bottom: 20px; 
        margin-top: 20px; /* Ajusta este valor según el espacio deseado */
    }
    .carousel-indicators .boton_redondo {
        width: 90px; /* Establece un tamaño fijo o ajusta según sea necesario */
        height: 110x; /* Asegura que la esfera sea proporcional */    }
        ol.carousel-indicators {

           
            width: auto!important;
            height: 53%!important;
        }

}


@media (min-width: 540px) and (max-width: 576px) {
    .carousel-indicators .boton_redondo {
        width: 100px; /* Ajusta el tamaño de la esfera */
        height: 150px;
        font-size: 0.9rem; /* Ajusta el tamaño del texto dentro de la esfera */
        padding-bottom: 20px;
        margin-top: 20px;
    }

    .carousel-indicators {
        padding-bottom: 20px; /* Espacio adicional debajo de las esferas */
        gap: 10px; /* Ajusta el espacio entre las esferas */
    }

    /* Ajuste específico para que el texto de la sección inferior no se solape */
    .section-inferior {
        margin-top: 20px; /* Espacio extra entre esferas y el texto inferior */
    }
    .carousel-indicators .boton_redondo {
        margin-bottom: 150px!important;
        height: 140px!important; /* Asegura que la esfera sea proporcional */    }
}
@media (max-width: 576px) {
    /* Asegúrate de que el contenedor de las esferas esté en dos columnas */
    .carousel-indicators.row.align-items-center.justify-content-center {
        display: grid;
        grid-template-columns: 1fr 1fr!important; /* Dos columnas de igual ancho */
        gap: 60px!important; /* Espacio entre las esferas */
        padding-bottom: 20px;
    }

    /* Ajusta el tamaño de las esferas */
    .carousel-indicators.row.align-items-center.justify-content-center .boton_redondo {
        width: 100%; /* Asegura que la esfera ocupe toda la columna */
        height: auto;
        font-size: 0.9rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}
@media (max-width: 768px) {
    .carousel-indicators.row.align-items-center.justify-content-center {
        display: grid;
        grid-template-columns: 1fr 1fr!important; /* Dos columnas de igual ancho */
        gap: 15px; /* Espacio entre las esferas */
        padding-bottom: 20px;
    }

    .carousel-indicators.row.align-items-center.justify-content-center .boton_redondo {
        width: 100%; /* Asegura que la esfera ocupe toda la columna */
        height: auto;
        font-size: 0.9rem; /* Ajuste del tamaño del texto */
        display: flex;
        align-items: center;
        justify-content: center;
    }
}
.top-bar {
    width: 100%;
    background-color: #ffcccc ;
    color: #424242;
    position: fixed;
    top: 0;
    z-index: 1000;
    text-align: center;
    padding: 8px 0;
}

.top-bar-content {
    display: flex;
    justify-content: center;
    align-items: center; /* Alinea verticalmente todos los elementos */
    gap: 25px;
    font-size: 14px;
    min-width: max-content;
}

/* Estilos para cada elemento con icono y texto */
.top-bar-content span {
    display: flex;
    align-items: center; /* Asegura que el icono y el texto estén alineados verticalmente */
}

/* Estilo para los iconos */
.icon {
    width: 25px; /* Ajusta el tamaño de la imagen */
    height: 25px;
    margin-right: 5px; /* Espacio entre la imagen y el texto */
}
.average-rating .icon {
    height: auto; /* Asegura que la altura se ajuste automáticamente */
    width: 50px; /* Ajusta este ancho para hacer que la imagen se extienda más */
    display: inline-block;
    vertical-align: middle;
}

/* Mobile: muestra el contenido como un slider en pantallas pequeñas */
@media (max-width: 768px) {
    .top-bar {
        display: none; /* Oculta la barra */
    }

    body {
        padding-top: 0 !important; /* Elimina el espacio reservado por la top-bar */
    }
}
@media (min-width: 1024px) {
    .top-bar-content {
        gap: 120px; /* Aumenta el espacio entre elementos en pantallas grandes */
    }
}


/* Ajustar el espacio del body en pantallas grandes */
@media (min-width: 768px) {
    body {
        padding-top: 41px; /* Ajusta según la altura de la top-bar */
    }
}
