
@charset "utf-8";
/* CSS Document */


/* -------------------------------------------

#PRESETS 

------------------------------------------- */


@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css');



/* #Modo oscuro */
@media (prefers-scheme: dark) {
	 :root {
		--body-bg   : #333333;
		--body-color: #f5f5f5;
	 }
}

 
/* #root */ 
:root {


	/* modo claro */
	--body-bg   : #f5f5f5;
	--body-color: #333333;

	/* colores */ 
	--color-web-1-hash: #008AC5;
	--color-web-1-rgb : 0 138 197;
	--color-web-1     : rgb(var(--color-web-1-rgb));

	--fff-rgb         : 255 255 255;
	--bbb-rgb         : 187 187 187;
	--eee-rgb         : 238 238 238;
	--ddd-rgb         : 221 221 221;
	--ccc-rgb         : 204 204 204;
	--999-rgb         : 153 153 153;
	--666-rgb         : 102 102 102;
	--333-rgb         : 51 51 51;
	--222-rgb         : 34 34 34;
	--111-rgb         : 17 17 17;
	--000-rgb         : 0 0 0;

	--fff             : rgb(var(--fff-rgb));
	--bbb             : rgb(var(--bbb-rgb));
	--eee             : rgb(var(--eee-rgb));
	--ddd             : rgb(var(--ddd-rgb));
	--ccc             : rgb(var(--ccc-rgb));
	--999             : rgb(var(--999-rgb));
	--666             : rgb(var(--666-rgb));
	--333             : rgb(var(--333-rgb));
	--222             : rgb(var(--222-rgb));
	--111             : rgb(var(--111-rgb));
	--000             : rgb(var(--000-rgb));
	--placeholder     : rgb(var(--666));

	--cygnus          : #003F55;

	/* form */
	--msj-ok-tx   : #00ad17;
	--msj-ok-bg   : #e5ffe8;
	--msj-error-tx: #c40000;
	--msj-error-bg: #ffe5e5;
	--msj-info-tx : #a39200;
	--msj-info-bg : #fffbdb;

	/* font's */
	--font-awesone      : 'Font Awesome 6 Free';
	--font              : 'Roboto', sans-serif;

	/* size's */
	--size           : .9rem; /* 15px */

	--size-1         : 3.25rem; /* 52px */
	--size-2         : 2.75rem; /* 44px */
	--size-3         : 2.125rem; /* 34px */
	--size-4         : 1.625rem; /* 26px */
	--size-5         : 1.375rem; /* 22px */
	--size-6         : 1.125rem; /* 18px */
	--size-title-logo: 1.35rem;

	--display        : 1.2;

	--display-1      : calc(var(--size-1) * var(--display)); /* 74px */
	--display-2      : calc(var(--size-2) * var(--display)); /* 67px */
	--display-3      : calc(var(--size-3) * var(--display)); /* 54px */
	--display-4      : calc(var(--size-4) * var(--display)); /* 44px */
	--display-5      : calc(var(--size-5) * var(--display)); /* 34px */
	--display-6      : calc(var(--size-6) * var(--display)); /* 28px */

	--line-height: 1.7;

	/* container */
	--container-full: 100%;
	--container-gr  : 1380px;
	--container-md  : 1024px;
	--container-sm  : 800px;

	/* grid */
	--grid-col-1 : 8.333333333%;
	--grid-col-2 : 16.66666667%;
	--grid-col-3 : 25%;
	--grid-col-4 : 33.33333333%;
	--grid-col-5 : ;
	--grid-col-6 : 50%;
	--grid-col-7 : ;
	--grid-col-8 : 66.66666667%;
	--grid-col-9 : 75%;
	--grid-col-10: 83.33333333%;
	--grid-col-11: 91.66666667%;
	--grid-col-12: 100%;

	/* medidas */
	--w-col-header-left  : 1fr;
	--w-col-header-center: 0;
	--w-col-header-right : var(--w-modal-reserva);
	--w-logo             : 85%;

	--w-modal-reserva    : 650px;

	--w-sidebar          : 100%;

	--w-textura          : 60px;

	--h-header           : 150px;
	--h-header-scroll    : 70px;
	--h-cabezal          : 300px;
	--h-btn              : 45px;
	--top-main           : var(--h-header);

	/* separador */
	/* --separador-bg   :; */
	/* --separador-width:; */

	/* radius */
	--radius: 12px;

	/* espacios */
	--espacio-10: 10px;
	--espacio-15: 15px;
	--espacio-20: 20px;
	--espacio-30: 30px;
	--espacio-40: 40px;
	--espacio-50: 50px;
	--espacio-60: 60px;
	--espacio-70: 70px;
	--espacio-80: 80px;
	--espacio-90: 90px;


	/* ratio */
	--ratio-1x1: 100%;
	--ratio-4x3: 75%;
	--ratio-3x4: 133%;
	--ratio    : 0%;

	/* efectos */
	--transition: all .3s ease;


} 

*, 
:before,
:after{
	margin                  : 0;
	padding                 : 0; 
	box-sizing              : border-box;
	position                : relative;
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust   : none;
	-ms-text-size-adjust    : none; 
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust   : 100%; 
	-ms-text-size-adjust    : 100%;
}



/* #html - body */
html {
	font-size      : 16px;
	scroll-behavior: smooth;
}
html, body{
	height: 100%;
}
body{
	overflow-x         : hidden;
	font-size          : var(--size);
	background-color   : var(--color-web-1);
	color              : var(--fff);
	font-family        : var(--font);
	font-weight        : 400;
}

/* #selection */
::selection{
	background: var(--fff);
	color     : var(--color-web-1);
}
::-moz-selection{
	background: var(--fff);
	color     : var(--color-web-1);
}
::-o-selection{
	background: var(--fff);
	color     : var(--color-web-1);
}
::-ms-selection{
	background: var(--fff);
	color     : var(--color-web-1);
}

main,
header,
section,
form,
aside,
nav,
time,
picture,
figure,
article,
address,
footer,
figcaption{
	width: 100%;
	float: left;
}

/* #img */
img{
	width    : auto;
	max-width: 100%;
	height   : auto
}
figure{
	margin     : 0;
	line-height: 0;
	overflow   : hidden;
}

.img--base {
	width     : auto !important;
	height    : auto !important;
	max-width : 100% !important;
	max-height: 100% !important;
	opacity   : .2 !important;
	transform : scale(.75) !important;
	margin    : auto !important;
}

/* canvas {
	margin: auto;
} */

/* #tx */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font);
	margin     : 0;
	line-height: var(--line-height);;
}
h1 {
	font-size: var(--size-1);
}
h2 {
	font-size: var(--size-2);
}
h3 {
	font-size: var(--size-3);
}
h4 {
	font-size: var(--size-4);
}
h5 {
	font-size: var(--size-5);
}
h6 {
	font-size: var(--size-6);
}

p {
	font-family: var(--font);
	margin     : 0 0 16px 0;
	padding    : 0;
	line-height: var(--line-height);
}

ul li {
	line-height: var(--line-height);;
}

b,
strong {
	font-family: var(--font);
	font-weight: 600;
}
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size  : 1em;
}
small {
	font-size: 75%;
}
sub,
sup {
	font-size     : 70%;
	line-height   : 0;
	position      : relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
pre {
	background   : var(--eee);
	font-family  : "Courier 10 Pitch", courier, monospace;
	line-height  : var(--line-height);;
	margin-bottom: 1.6em;
	max-width    : 100%;
	overflow     : auto;
	padding      : 1.6em;
}
code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr,
acronym {
	border-bottom: 1px dotted var(--666);
	cursor       : help;
}
mark,
ins {
	background     : #fff9c0;
	text-decoration: none;
}
big {
	font-size: 125%;
}
a {
	color          : var(--fff);
	text-decoration: none;
	font-weight    : 600;
}
a:visited {
	color: var(--eee);
}
a:hover,
a:focus,
a:active {
	color: var(--eee);
}
a:focus {
	outline: thin dotted;
}
a:hover,
a:active {
	outline: 0;
}

address {
	font-style: normal;
}

/* #btn's */
button {
	border    : none;
	cursor    : pointer;
	background: none;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding     : 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}
button:focus {
	outline   : none;
	box-shadow: none;
}

.btn--gral {
	width           : auto;
	height          : var(--h-btn);
	background-color: var(--color-web-4);
	color           : var(--fff);
	font-family     : var(--font);
	font-size       : .9rem;
	border          : 1px solid var(--color-web-4);
	text-align      : center;
	border-radius   : var(--radius);
	transition      : var(--transition);
	display         : inline-flex;
	align-items     : center;
	justify-content : center;
	padding         : 0 35px;
	text-decoration : none;
	cursor          : pointer;
}
.btn--gral:hover {
	background-color: var(--fff) !important;
	color           : var(--color-web-4) !important;
}

/* invertido */
.btn--gral.invertido {
	background-color: var(--fff) !important;
	color           : var(--000) !important;
}
.btn--gral.invertido:hover {
	background-color: var(--000) !important;
	color           : var(--fff) !important;
}

.btn--gral:visited {
	color: var(--fff) !important;
}
.btn--gral:visited:hover {
	color: var(--color-web-4) !important;
}
.btn--gral.invertido:visited {
	color: var(--000) !important;
}
.btn--gral.invertido:visited:hover {
	color: var(--fff) !important;
}


/* hamburg */
.btn--menu {
	display  : none;
	margin   : 0;
	width    : 20px;
	height   : 30px;
	cursor   : pointer;
	transform: translateX(0);
	z-index  : 9999;
	float    : right;
}

		.btn--menu span {
			position     : absolute;
			top          : 0;
			right        : 0;
			bottom       : 0;
			left         : 0;
			width        : 100%;
			height       : 2px;
			margin       : auto;
			border-radius: 0;
			transition   : background 0s .25s;
			background   : var(--fff);
		}

			.btn--menu span:before,
			.btn--menu span:after {
				position           : absolute;
				width              : inherit;
				height             : inherit;
				content            : '';
				transition-delay   : .25s, 0s;
				transition-duration: .25s, .25s;
				background         : var(--fff);
				border-radius      : 0;
				width              : 100%;
				transform          : translateX(0);
				transition         : all .3s ease;
			}
			.btn--menu span:before {
				top                : -8px;
				transition-property: top, -webkit-transform;
				transition-property: top, transform;
			}
			.btn--menu span:after {
				bottom             : -8px;
				transition-property: bottom, -webkit-transform;
				transition-property: bottom, transform;
			}

		/* hover - activo */
		body.visible--menu #flag + span {
				background: none;
		} 
		body.visible--menu #flag + span:before {
				top: 0;
				-webkit-transform: rotate(45deg);
								transform: rotate(45deg);
		}
		body.visible--menu #flag + span:after {
				bottom: 0;
				-webkit-transform: rotate(-45deg);
								transform: rotate(-45deg);
		}
		body.visible--menu #flag + span:before,
		body.visible--menu #flag + span:after {
				transition-delay: 0s, .25s;
		}

		.btn--menu input {
			opacity: 0;
		}


	/* hover */
	.btn--menu:hover {

	}
	.btn--menu:hover span:before,
	.btn--menu:hover span:after {
		transform: translateX(0);
	}



/* scroll */
/* .btn--scroll-down {
	width              : 45px;
	height             : 45px;
	background-size    : contain;
	background-image   : url(../images/ico--scroll-down.svg);
	background-position: center;
	background-repeat  : no-repeat;
	position           : absolute;
	right              : 0;
	bottom             : 30px;
	left               : 0;
	margin             : auto;
	cursor             : pointer;
}
 */

/* modal */
.btn--modal {
	margin: 0;
	float : left;
}


/* wpp */
.btn--wpp{
	position        : fixed;
	bottom          : 100px;
	right           : 30px;
	margin          : auto;
	background-size : contain;
	width           : 70px;
	height          : 70px;
	z-index         : 998;
	display         : flex;
	align-items     : center;
	justify-content : center;
	text-decoration : none !important;
	background-color: #25D366;
	border-radius   : 50%;
	transition      : var(--transition);
	border          : 1px solid #25D366;
}
	
	.btn--wpp i {
		font-size: 2.8rem;
		color    : var(--fff);
	}

	/* hover */
	.btn--wpp:hover {
		background-color: var(--fff);
	}
	.btn--wpp:hover i {
		color: #25D366;
	}

/* #otros */
progress {
	vertical-align: baseline;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}






/* -------------------------------------------

#CLASS 

------------------------------------------- */

/* #container */
[class*=container--] {
	width        : 100%;
	padding      : 0 40px;
	padding-right: calc(40px + var(--w-textura));
	margin       : auto;
}
.container--full {
	max-width: var(--container-full);
}
.container--gr {
	max-width: var(--container-gr);
}
.container--md {
	max-width: var(--container-md);
}
.container--sm {
	max-width: var(--container-sm);
}

/* #display */
.d--none {
	display: none;
}
.d--grid {
	display: grid;
}
.d--flex {
	display: flex;
}
.d--table {
	display: table;
}
.d--block {
	display: block;
}

/* #grid */
.d--grid {
	grid-template-columns: 1fr;
	grid-column-gap      : 15px;
}
	.d--grid > [class*=col--] {

	}
	
.d--grid.grid--1 {
	grid-template-columns: repeat(12, 1fr);
}
.d--grid.grid--2 {
	grid-template-columns: repeat(6, 1fr);
}
.d--grid.grid--3 {
	grid-template-columns: repeat(4, 1fr);
}
.d--grid.grid--4 {
	grid-template-columns: repeat(3, 1fr);
}
.d--grid.grid--5 {
	grid-template-columns: repeat(5, 1fr);
}
.d--grid.grid--6 {
	grid-template-columns: repeat(2, 1fr);
}

/* #direction */
.row--reverse {
	flex-direction: row-reverse;
}
.column--reverse {
	flex-direction: column-reverse;
}
.direction--rtl {
	direction : rtl;
	text-align: left;
}

	.direction--rtl * {
		text-align: left;
	}

/* #bg */
.bg--1 {
	background-color: var(--color-web-1);
}
.bg--2 {
	background-color: var(--color-web-2);
}
.bg--3 {
	background-color: var(--color-web-3);
}
.bg--4 {
	background-color: var(--color-web-4);
}
.bg--5 {
	background-color: var(--color-web-5);
}
.bg--fff {
	background-color: var(--fff);
}
.bg--eee {
	background-color: var(--eee);
}
.bg--000 {
	background-color: var(--000);
}
.bg--degrade {
	background: rgb(69,165,195);
	background: -moz-linear-gradient(73deg, rgba(69,165,195,1) 10%, rgba(91,183,164,1) 45%, rgba(110,198,137,1) 100%);
	background: -webkit-linear-gradient(73deg, rgba(69,165,195,1) 10%, rgba(91,183,164,1) 45%, rgba(110,198,137,1) 100%);
	background: linear-gradient(73deg, rgba(69,165,195,1) 10%, rgba(91,183,164,1) 45%, rgba(110,198,137,1) 100%);
	filter    : progid:DXImageTransform.Microsoft.gradient(startColorstr="#45a5c3",endColorstr="#6ec689",GradientType=1);
}

/* #color */
.color--1 {
	color: var(--color-web-1) !important;
}
.color--2 {
	color: var(--color-web-2) !important;
}
.color--3 {
	color: var(--color-web-3) !important;
}
.color--4 {
	color: var(--color-web-4) !important;
}
.color--fff {
	color: var(--fff) !important;
}
.color--000 {
	color: var(--000) !important;
}

/* #tx */
.display--1 {
	font-size: var(--display-1) !important;
}
.display--2 {
	font-size: var(--display-2) !important;
}
.display--3 {
	font-size: var(--display-3) !important;
}
.display--4 {
	font-size: var(--display-4) !important;
}
.display--5 {
	font-size: var(--display-5) !important;
}
.display--6 {
	font-size: var(--display-6) !important;
}


/* #font */
.roboto-thin {
  font-family: "Roboto", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.roboto-light {
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.roboto-regular {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.roboto-medium {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.roboto-bold {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.roboto-black {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.roboto-thin-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.roboto-light-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.roboto-regular-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.roboto-medium-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.roboto-bold-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.roboto-black-italic {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-style: italic;
}


/* weight */
.font--normal {
	font-weight: normal !important;
}
.font--semi-bold {
	font-weight: 600 !important;
}
.font--bold {
	font-weight: bolder !important;
}


/* #separador */
.cont--separador {
	width          : 100%;
	float          : left;
	height         : 1px;
	margin         : 15px auto;
	text-align     : center;
	display        : flex;
	align-items    : center;
	justify-content: center;
}

	.cont--separador div {
		width           : var(--separador-width);
		height          : 1px;
		background-color: var(--separador-bg);
		margin          : auto;
	}
	

/* #espacios */
.cont--sec [class*=cont--espacio-]{
	width: 100%;
	float: left;
}

.espacio--10 {
	height: var(--espacio-10) !important;
}
.espacio--15 {
	height: var(--espacio-15) !important;
}
.espacio--20 {
	height: var(--espacio-20) !important;
}
.espacio--30 {
	height: var(--espacio-30) !important;
}
.espacio--40 {
	height: var(--espacio-40) !important;
}
.espacio--50 {
	height: var(--espacio-50) !important;
}
.espacio--60 {
	height: var(--espacio-60) !important;
}
.espacio--70 {
	height: var(--espacio-70) !important;
}
.espacio--80 {
	height: var(--espacio-80) !important;
}
.espacio--90 {
	height: var(--espacio-90) !important;
}


/* #content */
.content {
	margin : 0;
	padding: 0;
}


/* #section */
.cont--section {
	padding: 60px 0;
}

/* #transition */
.transition {
	transition : var(--transition);
	will-change: auto;
}

/* #radius */
.radius--30 {
	border-radius: var(--radius-30) !important;
}
.radius--20 {
	border-radius: var(--radius-20) !important;
}
.radius--10 {
	border-radius: var(--radius-10) !important;
}
.radius--5 {
	border-radius: var(--radius-5) !important;
}

/* #ratio */
.cont--ratio {
	width           : 100%;
	float           : left;
	position        : relative;
	overflow        : hidden;

	background-color: var(--eee);
}

	.cont--ratio img {
		position  : absolute;
		top       : 0;
		right     : 0;
		bottom    : 0;
		left      : 0;
		width     : 100%;
		height    : 100%;
		object-fit: cover;
		margin    : auto;
	}

.ratio--1x1 {
	padding-top: var(--ratio-1x1);
}
.ratio--4x3 {
	padding-top: var(--ratio-4x3);
}
.ratio--3x4 {
	padding-top: var(--ratio-3x4);
}


/* #efecto zoom */
.efecto--zoom:hover .cont--ratio img,
.efecto--zoom:hover figure img,
.efecto--zoom:hover picture img {
	transform: scale(1.08);
}
/* #efecto gris */
.efecto--gris:hover .cont--ratio img,
.efecto--gris:hover figure img,
.efecto--gris:hover picture img {
	filter: grayscale(100%);
}
/* #efecto bg */
.efecto--bg .cont--ratio:before,
.efecto--bg figure:before,
.efecto--bg picture:before {
	content         : '';
	width           : 100%;
	height          : 100%;
	position        : absolute;
	top             : 0;
	left            : 0;
	z-index         : 10;
	background-color: var(--000);
	mix-blend-mode  : multiply;
	opacity         : .25;
	transition      : var(--transition);
}
.efecto--bg:hover .cont--ratio:before,
.efecto--bg:hover figure:before,
.efecto--bg:hover picture:before {
	opacity: .75;
}


/* #data */
[data-align="left"] {
	text-align: left !important;
}
[data-align="center"] {
	text-align: center !important;
}
[data-align="right"] {
	text-align: right !important;
}

[hidden] {
	display: none;
}
[data-hidden="true"] {
	display: none;
}
[data-hidden="false"] {
	display: flex;
}


/* responsive */
figure.desktop {
	display: block;
}
figure.mobile {
	display: none;
}

 

/* -------------------------------------------

#COMPONENTES 

------------------------------------------- */


/* #logo */
.cont--logo {
	width          : var(--w-logo);
	height         : 100%;
	display        : flex;
	align-items    : center;
	justify-content: flex-start;
	transition     : var(--transition);
}	

	.cont--logo img {
		width     : 100%;
		transition: var(--transition);
	}


/* #menú's' */
.cont--menu {
	height         : 100%;
	display        : flex;
	align-items    : center;
	justify-content: flex-end;
	color          : var(--fff);
	transition     : var(--transition);
}

	.cont--menu a {
		width          : auto;
		display        : flex;
		color          : var(--fff);
		text-decoration: none;
		font-weight    : 400;
		padding        : 10px 20px;
		cursor         : pointer;
		font-size      : calc(var(--size) * var(--display));
	}

	.cont--menu a:last-child {
		padding-right: 0;
	}

	.cont--menu a:hover {
		text-decoration: underline;
	}


	/* #mobile */
	.visible--menu .cont--menu  {
		width           : calc(100% - var(--w-textura));
		height          : calc(100vh - var(--h-header));
		top             : var(--h-header);
		left            : 0;
		background-color:red;
		padding         : 0;
		margin          : 0;
		display         : flex !important;
		flex-direction  : column;
		justify-content : flex-start;
		align-items     : flex-start;
		z-index         : 9999999;
		position        : fixed;
		left            : 0;
		padding-top     : 40px;
		transform       : translateY(0);

		background      : var(--color-web-1)
	}

		.visible--menu .cont--menu .sep {
			display: none;
		}

		.visible--menu .cont--menu a {
			font-size: 1.3rem;
			padding  : 20px 30px;
		}







/* #idioma */
.cont--idioma {
	justify-content: end;
}
.cont--idioma,
.cont--idioma a {
	color: var(--fff);
}

.cont--idioma.desktop {
	display: flex;
}
.cont--idioma.mobile {
	display: none;
}

	.cont--idioma a {
		--radius       : 20px;
		border-radius  : var(--radius);
		padding        : 2px 8px;
		background     : transparent;
		font-size      : .8rem;
		margin-left    : 5px;
		border         : 1px solid var(--fff);
		text-decoration: none;
	}
	.cont--idioma a.activo {
		background-color: var(--fff);
		color           : var(--color-web-3);
	}


/* #modal */
.cont--modal{
	position       : fixed;
	top            : 0;
	left           : 0;
	width          : 100%;
	height         : 100vh;
	display        : flex;
	align-items    : center;
	justify-content: center;
	z-index        : -1;
	opacity        : 0;
	visibility     : hidden;
}

	/* bg */
	.cont--modal:before {
		content         : '';
		width           : 100%;
		height          : 100%;
		position        : absolute;
		top             : 0;
		left            : 0;
		background-color: rgba(var(--000-rgb) / .75);
	}

	/* content */
	.cont--modal .container--modal {
		width     : 100%;
		max-width : 960px;
		height    : auto;
		padding   : 0 30px;
		transform : translateY(-20px);
		margin    : 0;
		opacity   : 0;
		transition: var(--transition);
	}

		.content--modal {
			width           : 100%;
			height          : auto;
			max-height      : inherit;
			background-color: var(--fff);
			padding         : 45px 30px 30px 30px;	
			float           : left;
		}

		/* btn */
		.cont--modal .btn--cerrar {
			position: absolute;
			top     : 15px;
			right   : 15px;
			width   : 30px;
			height  : 30px;
			color   : var(--333);
			font-weight: 300;
		}

	/* visible */
	.visible--modal.cont--modal {
		opacity   : 1;
		visibility: visible;
		z-index   : 998;
	}

		.visible--modal.cont--modal .container--modal {
			opacity  : 1;
			transform: translateY(0);
		}


		body.visible--modal #header,
		body.visible--modal .cont--section.agenda {
			opacity: .5;
		}

	/*
	.cont--main:before,
	.cont--footer:before {
		content    : '';
		width      : 100%;
		height     : 100%;
		position   : absolute;
		top        : 0;
		left       : 0;
		background : var(--000);
		display    : none;
		opacity    : 0;
		transition : all .3s ease;
		will-change: auto;
	}

	body.cont--visible-menu .cont--main:before,
	body.cont--visible-menu .cont--footer:before,
	body.cont--visible-search-pc .cont--main:before,
	body.cont--visible-search-pc .cont--footer:before {
		display: block;
		z-index: 897;
		opacity: .75;
	}
	*/


	/* #busqueda */
	.cont--modal.busqueda {
		height     : calc(100vh - var(--h-header));
		top        : var(--h-header);
		align-items: flex-start;
	}

		.cont--modal.busqueda .container--modal {
			max-width       : inherit;
			padding         : 0;
			background-color: var(--fff);
		}

		.cont--modal.busqueda .content--modal {
			max-width: var(--container-gr);
			margin   : auto;
			float    : none;
			padding  : 45px 30px;
			display  : grid;
		}

		.cont--modal.busqueda .btn--cerrar {
			top  : 0;
			right: 22px;
		}



	/* #reservas */
	.cont--modal.reservas {
		max-width: var(--w-modal-reserva);
		left     : auto;
	}
	.cont--modal.reservas:before {
		background-color: var(--color-web-1);
	}

		.cont--modal.reservas .container--modal {
			padding: 0;
		}

		.cont--modal.reservas .content--modal	{
			border-radius: 15px;
			padding-top  : 15px;
		}

			.cont--modal.reservas .content--modal	header {
				display              : grid;
				grid-template-columns: 1fr 85px;
				align-items          : center;
				justify-content      : space-between;
				padding-bottom       : 8px;
				margin-bottom        : 12px;

				border-bottom: 1px solid #eee;
			}

				.cont--modal.reservas .content--modal	header h6 {
					color: var(--color-web-1);
				}

					.cont--modal.reservas .content--modal	header h6 p {
						margin: 0;
					}

				.cont--modal.reservas .content--modal header .btn--cerrar {
					width          : auto;
					display        : flex;
					align-items    : center;
					grid-column-gap: 5px;
					font-size      : 1rem;
					color          : var(--color-web-1) !important;
					top            : -1px;
					right          : -2px;
				}

		.cont--modal.reservas .btn--cerrar span {
			font-size: 30px;
		}
	 


	/* #menú */
	.cont--modal.menu {
		display    : block;
		position   : fixed;
		top        : 0;
		left       : 0;
		width      : 100%;
		height     : 100vh;
		background : var(--fff);
		z-index    : 998;
		border-left: 1px solid var(--000);

		transform  : translateY(-120vh);
		transition : var(--transition);
	}
	
		/* container */
		.cont--modal.menu .container--gr {
			--container     : 1580px;
			height          : 100vh;
			position        : absolute;
			top             : 0;
			left            : 0;
			right           : 0;
			bottom          : 0;
			margin          : auto;
			padding         : 40px 0;
		}	

		.cont--modal.menu .cont--cont.scrollbar {
			overflow        : auto;
			height          : 100vh;
			padding         : 0 40px;
		}	

		.cont--modal.menu .cont--cont.scrollbar::-webkit-scrollbar {
			width: 5px;
		}
		/* Track */
		.cont--modal.menu .cont--cont.scrollbar::-webkit-scrollbar-track {
			background: var(--eee); 
		}
		/* Handle */
		.cont--modal.menu .cont--cont.scrollbar::-webkit-scrollbar-thumb {
			background: var(--000); 
		}
		/* Handle on hover */
		.cont--modal.menu .cont--cont.scrollbar::-webkit-scrollbar-thumb:hover {
			background: var(--666); 
		}


		/* header */
		.cont--modal.menu header {
			margin-bottom  : 40px;
			display        : flex;
			align-items    : center;
			justify-content: space-between;
		}

			/* img */
			.cont--modal.menu header  img {
				max-height: 60px;
			}

			/* button */
			.cont--modal.menu header span {
				font-size: 3rem;
			}


		/* section */

			/* botonera */
			.cont--botonera-mobile {
				display              : grid;
				grid-template-columns: 40px 1fr;
				align-items          : center;
				justify-content      : space-between;
				grid-column-gap      : 15px;
				margin-bottom        : 30px;
			}
				.cont--botonera-mobile span {
					font-size: 2.8rem;
					color    : var(--000);
				}

			.cont--botonera-mobile div {
				display        : flex;
				align-items    : center;
				justify-content: flex-end;
			}


		/* footer */
		.cont--modal.menu footer {
			padding: 60px 0 0 0;
		}

		/* redes */
		.cont--sec-redes {
			text-align: center;
		}
			.cont--sec-redes .cont--redes {
				margin-top: 30px;
			}

		/* address */
		.cont--modal.menu address {
			margin-top: 40px;
			color     : var(--000);
			text-align: center;
		}

			.cont--modal.menu address * {
				color          : var(--000);
				text-decoration: none;
				text-align     : center;
			}



/* #tx */
.cont--tx {
	width: 100%;
	float: left;
}



	


/* #cabezal */
.cont--cabezal {
	display        : flex;
	align-items    : center;
	justify-content: flex-start;
	margin-bottom  : 60px;
}

	.cont--cabezal h2 {
		font-weight: 300;
	}






/* #tit */
.cont--tit {
	line-height  : 1.35;
	margin-bottom: 20px;
}

	/* colores */
	.cont--tit.color-fff * {
		color: var(--fff) !important;
	}
	.cont--tit.color-000 * {
		color: var(--fff) !important;
	}

	.cont--tit * {
		font-weight: 400;
		line-height: 1;
	}


/* #tags */
.cont--etiqueta {
	padding         : 4px 9px;
	color           : var(--fff);
	font-family     : var(--font-inter);
	font-size       : .77rem;
	width           : auto;
	display         : inline-flex;
	border-radius   : 20px;
	background-color: var(--000); /* color por defecto */
}

	/* ico */
	.cont--etiqueta span.cont--ico {
		font-size  : .8rem;
		transform  : translateY(2px);
		margin-left: 3px;
	}


/* #widget's */
.cont--widget {
	width: 100%;
	float: left;
}

	.cont--widget .cont--widget-title {
		margin-bottom: 20px;
		width        : 100%;
		float        : left;
		text-align   : left;
	}


/* #redes */
.cont--redes {
	width: 100%;
	float: left;
}

	.cont--redes a {
		text-decoration: none !important;
	}

	.cont--redes i {
		color       : var(--000);
		font-size   : 2.25rem;
		margin-right: 12px;
		transition  : var(--transition);
	}

	/* hover */
	.cont--redes a:hover i {
		opacity: .8;
		color  : var(--000);
	}





/* #scrollbar */
::-webkit-scrollbar {
	width: 5px;
}
/* Track */
::-webkit-scrollbar-track {
	background: var(--color-web-1); 
}
/* Handle */
::-webkit-scrollbar-thumb {
	background: var(--fff); 
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: var(--666); 
}





/* #acordeon */
.btn--aco {
	width          : 100%;
	float          : left;
	border-bottom  : 1px solid var(--fff);
	padding        : 8px 0;
	display        : flex;
	align-items    : center;
	justify-content: space-between;
	font-size      : 1.2rem;
	text-align     : left !important;
	color          : var(--fff);
	cursor         : pointer;
}

	.btn--aco:after {
		content    : '+';
		font-size  : 1.4rem;
		font-weight: 500;
	}

	.btn--aco.activo {
		border-bottom: 1px solid transparent;
	}

		.cont--acordeon .btn--aco.activo:after {
			content    : '-';
		}

.content--aco {
	width     : 100%;
	float     : left;
	visibility: hidden;
	opacity   : 0;
	height    : 0;
	transition: all .3s ease;
}

	/* visible */
	.btn--aco.activo + .content--aco {
		visibility   : visible;
		opacity      : 1;
		height       : auto;
		padding      : 15px 0;
		border-bottom: 1px solid var(--fff);
	}


/* #tab's */
.cont--tabs{
	margin: 100px 0 0 0;
	padding: 0
}
		
	/* link */
	.btn--tab{
		width           : auto;
		padding         : 10px 60px;
		opacity         : 1;
		color           : var(--fff);
		background-color: var(--000);
		font-size       : 1.35rem;
		text-align      : center;
		float           : left;
		cursor          : pointer !important;
	}

	.btn--tab.activo,
	.btn--tab:hover{
		background-color          : #fff;
		color                     : var(--5);
		border-bottom-left-radius : 12px;
		border-bottom-right-radius: 12px
	}
	
	/* content */
	.content--tab{
		width     : 100%;
		visibility: hidden;
		opacity   : 0;
		height    : 0;
		padding   : 0;
		margin    : 0;
		float     : left;
	}

	.content--tab.activo{
		opacity   : 1;
		visibility: visible;
		height    : auto;
	}


/* #form's */
form section,
.cont--form section {
	margin-bottom: 0;
}

	
	/* grid */
	.cont--form .d--grid {
		width: 100%;
		float: left;
	}

	/* tx */
	.cont--form * {
		font-family: var(--font);
	}

	form input,
	form textarea,
	form select,
	.cont--form input,
	.cont--form textarea,
	.cont--form select {
		border          : 1px solid var(--ddd);
		background-color: var(--color-web-1);
		border-radius   : var(--radius);
		width           : 100%;
		height          : var(--h-btn);
		padding         : 5px 10px;
		font-family     : var(--font);
		margin-bottom   : 15px;
		font-size       : .85rem;
		color           : var(--fff);
	}
	form textarea,
	.cont--form textarea {
		height       : 130px !important;
		border-radius: var(--radius) !important;
		padding      : 12px !important;
	}

	form .cont--input {
		width: 100%;
		float: left;
	}

	/* spam */
	form .v {
		display: none;
	}

	form input[type="file"] {
		line-height: 1.7;
	}

	form select,
	.cont--form select {
		color: var(--fff) !important;
	}

	form input.check--custom,
	form input.radio--custom {
		display    : none;
	}



	form label.check--custom,
	form label.radio--custom {
		width                : auto;
		display              : grid;
		grid-template-columns: 20px 1fr;
		grid-column-gap      : 5px;
		align-items          : center;
		float                : left;
		cursor               : pointer;
		margin-bottom        : 15px;
	}

		form label.check--custom i {
			width           : 20px;
			height          : 20px;
			border          : 1px solid var(--fff);
			border-radius   : 0;
			background-color: var(--fff);
		}

		form label.check--custom i:before { 
			content         : '';
			width           : 10px;
			height          : 10px;
			border-radius   : 0;
			background-color: var(--color-web-1);
			position        : absolute;
			top             : 0;
			right           : 0;
			bottom          : 0; 
			left            : 0;
			margin          : auto; 
			opacity         : 0;
			transition      : var(--transition);
		}

		form label.radio--custom i {
			width           : 20px;
			height          : 20px;
			border          : 1px solid var(--fff);
			border-radius   : 50%;
			background-color: var(--fff);
		}

		form label.radio--custom i:before { 
			content         : '';
			width           : 10px;
			height          : 10px;
			border-radius   : 50%;
			background-color: var(--color-web-1);
			position        : absolute;
			top             : 0;
			right           : 0;
			bottom          : 0; 
			left            : 0;
			margin          : auto; 
			opacity         : 0;
			transition      : var(--transition);
		}



	form input.check--custom:checked + label i:before,
	form input.radio--custom:checked + label i:before {
		opacity: 1;
	}
	form input.check--custom:checked + label span,
	form input.radio--custom:checked + label span {
		font-weight: 600;
	}

	::placeholder {
		color      : var(--eee) !important;
		font-family: var(--font);
		font-size  : .8rem !important;
	}

	.disabled {
		opacity: .8;
		color: #999 !important;
	}
 
	.invalid {
		border: 1px solid red !important;
	}


	/* focus */
	input:focus,
	textarea:focus,
	select:focus {
		outline   : none;
		box-shadow: none;
	}
	input:focus:invalid, 
	textarea:focus:invalid{
		border          : 1px solid var(--eee) !important;
		outline         : none;
		box-shadow      : none;
		background-color: rgba(255, 255, 255, .25)
	}

	/* autocompletar */
	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: var(--fff) !important;
		-webkit-box-shadow     : 0 0 0px 1000px transparent inset !important;
		transition             : background-color 2000s ease-in-out 0s !important;
	}

	/* submit */
	.cont--submit {
		margin-top     : 0;
		display        : flex;
		align-items    : center;
		justify-content: center;
	}

	.pg--contacto .cont--submit button {
		max-width: 200px;
	}

		.cont--submit p {
			display    : flex;
			align-items: center;
		}

		.cont--submit input[type="submit"],
		.cont--submit button,
		.btn--submit,
		button[type="submit"]{
			margin-bottom   : 10px !important;
			margin-top      : 10px;
			background-color: var(--fff);
			border-width    : 1px;
			border-style    : solid;
			border-color    : var(--fff) !important;
			width           : 100%;
			max-width       : 220px;
			float           : left;
			border-radius   : var(--radius);
			--h-btn         : 50px;
			height          : var(--h-btn);
			text-align      : center;
			color           : var(--color-web-1);
			font-size       : 1rem;
			font-weight     : 600;
			text-transform  : uppercase;
			transition      : var(--transition);
		}
		.cont--submit input[type="submit"]:hover,
		.cont--submit button:hover,
		.btn--submit:hover,
		button[type="submit"]:hover {
			background-color: var(--color-web-1);
			color           : var(--fff) !important;
		}


	:disabled {
		opacity: .3;
	}


	/* #lugar */
	#form--lugar {
		padding      : 0 0 30px 0;
		border-bottom: 1px solid rgba(255, 255, 255, .2);
		margin-bottom: 15px; 
	}

		#form--lugar > .d--grid {
			/*grid-template-columns: 75px 155px 295px;*/
			grid-template-columns: repeat(2, 1fr);
			justify-content      : flex-start;
			grid-column-gap      : 25px;
		}

			#form--lugar > .d--grid > div { 
				display        : flex;
				align-items    : center;
				justify-content: flex-start;
			}

			#form--lugar label span {
				font-size: .85rem;
			}

			.paso--1 form div > label {
				display: none;
			}

			.paso--1 form h5 {
				font-size  : var(--size-6);
				font-weight: 300;
				color      : rgba(var(--fff-rgb) / .85);
			}

			.paso--1 form section.d--grid + h5 {
				margin-top: 10px;
				width     : 100%;
				float     : left;
			}

	/* busqueda */
	.cont--modal.busqueda form {
		display              : grid;
		grid-template-columns: 1fr 80px;
		grid-column-gap      : 10px;
		align-items          : center;
		margin-bottom        : 0;
	}

	.cont--modal.busqueda form input {
		background-color: var(--eee);
		border-radius   : 1px solid var(--color-web-1);
		height          : 45px;
		margin-bottom   : 0;
		border-radius   : var(--radius);
		border          : 1px solid var(--color-web-1);
	}

	.cont--modal.busqueda form button {
		height: 45px;
	}



	/* #form certificacion */
	.form--encuesta > section {
		position     : relative;
		margin-bottom: 50px;
		border-bottom: 1px solid rgba(255, 255, 255, .20);
		width        : auto;
		clear        : both;
		padding-right: 40px;
	}
	.form--encuesta > section:nth-of-type(8) {
		border-bottom: 0;

	}

		/* tx */
		.form--encuesta h6 {
			margin-bottom: 18px;
			line-height  : 1.25;
		}
		.form--encuesta h6 small {
			font-weight: 400;
		}

		/* form */
		.form--encuesta .cont--input {
			width: auto;
			margin-right: 40px;
		}

		.form--encuesta label {
			font-size: .95rem;
		}

		.form--encuesta section.cont--submit {
			border-bottom  : 0 !important;
			width          : 100%;
			text-align     : left;
			justify-content: flex-start;
		}

			.form--encuesta section.cont--submit button {
				float: left;
			}


		/* Estilo para el contenedor del mensaje de error */
		.form--encuesta .cont--msj.error {
				display      : none;
				width        : auto;
				padding      : 3px 5px !important;
				margin-bottom: 10px !important;
		}

		/* Estilo que se aplica cuando JS detecta un error en el grupo */
		.form--encuesta .radio-group.error .cont--msj.error {
				display      : flex;
		}






	/* #msj's */
	.cont--msj {
		width          : 100%;
		float          : left;
		padding        : 10px;
		font-size      : .8rem;
		font-family    : var(--font);
		border-width   : 1px;
		border-style   : solid;
		margin         : 5px 0;
		border-radius  : 3px;
		display        : none;
		align-items    : center;
		grid-column-gap: 10px;
	}

	.cont--msj.reserva {
		margin-bottom: 40px;
	}

	h1.cont--msj {
		font-size: var(--size-1);
	}
	h2.cont--msj {
		font-size: var(--size-2);
	}
	h3.cont--msj {
		font-size: var(--size-3);
	}
	h4.cont--msj {
		font-size: var(--size-4);
	}
	h5.cont--msj {
		font-size: var(--size-5);
	}
	h6.cont--msj {
		font-size: var(--size-6);
	}

	/* error */
	.cont--msj.error {
		display         : flex;
		border-color    : var(--msj-error-tx);
		background-color: var(--msj-error-bg);
		color           : var(--msj-error-tx);
	}

	/* ok */
	.cont--msj.ok {
		display         : flex;
		border-color    : var(--msj-ok-tx);
		background-color: var(--msj-ok-bg);
		color           : var(--msj-ok-tx);
	}
	/* info*/
	.cont--msj.info {
		display         : flex;
		border-color    : var(--msj-info-tx);
		background-color: var(--msj-info-bg);
		color           : var(--msj-info-tx);
	}




/* #parallax */
[data-parallax] {
	background-repeat    : no-repeat;
	background-position  : center;
	background-size      : cover;
	background-attachment: fixed;
}




/* #loading */
#loading {
	position        : absolute;
	top             : 0;
	left            : 0;
	width           : 100%;
	height          : 100%;
	background-color: rgba(255 255 255 / .4);
	z-index         : 99999999999;
	display         : none;
	align-items     : center;
	justify-content : center;
	transition      : var(--transition);
}
	#loading .lds-ring {
		display : flex;
		position: relative;
		width   : 100%;
		height  : 100%;
	}
	#loading .lds-ring div {
		box-sizing   : border-box;
		display      : block;
		/* position     : absolute; */
		width        : 64px;
		height       : 64px;
		margin       : 100px auto;
		border       : 8px solid var(--000);
		border-radius: 50%;
		animation    : lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
		border-color : var(--000) transparent transparent transparent;
	}
	#loading .lds-ring div:nth-child(1) {
		animation-delay: -0.45s;
	}
	#loading .lds-ring div:nth-child(2) {
		animation-delay: -0.3s;
	}
	#loading .lds-ring div:nth-child(3) {
		animation-delay: -0.15s;
	}
	@keyframes lds-ring {
		0% {
			transform: rotate(0deg);
		}
		100% {
			transform: rotate(360deg);
		}
	}

	/* activo */
	#loading.activo {
		display: flex;
	}




/* #mapa */
.cont--mapa {
	height     : 0;
	padding-top: 30%;
}

	.cont--mapa .mapa {
		width   : 100%;
		height  : 100%;
		position: absolute;
		top     : 0;
		left    : 0;
	}

		

/* #table 
table {
	border: none;
}

	table td,
	table th {
		border : none;
		padding: 5px 8px;
	}

	table th,
	table tr:nth-child(1) td {
		font-weight: 600 !important;
	}

	table tr:nth-child(even) td {
		background-color: var(--eee);
	}

*/



/* #slide (OWL) */
.cont--slide .owl-stage {
	padding-left: 0 !important;
}

	/* item */
	.cont--slide a {
		width: 100%;
		float: left;
	}

		/* img */
		.cont--slide .cont--ratio {
			--ratio      : 30%;
			padding-top  : var(--ratio);
			height       : 0;
			margin-bottom: 15px;
		}

		/* time */
		.cont--slide time {
			font-size    : .8rem;
			margin-bottom: 5px;
			color        : var(--000);
		}



	/* nav */
	.cont--slide .cont--nav-slide {
		float        : none;
		text-align   : right;
		margin       : 50px 0 0 0;
		padding-right: 115px;
	}

		.cont--slide nav span {
			font-size: var(--size-1);
			cursor   : pointer;
		}

	/* dots */
	.cont--slide .owl-dots {
		width          : 100%;
		float          : left;
		text-align     : center;
		display        : flex;
		align-items    : center;
		justify-content: center;
	}

		.cont--slide .owl-dots .owl-dot {
			width          : 16px;
			height         : 16px;
			border-radius  : 50%;
			border         : 1px solid var(--fff);
			display        : flex;
			align-items    : center;
			justify-content: center;
			margin         : 0 3px;
		}
		.cont--slide .owl-dots .owl-dot.active {
			border         : 1px solid var(--000);
		}

			.cont--slide .owl-dots .owl-dot span {
				width        : 6px;
				height       : 6px;
				position     : absolute;
				top          : 0;
				right        : 0;
				bottom       : 0;
				left         : 0;
				margin       : auto;
				background   : var(--000);
				border-radius: 50%;
			}




/* #galeria */
#galeria {
	display              : grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap             : 15px;
}

.cont--slide.galeria .cont--ratio {
	--ratio      : 75%;
}




/* #relacionados */
.cont--relacionados {
	margin-top      : 60px;
	padding-top     : 30px;
	width           : 100%;
	float           : left;
	background-color: var(--fff);
	z-index         : 480;
}

	.cont--relacionados h4 {
		margin-bottom: 60px;
	}



/* #fbx */
.cont--fbx {
	display: none;
}

[data-fancybox] {
	width      : auto;
	font-family: "Font Awesome 6 Free";
	cursor     : pointer;
}





/* #scroll down */
.scroll--down {
	
}

.scroll--up {
	
}



/* #iconos */
.cont--iconos {
	padding        : 0 180px;
	margin-top     : 30px;
	display        : grid;
	grid-column-gap: 15px;
}

	.cont--iconos img {
		width: 100px;
	}





/* #calendario */
.cont--calendar {
	padding: 0;
	display: flex;
    flex-direction: column;
}

	.cont--calendar *,
	.dncalendar-body table td.holiday {
		color: var(--fff) !important;
	}

	.cont--calendar table {
		width: 100%;
	}

	.cont--calendar table th,
	.cont--calendar table td {
		background-color: transparent !important;
		border          : none !important;
		color           : var(--fff) !important;
		font-size       : 1rem !important;
	}

	.cont--calendar table tbody td {
		background-color: #0185ba !important;
	}

	.dncalendar-body tbody td .entry {
		width          : 55px;
		height         : 55px;
		padding        : 3px;
		margin         : 5px;
		display        : inline-flex;
		align-items    : center;
		justify-content: center;
		transition     : var(--transition);
	}

		.dncalendar-body tbody td .entry:after {
			display: none;
		}

	/* hoy */
	.dncalendar-body table td.today-date .entry { 
		background-color: var(--fff) !important;
		border-radius   : 50%;
		color           : var(--color-web-1) !important;
		font-weight     : 600;
	}

	/* día con reserva */
	.dncalendar-body table td.calendarClick .entry { 
		background-color: transparent !important;
		border-radius   : 50%;
		border          : 5px solid rgba(178, 232, 192, 1);
		color           : var(--fff) !important;
		font-weight     : 600;
	}

	.dncalendar-body table td.today-date.calendarClick .entry { 
		background-color: var(--fff) !important;
		color           : var(--color-web-1) !important;
	}

	.dncalendar-body table td.calendarClick .entry:hover,
	.dncalendar-body table td.today-date.calendarClick .entry:hover {
		border: 5px solid var(--fff) !important;
	} 
	
	/* pasado */
	.dncalendar-body tbody td:not(.calendarClick) {
		opacity: .35;
		cursor : default;
	}


	/* tit */
	.dncalendar-header h2 {
		top        : 5px;
		font-size  : 1.7rem;
		font-weight: 400;
	}

	/* nav's */
	.dncalendar-header .dncalendar-links {
		height: 35px;
		top: 0;
	}
	.dncalendar-header .dncalendar-links .dncalendar-prev-month {
		background         : url("../images/prev-1hXHu8U.svg");
		background-repeat  : no-repeat;
		background-position: center;
	}
	.dncalendar-header .dncalendar-links .dncalendar-next-month {
		background         : url("../images/next-K4YCxj-.svg");
		background-repeat  : no-repeat;
		background-position: center;
	}

	/* body */
	.dncalendar-body {
		width     : 100%;
		float     : left;
		margin-top: 30px;
	}

	.cont--calendar.unavailable .panel-unavailable {
		position: absolute;
		width: 100%;
		height: 100%;
		z-index: 99;
		cursor: not-allowed;
	}



/* #reservas */
.cont--reservas {
	max-height   : 68vh;
	overflow     : auto;
	padding-right: 10px;
}

	/* grid */
	.cont--reservas .d--grid {
		grid-column-gap: 30px;
	}
	
	/* scrollbar */
	.cont--reservas::-webkit-scrollbar {
		width: 4px;
	}
	/* Track */
	.cont--reservas::-webkit-scrollbar-track {
		background: var(--eee); 
	}
	/* Handle */
	.cont--reservas::-webkit-scrollbar-thumb {
		background: var(--color-web-1); 
	}
	/* Handle on hover */
	.cont--reservas::-webkit-scrollbar-thumb:hover {
		background: var(--666); 
	}

	/* tit */
	.cont--reservas p {
		color : var(--color-web-1);
		margin: 0 0 14px 0
	}

	/* btn */
	.cont--reservas button {
		width                : 100%;
		height               : 40px;
		float                : left;
		background-color     : var(--fff); 
		border               : 1px solid var(--color-web-1);
		border-radius        : 30px;
		padding              : 5px 8px;
		color                : var(--color-web-1);
		display              : grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap      : 10px;
		align-items          : center;
		justify-items        : end;
		font-weight          : 500;
		font-size            : 1rem;
		margin-bottom        : 15px;
		transition           : var(--transition);
	}


		.cont--reservas button time,
		.cont--reservas button span {
			height         : 100%;
			display        : flex;
			align-items    : center;
			grid-column-gap: 5px;
		}

		.cont--reservas button p {
			margin: 0
		}

		/* time */
		.cont--reservas button time {
			font-size: 1.15rem;
		}

			.cont--reservas button time span {
				font-size: 26px;
			}
			.cont--reservas button time:after {
				content         : '';
				width           : 1px;
				height          : 100%;
				position        : absolute;
				top             : 0;
				right           : 0;
				background-color: rgba(var(--color-web-1-rgb) / 30%);
				transform       : translateX(0) translateY(-1px);
			}


		/* hover - activo */
		.cont--reservas button:hover,
		.cont--reservas button.activo {
			background-color: var(--color-web-1);
			color           : var(--fff) !important;
		}
		.cont--reservas button:hover time:after,
		.cont--reservas button.activo time:after {
			background-color: rgba(255 255 255 / 30%)
		}
		.cont--reservas button:hover p,
		.cont--reservas button.activo p{
			color           : var(--fff) !important;
		}








/* -------------------------------------------

#LAYOUT'S 

------------------------------------------- */


/* #PAGE */
.cont--page {
	width         : 100%;
	min-height    : 100%;
}

	.cont--page:after {
		content            : '';
		width              : var(--w-textura);
		height             : 100vh;
		position           : fixed;
		top                : 0;
		right              : 0;
		background-position: top right;
		background-repeat  : repeat-y;
		background-image   : url("../images/bg-textura-FpOGPe6.png");
	}



/* #HEADER */
.cont--header {
	top             : 0;
	left            : 0;
	height          : var(--h-header);
	padding         : 0;
	background-color: transparent;
	border-bottom   : 1px solid rgba(255, 255, 255, .2);
	display         : flex;
	align-items     : center;
	z-index         : 998;
}

	/* container */
	.cont--header .container--gr {
		margin: 0 auto;
		height: 100%;
	}

		/* grid */
		.cont--header .container--gr > .d--grid {
			grid-template-columns: var(--w-col-header-left) var(--w-col-header-right);
			grid-column-gap      : 90px;
			align-items          : center;
			height               : 100%;
		}

			/* col */
			.cont--header .container--gr > .d--grid > div {
				height     : 100%;
				display    : flex;
				align-items: center;
			}

			/* #redes */
			.cont--header .cont--redes {
				display        : flex;
				align-items    : center;
				justify-content: flex-end;
			}

				.cont--header .cont--redes i {
					font-size: 1rem;
				}
	

	



/* #MAIN */
.cont--main {
	z-index    : 800;
}

	
	/* CONTENT'S (single - page) */
	.cont--content {
		width           : 100%;
		float           : left;
		padding-bottom  : 0;
		background-color: var(--fff);
	}

		/* cont */
		.cont--content .content {
			width: 100%;
			float: left;
		}

		/* meta */
		.cont--meta {
			width : 100%;
			float : left;
			margin: 10px 0 15px 0;
		}

		.cont--meta span {
			font-size: 0;
		}

		.cont--meta a {
			color     : var(--000);
			font-size : .9rem;
		}


		/* extracto */
		.cont--extracto {
			margin-bottom: 25px !important;
		}
			.cont--extracto,
			.cont--extracto * {
				font-weight: 700 !important;
				font-size  : 1.188rem !important;
			}




	/* SIDEBAR */
	.cont--sidebar {
		width        : var(--w-sidebar);
		padding      : 0;
		margin-bottom: 15px;
		z-index      : 450;
	}		

		/* tit */
		.cont--sidebar header {
			margin-bottom: 40px;
		}

			.cont--sidebar header h5 {
				text-transform       : uppercase;
				font-weight          : bold;
				width                : 100%;
				float                : left;
				color                : var(--fff);
				display              : grid;
				grid-template-columns: 30px 1fr;
				align-items          : center;
				grid-column-gap      : 10px;
			}

			.cont--sidebar header h5 span {
				font-size: 2rem;
			}

		.cont--sidebar p {
			width        : 100%;
			float        : left;
			font-size    : 1.05rem;
			margin       : 0 0 8px 0;
			padding      : 0 0 8px 0;
			border-bottom: 1px solid rgba(255 255 255 / 15%);
		}

		/* separador */
		.cont--sidebar .cont--sep {
			width : 100%;
			float : left;
			margin: 15px 0;
		}


	/* ERROR 404 */
	.cont--main.error-404 h3 {
		width     : 100%;
		float     : left;
		text-align: center;
		padding   : 100px 0;
	}


	/* SECTION'a */


		/* #agenda */
		.cont--section.agenda [class*=container--] > .d--grid {
			grid-template-columns: 1fr var(--w-modal-reserva);
			grid-column-gap      : 90px;
		}

		.cont--section.agenda [class*=container--] > .d--grid > div {
			
		}

			.cont--section.agenda figure {
				margin-top: 30px;
			}

				.cont--section.agenda figure img {
					max-height: 59px;
				}

			.cont--section.agenda article p {
				font-size: calc(var(--size) * 1.1);
			}


		/* #reserva */
		.cont--section.reserva .container--gr > .d--grid {
			grid-template-columns: 300px 1fr;
			grid-column-gap      : 60px;
		}

		.pg-confirmar-reserva main .container--gr {

		}

		.pg-confirmar-reserva .cont--section.reserva .container--gr > .d--grid {
			grid-template-columns: 1fr;
		}

			.pg-confirmar-reserva .cont--section.reserva .container--gr > .d--grid .cont--sidebar section {
				/*display: grid;
				grid-column-gap: 60px;
				grid-template-columns: repeat(2, 1fr);*/
			}


		.sec--resumen {
			grid-column-gap: 50px;
		}

			.sec--resumen p {
				line-height: 1.4;
			}

			.sec--resumen h5 {
				font-weight   : 300;
				color         : rgba(var(--fff-rgb) / .85 );
				margin-top    : 0;
				width         : 100%;
				float         : left;
				text-transform: inherit;
				line-height   : 1.25;
				font-size     : var(--size-6);
				margin-bottom : 10px;
			}
			.sec--resumen p + h5 {
				margin-top: 20px !important;
			}

			.sec--resumen p b {
				font-size  : 88% !important;
				color      : rgba(var(--fff-rgb) / .8 );
				font-weight: 300 !important;
			}

			.sec--resumen div:before {
				content         : '';
				width           : 1px;
				height          : 100%;
				background-color: #fff;
				position        : absolute;
				top             : 0;
				left            : -20px;
			}
			.sec--resumen div:nth-of-type(1):before {
				display: none;
			}

			.sec--resumen div p:last-child {
				border-bottom: 0 !important;
			}
	



/* #FOOTER */
.cont--footer {
	padding         : 20px 0;
	z-index         : 600;
	background-color: transparent;
}

	.cont--footer * {
		text-align   : center;
		color        : var(--fff);
		margin-bottom: 0;
	}






/* -------------------------------------------

#ACCESIBILIDAD

------------------------------------------- */



[tabindex="-1"]:focus {
	outline: 0;
}


.release-version {
    position: fixed;
    top: 0;
    width: 100%;
    padding: 5px 10px;
    background-color: red;
    z-index: 9999;
    text-align: center;
    color: white;
}