@charset "UTF-8";

/* TFM CSS Document */

/* FONTS */
@font-face {
    font-family: 'ArtBrush';
    src: url('../assets/fonts/ArtBrush.eot');
    src: url('../assets/fonts/ArtBrush.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/ArtBrush.woff2') format('woff2'),
        url('../assets/fonts/ArtBrush.woff') format('woff'),
        url('../assets/fonts/ArtBrush.ttf') format('truetype'),
        url('../assets/fonts/ArtBrush.svg#ArtBrush') format('svg');
    font-weight: 500;
    font-display: swap;
}

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

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

@font-face {
    font-family: 'Brandon';
    src: url('../assets/fonts/BrandonGrotesque-Regular.eot');
    src: url('../assets/fonts/BrandonGrotesque-Regular.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/BrandonGrotesque-Regular.woff2') format('woff2'),
        url('../assets/fonts/BrandonGrotesque-Regular.woff') format('woff'),
        url('../assets/fonts/BrandonGrotesque-Regular.ttf') format('truetype'),
        url('../assets/fonts/BrandonGrotesque-Regular.svg#BrandonGrotesque-Regular') format('svg');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Brandon';
    src: url('../assets/fonts/BrandonGrotesque-Light.eot');
    src: url('../assets/fonts/BrandonGrotesque-Light.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/BrandonGrotesque-Light.woff2') format('woff2'),
        url('../assets/fonts/BrandonGrotesque-Light.woff') format('woff'),
        url('../assets/fonts/BrandonGrotesque-Light.ttf') format('truetype'),
        url('../assets/fonts/BrandonGrotesque-Light.svg#BrandonGrotesque-Light') format('svg');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham';
    src: url('../assets/fonts/Gotham-Book.eot');
    src: url('../assets/fonts/Gotham-Book.eot?#iefix') format('embedded-opentype'),
        url('../assets/fonts/Gotham-Book.woff2') format('woff2'),
        url('../assets/fonts/Gotham-Book.woff') format('woff'),
        url('../assets/fonts/Gotham-Book.ttf') format('truetype'),
        url('../assets/fonts/Gotham-Book.svg#Gotham-Book') format('svg');
    font-weight: 100;
    font-display: swap;
}

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

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

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

/* TEST Para pasar a core */
picture > img{
    width: 100%!important;
    height: 100%!important;
}


/* GENERAL */
html {
    font-size: 20px;
}

body {
    text-align: center;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.4;
    padding-bottom: 4rem;
}

body[data-page="blog"] {
    padding-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Gotham', Verdana, sans-serif;
}

h1 {
    font-weight: 600;
    font-size: 2.1rem;
    text-transform: uppercase;
}

h2 {
    font-weight: 600;
    font-size: 1.3rem;
}

h3 {
    font-weight: 400;
    font-size: 1.3rem;
}

h4 {
    font-weight: 300;
    font-size: 1.4rem;
}

h5 {
    font-weight: 600;
    font-size: 1rem;
    text-transform: uppercase;
}

h6 {
    font-weight: 500;
    font-size: .8rem;
}

b, strong {
    font-weight: 500;
}

.light-weight {
    font-weight: 300;
}

.ArtBrush,
.artbrush {
    font-family: 'ArtBrush';
}

.stronger {
    font-weight: 600;
}

big {
    font-size: 1.2rem;
}

small {
    font-size: .7rem;
    font-weight: 300;
}

.text-muted {
    color: #8b8b8b !important;
}

.text-white {
    color: var(--bs-white);
}

.bg-primary {
    color: #fff;
}

.bg-grey {
    background-color: #e0e0e0 !important;
}

.reserva_ciclos .bg-grey {
    background-color: #eeeeed !important;
}

.btn {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1rem;
    width: 100%;
    min-width: 13rem;
    border-radius: 0;
    padding: .75rem .5rem;
    cursor: pointer;
}

.btn-img {
    padding-left: .5rem;
}

.btn-img figure {
    margin: 0;
}

.btn svg,
.btn img {
    display: inline-block;
    vertical-align: middle;
    margin-right: .5rem;
    margin-top: -.25rem;
    width: auto;
    height: 1.4rem;
    transition: all ease .5s;
}

.btn span {
    line-height: 1rem;
}

.btn-paypal {
    background: transparent;
    border: solid 1px #808080;
    border-radius: 4px;
    width: 100%;
    padding: .5rem 1rem;
    margin-top: .6rem;
}

.btn-paypal svg {
    margin-right: 0;
    height: auto;
    width: 100%;
    max-width: 150px;
}
.btn-custom-border {
    border: 1px solid white;
    color: white; 
}
.btn-close-custom {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    outline: none;
}
.btn-close-custom svg {
    width: 24px;
    height: 24px;
    fill: #fff; 
}

input:not(.form-check-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,.btn-close) {
    font-weight: 300;
    font-size: 1.1rem;
    font-family: inherit;
    line-height: 2rem;
    height: 2rem;
    color: var(--bs-body-color);
    background: transparent;
    padding: 0 .5rem;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid #888;
}

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;
    box-shadow: 0 0 0 0;
}

input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 6px #f8b9b7;
}

textarea,
textarea.form-control,
select[multiple],
select[size],
.form-floating>textarea.form-control {
    resize: vertical;
    line-height: 1.25;
    height: 7rem;
}

::-webkit-input-placeholder { color: #888; }
:-ms-input-placeholder { color: #888; }
::placeholder { color: #888; }

[type="checkbox"]:not(.form-check-input)+label:before,
[type="checkbox"]:not(.form-check-input)+label:after,
[type="radio"]+label:before,
[type="radio"]+label:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    margin-top: .18rem;
    width: .8rem;
    height: .8rem;
    transition: all .28s ease;
}

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

[type="checkbox"]:not(.form-check-input):not(:checked)+label:before,
[type="checkbox"]:not(.form-check-input):not(:checked)+label:after,
[type="radio"]:not(:checked)+label:before,
[type="radio"]:not(:checked)+label:after {
    border: 2px solid #5a5a5a;
}

[type="checkbox"]:not(.form-check-input):not(:checked)+label:after,
[type="radio"]:not(:checked)+label:after {
    -ms-transform: scale(0);
    transform: scale(0);
}

[type="checkbox"]:not(.form-check-input):checked+label:after,
[type="checkbox"]:not(.form-check-input):checked+label:before,
[type="radio"]:checked+label:after,
[type="radio"]:checked+label:before {
    border: 2px solid var(--bs-primary);
}

[type="checkbox"]:not(.form-check-input):checked+label:after,
[type="radio"]:checked+label:after {
    border: 2px solid var(--bs-primary);
    background-color: var(--bs-primary);
    -ms-transform: scale(0.5);
    transform: scale(0.5);
}

[type="checkbox"]:disabled+label:before,
[type="checkbox"]:disabled+label:after,
[type="radio"]:disabled+label:before,
[type="radio"]:disabled+label:after {
    opacity: .2;
}

[type="checkbox"]:disabled+label,
[type="radio"]:disabled+label {
    opacity: .5;
}

.scrolltop {
    background: #eeeeed;
    border-radius: 0;
    padding: .25rem .5rem;
}

.scrolltop svg * {
    fill: var(--bs-secondary) !important;
}


/* HEADER */
header.scrolling {
    padding: 0 !important;
}

.topbar {
    background-color: #000;
    color: var(--bs-white);
    padding: .35rem 0;
    position: relative;
}

.topbar .wrapper_dropdown {
    display: inline-block;
    vertical-align: middle;
    margin-left: 2rem;
}

.topbar .dropdown img,
.topbar .dropdown svg {
    width: 24px;
    height: 24px;
    -ms-transform: translateY(-3px);
    transform: translateY(-3px);
}

.topbar .dropdown-toggle svg {
    margin-top:10px
}

.topbar .dropdown-toggle::after {
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-top: 6px solid var(--bs-white);
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    margin-left: 0.5rem;
    vertical-align: 0.1em;
    width: 11px;
    height: 8px;
}

.topbar .dropdown-menu {
    min-width: 30px;
    background-color: #000;
    color: var(--bs-white);
    left: -.7rem!important;
}

.topbar .dropdown-item{
    padding:.25rem .7rem;
}

.topbar .dropdown-item:focus,
.topbar .dropdown-item:hover {
    background-color: #333;
}

header .content {
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    z-index: 85;
}

header.fixed .content{
    position: fixed;
    top: 0;
    padding-top: 43px;
}

header .logo {
    width: 75px;
    color: var(--bs-white);
    z-index: 83
}

header .menuButton {
    position: relative;
    z-index: 83;
    width: 35px;
    cursor: pointer;
}

header .menuButton .cruz,
header .menuButton .lineas {
    transition: opacity ease .3s;
}

header .menuButton .cruz,
header .menuButton.active .lineas {
    opacity: 0!important;
}

header .menuButton.active .cruz,
header .menuButton .lineas {
    opacity: 1!important;
}


header .menu {
    display: inline-block;
    vertical-align: top;
    text-align: right;
    width: 90%;
    font-family: 'Gotham', Verdana, sans-serif;
    font-weight: 100;
}

header .menu a {
    display: inline-block;
    vertical-align: middle;
    text-transform: uppercase;
    text-align: center;
    margin-top: 1rem;
    padding-left:1.5rem;
    margin-left: 1.5rem;
    transition: opacity ease .5s;
}

header .menu a:not(:first-child) {
    border-left: 1px solid var(--bs-white);
}

header .menu a:first-child {
    margin-left: 0;
    padding-left: 0;
}

header .menu a span {
    font-size: 1.5em;
    line-height: 1;
}

header .menu a strong {
    font-weight: 600;
}

header .menu .button_ciclos {
    cursor: pointer;
}

header .ciclos_submenu {
    width: 100%;
    top: 60%;
    padding: 2rem 0;
    z-index: 83;
    display: none;
    left: 0
}

header .ciclos_submenu:after {
    content: '';
    position:absolute;
    bottom: 100%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 15px 15px 15px;
    border-color: transparent transparent var(--bs-primary) transparent;
}

header .ciclos_submenu h4 {
    font-size: 1rem;
    font-weight: 100;
    text-transform: none;
    margin: 0;
}

header .ciclos_submenu .logo_ciclo {
    max-width: 140px;
    margin: 0 auto;
}

header .ciclos_submenu .cerrarCiclos {
    position: absolute;
    right: 1.75rem;
    top: 3rem;
    width: 25px;
    cursor: pointer;
}

.alert {
    z-index: 99;
}

.caption2 {
    font-weight: 100;
}


/* MENU */
#menu .idiomas a {
    margin-top: 0;
    margin: 0 1.5rem;
}

#menu .idiomas svg {
    width: 20px;
    height: 20px;
}


/* FOOTER */
footer {
    background-color: #000;
    color: var(--bs-white);
    font-size: .9rem;
    text-align: center;
    padding-bottom: 1rem;
}

footer .topfooter {
    text-transform: uppercase;
    text-align: left;
    background-color: #979796;
    padding: 1rem 0;
}

footer .topfooter figure {
    margin-right: 1rem;
}

footer > .container {
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
}

footer > :not(.topfooter) [class*=col] {
    margin-bottom: 2rem;
}

footer .logo {
    max-width: 100px;
    margin: 0;
}

footer ul,
footer ol {
    margin: 0;
    padding: 0;
}

footer li {
    list-style: none;
    text-transform: uppercase;
}

footer li:not(:last-child) {
    margin-bottom: .5rem;
}

footer p {
    margin: 0;
}
footer #logo-ayto-madrid img{height: 22px;}


/* CONTENT */
.social a img,
.social a svg {
    width: 20px;
    height: 20px;
}

/* Ciclos */

#carouselMainCiclos {
    position: relative;
    background: var(--bs-primary) url(../img/bg_banner.jpg) no-repeat center / cover;
    background-size: cover;
    color: #fff;
    height: 65vh;
    min-height: 550px;
}

#carouselMainCiclos .gradient,
.simpleBanner .gradient  {
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 30%;
	z-index: 82;
}

#carouselMainCiclos .carousel-indicators {
    display: none;
}

.gradient {
	background: -moz-linear-gradient(top, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000',GradientType=0 );
}

#carouselMainCiclos .img {
    position: relative;
    height: 100%;
}

#carouselMainCiclos .img img{
    position: absolute;
    height: 100%;
    object-fit: cover;
    object-position: center;
    overflow: visible;
}

#carouselMainCiclos .caption {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#carouselMainCiclos .gradient{
	height: 10%;
}

#carouselMainCiclos .logo_ciclo{
	margin-bottom: 1rem;
    max-width: 250px;
}


#carouselMainCiclos .fecha{
	font-weight: 100;
	font-family: 'Gotham';
	font-size: 1.4rem;
	padding: .5rem .7rem;
	position: relative;
	margin-top: 1.5rem;
}

#carouselMainCiclos .fecha span{
	position: relative;
	z-index: 2;
}

#carouselMainCiclos .fecha:after{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/banners/fecha.svg) no-repeat center;
	background-size: contain;
	-ms-transform: scaleX(2);
	transform: scaleX(2);
}

#carouselMainCiclos .mas_info_show{
    cursor: pointer;
    margin-top: 1rem;
    font-weight: 100;
    width: 140px !important;
    min-width: 0px;
}

.body p[data-toggle="modal"] {
	font-weight: 600;
}

.seleccion_dias .select_dia{
	padding: .8rem 0;
	background-color: #dcdcdc;
	color: #5d5d5d;
	font-family: 'Gotham';
	font-weight: 100;
	transition: all ease .3s;
	cursor: pointer;
	position: relative;
}

.seleccion_dias .select_dia.active{
	background-color: #000;
	color: #fff;
}

.seleccion_dias .select_dia:before{
	content: '';
	width: 1px;
	height: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	background-color: rgba(0,0,0,.1);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.seleccion_dias .select_dia.active:before{
	display: none;
}

.elShow, .elArtista{
	margin-top: -1rem;
	position: relative;
	z-index: 2;
}

.elShow {
	padding-bottom: 8rem !important;
}

.elShow .mancha,
.elArtista .mancha{
	position: absolute;
	left: 0;
	bottom: calc(100% - 2px);
	width: 100%;
}

.elShow h2{
	font-weight: 100;
	color: #000;
	text-transform: none;
	margin-bottom: 1.2rem;
}

.elArtista .mancha{
	height: auto;
	max-height: none;
}

.elArtista .mancha.bajo{
    position: absolute;
	margin-top: 0;
    height: 4rem;
	bottom: auto;
	top: 99.5%;
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.mancha:last-child img, .mancha:last-child svg{
	position: static;
}

.elArtista h2{
	text-transform: none;
}

#localizacion{
	padding-top: 8rem;
}

.btn-outline-white .ciclos-button svg * {
	fill: #fff !important;
}

.btn-outline-white .ciclos-button svg:hover * {
	fill: #fff !important;
}

.ciclos-button .btn-outline-white:hover,
.ciclos-button .btn-outline-white.focus,
.ciclos-button .btn-outline-white:focus,
.ciclos-button .btn-outline-white:not(:disabled):not(.disabled).active,
.ciclos-button .btn-outline-white:not(:disabled):not(.disabled):active,
.ciclos-button .btn-outline-white:not(:disabled):not(.disabled).active:focus,
.ciclos-button .btn-outline-white:not(:disabled):not(.disabled):active:focus {
	color: #000 !important;
	background-color: rgba(255,255,255,.8);
	border-color: #fff;
	box-shadow: 0 0 0 0;
}

.ciclos-button .btn-outline-white:hover svg *,
.ciclos-button .btn-outline-white.focus svg *,
.ciclos-button .btn-outline-white:focus svg *,
.ciclos-button .btn-outline-white:not(:disabled):not(.disabled).active svg *,
.ciclos-button .btn-outline-white:not(:disabled):not(.disabled):active svg *,
.ciclos-button .btn-outline-white:not(:disabled):not(.disabled).active:focus svg *,
.ciclos-button .btn-outline-white:not(:disabled):not(.disabled):active:focus svg *{
	stroke: #000 !important;

}

/* HOME */

.gradient  {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 30%;
    min-height: 6rem;
    z-index: 82;
}

.gradient {
    background: -moz-linear-gradient(top, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
    background: -webkit-linear-gradient(top, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000',GradientType=0 );
}

#slider_portada, #slider_blog {
    position: relative;
    background: var(--bs-primary) url(../img/bg_banner.webp) no-repeat center / cover;
    color: var(--bs-white);
    height: 80vh;
    max-height: 100%;
    min-height: 550px;
}

#slider_portada picture, #slider_blog picture {
    position: absolute;
    height: 100%;
    left: 7%;
}


#slider_portada .carousel-caption, #slider_blog .carousel-caption{
    position: absolute;
    top: auto;
    bottom: 1rem;
    left: 0;
    width: 100%;
    text-align: center;
}

#slider_portada h1 span{
    position: relative;
    display: inline-block;
    background-color: #000;
    font: 300 1.4rem/1.3 'Gotham', Verdana, sans-serif;
    margin: 0 0 .5rem;
    padding: 0rem 0.5rem 0 2.3rem;
}

#slider_portada .carousel-caption h1 span:before{
    content: '';
    position: absolute;
    top: -.5rem;
    left: 0;
    width: 2rem;
    height: calc(100% + 1rem);
    background: url(../img/icons/location.svg) no-repeat center / contain;
}

#slider_blog h1{
    font-size: 3rem;
}

#slider_portada .btn, #slider_blog .btn {
    margin-top: 1rem;
}

#slider_blog .carousel-caption .container {
    padding-top: 6rem;
}

.caption .btn {
    margin-top: 1rem;
}

.caption .btn:not(:last-child) {
    margin-right: 1rem;
}

.carousel-control-next,
.carousel-control-prev {
    width: 5%;
    z-index: 9;
    cursor: pointer;
}

/*datapicker ciclos*/
.reserva_ciclos input[type="checkbox"]+label:not(.btn),.reserva_ciclos input[type="radio"]+label:not(.btn){ padding-left:0; }

.reserva_ciclos .reserva_ciclos_col{
	padding-bottom: 8rem !important;
}

.reserva_ciclos .dia label{
	font-family: 'Gotham';
	font-size: .7rem;
	font-weight: 100;
	padding: .5rem 0;
	margin-bottom: 0;
	position: relative;
	color: #8b8b8b;
    line-height: 1.4;
}

.reserva_ciclos .dia .label{
	border-bottom: none;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	position: relative;
}

.reserva_ciclos .dia label::before{display: none;}

.reserva_ciclos .dia label::after{
	content: '';
	width: 8px;
	height: 8px;
	position: absolute;
	left: 50%;
	bottom: 5%;
	top: auto;
	-ms-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%) scale(1) !important;
	border-radius: 60%;
	border: none !important;
	opacity: 0;
}

.reserva_ciclos .dia [type="radio"]:checked+label{
	color: #000;
}

.reserva_ciclos .dia [type="radio"]:checked+label::after,
.reserva_ciclos .dia .label:hover label::after{
	opacity: 1;
	background-color: #4bc963;
}

.reserva_ciclos .dia .label:hover label::after{
	background-color: #8b8b8b;
}

.reserva_ciclos .dia label p.big{
	font-weight: 100 !important;
	font-size: 1.6em;
	margin-bottom: 0px;
}

.reserva_ciclos .dia [type="radio"]:checked+label p.big{
	font-weight: 600!important;
}

#carouselCiclos .carousel-caption {
    bottom: 50%;
    -ms-transform: translateY(50%);
    transform: translateY(50%);
}

#carouselCiclos .logo_ciclo {
    width: 175px;
    margin: 0 auto 50px;
}

#carouselCiclos .linea_vert {
    width: 1px;
    height: 100px;
    background-color: var(--bs-white);
}

#carouselCiclos .carousel-indicators li {
    width: 10px;
    height: 10px;
    border: solid 2px white;
}

#carouselCiclos picture{
    height: 100%!important;
}
#carouselCiclos img {
    height: 100%!important;
    object-fit: cover;
    object-position: top;
}

#carouselCiclos .carousel-inner, #carouselCiclos .carousel-item {
    height: 100%;
}

.simpleBanner {
    background: var(--bs-primary) center center no-repeat;
    background-size: cover;
    padding: 1.5rem 0 !important;
    height: 300px;
    position: relative;
}

.simpleBanner > .container,
.simpleBanner > .container > .row{
    height: 100%;
}

.carousel-indicators {
    bottom: 10%;
    margin-bottom: 0;
}

.carousel-indicators li {
    max-width: none;
    width: 10px;
    height: 10px;
    margin: 0;
    border-radius: 50%;
    border: 2px solid var(--bs-white);
    background-color: transparent;
    opacity: 1;
}

.carousel-indicators li:not(:last-child) {
    margin-right: 10px;
}

.carousel-indicators li.active {
    background-color: rgba(255, 255, 255, .4);
}

.estrecho {
    text-align: left;
    margin: 2rem auto;
}

.wrapper_video {
    margin: 2rem auto;
    position: relative;
}


.info {
    font-size: .9rem;
    margin: 1rem auto;
    padding: .5rem;
    border: 1px solid var(--bs-white);
}

.info p {
    margin-bottom: .5rem;
}

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

.banner_elencos {
    background-color: #000;
    padding: 1.5rem 0;
    color: var(--bs-white);
}

.banner_elencos h5 {
    font-weight: 100;
    text-transform: none;
    max-width: 16rem;
    margin: 0 auto;
}

.banner_elencos .btn {
    margin: 0 auto;
}


.destacado {
    font-weight: 300;
}

.mancha {
    height: 4rem;
    overflow: hidden;
}

.mancha:last-child {
    position: relative;
    margin-top: -2rem;
}

.mancha:last-child img,
.mancha:last-child svg {
    position: absolute;
    bottom: 0;
    left: 0;
}
section.covid_free{
    background-color: #000;
    color: var(--bs-white);
    margin: -4rem 0 2rem;
    padding-top: 8rem;
    position: relative;
    z-index: 0;
}

.covid_free .rasgado{
    position: absolute;
    left: 0;
    top: calc(100% - 1px);
    width: 100%;
    transform: rotate(-180deg);
}

section.elenco{
    background-color: #000;
    color: var(--bs-white);
    margin: 2rem 0 -4rem;
    padding-bottom: 8rem;
    position: relative;
}

.elenco .rasgado{
    position: absolute;
    left: 0;
    bottom: calc(100% - 1px);
    width: 100%;
}

.elenco .container{
    overflow: hidden;
}

.elenco .btn-outline-white:hover svg *,
.elenco .btn-outline-white:focus svg *,
.elenco .btn-outline-white.active svg * {
    stroke:var(--bs-primary);
}


.elenco .datepicker{
    border: solid 1px var(--bs-white);
    padding: 1rem;
    max-width: 550px;
    margin: 0 auto 2rem;
    display: none;
}

.elenco .datepicker .ui-datepicker-current-day{
    color: var(--bs-white);
}

.elenco .datepicker tbody td:after{
    opacity: 0;
    transition: all ease .5s;
}
.elenco .datepicker .ui-datepicker-current-day:after{
    opacity: 1;
    background-color: var(--bs-white);
}


.elenco h2 {
    font-weight: 300;
}

.elenco h4 {
    font-weight: 600;
    text-transform: uppercase;
}

.elenco h5 {
    font-weight: 100;
    text-transform: none;
}

.elenco .btn#toggleCalendario{
    min-width: 18rem;
}

.elenco .btn#toggleCalendario svg{
    margin-left: .5rem;
    margin-right: 0;
}

.elenco #carga_elenco .swiper-container{
    overflow: hidden;
}

.elenco .slides_items:after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 100px;
    z-index: 2;
    background: -moz-linear-gradient(left,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 50%, rgba(0,0,0,1) 95%, rgba(0,0,0,1) 100%);
    background: -webkit-linear-gradient(left,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 50%,rgba(0,0,0,1) 95%,rgba(0,0,0,1) 100%);
    background: linear-gradient(to right,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 50%,rgba(0,0,0,1) 95%,rgba(0,0,0,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=1 );
}

.elenco .slides_items .item figure{
    height: 200px;
    overflow: hidden;
    position: relative;
    margin-bottom: 1rem;
}

.elenco .slides_items .item picture{
   height: 100%;
}

.elenco .slides_items .item picture img{
    object-fit: cover;
    object-position: center;
 }

.elenco .slides_items .item .nombre{
    text-transform: uppercase;
    font-weight: 500;
}

.elenco .slides_items .item p{
    margin-bottom: 0;
}

section.ciclos {
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
    margin-top: -2.8rem
}

section.ciclos + section.ciclos {
    margin-top: -2.8rem;
    position: relative;
    z-index: 1;
}

.ciclos .main_image {
    margin-bottom: 2rem;
}

.ciclos .wrapper_video:not(.modalCiclos){
    margin: 0 auto 2rem;
}

.ciclos .bg-primary,
.ciclos .bg-grey {
    padding-bottom: 3rem;
}

.ciclos .btn {
    margin: .8rem auto;
}

.ciclos_textos .btn {
    margin: 0 0 .5rem;
}

.ciclos_textos .btn:not(:last-child) {
    margin-right: .5rem;
}

.ciclos_textos .row {
    padding-top: 4rem;
}

.ciclos_textos hr{
    margin-left: 0;
    width: 80px;
}

#carouselCiclos{
    height: 800px;
}

#carouselCiclos .img{
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: #000 no-repeat center;
    background-size: cover;
}

.subtitle {
    font-family: 'Gotham', Verdana, sans-serif;
    font-weight: 100;
    font-size: 1.2rem;
    line-height: 1.2;
    margin: 1.5rem 0 1rem;
}

figure.play{cursor:pointer;}

figure.play::before{opacity: .3;}

.modal_video .modal-body {
    padding: 0;
    position: relative;
}

.modal_video .modal-header{
    background-color: transparent;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    color: var(--bs-white);
    z-index: 2;
    padding: .5rem;
    border: none;
}

.modal_video .modal-header h5{
    font-weight: 100;
    text-transform: none;
}

.modal_video .modal-header .close{
    font-weight: 100;
    color: var(--bs-white);
    text-shadow: none;
}

.modal_video .modal-header .close:hover{
    color: var(--bs-white);
}

.modal_video figure {
    margin: 0;
}

.magazine h3 {
    margin-bottom: 3rem;
    text-transform: uppercase;
}

.home-blog img{
    height: 25vh!important;
    object-fit: cover;
}

/* Blog */

.coloured,
.text-primary {
	color: #e3151b !important;
}

.grid_noticias .noticia{
    border: solid 1px #e9e9e9;
    transition: all ease .5s;
    background-color: var(--bs-white);
}

.grid_noticias .noticia:hover{
    -webkit-box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.25);
    -moz-box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.25);
    box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.25);
}

.grid_noticias .noticia a.absolute{
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 12;
}

.grid_noticias .noticia .spacing{
    padding: 1rem;
}

.grid_noticias .noticia .spacing .categoria{
    font-size: .75rem;
    margin-bottom: 1em;
    text-transform: uppercase;
}

.grid_noticias .noticia .spacing p{
    color: #5d5d5d;
}

.grid_noticias .noticia h4{
    font-weight: 600;
    font-size: 1.1rem;
}

.grid_noticias .noticia .fecha {
    font-size: .75rem;
    color: #b9b9b9;
    text-transform: uppercase;
}

.localizacion {
    font-size: .8rem;
}

.localizacion .row .row {
    margin-top: 1rem;
    margin-bottom: 1rem;
}


/* PAGO */
#slider_resumen,
#slider_gracias,
#slider_cancelado {
    position: relative;
    color: var(--bs-white);
    height: 50vh;
    max-height: 550px;
    min-height: 400px;
}

#slider_resumen img,
#slider_gracias img,
#slider_cancelado img {
    object-fit: cover;
}

#slider_resumen img{
    object-position: left;
}

#slider_resumen picture,
#slider_gracias picture,
#slider_cancelado picture {
    height: 100%;
}

#slider_gracias .carousel-inner,
#slider_gracias .carousel-item,
#slider_cancelado .carousel-inner,
#slider_cancelado .carousel-item {
    height: auto !important;
}

#slider_resumen .carousel-caption,
#slider_gracias .carousel-caption,
#slider_cancelado .carousel-caption {
    position: absolute;
    top: 9rem;
    left: 0;
    width: 100%;
    text-align: center;
}

#slider_gracias .carousel-caption,
#slider_cancelado .carousel-caption {
    top: auto;
    bottom: 2rem;
}

#slider_resumen .carousel-caption h1,
#slider_gracias .carousel-caption h1,
#slider_cancelado .carousel-caption h1 {
    font-size: 2rem;
    text-transform: none;
}

.resumen_compra {
    text-align: left;
}

.resumen_compra h2 {
    font-size: 1.2rem;
}

.resumen_compra li {
    list-style: none;
}

.outdated-precio {
    font-size: .8rem;
    color: var(--bs-danger);
    text-decoration: line-through;
}

.precio_final {
    font-weight: 700;
    font-size: 1.5rem;
    text-align: right;
}

.resumen_compra .precio_final {
    border-bottom: 2px solid var(--bs-secondary);
    padding-bottom: .25rem;
}

.resumen_compra .card-body {
    padding: 2rem;
}

.resumen_compra input:not([type="image"]) {
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid var(--bs-secondary);
    border-radius: 0;
    margin-bottom: .5rem;
}

.resumen_compra .form-control:focus {
    background-color: transparent;
}

.resumen_compra #card-errors {
    color: var(--bs-danger);
    margin: 1rem 0;
}

.resumen_compra .boton-pago {
    margin-top: 2rem;
}

.resumen_compra .boton-pago .btn {
    padding-top: .75rem;
    padding-bottom: .75rem;
}

.resumen_compra input[type="image"] {
    width: 100%;
    height: auto;
    max-width: 100%;
    margin-bottom: 0;
    border: 0;
}

.resumen_compra .resumen_linea_divisoria::before {
    content: "";
    position: absolute;
    top: calc(1.5rem - 1.5rem);
    left: -1.5rem;
    width: calc(100% + 1.5rem);
    height: 1px;
    background-color: #dee2e6;
}

.card-pago,
.card-datepicker {
    position: relative;
}

.preloader,
.loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: rgba(var(--bs-secondary-rgb), .1);
    opacity: 0;
    transition: opacity .3s linear;
}

.loading .preloader,
.submitting .preloader,
.loading + .loader {
    z-index: 2;
    opacity: 1;
}

.preloader svg,
.preloader img,
.loader svg,
.loader img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 150px;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
#form_reserva .preloader svg,
#form_reserva .preloader img,
.loader svg,
.loader img {
    width: 75px;
}

.card-pago.loading:after,
.card-pago.submitting:after,
.card-datepicker .loading:after {
    content: '';
}

.preloader svg *,
.loader svg * {
    fill: var(--bs-primary) !important;
}

.preloader svg *:nth-child(2n),
.loader svg *:nth-child(2n) {
    fill: var(--bs-secondary) !important;
}

.preloader-animation,
.preloader-animation {
    animation: salto .8s alternate infinite;
}

.preloader-animation:nth-child(2) { animation-delay: .4s }
.preloader-animation:nth-child(3) { animation-delay: .85s }
.preloader-animation:nth-child(4) { animation-delay: 1.2s }

@keyframes salto {
    from { opacity: 0 }
    to { opacity: 1 }
}

.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;
}

@-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);
    }
}


/* MOSCA CONTACTO */
.modal_contacto {
    position: fixed;
    right: -300px;
    bottom: calc(180px - 600px);
    width: 300px;
    height: 600px;
    z-index: 9;
    font-weight: 100;
    font-size: .9rem;
    text-align: left;
    background-color: #000;
    color: var(--bs-white);
    transition: all ease .5s;
}

.modal_contacto.visible {
    right: 0;
    bottom: 1rem;
    z-index: 99;
}

.modal_contacto .icon {
    position: absolute;
    right: 100%;
    top: 0;
    width: 40px;
    padding: 10px;
    background-color: var(--bs-primary);
    cursor: pointer;
}

.modal_contacto h5 {
    height: 50px;
    line-height: 50px;
    color: var(--bs-white);
    background-color: var(--bs-primary);
    margin: 0;
    padding: 0 1rem;
}

.modal_contacto .aviso {
    background-color: var(--bs-white);
    color: var(--bs-body-color);
    padding: 1rem;
}

.modal_contacto p strong {
    white-space: nowrap;
}

.modal_contacto .input {
    margin-bottom: .8rem;
}

.modal_contacto .form-control {
    font-size: .8rem;
    line-height: 1em;
    height: auto;
    background-color: var(--bs-white);
    padding: .35rem .8rem;
    border-bottom: none;
}

.modal_contacto .form-check {
    min-height: 0;
}

.modal_contacto .form-check.form-switch,
.estaticos .form-check.form-switch {
    padding-left: 0;
}

.modal_contacto input[type="checkbox"]+label:not(.btn),
.modal_contacto input[type="radio"]+label:not(.btn) {
    font-weight: 300;
    font-size: .8rem;
    line-height: 1.2em;
    margin-bottom: 0;
    padding-left: 1.2rem;
}

.modal_contacto [type="checkbox"]:not(.form-check-input):not(:checked)+label:before,
.modal_contacto [type="checkbox"]:not(.form-check-input):not(:checked)+label:after,
.modal_contacto [type="radio"]:not(:checked)+label:before,
.modal_contacto [type="radio"]:not(:checked)+label:after {
    border: 2px solid #fff;
}


/* TEXTOS LEGALES */
.estaticos .overlap {
    position: relative;
    z-index: 9;
    font-weight: 600;
    text-align: right;
    margin-top: -8rem;
    margin-bottom: 6rem;
}


/* LOGIN */
.login-page {
    height: 100%;
}

.login-page form {
    max-width: 250px;
    margin: 0 auto;
}

.login-page input,
.login-page button {
    width: 100%;
}

.forgot-pass {
    margin-top: 1.5rem;
    font-size: .8rem;
}

.forgot-pass + .forgot-pass {
    margin-top: .3rem;
}

.modal-custom {
    width: 550px;
    height: 673px;
}

/* MEDIA QUERIES **/
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    .resumen_compra input[type="image"]{width: auto;height: 48px}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    body {padding-bottom: 0;}
    h1{font-size: 4rem;}
    h2{font-size: 2rem;}
    h3{font-size: 2rem;}
    .btn{width: auto;padding-top: .5rem;padding-bottom: .5rem}
    header .content{top: 43px;}
    header .logo{width: 100px;}
    header .ciclos_submenu .logo_ciclo{max-width: 200px}
    header .ciclos_submenu .logo_ciclo.min{max-width: 140px}
    footer {text-align: left}
    #slider_portada, #slider_blog{max-height: 600px;}
    #slider_portada picture > img, #slider_blog picture > img{width: auto !important;}
    #slider_portada .carousel-caption, #slider_blog .carousel-caption{top: 4rem;bottom: auto;left: 0;width: 100%;text-align: right;}
    #slider_portada h4, #slider_blog h4{ width: 60%; margin-left: auto; }
    .banner_elencos h5 {max-width: none;}
    .modal_contacto { bottom: calc(210px - 600px); }
    #carouselCiclos .logo_ciclo {width: 350px;}
    #carouselMainCiclos .img img{right: 0.01%; width: 140% !important;}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .estrecho{max-width: 75%;}
    .mancha{max-height: 8rem;}
    #slider_portada, #slider_blog{height: 65vh:}
    #slider_portada img, #slider_blog img{left: 7%;width: auto;height: 100%;}
    #carouselMainCiclos .img img{right: 7%;width: 120% !important;}
    footer #logo-ayto-madrid img{height: 40px;}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    #carouselMainCiclos .img img{object-fit: contain;}
}

/* Extra extra large devices (large desktops, 1400px and up) */
@media (min-width: 1400px) {
    #carouselMainCiclos .img img{right: 2%;width: 110% !important;}
}



/* Desktop first */
@media (max-width: 1200px) {
    header .menu a{font-size:.7rem;padding-left:1rem;margin-left:1rem;}
    #carouselMainCiclos .img img{object-fit: cover;right: 0;}
}

@media (max-width: 992px) {
    header .menu a{padding-left:.8rem;margin-left:.8rem;}
    .elenco .slides_items .item figure{height: 120px;}
    #carouselCiclos .caption h2, #carouselCiclos .caption .logo_ciclo{text-align: center;margin: 0 auto 1.5rem;width: 100%;}
}

@media (max-width: 767px) {
    header.fixed .content{padding-top: 10px;}
    header .menu{position:absolute;width:100vw;height:100vh;left:0;top:0;z-index:2;background-color:#000;display:block;text-align:center;display: none;}
    header .menu:before{content:'';display:inline-block;vertical-align:middle;width:0;height:100%;}
    header .menu .wrapper{display:inline-block;vertical-align:middle;width:90%;}
    header .menu .main_link{width:100%;margin:1.2rem auto;}
    header .menu a{border-left:0!important;padding:0;}
    header .menu a {opacity:0;}
    header .menu.visible a{opacity:1;}
    header .menu.visible a:nth-of-type(1){transition-delay:.3s;}
    header .menu.visible a:nth-of-type(2){transition-delay:.4s;}
    header .menu.visible a:nth-of-type(3){transition-delay:.5s;}
    header .menu.visible a:nth-of-type(4){transition-delay:.6s;}
    header .menu.visible a:nth-of-type(5){transition-delay:.7s;}
    header .ciclos_submenu{top: 0;height: 100vh}
    header .ciclos_submenu .container-fluid{height: 100%;}
    .mobile-flags .dropdown img, .mobile-flags .dropdown svg{width:25px;height:25px;display: block;}
    .topbar .dropdown-toggle::after,
    .mobile-flags .dropdown-toggle::after{width:7px;height:4px;position: absolute; left: 100%;top: 50%; transform: translateY(-50%);border-top: 3px solid var(--bs-white);border-right: 3px solid transparent;border-left: 3px solid transparent;}
    .topbar .wrapper_dropdown,
    .mobile-flags .wrapper_dropdown{margin-left: 0;margin-right: 20px;}
    .mobile-flags .dropdown-menu{background: transparent;width: 25px!important;min-width: 1px;border: none;margin: 0;}
    .mobile-flags .dropdown-item{padding: .25em 0;margin: 0;}
    footer .logo{margin: 0 auto;width: 75px;}
    .reserva_ciclos .reserva_ciclos_col:not(.bg-grey){padding-bottom: 1rem!important;}
    .aside .filters{display: none;padding-top: 1rem;}
	.aside .showFilters h5{margin-bottom: 0;text-transform: none;cursor: pointer;font-weight: 100;}
    #slider_portada img, #slider_blog img{object-fit: cover}
    #slider_portada picture, #slider_blog picture{left: 0; width: 100%;}
    #carouselMainCiclos .img img{right: 0;}
    .modal-custom {width: 100%;height: auto;margin: 10px; margin: 0 auto;}
    .modal-b img {height: auto; }
}

@media (max-width: 576px) {
    .ciclos_textos .row{padding-top: 0;}
    #carouselCiclos .carousel-caption {width: 100%;left: 0;right: 0;}
    #carouselMainCiclos .logo_ciclo{max-width: 220px;margin-bottom: .5rem;}
	#carouselMainCiclos .fecha{margin-top: .5rem;}
	#carouselMainCiclos .fecha:after{transform: scaleX(1.5);-ms-transform: scaleX(1.5);}
	.patrocinadores {bottom: .5rem;left:.5rem;width: 60px;}
    #carouselMainCiclos {height: calc(100vh - 0px);right: 0;}
    .modal-custom {width: 90%;height: auto;}
    .modal-b img {height: auto;}
    .resumen_compra .card-body {padding: .5rem}
}

