/* CSS GENERAL */

:root{	
	
	--color_blanco: rgba(255, 255, 255, 1);
	--color_blanco90: rgba(255, 255, 255, 0.9);
	--color_blanco75: rgba(255, 255, 255, 0.75);
	--color_blanco50: rgba(255, 255, 255, 0.5);
	--color_blanco25: rgba(255, 255, 255, 0.25);
	--color_blanco5: rgba(255, 255, 255, 0.05);
	--color_blanco0: rgba(255, 255, 255, 0);
	
	--color_negro: rgba(0, 0, 0, 1);
	--color_negro90: rgba(0, 0, 0, 0.9);
	--color_negro75: rgba(0, 0, 0, 0.75);
	--color_negro50: rgba(0, 0, 0, 0.5);
	--color_negro25: rgba(0, 0, 0, 0.25);
	--color_negro5: rgba(0, 0, 0, 0.05);
	--color_negro0: rgba(0, 0, 0, 0);
	
	--color_rojo: rgba(255, 0, 0, 0.9);
	--color_verde: rgba(0, 178, 0, 0.9);
	--color_gris: rgba(123, 123, 123, 1);
	--color_gris50: rgba(123, 123, 123, 0.5);
	--color_transparente: rgba(0, 0, 0, 0);
	
}

body{
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*, *:after, *:before{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

a,
a:link,
a:active,
a:visited{ 
	text-decoration:none; 
	cursor:pointer;
}

img{
	display: block;
	max-width: 100%;
	max-height: 100%;
}

div{
	opacity: 1;	
}

a{
	color: var(--color_principal);
}

a:hover, .selected{
	color: var(--color_contraste);
}

/* GLOBAL */

.clear, .clear1, .clear2, .clear3, .clear4, .clear5{
	position: relative;
	clear: both;
	width: 100%;
}

.clear1{	
	height: 1em;
}

.clear2{	
	height: 2em;
}

.clear3{	
	height: 3em;
}

.clear4{	
	height: 4em;
}

.clear5{	
	height: 5em;
}

.tabla{
	position:relative;
	display: table;
	width: 100%;
	border-collapse:collapse;
}

.fila{
	display: table-row;
	height: 100%;
}

.celda{
	float:none !important;
	display: table-cell !important;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}

.left{
	text-align: left;
}

.right{
	text-align: right;
}

.center{
	text-align: center;
}

.top{
	vertical-align: top;
}

.bottom{
	vertical-align: bottom;
}

.botones{
	position:relative;
	border: 0px;
	cursor: pointer;	
	outline: 0;     
  	outline-style:none;     
  	outline-width:0;
	background-color: transparent;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center center;
}

.transicion{
	-webkit-transition: all 0.3s ease-in-out !important;
	-moz-transition: all 0.3s ease-in-out !important;
	-ms-transition: all 0.3s ease-in-out !important;
	-o-transition: all 0.3s ease-in-out !important;
	transition: all 0.3s ease-in-out !important;
}

.transicion_lenta{
	-webkit-transition: all 0.6s ease-in-out !important;
	-moz-transition: all 0.6s ease-in-out !important;
	-ms-transition: all 0.6s ease-in-out !important;
	-o-transition: all 0.6s ease-in-out !important;
	transition: all 0.6s ease-in-out !important;
}

.slide{
	position:relative;
	display: inline-block;
}

.slide:after{
  content: '';
  width: 0; 
  height: 1px;
  display: block;
  right: 0;
  /*background: var(--color_principal);*/
  background: var(--color_contraste);
  transition: width .3s linear;
  -webkit-transition: width .3s linear;
}

.slide:hover:after, .selected:after{
  width: 100%;
  left: 0;
}

.slide:hover, .slide.selected{
	color: inherit;
}

.flex{
	display: flex;
}

.inline-flex{
	display: inline-flex;
}

.flex.reverse{
	flex-direction: row-reverse;
}

.flex.column{
	flex-direction: column;
}

.flex.column.reverse{
	flex-direction: column-reverse;
}

.flex.wrap{
	flex-wrap: wrap;
}

.fancybox-close{
	padding-bottom: 0px !important;
}

.preload{
	display: none;
}

.no_display{
	display: none !important;
}

#go_top{
	position:fixed;	
	z-index: 99;
	display: none;
}

#go_top .go_top{
	position: relative;
	display: block;	
	background-color: transparent;
	background-image: url(../img/go_top.svg);
	background-position: center center;
	background-size: 100% 100%;	
	cursor: pointer;
	opacity: 0.3;
	filter: grayscale(100%);
}	

#go_top .go_top:hover{
	opacity: 0.8;
	filter: none;
}	

.contenidos{
	position: relative;	
   margin:auto;
}

.titulo{
	position:relative;
	clear: both;
	display: inline-block;	
	font-style: normal;
}

h1, h2{
	font-weight: inherit;
	font-size: inherit;
}

.rojo{
	color: var(--color_rojo);
}

.verde{
	color: var(--color_verde);
}

.contraste{
	color: var(--color_contraste) !important;
}

.negro{
	color: var(--color_negro) !important;
}

.blanco{
	color: var(--color_blanco)!important;
}

.cursiva{
	font-style: italic;
}

.fancybox-skin{
	background: var(--color_fondo);
}

.contenedor_base{
	min-height: 35em;
}

.square {
  position: relative;
}

.square:before {
	content: "";
	display: block;
	padding-top: 100%;
}

.square > * {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.subrayado{
	border-bottom: 1px solid;
}

.linea{
	border-top: 1px solid;
}

.oscuro{
	color: var(--color_negro) !important;
}

.eslogan_sobreimpreso.transparente{
	opacity: 0;
	z-index: 95;
}

/* SLIDERS */

.slider_general{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	clear: both;
	width: 100%;
}

.slider_general .slick-track{
	display: flex !important;	
	justify-content: center;
	align-items: center;
}

.slider_general.full_cover .slick-track, .slider_general.full_height .slick-track{
	align-items: stretch;
}

.slider_general .slider_elemento{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;	
}

.slider_general.full_cover .slider_elemento, .slider_general.full_height .slider_elemento{
	height: inherit !important;	
}

.slider_general.full_cover .slider_elemento *, .slider_general.full_height .slider_elemento > *{
	width: 100%;
	height: 100%;
}

.slider_general.full_cover .slider_elemento img, .slider_general.full_cover .slider_elemento video{
	width: auto;
	height: auto;
}

.slider_general .slider_elemento .slider_elemento_contenido{
	position: relative;
	display: flex;
   height: 100%;
	justify-content: center;
   align-items: center;
}

.slider_general.full_cover .slider_elemento .slider_elemento_contenido{
	overflow: hidden;
}

.slider_general .slider_elemento .slider_elemento_contenido img, .slider_general .slider_elemento .slider_elemento_contenido video{
	display: block;	
	max-width:100%;
	max-height:100%;
}

.slider_general .slider_elemento .slider_elemento_contenido video{
	object-fit: contain;	
}

.slider_general.full_cover .slider_elemento .slider_elemento_contenido img:not(.fixer), .slider_general.full_cover .slider_elemento .slider_elemento_contenido video:not(.fixer){
	position: absolute;
	display: block;	
	width:100%;
	height:100%;
	object-fit: cover;	
}

.slider_general.full_cover .slider_elemento .slider_elemento_contenido .fixer{
	opacity: 0;
	z-index: -1;
}

.slider_general:not(.full_cover) .slider_elemento .slider_elemento_contenido .fixer{
	display: none;
}

.slider_general .slick-arrow {
	flex-shrink: 0;
}

.slider_general *:focus, .slider_general .slider_elemento a:focus {
	outline: none;
}

/* FIN SLIDERS */

/* ELEMENTOS CON OVERLAY */

.overlay{
	display: block;
	position:relative;
	background-color: transparent;
}

.overlay a, .overlay a:hover{
	color: inherit;	
}

.overlay .overlay_contenido{
	position: relative;
	/*width: 100%;*/
	height: 100%;
	overflow: hidden;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center;
	background-size: cover;
	-webkit-transition: all 0.3s ease-in-out !important;
	-moz-transition: all 0.3s ease-in-out !important;
	-ms-transition: all 0.3s ease-in-out !important;
	-o-transition: all 0.3s ease-in-out !important;
	transition: all 0.3s ease-in-out !important;
}

.overlay_contenido .overlay_img, .overlay_contenido .overlay_video{	
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.overlay_contenido .overlay_video video{
	display: block;
	object-fit: contain;
	/*object-fit: fill;*/
	/*object-fit: cover;*/
	width:100%;
	height:100%;
}

.overlay .capa_overlay{
	position:absolute;
	width: 100%;
	height: 100%;
	top: -100%;
	left: 0;
	z-index: 98;
	-webkit-transition: all 0.3s ease-in-out !important;
	-moz-transition: all 0.3s ease-in-out !important;
	-ms-transition: all 0.3s ease-in-out !important;
	-o-transition: all 0.3s ease-in-out !important;
	transition: all 0.3s ease-in-out !important;
}

.overlay .capa_overlay1{
	top: -100%;
	left: 0;
}

.overlay .capa_overlay2{
	top: 100%;
	left: 0;
}

.overlay .capa_overlay3{
	top: 0;
	left: 100%;
}

.overlay .capa_overlay4{
	top: 0;
	left: -100%;
}

.overlay:hover .capa_overlay{
	top: 0;
	left: 0;
}

.overlay .contenido_capa_overlay{	
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	width: 100%;
	height: 100%;
}

.overlay .contenido_capa_overlay *, .slider_general.full_cover .slider_elemento.overlay .contenido_capa_overlay *{
	width: auto;
	height: auto;
}

/* FIN ELEMENTOS CON OVERLAY */



/* ZONA PANTALLA INICIAL */

.pantalla_inicial{
	position: relative;
	clear: both;
	width: 100%;
	display: flex;
	flex-flow: column;
	flex-wrap: nowrap;
}

.pantalla_inicial.fixedHeight{
	height: 100%;
	overflow: hidden;
}

.pantalla_inicial .contenido_inicial{
	position: relative;
	clear: both;
	display: block;
	width: 100%;
	flex-grow: 1;
	margin: 0;
	padding: 0;
	height: 100%;
}

/* FIN ZONA PANTALLA INICIAL */

/* FIN GLOBAL */



/* RESPONSIVE */

@media screen and (max-width: 1024px) {

	
	.pantalla_inicial{
		/* height: unset !important; */ /* Si está comentado, Banner 100% height siempre */
		/* overflow: visible; */
	}
	
}

@media screen and (max-width: 640px) {
	
	.page{
		font-size: 0.9em;
	}
	
}


/*
@media screen and (max-height: 450px) {

	.pantalla_inicial {
    	height: calc(100% - 3.25em);
    	overflow: auto; 
    }
    
}
*/

