@charset "UTF-8";

/* TFS CSS Document */
/* primary: #e3151b; */
/* secondary: #fff; */

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

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

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

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

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

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

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

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

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


/* GENERAL */


html {
	font-size: 16px;
}

body {
	text-align: center;
	font: 400 1rem/1.4 Brandon, Helvetica, Arial, sans-serif;
	color: #000;
}

::moz-selection {
	background: #e3151b;
	background: rgba(227, 21, 27, .4);
}

::selection {
	background: #e3151b;
	background: rgba(227, 21, 27, .4);
}

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

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

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

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

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

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

h6 {
	font-weight: 500;
	font-size: 1rem;
}
.cursor-pointer{cursor: pointer;}
.ArtBrush,
.artbrush{
	font-family: 'ArtBrush' !important;
}

b, strong {
	font-weight: 500;
}

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

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: #000;
	-webkit-box-shadow: 0 0 0 30px rgba(227, 21, 27, .01) inset;
	box-shadow: 0 0 0 30px rgba(227, 21, 27, .01) inset;
	transition: background-color 5000s ease-in-out 0s;
}

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

button:focus {
	outline: 0;
}

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

.bg-primary {
	background-color: #e3151b !important;
	color: #fff;
}

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

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

.text-secondary {
	color: #fff !important;
}

.bg-secondary {
	background-color: #fff !important;
}

.btn {
	font-weight: 400;
	font-size: 1rem;
	line-height: 1rem;
	min-width: 13rem;
	border-radius: 0;
	padding: .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;
	width: auto;
	height: 1.4rem;
	transition: all ease .5s;
}
.btn span{
	line-height: 1rem;
}

.btn-primary {
	color: #fff;
	background-color: #e3151b;
	border-color: #e3151b;
}

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

.btn-primary svg * {
	fill: #fff !important;
}

.btn-primary.disabled,
.btn-primary:disabled{
	color: #fff;
    background-color: #e3151b;
    border-color: #e3151b;
}

.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-secondary {
	color: #e3151b!important;
	background-color: #fff;
	border-color: #fff;
}

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

.btn-secondary svg * {
	fill: #e3151b !important;
}

.btn-transparentWhite {
	color: #fff !important;
	background-color: transparent;
	border-color: #fff;
}

.btn-transparentWhite:hover,
.btn-transparentWhite.focus,
.btn-transparentWhite:focus,
.btn-transparentWhite:not(:disabled):not(.disabled).active,
.btn-transparentWhite:not(:disabled):not(.disabled):active,
.btn-transparentWhite:not(:disabled):not(.disabled).active:focus,
.btn-transparentWhite: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;
}

.btn-transparentWhite svg * {
	fill: #fff !important;
}

.btn-transparentWhite:hover svg *,
.btn-transparentWhite.focus svg *,
.btn-transparentWhite:focus svg *,
.btn-transparentWhite:not(:disabled):not(.disabled).active svg *,
.btn-transparentWhite:not(:disabled):not(.disabled):active svg *,
.btn-transparentWhite:not(:disabled):not(.disabled).active:focus svg *,
.btn-transparentWhite:not(:disabled):not(.disabled):active:focus svg *{
	stroke: #000 !important;
	fill: #000 !important
}

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-weight: 300;
	font-size: 1.1rem;
	font-family: inherit;
	line-height: 2rem;
	height: 2rem;
	color: #000;
	background: #fff;
	margin-bottom: 1.4rem;
	padding: 0 .5rem;
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid #888;
}

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

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

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

.vendedor-container span{
	background-color: #f1f1f1;
	border: none!important;
}

.vendedor-container label {
	font-size: 0.7rem;
	color: #797979;
	padding-left: 15px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	margin-bottom: 0;
}

.select-css {
    display: block;
    line-height: 1.2;
    width: 100%;
    max-width: 100%; 
    box-sizing: border-box;
    border: none;
    box-shadow: none;
    border-radius: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23838383%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
}

.select-css::-ms-expand {
    display: none;
}

.select-css:focus {
    outline: 0;
    -webkit-box-shadow: 0 0 6px #000;
    box-shadow: 0 0 6px #000;
}

.select-css option {
    font-weight:normal;
}

s {
	color: #e9322d;
}

option {
	font-weight: inherit;
}

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"]: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;
	position: relative;
	padding-left: 2rem;
	margin-bottom: 1.4rem;
	text-align: left;
}

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

input[type="checkbox"]+label svg path,
input[type="radio"]+label svg circle {
	fill: none;
	stroke: #fff;
	stroke-width: 2;
}

input[type="checkbox"]+label svg polyline,
input[type="radio"]+label svg polyline {
	fill: none;
	stroke: #fff;
	stroke-width: 2;
	stroke-dasharray: 18px;
	stroke-dashoffset: 18px;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

input[type="checkbox"]:checked+label svg path,
input[type="radio"]:checked+label svg circle {
	fill: #fff;
}

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

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

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

label.error,
.error-message {
	color: #e9322d;
	text-align: left;
}

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

.dinamic_label {
	position: relative;
}

.dinamic_label input:not([type="checkbox"]):not([type="radio"]) + label {
	padding: 0;
	margin: 0;
}

.dinamic_label input:not([type="checkbox"]):not([type="radio"]) + label:not(.error) {
	position: absolute;
	top: .2rem;
	left: .4rem;
	cursor: text;
	transition: all 0.2s linear;
}

.dinamic_label input:not([type="checkbox"]):not([type="radio"]) + label.active,
.dinamic_label input:not([type="checkbox"]):not([type="radio"]):focus + label:not(.error) {
	font-size: .7rem;
	top: -.9rem;
	color: #e3151b;
}

.dinamic_label input:not([type="checkbox"]):not([type="radio"]):focus {
	outline: 0 !important;
	box-shadow: 0 0 0;
}

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

.g-recaptcha{display:inline-block;margin:1rem auto}
iframe{border:0 !important}
figure{margin:0 auto}
figure img,figure svg,figure video{display:block;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%}
.valign+.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: 2vw;
    right: 0;
    width: 50px;
    height: 50px;
    z-index: 8;
    background: #eeeeed;
    cursor: pointer;
}

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

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

/** HEADER */

.topbar {
	background-color: #000;
	color: #fff;
	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::after {
	margin-left: .5rem;
	vertical-align: 0.1em;
	border: 0;
	width: 12px;
	height: 9px;
	background: url(../img/icons/arrow-dropdown.svg) center center no-repeat;
}

.topbar .dropdown-menu {
	min-width: 30px;
	background-color: #000;
	color: #fff;
	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: 43px;
	left: 0;
	width: 100%;
	z-index: 85;
}

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

header .logo {
	width: 100px;
	color: #fff;
	z-index: 83
}

header .logo a{
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #000;
	padding: .5rem;
}

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';
	font-weight: 100;
}

header .menu a {
	display: inline-block;
	vertical-align: middle;
	font-size: .9rem;
	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 #fff;
}
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: calc(100% + 15px);
	padding: 2rem 0;
	z-index: 83;
	display: none;
}

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 #e3151c transparent;
}


header .ciclos_submenu h4{
	font-size: 1rem;
	font-weight: 100;
	text-transform: none;
	margin: 0;
}
header .ciclos_submenu .logo_ciclo{
	max-width: 200px;
	margin: 0 auto;
}

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

header .location-banner p{
	font-family: 'Gotham';
	font-weight: 300;
	margin: 0;
	padding: 0;
	font-size: 28px;
}

header .caption .location-banner figure {
	position: absolute;
	top:5%;
	left: -0.5rem; 
	scale: 1.6;
}

header .caption .location-banner figure svg {
	width: 30px;
}

header .caption .location-banner div {
	margin: 0 15px 0 15px;
	background-color: black;
	position: relative;
	padding: 0rem 0.5rem 0 2.3rem;
    height: 35px;
	margin-bottom: 10px;
}

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

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

/** FOOTER */
footer {
	background-color: #000;
	color: #fff;
	font-size: .9rem;
	text-align: left;
	padding-bottom: 1rem;
}

footer .topfooter {
	font-size: 1.1rem;
	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;
}

#modal_artista_destacado .modal-content{
	position:relative;
	background-color: transparent;
	border: none;
}
#modal_artista_destacado .close{
	position: absolute;
	top: 25px;
	right: 25px;
	width: 20px;
	cursor: pointer;
	z-index: 2;
	opacity: 1;
}
#modal_artista_destacado .modal-body{
	padding: 0;
}

/** CONTENT */
section:not(.main_container) {
	padding: 4rem 0;
}

.social a, #menu .social a {
	display: inline-block;
	vertical-align: middle;
	overflow: hidden;
	margin-left: .5rem;
	width: auto;
}

.social a:not(:first-child),
#menu .social a:not(:first-child) {
	margin-left: 1rem;
}

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

#carouselMain {
	position: relative;
	background: #e3151b no-repeat center;
	background-size: cover;
	color: #fff;
	height: 65vh;
	max-height: 600px;
	min-height: 550px;
}

#carouselMain .covid_free_banner{
	position: absolute;
	left: 0;
	bottom: calc(0% - 1.5rem);
	width: 100%;
}
#carouselMain .covid_free_banner figure{
	width: 100px;
}

#carouselMain .gradient,
.simpleBanner .gradient  {
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 30%;
	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 );
}

#carouselMain .img{
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: transparent no-repeat 20% center;
	background-size: contain;
}

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

#carouselMain h2{
	font-size: 2.5rem;
	font-weight: 500;
}

#carouselCiclos .caption {
	top: 2rem;
	height: calc(100% - 2rem);
}

#carouselCiclos .caption h2,
#carouselCiclos .caption .logo_ciclo {
	width: 450px;
	margin: 0;
	text-align: right;
	text-transform: uppercase;
}

#carouselCiclos .caption .linea_vert{
	width: 1px;
	height: 100px;
	background-color: #fff;
}

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

.simpleBanner {
	background: #e3151b center center no-repeat;
	background-size: cover;
	padding: 1.5rem 0 !important;
	height: 300px;
	position: relative;
}

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

/*.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-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-indicators {
	bottom: 10%;
	margin-bottom: 0;
}

.carousel-indicators li {
	max-width: none;
	width: 10px;
	height: 10px;
	margin: 0;
	border-radius: 50%;
	border: 2px solid #fff;
	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 {
	margin: 2rem auto;
}

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

.play {
	position: absolute;
	width: 60px;
	height: auto;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 2;
	opacity: .3;
	transition: opacity .8s linear;
	cursor: pointer;
}

.info {
	font-size: .9rem;
	margin: 1rem auto;
	padding: .5rem;
	border: 1px solid #fff;
}

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

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

.banner_elencos{
	background-color: #000;
	padding: 1.5rem 0;
	color: #fff;
}

.banner_elencos h5{
	font-weight: 100;
	text-transform: none;
	font-size: 1.2rem;
	margin: 0 auto;
}

.banner_elencos .btn {
	margin: 0 auto;
}


.destacado {
	font-weight: 300;
	font-size: 1.25rem;
}

.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: #fff;
	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: #fff;
	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 .datepicker{
	border: solid 1px #fff;
	padding: 1rem;
	max-width: 550px;
	margin: 0 auto 2rem;
	display: none;
}

.elenco .datepicker .ui-datepicker-current-day{
	color: #fff;
}

.elenco .datepicker tbody td:after{
	opacity: 0;
	transition: all ease .5s;
}
.elenco .datepicker .ui-datepicker-current-day:after{
	opacity: 1;
	background-color: #fff;
}


.elenco h2{
	font-weight: 300;
}

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

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

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

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

.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: 150px;
	overflow: hidden;
	position: relative;
	margin-bottom: 1rem;
}

.elenco .slides_items .item figure img{
	position: absolute;
	left: 50%;
	top: 50%;
	width: 102%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

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

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

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

.ciclos .wrapper_video{
	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: 700px;
}

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

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

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

.modal_video .modal-header{
	background-color: transparent;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	color: #fff;
	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: #fff;
    text-shadow: none;
}

.modal_video .modal-header .close:hover{
	color: #fff;
}



.modal_video figure {
	margin: 0;
}

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

.grid_noticias .noticia{
	border: solid 1px #e9e9e9;
	transition: all ease .5s;
	background-color: #fff;
}

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


/** CALENDARIO */
.ui-datepicker-title {
	line-height: 1rem;
	text-transform: uppercase;
	font-family: 'Gotham';
}

.ui-datepicker-title .ui-datepicker-month{
	font-weight: 100;
}

.ui-datepicker-prev,
.ui-datepicker-next {
	text-indent: -9999px;
	overflow: hidden;
	width: 1.5rem;
	height: 1rem;
	cursor: pointer;
	background-repeat: no-repeat;
	background-size: auto 100%;
}

.ui-datepicker-prev {
	float: left;
	background-image: url(../img/icons/arrow-prev.svg);
	background-position: center left;
}

.ui-datepicker-next {
	float: right;
	background-image: url(../img/icons/arrow-next.svg);
	background-position: center right;
}

.ui-datepicker-calendar {
	width: 100%;
	margin: 0;
}

.ui-datepicker-calendar thead th,
.ui-datepicker-calendar thead td {
	font-weight: 300;
	font-size: .8rem;
	line-height: 1;
	text-transform: uppercase;
	color: #8b8b8b;
	padding: 1.5rem 0;
	font-family: 'Gotham';
}

.datepicker tbody td {
	width: calc(100%/7);
    line-height: 1.8em;
    border: 0;
    color: #8b8b8b;
    font-weight: 100;
    position: relative;
}

.datepicker th a,
.datepicker td a {
	display: block;
}


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

.datepicker tbody td.aviso:after {
    background-color: #eaa824;
}
.datepicker tbody td.disabled:after {
    background-color: #e3151b;
}

.datepicker .ui-datepicker-current-day {
	color: #fff;
	font-weight: 400 !important;
}

.datepicker .ui-datepicker-current-day:not(.ui-datepicker-unselectable)::before{
	content: '';
	/* background: -moz-radial-gradient(center, ellipse cover,  rgba(221,221,221,1) 0%, rgba(221,221,221,0) 100%);
	background: -webkit-radial-gradient(center, ellipse cover,  rgba(221,221,221,1) 0%,rgba(221,221,221,0) 100%);
	background: radial-gradient(ellipse at center,  rgba(221,221,221,1) 0%,rgba(221,221,221,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dddddd', endColorstr='#00dddddd',GradientType=1 ); */
	background-color: #000;
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: -1;
    border-radius: 60%;
}

.datepicker .ui-datepicker-unselectable {
	cursor: default;
}

.datepicker .ui-datepicker-other-month {
	border: 0;
	font-weight: 500!important;
}

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

.datepicker tbody td.disabled.ui-datepicker-unselectable:after {
	display: block;
}


.datepicker tbody td.pasado,
.datepicker tbody td.disabled{
    color:rgba(139,139,139,.3);
}

.leyenda {
	margin: 1.5rem 0;
}

.leyenda span {
	font-weight: 300;
	font-size: .9rem;
	border-bottom: none;
	display: inline-block;
	position: relative;
}

.leyenda span:before {
	content: '';
	position: absolute;
	right: calc(100% + 10px);
	top: 50%;
	width: 8px;
	height: 8px;
	border-radius: 60%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.leyenda span.hr-disponible:before {
	background-color: #4bc963;
}

.leyenda span.hr-agotadas:before {
	background-color: #e3151b;
}

.leyenda span.hr-poca-disponibilidad:before {
	background-color: #eaa824;
}

.reserva .hora {
	text-align: left;
	margin: 2.5rem 0;
}

.reserva .hora:first-child {
	margin-top: 0;
}

.reserva .hora h6 {
	text-transform: uppercase;
	margin-bottom: 1.5rem;
	font-weight: 500;
	position: relative;
}

.reserva .hora h6:after{
	content: '';
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	width: 100%;
	height: 5px;
	background: url('../img/subrayado.svg') no-repeat left center;
	background-size: contain;
}

.reserva .hora.servicios {
	font-size: 1.1rem;
}

.reserva .agotadas {
	color: #ed1c24;
	font-size: .7rem;
}

.reserva .hora label {
	position: relative;
	font-weight: 300;
	padding-left: 1.5rem;
	line-height: 1.2em;
}

.reserva .hora label img{
	max-width: 200px;
	display: block;
	width: 100%;
}

.reserva .hora.completar .dinamic_label label,
.reserva .hora.completar .select-css {
   color: #8e8887;
}

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


[type="checkbox"]+label:before,
[type="checkbox"]+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(:checked)+label:before,
[type="checkbox"]:not(:checked)+label:after,
[type="radio"]:not(:checked)+label:before,
[type="radio"]:not(:checked)+label:after {
	border: 2px solid #5a5a5a;
}

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

[type="checkbox"]:checked+label:after,
[type="checkbox"]:checked+label:before,
[type="radio"]:checked+label:after,
[type="radio"]:checked+label:before {
	border: 2px solid #ed1c24;
}

[type="checkbox"]:checked+label:after,
[type="radio"]:checked+label:after {
	border: 2px solid #ed1c24;
	background-color: #ed1c24;
	-ms-transform: scale(0.5);
	transform: scale(0.5);
}

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

.mas_info_tapa {
	display: inline;
	font-size: .8rem;
	cursor: pointer;
}

.mas_info_tapa svg {
	display: block;
}

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

p.note {
	font-weight: 300;
	font-size: .7rem;
	text-align: left;
	color: #8b8b8b;
}

.reserva .linea p {
	font-weight: 300;
	margin-bottom: 0;
}

.personas_input input {
	width: 35% !important;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	border-bottom: 0 !important;
	margin-bottom: -1%;
	background-color: transparent;
	font-size: 1rem;
	line-height: 1; 
}

.reserva .personas_input input:disabled {
	border: none;
}

.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 {
	display: inline-block;
	vertical-align: middle;
	width: 15%;
	cursor: pointer;
}

.reserva .linea .agotadas {
	display: none;
}

.reserva .linea.agotada .agotadas {
	display: block;
}

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

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

.reserva .linea {
	margin-bottom: 1rem;
}

hr {
	width: 30%;
	margin: 0 auto;
	height: 1px;
	background-color: #000; 
}

.reserva input,
.reserva select,
.reserva input.form-control:focus,
.reserva select.form-control:focus {
	width: 100%;
	background-color: transparent;
	color: #000;
	border: 0;
	border-bottom: 1px solid #8b8b8b; 
}

.reserva .outdated-price {
	color: #dc3545;
	font-size: .8rem;
	text-decoration: line-through;
	padding-right: .5rem;
}

.reserva .outdated-price {
	color: #dc3545;
	font-size: .8rem;
	text-decoration: line-through;
	padding-right: .5rem;
}

#reserva .terminos.suplemento label{
	line-height: .8rem!important;
	padding-left: 0!important;
	cursor: pointer;
	position: relative;
}
#reserva .terminos.suplemento label span{
	line-height: 1.4rem!important;
    max-width: calc(100% - 60px);
    display: inline-block;
}


#reserva .terminos.suplemento label .toggle-switch {
	display: inline-block;
	background: #ccc;
	border-radius: 16px;
	width: 58px;
	height: 25px;
	position: relative;
	vertical-align: middle;
	transition: background 0.25s;
	position: absolute;
	right: 0;
	top: 10px;
}
#reserva .terminos.suplemento label .toggle-switch:before, 
#reserva .terminos.suplemento label .toggle-switch:after {
	content: "";
}
#reserva .terminos.suplemento label .toggle-switch:before {
	display: block;
	background: linear-gradient(to bottom, #fff 0%, #eee 100%);
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);
	width: 17px;
	height: 17px;
	position: absolute;
	top: 4px;
	left: 4px;
	transition: left 0.25s;
}
#reserva .terminos.suplemento label:hover .toggle-switch:before {
	background: linear-gradient(to bottom, #fff 0%, #fff 100%);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
}
#reserva .terminos.suplemento label input:checked + .toggle-switch {
	background: #e3151b;
}
#reserva .terminos.suplemento label input:checked + .toggle-switch:before {
	left: 37px;
}

/** PAGO */

.container_pago p,
.container_pago li {
	font-weight: 300;
}

.container_pago li {
	list-style-type: circle;
	font-size: 1.2rem;
	margin-bottom: 1rem;
}

.banner_pago {
	background: url(../img/pago.jpg) center center no-repeat;
	background-size: cover;
	padding: 4rem 0;
	margin-bottom: 4rem;
	height: 500px
}

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

.importe_total {
	padding: 1rem 0 2rem !important;
	border-bottom: 1px solid #8d8d8d;
}

.boton_tpv input[type="image"] {
	width: 150px;
	height: auto;
}

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

.stripe_content #card-element{
	border: solid 1px #808080;
	border-radius: 3px;
	padding: .7rem .5rem;
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
}

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

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

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

.boton_paypal,
.boton_tpv {
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
}

.submitting .boton_paypal,
.submitting .boton_tpv,
.submitting .boton_wechat {
	display: none !important;
	-webkit-animation-name: fadeOut;
	animation-name: fadeOut;
}

#card-button {
    padding: .5rem 1.5rem;
	margin-top: 2rem;
	width: 100%;
	max-width: 250px;
}

#card-errors {
	padding: 2rem 0;
	font-size: 1.2rem;
	color: #ed1c24;
}


/*    GRACIAS - CANCELAR    */
.content_gracias{
	padding: 0 0 150px;
}

.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: 1rem;
}

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

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

.estaticos h3, 
.estaticos h4,
.estaticos h5{
	text-transform: none;
}

.estaticos h3{
	font-weight: 300;
}

.estaticos h4,
.estaticos h5{
	font-weight: 100;
	margin: 3rem auto 1rem;
}






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

.modal_contacto{
	position: fixed;
	right: -300px;
	bottom: -21rem;
	width: 300px;
	background-color: #000;
	color: #fff;
	z-index: 9;
	transition: all ease .5s;
}

.modal_contacto.visible{
	right: 0;
	bottom: 1rem;
}

.modal_contacto .icon{
	position: absolute;
	right: 100%;
	top: 0;
	width: 50px;
	padding: 10px;
	background-color: #e3151b;
	cursor: pointer;
}

.modal_contacto .bocadillo_h4{
	background-color: #e3151b;
	font-size: 1rem;
	text-transform: uppercase;
	font-weight: 600;
	height: 50px;
	line-height: 50px;
	padding: 0 1rem;
	font-family: 'Gotham';
}

.modal_contacto .aviso{
	background-color: #fff;
	color: #000;
}

.modal_contacto .pd,
.modal_contacto .aviso{
	padding: 1rem;
}

.modal_contacto .g-recaptcha{
	display: block;
	width: 100%;
	margin: 0;
	min-width: 20%;
}

.modal_contacto p{
	font-weight: 100;
}

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

.modal_contacto input{
	width: 100%;
}
.modal_contacto label{
	padding-left: 1.5rem!important;
	font-weight: 100!important;
}

.modal_contacto input[type="checkbox"]+label, 
.modal_contacto input[type="radio"]+label{
    margin-bottom: 1.4rem;
}

.modal_contacto input[type="checkbox"]+label, 
.modal_contacto input[type="radio"]+label,
.modal_contacto p{
	font-size: .8rem
}

.modal_contacto input[type="checkbox"]+label[for=condiciones],
.modal_contacto input[type="checkbox"]+label[for=comunicaciones]{
	font-size: .6rem;
}

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


.modal_contacto input, 
.modal_contacto input[type="text"], 
.modal_contacto input[type="password"], 
.modal_contacto input[type="datetime"], 
.modal_contacto input[type="datetime-local"], 
.modal_contacto input[type="date"], 
.modal_contacto input[type="month"], 
.modal_contacto input[type="time"], 
.modal_contacto input[type="week"], 
.modal_contacto input[type="number"], 
.modal_contacto input[type="email"], 
.modal_contacto input[type="url"], 
.modal_contacto input[type="search"], 
.modal_contacto input[type="tel"], 
.modal_contacto input[type="color"], 
.modal_contacto .uneditable-input, 
.modal_contacto textarea, 
.modal_contacto textarea.form-control, 
.modal_contacto select, 
.modal_contacto select.form-control, 
.modal_contacto form button:not(.btn) {
	font-weight: 100;
	font-size: .8rem;
	line-height: 1em;
	height: auto;
	padding: .35rem .8rem;
	margin-bottom: 1rem;
	border-bottom: none;
}

.modal-content {
	width: auto;
}


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


/* PAGE SCAN */
.pantalla_scaner, .pantalla_scaner .row{height: 100vh;}
.pantalla_scaner .cuadro_blanco{
	background-color: #fff;
	padding: 25px;
	border-radius: 10px;
	-webkit-box-shadow: 9px 9px 32px 1px rgba(0,0,0,0.35);
	-moz-box-shadow: 9px 9px 32px 1px rgba(0,0,0,0.35);
	box-shadow: 9px 9px 32px 1px rgba(0,0,0,0.35);
}
.pantalla_scaner .cuadro_blanco.chequeado{
	background: url('../images/scan_checked.svg') no-repeat right bottom;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}

.pantalla_scaner .cuadro_blanco.cuadro_no_pagada{
	background-color: rgba(215,90,74,.1);
	background-image: url('../images/scan_cancel.svg');
	background-repeat: no-repeat;
	background-position: right bottom;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}
.pantalla_scaner h2{font-size: 2.5rem;margin-bottom: 2rem}
.pantalla_scaner h4{font-weight: 600;}
.pantalla_scaner p, .pantalla_scaner li{font-size: 1.5rem;margin-bottom: .5em;}
.pantalla_scaner li span{font-size: 2rem;}
.pantalla_scaner .btn{margin-top: 2rem;}
.pantalla_scaner h5.no_pagada{
	margin-top: 2.5rem;
	font-size: 1.7rem;
	font-weight: 500;
}


/** 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;
}


/** 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: #000;
	border: 3px solid #e3151b;
	padding: 20px;
	-webkit-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: 58%;
	padding-right: 10px;
	border-right: 1px solid #e3151b;
}

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

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

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

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


/** RECAPTCHA */
.grecaptcha-badge {
	z-index: 999;
	right: -386px !important;
}

.grecaptcha-badge.show {
    right: -186px !important;
	right: -386px !important;
}

/*!
 * 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 **/
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.show_cookies { width: 50%; }
	#modal_artista_destacado .modal-dialog {max-width: 95%;}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	html { font-size: 20px; }
	.estrecho { max-width: 75%; }
	.play { width: 95px; }
	.mancha { max-height: 8rem; }
	.show_cookies { width: 35%; }
	#modal_artista_destacado .modal-dialog {max-width: 95%;}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	#modal_artista_destacado .modal-dialog {max-width: 1140px}
}

@media (max-width: 1200px) {
	header .menu a{font-size:.8rem;padding-left:1rem;margin-left:1rem;}
	#carouselMain .img{background-position:-10% center;}
}

@media (max-width: 992px) {
	#carouselMain .img {background-position:-200px center;}
	header .menu a{padding-left:.8rem;margin-left:.8rem;}
	header .caption .location-banner figure {left: -16px;}
	.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 .content{top: 10px;}
	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;font-size:1.3rem;}
	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;}
	.reserva .menos, .reserva .mas{width: 30px;}
	.reserva .menos{margin-right: 10px}
	.reserva .left{margin-right: 10px}
	.reserva .linea{margin-bottom: 1.5rem;}
	#carouselMain .img{width: 140%;}
	footer .logo{margin: 0 auto;width: 75px;}
	header .ciclos_submenu{top: 0;height: 100vh}
	header .ciclos_submenu .container-fluid{height: 100%;}
	.social a, #menu .social a{margin-left: 1.5rem;margin-right: 1.5rem;}
	.social a:not(:first-child), #menu .social a:not(:first-child){margin-left: 1.5rem;margin-right: 1.5rem;}
	#modal_artista_destacado .close{top: 85px;right: 45px;}
}

@media (max-width: 576px) {
	.topbar strong{font-weight:600;}
	header .logo{width: 75px;}
	header .ciclos_submenu .logo_ciclo{max-width: 140px;}
	#carouselMain{max-height:100%;}
	#carouselMain .img{width:100%;background-position:center;background-size:cover;}
	h1{font-size:2.6rem;}
	h2{font-size: 1.6rem}
	h3{font-size: 1.6rem;}
	.caption .btn:not(:last-child){margin-right:0;}
	html{font-size:16px;}
	body,.destacado{font-size: 1.23rem;}
	.social a:not(:first-child){margin-left:.5rem;}
	.topbar .dropdown img, .topbar .dropdown svg,.social a img, .social a svg{width:18px;height:18px;}
	.topbar .dropdown-toggle::after{width:12px;height:8px;}
	.topbar .wrapper_dropdown{margin-left: 1rem;}
	.datepicker tbody td{padding:.6rem 0;}
	.reserva .menos, .reserva .mas{width: 22px;}
	.elenco h2{font-size: 1.6rem;}
	.btn{width: 100%;padding: .7rem .5rem;}
	.modal_contacto .icon{width:40px;height:40px;}
	.modal_contacto .bocadillo_h4{height: 40px;line-height:40px;}
	.scrolltop{width: 40px;height: 40px;bottom:5.5vw;}
	.modal_contacto{width: 250px;right: -250px;}
	footer{padding-bottom: 2rem;}
	.ciclos_textos .row{padding-top: 0;}
	.modal-content {
		width: 70%;
		margin: 0 auto;	
	}
}

@media (max-width: 374px) {
}





.figure_bandera {
    max-width: 250px;
}

@media only screen and (max-width: 768px) {
    .div_contenedor_bandera {
        margin-top: 20px;
        margin-bottom: 20px;
		padding-right: 0;
    }

}

.margenrow_bandera{
    margin-top: 20px;
}
.p7px {
    font-size: 11px;
}

@media only screen and (min-width: 768px) {
    .p7px {
        font-size: 21px;
    }

}
