/*==========================================================================
  ADD BY MANU CONFIGURACION DE COLORES DE UTILS
  ==========================================================================*/
:root{
	/*LOADING*/
	/*--loading_background_color: #fff;*/
	/*--loading_background_color: #6CC24A;verde*/
	--loading_background_color: #6297d1;/*azul*/
	
	/*MODAL*/
	--modal_overlay_background:rgba(255,255,255,0.65); /*rgba(55, 58, 71, 0.9);*/
	
	--modal_content_background:#fff; /*#6CC24A;*/
	--modal_content_border:#6297d1;
	
	--modal_content_title_color:#6297d1;/*#ffffff;*/
	--modal_content_title_font_family: Arial, sans-serif; /*"Cormorant Garamond", "Winston-Bold";*/
	
	--modal_button_color: #fff;
	--modal_button_background_color: #6297d1; /*#6297d1;*/
	--modal_button_border_color: #6297d1; /*#6297d1;*/
	--modal_button_font_family:Arial, sans-serif; /*"Winston-Bold";*/
	
	--modal_button_hover_color: #fff;
	--modal_button_hover_background_color: #f43535; /*#6297d1;*/
	--modal_button_hover_border_color: #f43535; /*#6297d1;*/
	
	/*COLORES DE LOS CAMPOS INVALIDOS DE UN FORMULARIO*/
	--form_invalid_field_border_color: #f00;/*#909;*/
	--form_invalid_field_background_color: #FFD9D9;
	/*COLORES DE LOS CAMPOS VALIDOS DE UN FORMULARIO*/
	--form_valid_field_border_color: #0f0; /*#660;*/
	--form_valid_field_background_color: #D9FFD9;
	
	/*COOKIES*/
	--cookies_modal_font_family:Roboto, sans-serif;
	
	--cookies_modal_button_color: white;
	--cookies_modal_button_border_color: #6297d1;
	--cookies_modal_button_background_color: #6297d1;
	
	--cookies_modal_button_hover_background_color:white;
  	--cookies_modal_button_hover_color:#6297d1;
	
}
/*==========================================================================
  ADD BY MANU LOADER
  ==========================================================================*/  
#cargador {
	/*display: none;*/
	visibility:hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99999999999;
	background: rgba(255,255,255,0.65);
}
.loader {
	max-width: 140px;
	max-height: 140px;
	margin: -70px 0 0 -70px;
	top: 50%;
	left: 50%;
	position: absolute;
	width: 100%;
	height: 50%;
	z-index: 20;
	background-color: var(--loading_background_color);
	border-radius: 100%;
	-webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
	animation: sk-scaleout 1.0s infinite ease-in-out;
}

 @-webkit-keyframes sk-scaleout {
	 0% {
	-webkit-transform: scale(0)
	}
	 100% {
	 -webkit-transform: scale(1.0);
	 opacity: 0;
	}
}
 @keyframes sk-scaleout {
	 0% {
	 -webkit-transform: scale(0);
	 transform: scale(0);
	}
	100% {
	 -webkit-transform: scale(1.0);
	 transform: scale(1.0);
	 opacity: 0;
	}
}

/*==========================================================================
  ADD BY MANU DIALOG
  ==========================================================================*/
  
.dialog,
.dialog__overlay {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.dialog {
	position: fixed;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	pointer-events: none;
	z-index:2147483647;
}

.dialog__overlay {
	position: absolute;
	z-index: 1;
	background: var(--modal_overlay_background);
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
	-webkit-backface-visibility: hidden;
}

.dialog--open .dialog__overlay {
	opacity: 1;
	pointer-events: auto;
}

.dialog__content {
	width: 90%;
	max-width: 560px;
	min-width: 290px;
	background: var(--modal_content_background);
	padding: 3em;
	text-align: center;
	position: relative;
	z-index: 5;
	opacity: 0;
	/*border-radius:40px;*/
	border: 1px solid var(--modal_content_border);
	overflow: hidden;
	box-sizing: border-box;
}
.dialog--open .dialog__content {
	pointer-events: auto;
}

/* Content */
/* Content TITULAR, Content MENSAJE */
.dialog h2,.dialog #titModal,.dialog #msgModal  {
	margin: 0;
	font:inherit;
	font-weight: 400;
	font-size: 22px; /*1.375em; */
	line-height:32px; /*2em;*/
	padding: 0 0 1em;
	margin: 0;
	color:var(--modal_content_title_color);
  	font-family: var(--modal_content_title_font_family);
}
/* Content TITULAR */
.dialog #titModal{
	text-align:left; /*!important;*/
	font-size: 30px; /*1.875em;*/
}

.dialog__overlay {
	-webkit-transition-duration: 0.4s;
	transition-duration: 0.4s;
}

.dialog.dialog--open .dialog__content,
.dialog.dialog--close .dialog__content {
	-webkit-animation-duration: 0.4s;
	animation-duration: 0.4s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

.dialog.dialog--open .dialog__content {
	-webkit-animation-name: anim-open;
	animation-name: anim-open;
	-webkit-animation-timing-function: cubic-bezier(0.7,0,0.3,1);
	animation-timing-function: cubic-bezier(0.7,0,0.3,1);
}

.dialog.dialog--close .dialog__content {
	-webkit-animation-name: anim-close;
	animation-name: anim-close;
}

.dialog.dialog--open h2,
.dialog.dialog--open button {
	-webkit-animation: anim-elem 0.4s both;
	animation: anim-elem 0.4s both;
}

.dialog.dialog--open h2 {
	-webkit-animation-delay: 0.25s;
	animation-delay: 0.25s;
}

.dialog.dialog--open button {
	-webkit-animation-delay: 0.15s;
	animation-delay: 0.15s;
}

@-webkit-keyframes anim-open {
	0% { opacity: 0; -webkit-transform: translate3d(0, -400px, 0); }
	100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); }
}

@keyframes anim-open {
	0% { opacity: 0; -webkit-transform: translate3d(0, -400px, 0); transform: translate3d(0, -400px, 0); }
	100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

@-webkit-keyframes anim-close {
	0% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); }
	100% { opacity: 0; -webkit-transform: translate3d(0, 100px, 0); }
}

@keyframes anim-close {
	0% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	100% { opacity: 0; -webkit-transform: translate3d(0, 100px, 0); transform: translate3d(0, 100px, 0); }
}

/* Inner elements animations */

@-webkit-keyframes anim-elem {
	0% { opacity: 0; -webkit-transform: translate3d(0, -100px, 0); }
	100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); }
}

@keyframes anim-elem {
	0% { opacity: 0; -webkit-transform: translate3d(0, -100px, 0); transform: translate3d(0, -100px, 0); }
	100% { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

.dialog__content {
    max-width: 565px
} 

/* DIALOG BUTTONS */
.btn-container{
  position:relative;
  box-sizing: border-box;
  
}

.btn-container.close{
	position:absolute;
	top:10px;
  right:10px;
  z-index:999999;
}

.btn-close{
  right:0;
  width:30px;
  height:30px;
  /*
  font-family: Arial;
  color: var(--modal_button_color);
  //font-size:0.75em; 12px
  font-size:12px;
  background-image:url(../img/utils/cerrar.png);
  background-repeat:no-repeat;
  background-size:cover;
  position:absolute;
  transform:translateY(-100%) translateX(100%);
  */
  
  
  /*width:1.875em; 30px;
  height:1.875em; 30px;*/
  
}

@media screen and (max-width:480px) {
	.dialog__content{
	  max-width: 90%;
	  box-sizing: border-box;
	  padding:2.5em;
	}
	
	.dialog__content h2{
	  font-size: 1.3em;
	}
	
	.btn-close img{
	  width:15px;
	  height:15px;
	  
	} 
}

.btn-generico {
    margin: 0.5em 0;
    text-decoration: none;
    min-width: 200px;
	/*	min-width: 12.5em; 200px;*/
    max-width: 100%;
    padding: .7em 1.5em;
    vertical-align: middle;
    display: inline-block;
    cursor: pointer;
    position: relative;
	font-size: 1.5625em;/*25px*/
/*    font-size: 1.5625em;25px*/
	color: var(--modal_button_color);
	background: var(--modal_button_background_color);
    border-radius: 1.875em;/*30px*/
	/*
	border-radius: 1.875em;/*30px*/
	font-family: var(--modal_button_font_family);
	box-sizing: border-box;
	border: 1px solid var(--modal_button_background_color);
}
.btn-generico:hover {
	color: var(--modal_button_hover_color);
    background: var(--modal_button_hover_background_color);
	border: 1px solid var(--modal_button_hover_border_color);
}
.link-generico {
    font-size: 1.42em
}

/*==========================================================================
  ADD BY MANU VALIDACION FORMULARIOS HTML5
  ==========================================================================*/

/* // [START invalidstyle] */
/*Si voy tabulando o pongo el foco y el campo es invalid, me lo marca*/
input:focus:invalid ,select:focus:invalid ,textarea:focus:invalid {
	border-bottom: 2px solid var(--form_invalid_field_border_color) !important;  
    /*background-color: var(--form_invalid_field_background_color) !important;*/
}
input:focus:valid ,select:focus:valid ,textarea:focus:valid {
	border-bottom: 2px solid var(--form_valid_field_border_color) !important;  
    /*background-color: var(--form_valid_field_background_color) !important;*/
}
/*Cuando hago click en el boton de submit (ya sea enlace,button o input)*/
input.dirty:not([type="submit"]):invalid ,select.dirty:invalid ,textarea.dirty:invalid { 
  border-bottom: 2px solid var(--form_invalid_field_border_color) !important; 
  /*background-color: var(--form_invalid_field_background_color) !important;*/
}
input.dirty:not([type="submit"]):valid ,select.dirty:valid ,textarea.dirty:valid { 
  border_bottom:2px solid var(--form_valid_field_border_color) !important;
  /*background-color: var(--form_valid_field_background_color) !important;*/
}

/*CASO CUSTOM: checkboxes necesitamos "tunearlos" para poder validarlos*/

.checkboxs input[type="checkbox"]{
	display: none;
}

.checkboxs input[type="checkbox"] + label  span {
  display: inline-block;
  width: 15px;
  height: 15px;
  /*margin: -1px 4px 0 0;*/
  margin: 10px 10px 0 0;
  vertical-align: middle;
  background-size: cover;
  cursor: pointer;
  border: 1px solid #CCCCCC;
  border-radius: 2px;
}

.checkboxs input[type="checkbox"]:checked + label  span {
  background: url(../img/utils/check.png);
  background-size: cover;
}

.checkboxs input[type="checkbox"] + label  span.dirty{
  border: 1px solid var(--form_invalid_field_border_color);  /*!important*/
  background-color: var(--form_invalid_field_background_color);/*!important*/
}

.checkboxs input[type="checkbox"] + label  span.clean{
  border:1px solid var(--form_valid_field_border_color); /*!important*/
  background-color: var(--form_valid_field_background_color);/*!important*/
}

.checkboxs_label {
    width: 5% !important;
}
@media only screen and (max-width: 576px) and (min-width: 320px) {
  .checkboxs_label {
    width: 10% !important;
  }
}

/*CASO CUSTOM: input files SOLO CON EL BOTON*/
.inputfiles.dirty{
	border:1px solid var(--form_invalid_field_border_color);/*!important;*/
	background-color: var(--form_invalid_field_background_color);/*!important;*/
}
.inputfiles .fieldInputFileLabel.dirty{
	color:var(--form_invalid_field_border_color); /*!important;*/
	background-color: var(--form_invalid_field_background_color);/*!important;*/
}

.inputfiles.clean{
	border:1px solid var(--form_valid_field_border_color) /*!important;*/
  	background-color: var(--form_valid_field_background_color);/*!important;*/
}
.inputfiles .fieldInputFileLabel.clean{
	color:var(--form_valid_field_border_color); /*!important;*/
	background-color: var(--form_valid_field_background_color);/*!important;*/
}

/* // [END invalidstyle] */

/*==========================================================================
  ADD BY MANU FALDON DE COOKIES
  ==========================================================================*/

#cookies-aviso {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 200;
  background: white;
  padding: 1.4880952381vw 1.4880952381vw 1.4880952381vw 1.4880952381vw;
  
  font-family: var(--cookies_modal_font_family);
  font-size: 15px;
  text-align: center;
}
#cookies-aviso .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}

#cookies-aviso .content #cookies-close {
  padding: 0.8928571429vw 1.1904761905vw;
  white-space: nowrap;
  cursor: pointer;
  background: var(--cookies_modal_button_background_color);
  color: var(--cookies_modal_button_color);
  border: 1px solid var(--cookies_modal_button_border_color);
  transition: all 0.3s;
}
#cookies-aviso .content #cookies-close:hover {
  background: var(--cookies_modal_button_hover_background_color);
  color: var(--cookies_modal_button_hover_color);
}
#cookies-aviso .content p {
  padding-bottom: 30px;
}

@media only screen and (min-width: 1024px) {
  #cookies-aviso .content {
    flex-direction: row;
  }
}

@media only screen and (min-width: 1024px) {
  #cookies-aviso .content p {
    padding-bottom: 0;
    padding-right: 20px;
    text-align: left;
  }
}