/* --- RESETEAR ESTILOS --- */
body, h1, h2, h3, h4, h5, h6, ul, ol, li, p, pre, blockquote, figure, hr {margin: 0; padding: 0;}
embed, iframe, img, object, video {display: block; max-width: 100%;}
ul {list-style: none;}
button {color: inherit; font: inherit; letter-spacing: inherit; border: 0; border-radius: 0; padding: 0.375em 0.75em; background-color: transparent;}

:root {
  --color-fondo: #FFFFFF;
  --color-sobre-fondo: #000000;
  --color-fondo-contraste: #F5F5F5;
  --color-sobre-fondo-contraste: #000000;
  --color-borde-contraste: #ECECEC;
  --color-destacado: #F5F5F5;
  --color-sobre-destacado: #000000;
  --color-texto: var(--color-sobre-fondo);
  --color-exito: #3CB371;
  --color-advertencia: #FFD400;
  --color-error: #B22222;

  --color-turquesa: #2CB899;
  --color-verde: #3CB371;
  --color-amarillo: #FFD400;
  --color-naranja: #FF8009;
  --color-marron: #834B2B;
  --color-rojo: #B22222;
  --color-rosa: #E05AC3;
  --color-violeta: #8933DA;
  --color-marino: #111072;
  --color-azul: #3765C9;
  --color-gris: #888888;
  --color-gris-claro: #DEDEDE;
  --color-blanco: #FFFFFF;
  --color-negro: #000000;

  --border-radius: 4px;
  --formulario-padding-campos: 0.5em 1em;
  --formulario-gap: 1.5rem;

  --centrado: 80%;
}

html.modo-oscuro {
  --color-fondo: #021931;
  --color-sobre-fondo: #E6E7E8;
  --color-fondo-contraste: #023163;
  --color-sobre-fondo-contraste: #E6E7E8;
  --color-borde-contraste: #01172D;
  --color-destacado: #023163;
  --color-sobre-destacado: #E6E7E8;
  --color-texto: var(--color-sobre-fondo);
  --color-exito: #31BD70;
  --color-advertencia: #FFD400;
  --color-error: #C54646;
}

.color-exito {color: var(--color-exito) !important;}
.color-advertencia {color: var(--color-advertencia) !important;}
.color-error {color: var(--color-error) !important;}
.fondo-exito {background-color: var(--color-exito) !important;}
.fondo-advertencia {background-color: var(--color-advertencia) !important;}
.fondo-error {background-color: var(--color-error) !important;}

.color-turquesa {color: var(--color-turquesa) !important;}
.color-verde {color: var(--color-verde) !important;}
.color-amarillo {color: var(--color-amarillo) !important;}
.color-naranja {color: var(--color-naranja) !important;}
.color-marron {color: var(--color-marron) !important;}
.color-rojo {color: var(--color-rojo) !important;}
.color-rosa {color: var(--color-rosa) !important;}
.color-violeta {color: var(--color-violeta) !important;}
.color-marino {color: var(--color-marino) !important;}
.color-azul {color: var(--color-azul) !important;}
.color-gris {color: var(--color-gris) !important;}
.color-gris-claro {color: var(--color-gris-claro) !important;}
.color-blanco {color: var(--color-blanco) !important;}
.color-negro {color: var(--color-negro) !important;}

.fuente-generica {font-family: var(--fuente-generica);}
.fuente-titulos {font-family: var(--fuente-titulos);}

.fondo-destacado {
	background-color: var(--color-destacado) !important;
	color: var(--color-sobre-destacado) !important;
}

.fondo-destacado a:not(.boton) {
  color: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--fuente-titulos);
  font-weight: 400;
}

a {
  color: inherit;
  text-decoration: none
}

::-moz-selection {
  background: var(--color-secundario);
  color: var(--color-sobre-secundario);
}

::selection {
  background: var(--color-secundario);
  color: var(--color-sobre-secundario);
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #DEDEDE;
}

::-webkit-scrollbar-thumb {
  background: #555555;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-primario);
}


/* Hoja de estilos de versión PORTAL */

.bl_izq {position:relative; float:left; margin:0; padding:0;}
.bl_der {position:relative; float:right; margin:0; padding:0;}
.blq {position:relative; float:left; margin:0; padding:0;clear:both;width:100%;}
.blq_nv {position:relative; float:left; margin:0; padding:0;clear:both;width:100%;overflow:hidden;}
.bl_izq_nv {position:relative; float:left; margin:0; padding:0; overflow:hidden;}
.bl_der_nv {position:relative; float:right; margin:0; padding:0; overflow:hidden;}
.psr {position:relative;}
.marauto {margin:0 auto;}

  
.v_form {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-generico);}
.v_forminact {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-inactivo);}
.v_formact {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-activo);}
.v_formsobcp {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-primario);}
.v_formsobcs {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-secundario);}
.v_formsobcn {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-neutro);}
.v_formcampos {font-family:var(--fuente-generica);font-size:var(--tamano-2); color: var(--color-sobre-secundario)}
.v_formselect {font-family:var(--fuente-generica);font-size:var(--tamano-2); color: var(--color-sobre-secundario)}
.v_formcaja {font-family:var(--fuente-generica);font-size:var(--tamano-2); color: var(--color-generico); background-color: var(--color-over-boton)}

.v_btnpestsobcp {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-boton);}
.v_btn {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-boton);}
.v_sobcn {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-neutro);}
.v_sobcs {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-secundario);}
.v_sobcp {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-primario);}

.v_btnbarragr {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-barra);}
.v_btnbarra {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-barra);} 

/* enlaces - color de los link */

.v_form:link {color: var(--color-generico)}
.v_forminact:link {color: var(--color-inactivo)}
.v_formact:link {color: var(--color-activo)}
.v_formsobcn:link {color: var(--color-sobre-neutro)}
.v_formsobcs:link {color: var(--color-sobre-secundario)}
.v_formsobcp:link {color: var(--color-sobre-primario)}

.v_norm:link {color: var(--color-generico)}
.v_normcp:link {color: var(--color-destacado)}
.v_norminact:link {color: var(--color-inactivo)}
.v_normact:link {color: var(--color-activo)}

.v_gr:link {color: var(--color-generico)}
.v_grcp:link {color: var(--color-destacado)}
.v_grinact:link {color: var(--color-inactivo)}
.v_gract:link {color: var(--color-activo)}

.v_btn:link {color: var(--color-sobre-boton)}
.v_btnpestsobcp:link {color: var(--color-sobre-boton)}
.v_sobcn:link {color: var(--color-sobre-neutro)}
.v_sobcs:link {color: var(--color-sobre-secundario)}
.v_sobcp:link {color: var(--color-sobre-primario)}
.v_grsobcn:link {color: var(--color-sobre-neutro)}
.v_grsobcs:link {color: var(--color-sobre-secundario)}
.v_grsobcp:link {color: var(--color-sobre-primario)}

.v_btnbarragr:link {color: var(--color-sobre-barra)}
.v_btnbarra:link {color: var(--color-sobre-barra)} 

/* enlaces - color de los visited */


.v_form:visited {color: var(--color-generico)}
.v_forminact:visited {color: var(--color-inactivo)}
.v_formact:visited {color: var(--color-activo)}
.v_formsobcn:visited {color: var(--color-sobre-neutro)}
.v_formsobcs:visited {color: var(--color-sobre-secundario)}
.v_formsobcp:visited {color: var(--color-sobre-primario)}

.v_norm:visited {color: var(--color-generico)}
.v_normcp:visited {color: var(--color-destacado)}
.v_norminact:visited {color: var(--color-inactivo)}
.v_normact:visited {color: var(--color-activo)}

.v_gr:visited {color: var(--color-generico)}
.v_grcp:visited {color: var(--color-destacado)}
.v_grinact:visited {color: var(--color-inactivo)}
.v_gract:visited {color: var(--color-activo)}

.v_btn:visited {color: var(--color-sobre-boton)}
.v_btnpestsobcp:visited {color: var(--color-sobre-boton)}
.v_sobcn:visited {color: var(--color-sobre-neutro)}
.v_sobcs:visited {color: var(--color-sobre-secundario)}
.v_sobcp:visited {color: var(--color-sobre-primario)}
.v_grsobcn:visited {color: var(--color-sobre-neutro)}
.v_grsobcs:visited {color: var(--color-sobre-secundario)}
.v_grsobcp:visited {color: var(--color-sobre-primario)}

.v_btnbarragr:visited {color: var(--color-sobre-barra)}
.v_btnbarra:visited {color: var(--color-sobre-barra)} 


/*
  Significado de los estilos:
  
  act (color activo)
  barra (texto barra exterior)
  btn (texto botón)
  cn (color neutro)
  cp (color principal)
  cs (color secundario)
  form (texto en formularios)
  gr (texto grande)
  inact (color inactivo)
  norm (texto normal)
  pest (texto pestaña)
  sob (sobre)
  
  ej:
     btnpestsobcp -> texto de botones y pestañas sobre color principal
     normcp -> texto normal de color principal
     titnocp -> título que no es de color principal
*/ 



/* Fin */ 

/* -------------------------------------------------------------------- */
/*------------------------- ESTADISTICAS.CSS (inicio) --------------------------------*/

.titesta {
  clear: both;
  position: relative;
  float: left;
  width: 100%;
  margin: 0 0 .625em 0;
  padding: 0;
  text-align: center;
  font-family: var(--fuente-generica);
  font-size: var(--tamano-2);
  color: var(--color-generico);
  font-weight: bold;
}

.titesta span {
  color: var(--color-inactivo);
}

.blqtb {
  clear: both;
  position: relative;
  float: left;
  width: 100%;
  margin: 0 0 .625em 0;
  padding: 0;
}

.tbesta1 {
  clear: both;
  position: relative;
  width: 45%;
  margin: 0 auto;
  padding: 0;
}

.tbesta1 .f1 {
  background-color: var(--color-neutro);
  font-family: var(--fuente-generica);
  font-size: var(--tamano-2);
  color: var(--color-sobre-neutro);
}

.tbesta1 .f2 {
  font-family: var(--fuente-generica);
  font-size: var(--tamano-2);
  color: var(--color-sobre-secundario);
}

.tbesta2 {
  clear: both;
  position: relative;
  width: 60%;
  margin: 0 auto;
  padding: 0;
}

.tbesta2 caption {
  background-color: var(--color-barra);
  font-family: var(--fuente-generica);
  font-size: var(--tamano-2);
  color: var(--color-sobre-barra);
  font-weight: bold;
  margin: 0 auto;
}

.tbesta2 tr {
  font-family: var(--fuente-generica);
  font-size: var(--tamano-2);
  color: var(--color-sobre-secundario);
}

.tbesta2 th {
  text-align: left;
  font-weight: normal;
}

.tbesta2 a {
  color: var(--color-sobre-secundario);
}

.tbesta2 a:hover {
  color: var(--color-over);
}

.grafico {
  clear: both;
  position: relative;
  margin: 0 auto;
  padding: 0;
  border-collapse: collapse;
}

.grafico caption {
  font-family: var(--fuente-generica);
  font-size: var(--tamano-2);
  color: var(--color-sobre-primario);
  text-align: center;
  font-weight: bold;
  margin: 0 auto;
}

.grafico tr td {
  vertical-align: bottom;
}

/*------------------------- estadisticas.css ---------------------------*/
.tbesta1 .f2 {background-color: var(--color-apartado-claro);}
.tbesta2 tr {background-color: var(--color-apartado-claro);}
.grafico caption {background-color: var(--color-apartado-txt);}
.c3 {  background-color: var(--color-apartado-txt);}
.grafico tr {background-color: var(--color-apartado-claro);}

/*------------------------- ESTADISTICAS.CSS (fin) --------------------------------*/
/* -------------------------------------------------------------------- */
/*------------------------- GENERAL_BLOQUES.CSS (inicio) --------------------------------*/
html {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%; /* iphone-ipad para que respete estilos en orientación a Landscape */
  box-sizing: border-box;
  min-height: 100vh;
  scroll-behavior: smooth;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  border: 0;
  font-family: var(--fuente-generica);
  font-size: var(--tamano-2);
  background-color: var(--color-fondo);
  color: var(--color-sobre-fondo);
}


img {
  border: 0;
}

a {
  text-decoration: none;
}

/* Recordar controlar focus y active con navegación teclado */
a:focus, a:active, input:active, input:focus, select:active, select:focus, button:active, button:focus {
  outline: 0;
}

a:hover {
  color: var(--color-over);
}

p {
  line-height: 1.8;
}

form {
  margin: 0;
  padding: 0;
}


iframe {position:relative !important;border:none;} /* para el iframe que genera google+ */

.bl_izq {position:relative; float:left; margin:0; padding:0;}
.bl_der {position:relative; float:right; margin:0; padding:0;}
.blq {position:relative; float:left; margin:0; padding:0;clear:both;width:100%;}
.blq_nv {position:relative; float:left; margin:0; padding:0;clear:both;width:100%;overflow:hidden;}
.bl_izq_nv {position:relative; float:left; margin:0; padding:0; overflow:hidden;}
.bl_der_nv {position:relative; float:right; margin:0; padding:0; overflow:hidden;}
.bl_izq_cb {position:relative; float:left; margin:0; padding:0;clear:both;}
.bl_der_cb {position:relative; float:right; margin:0; padding:0;clear:both;}
.bl_col {background:#FFF;position:relative; float:left; clear:both; margin:0 0 1em 0; padding:4%; width:91%;}
.bloque {background:#FFF;clear:both;position:relative;float:left;width:100%;padding:1em 2%;margin:0;}

.contenidoampliado .titulo {
	margin:.25em 0;
}

#busqueda {
	position:absolute;
  right:0;
  top:3em;  
  width:25em;
  z-index:100;
  padding:1em 5%;
  border:2px solid var(--color-neutro);
}

#cablogin {
  position:absolute;
  right:0;
  top:3em;  
  width:25em;
  z-index:100;
}

#blq_login {
  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 25%);
}


/* --- COMPONENTES GENÉRICOS --- */

pre {
  background-color: #26232F;
  color: #FFF;
  padding: 1rem 1.5rem;
  border-radius: 4px;
}

code {
  background-color: #26232F;
  color: #FFF;
  font-family: monospace;
  padding: 0.125em 0.5em;
  border-radius: 4px;
}

pre code {
  background-color: unset;
  color: inherit;
  padding: 0;
  border-radius: 0;
}

.hljs-keyword {
  color: #FF6F6F;
  font-weight: 700;
}

.hljs-built_in {
  color: #FFD01E;
  font-weight: 700;
}

.hljs-string {
  color: #74FFB2;
}

/* --- Títulos --- */
      
.titulo {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: var(--tamano-5);
  font-family: var(--fuente-titulos);
  font-weight: 500;
}

.titulo a {
  color: inherit;
}

.tit {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: var(--tamano-4);
  font-family: var(--fuente-titulos);
  font-weight: 500;
}

.tit a {
  color: inherit;
}

.titd {
  position: relative;
  margin: 0 0 0.25em 0;
  padding: 0;
  font-size: var(--tamano-4);
  font-family: var(--fuente-generica);
  color: var(--color-destacado2);
  font-weight: normal;
}

.separador {
  position: relative;
  width: 100%;
  margin: 0.5em 0;
  padding: 0.75em 1.25em;
	background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
  border-radius: var(--border-radius);
  border-bottom: 3px solid var(--color-borde-contraste);
  font-size: var(--tamano-4);
  font-family: var(--fuente-generica);
}

/* --- Botones --- */

.boton {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  white-space: nowrap;
  padding: 0.375em 1.5em;
  margin: 0;
  border: none;
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
  font-family: var(--fuente-alternativa);
  font-size: var(--tamano-2);
  border-radius: 200px;
  text-align: center;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
}

.boton:hover {
  background: var(--color-secundario);
  color: var(--color-sobre-secundario);
}

/* --- Menús --- */

.menu {
  display: inline-flex;
  margin: 0;
  padding: 0; 
}

.menu--vertical {
  flex-direction: column;
}

.menu li {
  list-style-type: none;
}

/* --- Popup --- */

.popup {
  display: none;
  position: absolute;
  top: 100%;
  z-index: 10;
  width: 75vw;
  max-width: 300px;
  background-color: var(--color-fondo);
  color: var(--color-sobre-fondo);
  padding: 1rem 1.5rem;
  border-radius: var(--border-radius);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
  font-size: var(--tamano-1);
}

.popup-carrito {
  max-width: 360px;
}

html.modo-oscuro .popup {
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
}

.popup__cerrar {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  width: 2em;
  height: 2em;
  padding: 0.25em;
  stroke: var(--color-sobre-fondo);
  cursor: pointer;
}

.popup__tit {
  margin: 0 0 1em;
  display: flex;
  align-items: center;
  font-size: var(--tamano-3);
  gap: 0.5em;
}

.popup__icono {
  color: var(--color-primario);
  font-size: 1.25em;
}

.popup .formulario {
  --formulario-padding-campos: 0.375em 1em;

  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
}

.popup .formulario .campo {
  width: 100%;
}

.popup__enlaces {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}

.popup__enlaces a {
  font-size: 0.75rem;
  font-style: italic;
}

.popup-login__perfil {
  display: flex;
  flex-direction: column;
}

.popup-login__perfil .boton {
  align-self: center;
}

/* --- Valoraciones --- */

.valoraciones-comentarios {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.valoracion {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.valoracion__valor {
  display: flex;
  align-items: center;
}

.valoracion__valor span {
  font-weight: 500;
  margin-right: 0.5rem;
  line-height: 1;
}

.valoracion__votos {
  font-style: italic;
  font-size: var(--tamano-1);
}

/* --- reCaptcha --- */

.grecaptcha-badge {
  z-index: 1;
}


/* --- IDIOMAS --- */

.menu_idiomas {
  display: flex;
  font-size: 0.875em;
  font-weight: 500;
}

.menu_idiomas li + li::before {
  content: "|";
  margin: 0 0.5em;
}

.menu_idiomas a {
  color: var(--color-texto);
}

.menu_idiomas a:hover {
  color: var(--color-primario);
}

.menu_idiomas a.activo {
  pointer-events: none;
}


/* --- MENÚ PRINCIPAL --- */

.menupri {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 1.5rem;
  font-family: var(--fuente-alternativa);
}

.menupri li {
	list-style-type: none;
	position: relative;
}

.menupri a {
	display: block;
	white-space: nowrap;
	font-size: var(--tamano-2);
  font-weight: 500;
  text-transform: uppercase;
	padding: 0.5em 0;
}

.menupri a.activo {
  font-weight: 700;
}

.menupri > li {
	display: flex;
	align-items: center;
}

.menupri > li > a {
	padding: 2em 0;
	color: var(--color-primario);
}

.menupri > li:hover > a {
	color: var(--color-secundario);
}

.menupri > li > a.menu-boton {
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
  padding: 0.375em 1.5em;
  border-radius: 200px;
}

.menupri > li > a.menu-boton:hover {
  background-color: var(--color-secundario);
  color: var(--color-sobre-secundario);
}

.menupri .mdesp {
	display: none;
	align-self: stretch;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0.5em 0.25em;
}

.menupri ul .mdesp {
	display: none;
}

.menupri > li:hover .menusec {
	display: flex;
}

.menupri .menusec {
	display: none;
	position: absolute;
	width: auto;
	min-width: 200px;
	top: 100%;
	right: 0;
	animation: aparecer_menu 0.2s ease;
	flex-direction: column;
	margin: 0;
	padding: 0.5rem;
	background-color: var(--color-fondo);
  border-radius: var(--border-radius);
  filter: drop-shadow(2px 2px 8px rgba(0, 0, 0, 0.25));
}

.menupri .menusec::before {
  content: "";
  position: absolute;
  bottom: 100%;
  right: 1.5rem;
  border-bottom: 0.5rem solid var(--color-fondo);
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
}

.menupri .menusec::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  height: 16px;
}

.menupri .menusec > li + li {
	border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.menupri .menusec a {
	display: flex;
	padding: 0.5em 0.75em;
	font-size: var(--tamano-1);
}

.menupri .menusec a:hover {
	color: var(--color-sobre-fondo-contraste);
	background-color: var(--color-fondo-contraste);
}

.menupri .menusec ul {
  padding: 0;
}

.menupri .menusec ul a {
  padding-left: 1.25em;
}

@keyframes aparecer_menu {
	0% {
		opacity: 0;
		transform: translate(0, -8px);
	}
	20% {
		opacity: 0;
		transform: translate(0, -8px);
	}
	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}



.subapartados li { padding: 0 .625em 0 0; }

.subapartados li a {
  position:relative;
  float:left;
  font-size: var(--tamano-2);
  color:var(--color-primario);
  border-bottom: 4px solid;  
  padding: .15em .25em;
}

.subapartados li a:hover, .subapartados li a.activo { 
  color:var(--color-barra);
  border-bottom: 4px solid;
}


/* --- MENU DESPLEGABLE --- */

.menu-desplegable {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  visibility: hidden;
  z-index: -1;
  transition: z-index 0.1s linear 0.2s;
}

.menu-desplegable.abierto {
  visibility: visible;
  z-index: 999999999;
  transition: unset;
}

.menu-desplegable::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	transition: all 0.6s ease;
  z-index: -1;
}

.menu-desplegable.abierto::before {
	background-color: rgba(0, 0, 0, 0.5);
}

.menu-desplegable__conten {
	height: 100%;
	width: 90%;
	max-width: 420px;
	overflow-y: auto;
	left: 100%;
	transition: all 0.3s ease;
  background-color: var(--color-fondo);
  color: var(--color-sobre-fondo);
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.4);
  position: relative;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: var(--tamano-3);
}

.menu-desplegable.abierto .menu-desplegable__conten {
  left: 0;
}

.menu-movil {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.menu-movil li {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.menu-movil li + li {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.menu-movil a {
  padding: 0.875em 0.5em;
  flex: 1;
  color: inherit;
}

.menu-movil a.activo {
  font-weight: 600;
}

.menu-movil ul {
  display: none;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.menu-movil ul a {
  padding-left: 1.5em;
}

.menu-movil .mdesp {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  align-self: stretch;
  width: 2em;
  padding-right: 0.5rem;
  cursor: pointer;
  font-weight: 500;
  font-size: 1.5rem;
}

.menu-movil .mdesp::before {
  display: inline-block;
  transition: all 0.5s ease-out;
}

.menu-movil .mdesp.abierto::before {
  transform: rotateX(180deg);
}

.menu-desplegable__cerrar {
  position: absolute;
  top: 1em;
  right: 1em;
  width: 2rem;
  height: 2rem;
  padding: 0.25em;
  stroke: var(--color-sobre-fondo);
  cursor: pointer;
}

.menu-desplegable__iconos {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.menu-desplegable__iconos .boton-modo-oscuro {
  flex-direction: row-reverse;
  gap: 0.5rem;
}

.menu-desplegable__iconos .boton-modo-oscuro__texto {
  font-size: 0.75rem;
  width: min-content;
  text-align: center;
  line-height: 1;
}

.menu-desplegable__login .formulario {
  --formulario-padding-campos: 0.375em 1em;

  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
}

.menu-desplegable__login-enlaces {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}

.menu-desplegable__login-enlaces a {
  font-size: 0.75rem;
  font-style: italic;
}

.menu-desplegable .bloque_form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* ---------------- Información destacada -------------*/

/*------------------------- Mensajes emergente -----------------------*/
#emergentes {
  width: 1px;
  height: 1px;
  overflow: hidden;
  display: none;
}

/*------------------------- Centrado ---------------------------------*/
.centrado {
  clear: both;
  position: relative;
  margin: 0 auto;
  padding: 0; 
  z-index: 1;
  width: var(--centrado);
  max-width: 1600px;
}

#apdover .centrado {
  width: 40em; /*640px*/
  margin: 0 auto;
  padding:0;
}

/* --- CABECERA --- */

/* --- INTERRUPTOR MODO OSCURO --- */

.boton-modo-oscuro {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}

.boton-modo-oscuro .switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 22px;
  border-radius: 12px;
  background-color: var(--color-gris);
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.boton-modo-oscuro .switch:focus {
  box-shadow: 0 0 4px var(--color-texto);
  outline: 0;
}

.boton-modo-oscuro .switch::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  height: 16px;
  width: 16px;
  background-color: white;
  border-radius: 50%;
  transition: all 0.2s ease-in-out;
}

html.modo-oscuro .boton-modo-oscuro .switch {
  background-color: var(--color-verde);
}

html.modo-oscuro .boton-modo-oscuro .switch::before {
  transform: translateX(16px);
}

.boton-modo-oscuro__texto {
  font-size: 0.55rem;
}

.cab-sup {
  z-index: 99999;
  position: sticky;
  top: 0;
  width: 100%;
  background: var(--color-fondo);
  color: var(--color-sobre-fondo);
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.25));
}

.cab-sup .centrado {
  z-index: 9999;
}

.precabecera {
  padding: 0.75rem 0 0.25rem;
}

.precabecera .centrado {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: unset;
}

.precabecera__izquierda {
  margin-right: 1em;
}

.precabecera__derecha {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.precabecera__iconos {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.precabecera__iconos > div {
  position: relative;
}

.precabecera__iconos .popup {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 2rem);
}

.cabecera {
  border-top: 10px solid var(--color-primario);
  border-bottom: 10px solid var(--color-secundario);
  padding: 1rem 0;
  width: 100%;
}

.cabecera .centrado {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: unset;
  gap: 2rem;
}

.logotipo {
  position: relative;
  width: 180px;
}

.logotipo img {
  width: 100%;
}

.logotipo--modo-claro {
  display: block;
}

.logotipo--modo-oscuro {
  display: none;
}

html.modo-oscuro .logotipo .logotipo--modo-claro {
  display: none;
}

html.modo-oscuro .logotipo .logotipo--modo-oscuro {
  display: block;
}

.menu-hamburguesa {
  display: none;
  stroke: var(--color-sobre-fondo);
  width: 1.75rem;
  height: 1.75rem;
  cursor: pointer;
}

#foto_apartado {
  width: 100%;
}

#foto_apartado_rotar {
	width: 100%;
}

.midi {
	display:none;
}


/* --- Rotación --- */

.glide {
  width: 100%;
  position: relative;
}

.glide__arrow {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.5rem;
  color: var(--color-blanco);
  line-height: 1;
  cursor: pointer;
  outline: none;
  z-index: 10;
}

.rotacion .glide__arrow--left {
  top: 0;
  left: 0;
  width: 8%;
  height: 100%;
}

.rotacion .glide__arrow--right {
  top: 0;
  right: 0;
  width: 8%;
  height: 100%;
}

.areas .glide__arrow {
  font-size: 1.75rem;
  width: 1.75em;
  height: 1.75em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 100px;
  cursor: pointer;
}

.areas .glide__arrow--left {
  left: max(2.5%, 16px);
  padding: 0 0.125em 0 0;
}

.areas .glide__arrow--right {
  right: max(2.5%, 16px);
  padding: 0 0 0 0.125em;
}

.rotacion .glide__arrow .fa {
  transition: all 0.25s ease-out;
}

.rotacion .glide__arrow--left:hover .fa {
  transform: translateX(-8px);
  color: var(--color-secundario);
}

.rotacion .glide__arrow--right:hover .fa {
  transform: translateX(8px);
  color: var(--color-secundario);
}

.glide__bullets {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 1rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
}

.glide__bullets .glide__bullet {
  width: 15px;
  height: 15px;
  border-radius: 15px;
  padding: 0;
  margin: 0;
  border: 0;
  background-color: rgba(255, 255, 255, 0.5);
  transition: all 0.15s ease-out;
  cursor: pointer;
}

.glide__bullets .glide__bullet:hover {
  background-color: rgba(255, 255, 255, 0.8);
}

.glide__bullets .glide__bullet.glide__bullet--active {
  transform: scale(1.05);
  background-color: var(--color-secundario);
}

.glide__gallery {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.glide__gallery img {
  width: min(100px, 20%);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  cursor: pointer;
  transition: all 0.2s ease-out;
}

.glide__gallery .glide__bullet--active {
  transform: scale(1.05);
}

/* --- Rotación - Contenido --- */

.rotacion__info {
  position: relative;
  white-space: initial;
}

.rotacion__icono {
	position: relative;
	width: 100%;
	padding-top: 30%;
	min-height: 360px;
	box-sizing: border-box;
	overflow: hidden;
}

.rotacion__icono img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rotacion__contenido {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 2rem 0;
	box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.59);
	color: white;
	display: flex;
	align-items: center;
}

.rotacion__contenido .centrado {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
  text-align: left;
  gap: 1rem;
}

.rotacion__titulo {
  max-width: 900px;
	margin: 0;
	font-size: var(--tamano-5);
	font-weight: 700;
	opacity: 0;
	text-shadow: 0.06em 0.06em 0.4em rgba(0, 0, 0, 0.75);
	font-family: var(--fuente-titulos);
}

.rotacion__titulo a {
	color: inherit;
}

.rotacion__resumen {
  max-width: 900px;
	font-size: var(--tamano-2);
	font-weight: 300;
	opacity: 0;
	text-shadow: 0.06em 0.06em 0.4em rgba(0, 0, 0, 0.75);
	font-family: var(--fuente-generica);
}

.rotacion__resumen a {
	color: inherit;
}

.rotacion__vermas {
  margin-top: 1rem;
	opacity: 0;
}

.glide__slide--active .rotacion__titulo {
	animation: aparecer_desde_abajo 0.5s ease forwards;
	animation-delay: 0.1s;
}

.glide__slide--active .rotacion__resumen {
	animation: aparecer_desde_abajo 0.5s ease forwards;
	animation-delay: 0.2s;
}

.glide__slide--active .rotacion__vermas {
	animation: aparecer_desde_abajo 0.5s ease forwards;
	animation-delay: 0.3s;
}

@keyframes aparecer_desde_abajo {
  0% {
    opacity: 0;
    transform: translateY(80px);
  }
  20% {
    opacity: 0;
    transform: translateY(80px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/* --- Portada --- */

.tit-portada {
  color: var(--color-primario);
  font-size: var(--tamano-5);
  font-weight: 800;
}

.subtit-portada {
  font-size: var(--tamano-3);
}

.areas, .servicios {
  width: 100%;
  margin: max(5rem, 6vw) 0 0;
  background-color: var(--color-fondo);
  color: var(--color-sobre-fondo);
}

.areas .centrado, .servicios .centrado {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
}

.areas-listado, .servicios-listado {
  margin: 3rem 0;
}

.area {
  position: relative;
  margin-top: 8px;
  margin-bottom: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.area:hover .area__tit {
  background-color: var(--color-secundario);
  color: var(--color-sobre-secundario);
}

.area__icono, .servicio__icono {
  overflow: hidden;
}

.area__icono img {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  transition: all 0.3s ease-in;
}

.servicio__icono img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: all 0.3s ease-in;
}

.area:hover .area__icono img, .servicio:hover .servicio__icono img {
  transform: scale(1.05);
  transition: all 0.5s ease-out;
}

.area__tit {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1em;
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
  text-align: center;
  font-family: var(--fuente-titulos);
  font-weight: 800;
  font-size: var(--tamano-3);
  pointer-events: none;
}

.servicio__tit {
  margin-top: 1.5rem;
  text-align: center;
  font-family: var(--fuente-titulos);
  font-weight: 500;
  font-size: var(--tamano-3);
}

.areas .glide__arrow--left, .areas .glide__arrow--right,
.servicios .glide__arrow--left, .servicios .glide__arrow--right {
  top: 50%;
  transform: translateY(-50%);
  width: 1.5em;
  height: 1.5em;
  border-radius: 1em;
  font-size: 2rem;
  background-color: var(--color-fondo);
  color: var(--color-primario);
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}

.areas .glide__arrow--left,
.servicios .glide__arrow--left {
  left: max(16px, 2vw);
  padding: 0 0.125em 0 0;
}

.areas .glide__arrow--right,
.servicios .glide__arrow--right {
  right: max(16px, 2vw);
  padding: 0 0 0 0.125em;
}

.areas .glide__arrow--left:hover, .areas .glide__arrow--right:hover,
.servicios .glide__arrow--left:hover, .servicios .glide__arrow--right:hover {
  background-color: var(--color-secundario);
  color: white;
}

.destacado-azul {
  width: 100%;
  margin: max(5rem, 6vw) 0 0;
  padding: 6rem 0 8rem;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 1.5rem), 0% 100%);
}

.destacado-azul::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(69, 193, 201, 0.91);
}

.destacado-azul::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2rem;
  clip-path: polygon(0 0, 100% 0, 100% 25%, 0% 100%);
  background-color: var(--color-primario);
}

.destacado-azul .centrado {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 2rem;
}

.destacado-azul__icono {
  width: 180px;
}

.destacado-azul__titulo {
  font-size: var(--tamano-4);
}

.destacado-azul__texto {
  max-width: 980px;
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  text-align: left;
}

.destacado-azul__texto ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  padding-left: 1.25rem;
}

.destacado-azul__texto ul li {
  list-style-type: disc;
  list-style-position: outside;
}

.destacado-azul__texto ul li::marker {
  color: inherit;
}

.soporte-portada {
  width: 100%;
  margin: max(5rem, 6vw) 0 4rem;
}

.soporte-portada .centrado {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "izquierda derecha";
  gap: 4rem;
}

.soporte-portada__bloque-imagen {
  grid-area: izquierda;
}

.soporte-portada__bloque-imagen img {
  width: 100%;
  height: 85%;
  object-fit: cover;
}

.soporte-portada__bloque-texto {
  grid-area: derecha;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.soporte-portada__icono {
  width: 180px;
  margin: 2rem 0;
}

.soporte-portada__icono img {
  width: 100%;
}

.soporte-portada__tit {
  font-weight: 700;
  font-size: var(--tamano-4);
}

.soporte-portada__txt {
  max-width: 480px;
  font-size: var(--tamano-3);
}

.soporte-portada__texto .boton {
  background-color: var(--color-secundario);
  color: var(--color-sobre-secundario);
}

.soporte-portada__imagen {
  margin-top: 2rem;
  margin-right: 25%;
  width: 120%;
  align-self: flex-end;
}

.soporte-portada__imagen img {
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  border: 12px solid var(--color-fondo);
}


/* ------------------------------------------------------ */

.menujs {
	position:absolute;
	top:5.25em;
	left:0;
	z-index:99999;
}

#cont-menujs .titulo {
	background:var(--color-primario);
	color:var(--color-sobre-primario);
	font-size:2.5em;
	max-width: 86%;
  width: auto;
  padding: 0.5em 2%;
}

/*---------------------------------------------------------------*/

#twttrHubFrame {display: none !important;}

/* -------------------------------------------------------------------- */
#col_centro {
   width:100%;
  }
  
#col_centro_ampli { width: 100%;}


.contenido {
  width: 100%;
  margin: 3rem 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

.contenido.contenido-portada {
  margin: 0;
}

#col_centro #contenido {   
  width: 100%;
}

.contenidoampliado {
	background:#FFF;
	padding:.5em 2% !important;
  width: 96% !important;
}

.contenidochat { width: 68% !important;}

#chat_usuarios {
	margin-top:2.3em;
}



.contenido-listado {
  flex: 100%;
  max-width: 100%;
  display: grid;
  gap: 2rem;
  align-self: flex-start;
}

.menu-lateral + .contenido-listado {
  flex: 1;
}

.col1 {
  grid-template-columns: 1fr;
  gap: 4rem;
}

.col2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem 2rem;
}

.col3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.col4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.col5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.columna {
  position: relative;
  background-color: var(--color-fondo);
  color: var(--color-sobre-fondo);
  border-radius: var(--border-radius);
  overflow: hidden;
  max-width: 100%;
}

html.modo-oscuro .contenido-listado:not(.col1):not(.col2) .columna:not(.anchocompleto):not(.columna--desplegada) {
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
}

.anchocompleto, .columna--desplegada {
  grid-column: 1 / -1 !important;
  box-shadow: unset !important;
  padding: 0 !important;
}

.contenido-columna {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 1.5rem;
}

.contenido-columna .txt > * + * {
  margin-top: 1rem;
}

.col1 .columna:not(.informacion),
.col2 .columna:not(.informacion) {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 2rem;
  border-radius: 0;
}

.informacion.columna--desplegada {
  flex-wrap: wrap;
}

.col1 .contenido-columna,
.col2 .contenido-columna {
  padding: 0;
  gap: 0.75rem;
}

.col1 .tit,
.col2 .tit {
  font-size: var(--tamano-4);
}

.col1 .contenido-columna .tipo,
.col2 .contenido-columna .tipo {
  border-bottom: none;
}

.col3 .columna,
.col4 .columna,
.col5 .columna {
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
}

html.modo-oscuro .col3 .columna,
html.modo-oscuro .col4 .columna,
html.modo-oscuro .col5 .columna {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.75);
}

.col3 .contenido-columna .tit,
.col4 .contenido-columna .tit,
.col5 .contenido-columna .tit {
  font-size: var(--tamano-3);
}

.col3 .contenido-columna .txt,
.col4 .contenido-columna .txt,
.col5 .contenido-columna .txt {
  font-size: var(--tamano-2);
}

.col3 .fot-min .tipo,
.col4 .fot-min .tipo,
.col5 .fot-min .tipo {
  font-size: var(--tamano-1);
}

.columna:not(.producto) .fot-min img {
  transition: all 0.4s ease-out;
}

.columna:not(.producto) .fot-min:hover img {
  transform: scale(1.05);
}

.contenido-columna .leermas {
  padding-top: 1rem;
  align-self: flex-end;
  margin-top: auto;
  margin-bottom: 0;
}

.fot-min .tipo {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  pointer-events: none;
  padding: 0.125em 0.5em;
  border-radius: var(--border-radius);
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.35);
}

.contenido-columna .tipo {
  align-self: flex-start;
  color: var(--color-primario);
  border-bottom: 2px solid currentColor;
  padding-bottom: 0.25em;
  font-size: var(--tamano-1);
  text-transform: uppercase;
  font-weight: 700;
}

.contenido-columna .fecha {
  font-size: var(--tamano-1);
  text-transform: uppercase;
  font-weight: 500;
}

/* -------------------------------------------------------------------- */

#print_foot_dat_col2 {
  position: relative;
  float: right;
  border: none;
  margin:0;
  padding: 0;
  width: 91px;
  height: 36px;
  font-size: .7em;
  text-transform: uppercase;
  overflow: hidden;
}

#print_foot_dat_col2 span{
  position: absolute;
  top: 0;
  left: 0;
  width: 91px;
  height: 36px;
  margin: 0;
  padding: 0;
  background: transparent url("../imgs/logo_sci_print.gif") no-repeat top left;
  z-index: 2;
  cursor: pointer;
}

.descimg {
  display: block;
  clear: both;
  margin: .3em 0;
  font-size: .75em;
  color: var(--color-generico);
  text-align: center;
}

.descfotap {
	position:absolute;
	left:0;
	padding:0 10%;
  margin: 0;
  font-size:3em;
  color: #FFF;
  text-align: left;
  width:80%;
  top:50%;
  transform: translate(0, -50%) !important;
  text-shadow: 1px 1px 1px #000;
  font-weight:500;
}
/* -------------------------------------------------------------------- */
 
.blink {
  background: url("../imgs/ic_blink.gif") no-repeat 0 0;
  padding: 0;
  margin:0;
  float:left;
  width: 30px;
  height: 24px;
}


/*----------------- imágenes --------------------------------------- */

.fot-min {
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
}

.col1 .fot-min,
.col2 .fot-min {
  flex-shrink: 0;
  border-radius: var(--border-radius);
  width: 40%;
  padding-top: calc(40% / (16/9));
  z-index: 1;
}

.col3 .fot-min, .col4 .fot-min, .col5 .fot-min {
  width: 100%;
  padding-top: calc(100% / (16/9));
}

.fot-min img {
  position: absolute;
  top: 0;
  left: 0;
	width: 100%;
	height: 100%;
  object-fit: cover;
}

/* iconos en columnas (posicionamiento vertical) */
.colv.t32 .fot-min, .colv.t23 .fot-min { 
	margin: 0 0 .5em 0;
	width:100%;
}

.fot_izq {
  float: left;
  min-width: 1.25em;
  margin: 0 1em 0 0;
  overflow:hidden;
}

.fot_cen {
  text-align: center;
  min-width: 1.25em;
  margin: 0 auto;
  padding:0;
  overflow:hidden;
}

.fot_der {
  float: right;
  min-width: 1.25em;
  margin:0 0 0 1em;
  padding: 0;
  overflow:hidden;
}

.fot_txabs {
	position:absolute;
	left:0;
	bottom:0;
	background-color: rgba(206, 203, 203, 0.55);
}


/* --- Varios --- */

.border-radius {border-radius: var(--border-radius);}

.cs {
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
  border-radius: var(--border-radius);
  padding: 2rem;
}

.justify-start {justify-content: flex-start;}
.justify-center {justify-content: center;}
.justify-end {justify-content: flex-end;}
.align-start {align-items: flex-start;}
.align-center {align-items: center;}
.align-end {align-items: flex-end;}
.justify-self-start {justify-self: flex-start;}
.justify-self-center {justify-self: center;}
.justify-self-end {justify-self: flex-end;}
.align-self-start {align-self: flex-start;}
.align-self-center {align-self: center;}
.align-self-end {align-self: flex-end;}


/* --- Carrito --- */

.minicarrito {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.minicarrito p {
  margin: 0;
}


/* --- Formularios --- */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
textarea,
select {
  width: 100%;
  padding: var(--formulario-padding-campos);
  font: inherit;
  letter-spacing: inherit;
  border: 1px solid var(--color-borde-contraste);
  background-color: var(--color-fondo);
  color: var(--color-sobre-fondo);
  border-radius: var(--border-radius);
}

input:not([type="radio"]):not([type="checkbox"]):focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--color-sobre-fondo);
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
}

input[type="radio"]:focus-visible, input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--color-sobre-fondo);
  outline-offset: 2px;
}

input:autofill {
  background-color: transparent !important;
  -webkit-text-fill-color: unset !important;
}

input:-webkit-autofill,
input:-internal-autofill-selected,
textarea:-webkit-autofill,
textarea:-internal-autofill-selected {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 50px var(--color-fondo) inset;
  color: var(--color-sobre-fondo) !important;
  -webkit-text-fill-color: var(--color-sobre-fondo) !important;
}

textarea {
  resize: vertical;
}

label > input[type="file"] {
  display: none;
}

html.modo-oscuro input[type="date"]::-webkit-calendar-picker-indicator,
html.modo-oscuro input[type="datetime-local"]::-webkit-calendar-picker-indicator,
html.modo-oscuro input[type="month"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1rem;
  height: 1rem;
  border-radius: var(--border-radius);
  color: inherit;
  border: 2px solid currentColor;
  outline: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
  transition: all 0.2s ease-out;
}

input[type="checkbox"]::before {
  display: block;
  font-family: "FontAwesome";
  content: "\f00c";
  font-size: 0.75rem;
  width: 1em;
  height: 1em;
  opacity: 0;
  color: var(--color-sobre-primario);
  transition: all 0.2s ease-out;
}

input[type="checkbox"]:checked {
  border: 2px solid var(--color-primario);
  background-color: var(--color-primario);
}

input[type="checkbox"]:checked::before {
  opacity: 1;
  transition-delay: 0.1s;
}

input[type="radio"] {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  width: 1rem;
  height: 1rem;
  border-radius: 1rem;
  color: inherit;
  border: 2px solid currentColor;
  outline: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
}

input[type="radio"]::before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-radius: 0.5em;
  background-color: var(--color-primario);
  transition: all 0.2s cubic-bezier(0.25, 0.25, 0.56, 2);
  transform: translate(-50%, -50%) scale(0);
  transform-origin: center;
}

input[type="radio"]:checked {
  border: 2px solid var(--color-primario);
}

input[type="radio"]:checked::before {
  transform: translate(-50%, -50%) scale(1);
}

input[type="submit"]:not(.boton) {
  font: inherit;
}

.formulario {
  --formulario-padding-campos: 0.5em 1em;
  --formulario-gap: 2rem max(2rem, 5vw);

  font-size: var(--tamano-2);
}

.formulario.formulario--compacto {
  --formulario-padding-campos: 0.375em 1em;
  --formulario-gap: 1rem max(1rem, 3vw);

  font-size: var(--tamano-1);
}

.formulario .campo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

.formulario.formulario--horizontal .formulario__campos .campo {
  flex-direction: row;
}

.formulario.formulario--horizontal .formulario__campos .campo > label {
  white-space: nowrap;
  flex-shrink: 0;
  width: 25%;
  min-width: 200px;
  padding: var(--formulario-padding-campos);
  padding-left: 0;
  padding-right: 0;
}

.formulario .campo.required > label::after {
  content: " *";
  color: var(--color-error);
}

.campo__number {
  display: flex;
  width: 140px;
  border-radius: var(--border-radius);
  border: 1px solid var(--color-borde-contraste);
}

.campo__number input[type=number] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
  border-radius: 0;
  border-top: 0;
  border-bottom: 0;
  text-align: center;
  font-size: var(--tamano-3);
  padding: 0.25em 0.5em;
}

.campo__number input[type=number]::-webkit-inner-spin-button,
.campo__number input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.campo__number button {
  cursor: pointer;
  font-size: var(--tamano-1);
  padding: 0.375em 1em;
}

.campo__number button:hover,
.campo__number button:focus-visible {
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
}

.campo__radio,
.campo__checkbox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  padding: var(--formulario-padding-campos);
  padding-left: 0;
  padding-right: 0;
}

.campo__radio label,
.campo__checkbox label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-weight: 400;
}

.formulario__campos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--formulario-gap);
}

.formulario__campos label {
  font-weight: 500;
}

.formulario__otros {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 2rem 0;
}

.formulario__otros .campo {
  flex-direction: row;
  align-items: flex-start;
}

.formulario__otros .campo input {
  margin: 0.2em 0;
}


/* --- TABLAS --- */

.tabla {
  border-spacing: 0;
  border-collapse: collapse;
  border: none;
  overflow-x: auto;
  font-size: var(--tamano-1);
  text-align: left;
}

.tabla th, .tabla td {
  padding: 0.75em;
}

.tabla tbody tr:hover {
  background-color: var(--color-fondo-contraste);
}

.tabla--compacta th, .tabla--compacta td {
  padding: 0.375em;
}

.tabla--color thead,
.tabla--color > tbody:first-child > tr:first-child,
.tabla--color > tr:first-child {
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
}

.tabla--color tbody tr:nth-child(even) {
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
}

.tabla--bordes thead tr:last-of-type {
  border-bottom: 2px solid var(--color-fondo-contraste);
}

.tabla--bordes tbody tr + tr {
  border-top: 1px solid var(--color-fondo-contraste);
}

.tabla--fixed {
  table-layout: fixed;
}

/* ------------------------------ CAJAS ------------------------------ */
  
 .cajadesp, .caja {
 		box-shadow: 0 3px 6px 0 rgb(0 0 0 / 25%);
 		-webkit-border-bottom-left-radius: 3px; 
 		-moz-border-radius-bottomright: 3px; 
 		-moz-border-radius-bottomleft: 3px;
 		border-bottom-right-radius: 3px;
 		border-bottom-left-radius: 3px;
 	}


/* --- MENÚ ADMINISTRACIÓN ESENCIA --- */

.cab-admin {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  position: relative;
  z-index: 1;
	background: var(--color-fondo);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
  font-size: var(--tamano-1);
  font-family: var(--fuente-alternativa);
}

.cab-admin__system {
  position: relative;
  z-index: 1;
}

.cab-admin__logo {
  position: relative;
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  font-weight: 600;
  cursor: pointer;
}

.cab-admin__logo img {
  max-height: 32px;
}

.cab-admin__contenidos > li {
  position: relative;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
}

.cab-admin__personal {
  margin-left: auto;
}

.cab-admin__personal > li {
  position: relative;
  border-left: 1px solid rgba(0, 0, 0, 0.05);
}

.cab-admin__contenidos li a, .cab-admin__personal li a {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1em;
}

.cab-admin .menu .admin-desconectar a .fa {
  color: var(--color-rojo);
}

.cab-admin .menu .admin-desconectar a:hover {
  background-color: var(--color-rojo);
  color: white;
}

.cab-admin .menu .admin-desconectar a:hover i {
  color: white;
}

.cab-admin .cab-admin__contenidos ul,
.cab-admin .cab-admin__personal ul {
  position: absolute;
  top: 100%;
  left: 0;
  padding: 0.5rem;
  display: none;
  flex-direction: column;
  background: var(--color-fondo);
  color: var(--color-sobre-fondo);
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 10;
}

.cab-admin .menu ul > li + li {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.cab-admin__contenidos ul a,
.cab-admin__personal ul a {
  display: block;
  padding: 0.5em 1em;
  white-space: nowrap;
}

.cab-admin__contenidos ul a:hover,
.cab-admin__personal ul a:hover {
  color: inherit;
  background-color: var(--color-fondo-contraste);
}

.cab-admin__contenidos > li:hover ul,
.cab-admin__personal > li:hover ul {
  display: flex;
}

.cab-admin__personal.menu ul {
  left: unset;
  right: 0;
}

.cab-admin__contenidos li i,
.cab-admin__personal li i {
  font-size: 1.375em;
  color: var(--color-primario);
}

.cab-admin .menu .mostrar-tooltip i {
  color: inherit;
}

.cab-admin .menu .num_contador {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  background-color: var(--color-rojo);
  color: white;
  font-size: 0.75em;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75em;
  min-height: 1.75em;
  padding: 0.25em;
  border-radius: 1.5em;
}

#cnav {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 100%;
}

.menu-system {
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.2));
  text-transform: uppercase;
  width: 100%;
  border-bottom-right-radius: var(--border-radius);
}

.menu-system li:last-child {
  border-bottom-right-radius: var(--border-radius);
}

.menu-system li a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1em 0.75em;
  font-size: var(--tamano-1);
  font-family: var(--fuente-generica);
  font-weight: 500;
  color: var(--color-blanco);
  background-color: inherit;
  border-radius: var(--border-radius);
  transition: all 0.2s ease-out;
}

.menu-system > li:hover > a, .menu-system > li > a.abierto {
  transform: translateX(0.5rem);
}

.menu-system li a i {
  font-size: 1.5em;
  text-align: center;
  width: 1.5em;
}

.menu-system ul li a {
  padding: 0.5em 1.5em;
}

.nav1 {background-color:#37B0A7; width:14%;}
.nav1 .submenu_navegacion {background-color:#37B0A7;}
.nav2 {background-color:#FFC000;}
.nav2 .submenu_navegacion {background-color:#FFC000;}
.col_nav2 {color:#FFC000;}
.nav3 {background-color:#FF9406;}
.col_nav3 {color:#FF9406;}
.nav3 .submenu_navegacion {background-color:#FF9406;}
.nav4 {background-color:#9ED201;}
.col_nav4 {color:#9ED201;}
.nav4 .submenu_navegacion {background-color:#9ED201;}
.nav5 {background-color:#68CA05;}
.col_nav5 {color:#68CA05;}
.nav5 .submenu_navegacion {background-color:#68CA05;}
.nav6 {background-color:#00D09C;}
.col_nav6 {color:#00D09C;}
.nav6 .submenu_navegacion {background-color:#00D09C;}
.nav11 {background-color:#00D2D1;}
.col_nav11 {color:#00D2D1;}
.nav11 .submenu_navegacion {background-color:#00D2D1;}
.nav7 {background-color:#0084B4;}
.col_nav7 {color:#0084B4;}
.nav7 .submenu_navegacion {background-color:#0084B4;}
.nav12 {background-color:#006A93;}
.nav12 .submenu_navegacion {background-color:#006A93;}
.nav8 {background-color:#003267;}
.col_nav8 {color:#003267;}
.nav8 .submenu_navegacion {background-color:#003267;}
.nav10 {background-color:#330065;}
.col_nav10 {color:#330065;}
.nav10 .submenu_navegacion {background-color:#330065;}
.nav9 {background-color:#9387CC;}
.nav9 .submenu_navegacion {background-color:#9387CC;} 
.nav13 {background-color:#30B5E5;}
.col_nav13 {color:#30B5E5;}
.nav13 .submenu_navegacion {background-color:#30B5E5;}
.nav14 {background-color:#0B9FD3;}
.col_nav14 {color:#0B9FD3;}
.nav14 .submenu_navegacion {background-color:#0B9FD3;}

.txtnav {color:#FFF !important;}

#cnav.cp {background:var(--color-primario);}

.nav1 a {padding: 1.25em 10% 1.25em 12%;width:78%;}
.nav1 a.padlr5p {padding: 1.35em 5% 1.35em 5%;}

#navegacion li a.pad0 {padding:0;}
#navegacion li a:hover {color:var(--color-generico);}
#navegacion .txtnav {display:inline;padding: 0 0 0 .5em;  }

#navegacion.navweb #logotipo_int {display:none;}

#logo-mv {display:none;}

#mcab li.usuario_int {width:auto;}

#mcab li.li_pitaghoras img {width: 30px; margin-top:-5px;}
  
#mcab li .num_avisos, #mcab li .num_msgbz {
  position: absolute;
  top: 6px;
  right: 3px;
  background: #B20000;
  color: #FFF;
  font-size: 11px;
  padding: 3px;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  text-align: center;
}
#mdesp_admin {
	padding:0.875em 0;
	width:14%;
}

.config-on {
	color:#FF9100;
}
		
.config-off {
	color:#A2A1A1;
}
		
/* ------------------------------ prompt ------------------------------ */
#popup_container {min-width:240px;max-width:480px;}
.a_cerrarvw span {background: transparent url("../imgs/bt_cerrar.html") no-repeat 0 0;position:absolute;top:0;right:0;width:16px; height:16px;}

/*************************************************************************/

.pdf_object {
	height:600px;
	border: .625em solid var(--color-neutro);
}

.pdf_object p {
   padding:1em;
}

.pdf_object object {
   display:block;
}

.mapa_alojamiento {
  height:600px;
  width:100%;  
}

/* ------------------------------ comercio ------------------------------ */

.cont-arti {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#carrito_compra {
 box-shadow: 0 3px 6px 0 rgb(0 0 0 / 25%);
 background:#FFF; 
 display:none;
 position:absolute; 
 top:3em;
 right:0;
 width:25em;
 padding:1em 5%;
 z-index:100;
}

.comercio-pasos {
  width: 100%;
  margin: 3rem 0 5rem;
  display: flex;
  justify-content: space-between;
}

.comercio-paso, .comercio-paso > a {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
}

.comercio-paso {
  --tamano-circulo-paso: 20px;
  --color-comercio-paso: var(--color-primario);
  --color-comercio-paso-texto: var(--color-primario);

  position: relative;
  flex: 1;
}

.comercio-paso.paso--activo ~ .comercio-paso {
  --color-comercio-paso: var(--color-gris-claro);
  --color-comercio-paso-texto: var(--color-sobre-fondo);
}

.comercio-paso:first-of-type {
  width: min-content;
  flex: unset;
}

.comercio-paso:not(:first-of-type)::before {
  content: "";
  position: absolute;
  top: calc(var(--tamano-circulo-paso) / 2);
  right: calc(var(--tamano-circulo-paso) / 5);
  display: block;
  width: 101%;
  height: calc(var(--tamano-circulo-paso) / 3);
  background-color: var(--color-comercio-paso);
  transform: translateY(-50%);
}

.comercio-paso__icono {
  position: relative;
  width: var(--tamano-circulo-paso);
  height: var(--tamano-circulo-paso);
  border-radius: 50%;
  background-color: var(--color-comercio-paso);
  border: 3px solid var(--color-fondo);
  z-index: 1;
}

.comercio-paso__texto {
  position: absolute;
  top: 150%;
  font-size: var(--tamano-1);
  color: var(--color-comercio-paso-texto);
  font-weight: 600;
  white-space: nowrap;
}

.comercio-paso:not(:first-of-type):not(:last-of-type) .comercio-paso__texto {
  right: calc(var(--tamano-circulo-paso) / 2);
  transform: translateX(50%);
  text-align: center;
}

.comercio-paso:first-of-type .comercio-paso__texto {
  left: 0;
}

.comercio-paso:last-of-type .comercio-paso__texto {
  left: unset;
  right: 0;
  text-align: right;
}

#comercio_pasos {
	width:100%;
	padding:0;
}

#comercio_pasos li {
	width:25%;
	padding:.5em 0;
}

#comercio_pasos .texto {
	font-size:1em;
	font-weight:bold;
	width:80%;
  margin:0 10%;
	color:#999;
	padding-bottom:1em;
}


#comercio_pasos .texto:before {
	content:"";
	position:absolute;
	bottom:0;
	left:40%;
	width:20%;
	border-bottom:2px solid #DDD;
}


#comercio_pasos li.act .texto:before, #comercio_pasos li.activo .texto:before {
	border-bottom:2px solid var(--color-primario);
}

#comercio_pasos li.act .texto, #comercio_pasos li.activo .texto {
	 color:var(--color-primario) !important;
}

#comercio_pasos .num { margin-bottom:1em;}

#comercio_pasos .num .fa {
  border:3px solid #CCC;
  -webkit-border-radius:50px;
  -moz-border-radius:50px;
  border-radius:50px;
  background:#FFF;
  color:#999;
  padding:15px 15px;
  width:35px;
  height:35px;
  font-size:30px;
}

#comercio_pasos .num.paso1 .fa { 
	border:3px solid var(--color-primario);
  color:var(--color-primario);
}

#comercio_pasos li.act .num .fa, #comercio_pasos li.activo .num .fa { 
	border:3px solid var(--color-primario);
  background:var(--color-primario);
  color:var(--color-sobre-primario);
  
}

#comercio_pasos .num:before{
    right:0;
    content:"";
    position:absolute;
    top:45%;
    width:39%;
    border-bottom:5px solid #DDD;
 }
  
#comercio_pasos .num:after{
  left:0;
  content:"";
  position:absolute;
  top:45%;
  width:39%;
  border-bottom:5px solid #DDD;
}

#comercio_pasos li.act .num:before, #comercio_pasos li.act .num:after {
	 border-bottom:5px solid var(--color-primario);
}

#comercio_pasos li.activo .num:after {
	 border-bottom:5px solid var(--color-primario);
}

#comercio_pasos li.activo .num .fa {
	background:var(--color-primario);
	color:var(--color-sobre-primario);
}

#comercio_pasos .num.paso1:after {
	border-bottom:none !important;
}

#comercio_pasos .num.paso4:before {
	border-bottom:none !important;
}

.tabla_comercio{
	box-shadow: 0 3px 6px 0 rgb(0 0 0 / 25%);
}

.tabla_comercio th {
  background: #f9fafb;
  border-bottom: 1px solid #E7E7E7;
}

.tabla_comercio .fa-trash-o.col_ng9:hover {color:#000 !important;}

.tabla_comercio input {
  padding: 5px 0;
  height: 25px;
  border: 1px solid #E7E7E7;
 }
 
.tabla_comercio .decrem {
	border: 1px solid #E2E2E2;
	border-right: none;
	height: 19px;
	width: 25px;
	text-align: center;
	padding: 8px 0 8px 0;
	font-size: 30px;
	vertical-align: top;
	display: block;
	line-height: 15px;
}

.tabla_comercio .increm {
  border: 1px solid #E2E2E2;
  border-left: none;
  height: 19px;
  width: 25px;
  text-align: center;
  padding: 10px 0 6px 0;
  font-size: 25px;
  vertical-align: top;
  display: block;
  line-height: 15px;
}

.tabla_comercio .decrem:hover, .tabla_comercio .increm:hover { color:var(--color-primario);}

.tabla_comercio td.ccol1 {
	display: flex;
  align-items: center;
}

.cont-arti .fot_izq { 
	width:27%; 
	margin: 0 3% 0 0; 
}

.cont-arti .fot_der img, .cont-arti .fot_izq img { width:100%;}

#promocode {  box-shadow: 0 3px 6px 0 rgb(0 0 0 / 25%); }

#promocode input#hpromo { padding:9px; }


/* ------------------------------ chats ------------------------------ */

.chatpriv {
 background-color:#FFF;
 position:absolute;
 top:0;
 left:0; 
}

.flowplayer {
   background-color: #777;
 
   /* remove vertical space for minimal timeline */
   margin-bottom: -3px;
}
/* do not show minimal timeline on mouseout */
.flowplayer.is-mouseout .fp-timeline {
   height: 0;
   border: 0;
}

/* DATEPICKER */
.cab_datepicker{background-color:#EEEEEE;width:228px;margin:30px 0 0 0;}
.ui-datepicker-header{border:1px solid #999999;border-bottom:none;float:left;font-size:12px;position:relative;padding:5px;width:215px;}
.ui-datepicker-title {border:1px solid #999999;background-color:#FFF;position:relative;float:left;width:172px;text-align:center;}
.ui-datepicker-calendar {border:1px solid #999999;border-top:none;background-color:#EEEEEE;padding:5px;z-index:99999;margin-top:0 !important;width:229px;}
.ui-datepicker-calendar td {border:1px solid #EEEEEE;text-align:center;font-family:Trebuchet MS, sans-serif;font-size:12px;padding:1px 3px;background-color:#FFF;}
.ui-datepicker-calendar tr.monthLabel td {background-color:#FFFFFF;border:1px solid #999999;font-weight:bold;}
.ui-datepicker-calendar tr.navigation td {cursor:pointer;}
.ui-datepicker-calendar tr.navigation td:hover {text-decoration:underline;}
.ui-datepicker-calendar th {border:1px solid var(--color-primario);background-color:var(--color-primario);color:var(--color-sobre-primario);font-weight:bold;font-size:12px;}
.ui-datepicker-calendar td.day, .datepickerControl td.dayothermonth {cursor:pointer;background-color:#FFFFFF;border:1px solid #EEEEEE;width:2em;}
.ui-datepicker-calendar td.dayothermonth {color:#999999;font-style:italic;}
.ui-datepicker-calendar td.day:hover {background-color:#EBE4C0;}
.ui-datepicker-calendar td.hour {cursor:pointer;background-color:#FFFFFF;border:1px solid #EEEEEE;width:2em;}
.ui-datepicker-calendar td.minute {cursor:pointer;background-color:#FFFFFF;border:1px solid #EEEEEE;width:2em;}
.ui-datepicker-calendar td input,
.ui-datepicker-calendar td button {font-size:11px;padding:0;border:1px solid #999999;text-align:center;}
.ui-datepicker-calendar td.ampm {cursor:pointer;background-color:#CCCCCC;border:1px solid #EEEEEE;width:2em;}
.ui-datepicker-calendar td.current {font-weight:bold;background-color:var(--color-primario);color:var(--color-sobre-primario);}
.ui-datepicker-calendar input.current {background-color:var(--color-primario);color:var(--color-sobre-primario);}
.ui-datepicker-calendar td.current:hover {background-color:var(--color-primario);color:var(--color-sobre-primario);}
.ui-datepicker-calendar {width:227px;height:140px;margin-top:0;}
.ui-datepicker-calendar td.ui-datepicker-week-end {background-color:var(--color-neutro);color:var(--color-sobre-neutro);}
.ui-datepicker-calendar td.ui-datepicker-today {background-color:var(--color-primario);color:var(--color-sobre-primario);}
.ui-datepicker-calendar td.ui-datepicker-today a {color:var(--color-sobre-primario);}
.ui-datepicker-next {position:relative;float:right;height:12px;width:20px;}
.ui-datepicker-prev {position:relative;float:left;height:12px;width:20px;}
.ui-datepicker-next span {background:#EEE url("../imgs/ic_datepicker_next.html") no-repeat 0 0;display:block;height:12px;left:0;position:absolute;top:2px;width:20px;}
.ui-datepicker-prev span{background:#EEE url("../imgs/ic_datepicker_prev.html") no-repeat 0 0;display:block;height:12px;left:0;position:absolute;top:2px;width:20px;}
.ui-datepicker-trigger {margin:0 0 0 5px;}
.ui-datepicker-current-day {background:var(--color-barra) !important;}

#formbuscaropc .ui-datepicker-trigger { float:left;position:relative; margin:0 .5em 0 0;}

#totalprec_fixed {display:none;}

#totalprec_fixed.total_bottom {
  position:fixed;
  bottom:0;
  left:0;
  background:var(--color-primario);
  color:var(--color-sobre-primario);
  padding:1em 2%;
  text-align:center;
  z-index:10000;
  width: 96%;
}

#totalprec_fixed.total_top {
  background:var(--color-primario);
  color: var(--color-sobre-primario);
	position:relative;
	float:left;
	padding:1em 2%;
	width:96%;
	text-align:center;
	box-shadow:0 5px 10px 0 #888888;
	margin-bottom:1em;
}

.txerror {
	color:#FF0000;
	font-size:var(--tamano-2);
}

.video-container {
   position: relative;
   height: 0px;
   width: 100%;   
   padding-bottom: 56.25%;
}

/* fondo destacado */
.cs .video-container {
  margin: 1em auto;
  width: 96%;
}
 
.video-container iframe,
.video-container object,
.video-container embed {
   position: absolute !important;
   top: 0px;
   left: 0px;
   width: 100%;
   height: 100%;
}

.pdf_object iframe{
   width: 100%;
   height: 600px;
}


/* --- AMPLIACIONES --- */

.tinymce.ampliacion__txt {
  padding: 12px 16px !important;
  --tamano-1: 0.75rem;
  --tamano-2: 0.875rem;
  --tamano-3: 1rem;
  --tamano-4: 1.25rem;
  --tamano-5: 1.75rem;
}

.ampliacion__txt > * + * {
  margin-top: 1rem;
}

.ampliacion__txt ul, .ampliacion__txt ol {
  list-style: initial;
  padding-left: 1.25rem;
}

.ampliacion__txt ul li, .ampliacion__txt ol li {
  list-style-position: outside;
}

.ampliacion__txt ul li::marker {
  color: var(--color-secundario);
}

.ampliacion__txt .tit:not(:first-child) {
  margin-top: 2rem;
  margin-bottom: 1.5rem;
}


/* --- REDES SOCIALES --- */

.redes-sociales {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.redes-sociales li {
  display: inline-flex;
  align-items: center;
}

.redes-sociales li a {
	display: inline-flex;
  font-size: 1.25rem;
	transition: all 0.1s ease-out;
	color: var(--color-secundario);
}

html.modo-oscuro .redes-sociales li a {
  color: var(--color-texto);
}

.redes-sociales li a:hover {
	color: var(--color-primario);
}


/* --- ENCABEZADO (FOTO APARTADO, TITULO CONTENIDO, RUTA...) --- */

.encabezado {
  position: relative;
  width: 100%;
  background-color: var(--color-fondo-contraste);
}

.encabezado::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.encabezado__foto {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.encabezado__foto::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: rgba(0, 0, 0, 0.5);
}

.encabezado__foto img, .encabezado__foto video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.encabezado__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 4rem 0;
  box-sizing: border-box;
}

.encabezado__foto + .encabezado__info {
  color: white;
  min-height: clamp(240px, 18vw, 400px);
  margin-bottom: 4rem;
}

.encabezado__titulo {
  color: inherit;
}

.encabezado__descripcion {
  max-width: 900px;
}


/* --- MIGAS / RUTA APARTADO --- */

.migas {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--tamano-1);
}

.migas__menu li {
  display: flex;
  align-items: center;
}

.migas__menu li:not(:last-of-type)::after {
  content: ">";
  display: inline-block;
  width: 0.75rem;
  text-align: center;
}

.migas__menu li a {
  padding: 0.125em 0.375em;
  border-radius: var(--border-radius);
}

.migas__menu li a:hover {
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
}

.migas__menu li a[href="#"] {
  pointer-events: none;
}


/* --- COMPARTIR --- */

.compartir {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
  margin: 2rem 0;
}

.compartir__titulo {
  font-size: var(--tamano-2);
}

.compartir__redes {
  display: flex;
  align-items: center;
  font-size: var(--tamano-4);
  gap: 0.75em;
}

.compartir__redes a {
}


/* --- DESTACADOS --- */

.destacados-listado {
  width: 100%;
  margin: 4rem 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  position: relative;
}

.destacado {
  position: relative;
  overflow: hidden;
  border-radius: var(--border-radius);
  overflow: hidden;
}

.destacado-icono {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--border-radius);
  overflow: hidden;
}

.destacado-icono img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.5s ease-out;
}

.destacado-icono:hover img {
  transform: scale(1.1);
}

.destacado-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem 0 0;
}

.destacado-tit {
  margin: 0;
  font-weight: 600;
  font-size: var(--tamano-3);
}

.destacado.destac {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.destacado.fondo-destacado .destacado-info {
  margin-top: 0;
  padding: 1.5rem;
}

.destacado.fondo-destacado .destacado-icono {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}


/* --- Productos --- */

.contenido-listado .columna.producto {
  box-shadow: unset;
}

.columna.producto .contenido-columna {
  gap: 1.5rem;
  flex: 1;
}

.col1 .columna.producto {
  gap: max(2rem, 4vw);
}

.col1 .producto .fot-min,
.col2 .producto .fot-min {
  border-radius: 0;
  width: min(400px, 30%);
  padding-top: min(400px, 30%);
}

.col3 .producto:not(.columna--desplegada),
.col4 .producto:not(.columna--desplegada),
.col5 .producto:not(.columna--desplegada) {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.col3 .producto .fot-min,
.col4 .producto .fot-min,
.col5 .producto .fot-min {
  width: min(280px, 80%);
  padding-top: min(280px, 80%);
}

.col3 .producto .contenido-columna,
.col4 .producto .contenido-columna,
.col5 .producto .contenido-columna {
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 0.5rem 1rem;
}

.producto .fot-min img {
  object-fit: contain;
}

.producto__form-comprar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

.contenido-producto {
  width: 100%;
}

.lista-articulos {
  width: 100%;
}


/* --- Centros --- */

.centro-contenido {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  max-width: 100%;
}

.centro-contenido > .tit {
  width: 100%;
}

.centro__columna-izquierda {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3rem;
  flex: 1;
}

.centro__columna-derecha {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3rem;
  width: max(260px, 30%);
}

.centro__columna-derecha .tit {
  font-size: var(--tamano-3);
  padding-bottom: 0.5rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid var(--color-fondo-contraste);
}

.centro__informacion, .centro__localizacion {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
}

.centro__dato {
  margin: 0;
}

.centro__servicios, .centro__sellos, .centro__entorno {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.centro__servicios .tit, .centro__sellos .tit, .centro__entorno .tit {
}

.centro__servicios ul, .centro__sellos ul, .centro__entorno ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.centro__servicios ul li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.centro__sellos ul {
  gap: 1.5rem;
}

.centro__sellos ul li img {
  height: 80px;
}

.centro__sellos ul li img + span {
  display: none;
}

.centro__entorno ul li {
}

.centro__galeria {
  width: 100%;
}


/* --- Botones navegación --- */

.botones-navegacion {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0;
}

.botones-navegacion .boton-imprimir {
  margin-left: auto;
}


/* --- Otras herramientas --- */

.bloque-administracion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  padding: 1.25rem 2rem;
  margin-top: 3rem;
  background-color: var(--color-fondo);
  color: var(--color-sobre-fondo);
  border: 2px solid var(--color-borde-contraste);
  border-radius: var(--border-radius);
}

.bloque-administracion__menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

.bloque-administracion__menu a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.25em 0.5em;
  border-radius: var(--border-radius);
}

.bloque-administracion__menu a:hover {
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
}

.bloque-administracion__menu a .fa {
  font-size: 1.25em;
  color: var(--color-primario);
}

.otras-herramientas {
  width: 100%;
}

.otras-herramientas__bloque {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 3rem 0;
}

.otras-herramientas__tit {
  
}

.otras-herramientas__menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

.otras-herramientas__menu a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.25em 0.5em;
  border-radius: var(--border-radius);
}

.otras-herramientas__menu a:hover {
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
}

.otras-herramientas__menu a .fa {
  font-size: 1.25em;
  color: var(--color-primario);
}


/* --- Prefoot --- */

.prefoot {
  width: 100%;
  padding: 4rem 0 2rem;
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
  font-family: var(--fuente-alternativa);
}

.prefoot .centrado {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
}

.prefoot-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  margin-right: auto;
}

.prefoot-logo img {
  width: 180px;
}

.prefoot-logo__info {
  font-weight: 300;
  font-size: var(--tamano-3);
  max-width: 360px;
}

.prefoot-logo__tit {
  font-weight: 800;
  font-size: var(--tamano-4);
  font-family: var(--fuente-titulos);
}

.prefoot-logo__txt {
  max-width: 280px;
  margin-top: auto;
  font-weight: 300;
  font-size: var(--tamano-1);
}

.prefoot-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  font-size: var(--tamano-1);
}

.prefoot-info__tit {
  color: var(--color-secundario);
  font-weight: 700;
  font-size: var(--tamano-3);
}

.prefoot-info ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
}

.prefoot-info span {
  color: var(--color-secundario);
}

.menu-pie {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

.menu-pie > li > a {
  font-weight: 600;
  text-transform: uppercase;
}

.menu-pie .menu {
  flex-direction: column;
  gap: 0.25rem;
}

.boletin {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

.boletin__tit {
  font-size: var(--tamano-2);
  font-weight: 600;
  margin: 0;
}

.boletin__form {
  font-size: var(--tamano-1);
  width: 100%;
  position: relative;
  display: flex;
}

.boletin__form .boton {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.boletin__masinfo {
  margin: 0;
  font-size: 0.75rem;
  font-style: italic;
}


/* --- Foot --- */

.foot {
  width: 100%;
  padding: 2rem 0 4rem;
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
  font-size: var(--fuente-alternativa);
}

.foot .centrado {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 2rem;
}

.foot-creditos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  font-size: var(--tamano-1);
}

.foot-creditos a {
	display: inline-flex;
	align-items: center;
	gap: 0.25em;
	font-weight: 500;
  color: #F6BC25;
}

.foot-creditos a img {
	transition: all 0.25s ease-out;
}

.foot-creditos a:hover img {
	transform: translateX(2px);
}


/* --- Búsqueda --- */

.busqueda-formulario {
  display: flex;
	align-items: flex-start;
  flex-wrap: wrap;
  gap: 2rem;
  width: 100%;
  padding: 1.5rem 2rem;
  margin-bottom: 3rem;
  background-color: var(--color-fondo-contraste);
  border-radius: var(--border-radius);
}

.busqueda-formulario fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.busqueda-formulario fieldset legend {
  display: none;
}

.busqueda-formulario__texto, .busqueda-formulario__fechas {
  width: calc(50% - 1rem);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.busqueda-formulario__contenidos {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.busqueda-formulario__contenidos label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  cursor: pointer;
}

.busqueda-formulario .boton {
  margin: 0 auto;
}


/* --- Banner de cookies --- */

.cookies-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	padding: 2rem 0;
	background-color: var(--color-fondo);
	color: var(--color-sobre-fondo);
	font-size: var(--tamano-1);
	box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.25);
	z-index: 99999999;
}

.cookies-banner .centrado {
	display: flex;
  gap: 2rem;
}

.cookies-banner__texto {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cookies-banner__texto p {
  margin: 0;
}

.cookies-banner__texto a {
	color: var(--color-primario);
}

.cookies-banner__texto a:hover {
	color: var(--color-primario);
  text-decoration: underline;
}

.cookies-banner__botones {
	flex-shrink: 0;
	display: flex;
	align-items: flex-end;
  gap: 1rem;
	margin-left: auto;
}

.cookies-configuracion-fondo {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.75);
	padding: 3.5vw;
	z-index: 999999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cookies-configuracion {
  position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 900px;
	max-height: 100%;
	padding: 2rem;
	margin: 0 auto;
	background: var(--color-fondo);
	border-radius: var(--border-radius);
  font-size: var(--tamano-2);
	overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cookies-configuracion__titulo {
	font-size: var(--tamano-3);
  font-weight: 600;
	margin: 0;
	padding-bottom: 0.5em;
	border-bottom: 2px solid var(--color-fondo-contraste);
}

.cookies-configuracion p {
  margin: 0;
}

.cookies-configuracion label {
  margin-top: 1em;
	display: flex;
	align-items: flex-start;
	cursor: pointer;
  align-self: flex-start;
}

.cookies-configuracion label input {
  margin-top: 0.2em;
  margin-right: 0.5em;
}

.cookies-configuracion__botones {
  margin-top: auto;
  padding-top: 2em;
	display: flex;
  flex-wrap: wrap;
	justify-content: center;
  gap: 1rem;
}

.cookies-configuracion__botones .boton {
	background-color: var(--color-gris);
  color: var(--color-blanco);
	transition: all 0.1s ease-out;
  white-space: nowrap;
  justify-content: center;
}

.cookies-configuracion__botones .boton:hover {
	transform: translateY(-2px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}


/* --- Menús subapartados --- */

/* --- Menú horizontal --- */

.menu-horizontal {
  width: 100%;
  margin: 0 0 4rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.menu-horizontal ul {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.menu-horizontal li {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.menu-horizontal a {
  display: inline-flex;
  padding: 0.5em 1.25em;
  font-size: var(--tamano-2);
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
  border-radius: var(--border-radius);
  white-space: nowrap;
}

.menu-horizontal a.activo {
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
}

/* --- Menú lateral --- */

.menu-lateral {
  align-self: flex-start;
  width: max(230px, 20%);
  margin-right: min(3.5%, 3rem);
  display: flex;
  flex-direction: column;
  padding: 0;
}

.menu-lateral li {
  display: flex;
  flex-wrap: wrap;
}

.menu-lateral li a {
  flex: 1;
  display: inline-flex;
  padding: 0.5em 0;
  color: inherit;
  transition: all 0.2s ease-out;
}

.menu-lateral li ul {
  width: 100%;
}

.menu-lateral > li > a {
  font-weight: 500;
}

.menu-lateral li a.activo {
  color: var(--color-primario);
}

.menu-lateral li a:hover {
  color: var(--color-primario);
  transform: translateX(4px);
}

.menu-lateral ul {
  padding-left: 0.75rem;
  display: flex;
  flex-direction: column;
}

.menu-lateral .mdesp {
  font-size: 1.25em;
  padding: 0.5em;
  cursor: pointer;
  display: none;
}

.menu-lateral .mdesp::before {
  display: inline-block;
  transition: all 0.5s ease-out;
}

.menu-lateral .mdesp.abierto::before {
  transform: rotateX(180deg);
}

/* --- Menú solapas --- */

.menu-solapas {
  position: relative;
  width: 100%;
  padding: 0 0.75rem;
  margin: 2rem 0;
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
}

.menu-solapas::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-borde-contraste);
}

.menu-solapas li {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}

.menu-solapas li a {
  display: inline-flex;
  white-space: nowrap;
  font-size: var(--tamano-1);
  padding: 0.75em 1.25em;
  border: 1px solid var(--color-borde-contraste);
  border-bottom-color: transparent;
	border-top-left-radius: var(--border-radius);
	border-top-right-radius: var(--border-radius);
}

.menu-solapas a:hover {
  background-color: var(--color-fondo-contraste);
  color: var(--color-sobre-fondo-contraste);
}

.menu-solapas a.activo {
  background-color: var(--color-primario);
  color: var(--color-sobre-primario);
}

.menu-solapas ul {
  display: inline-flex;
  gap: 0.5rem;
}

.menu-solapas ul li a {
  padding: 0.5em 1.25em;
}

/*------------------------- GENERAL_BLOQUES.CSS (fin) --------------------------------*/
/* -------------------------------------------------------------------- */
/*------------------------- CARRUSEL.CSS (inicio) --------------------------------*/
.grupo_carusel {
  clear: both;
  position: relative;
  float: left;
  width: 100%;
  margin: .625em 0;
  padding: 0;
}

.foto_grande_horizontal {
  clear: both;
  position: relative;
  float: left;
  width: 100%;
  margin: .5em 0;
  padding: 0;
}

.carusel_horizontal {
  clear: both;
  position: relative;
  float: left;
  width: 100%;
  height: 5em; /* Hay que cambiarlo en funcion del alto de las fotos pequeñas */
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.foto_grande_vertical {
  position: relative;
  float: left;
  width: 70%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.carusel_vertical {
  position: relative;
  float: right;
  width: 28%;
  height: 14.8em; /* Hay que cambiarlo en funcion del alto de la foto grande */
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.previous_button {
  width: 4em;
  display: block;
  cursor: pointer;
  position: relative;
  float: left;
  padding: 2em 2em 0 .5em;
  font-weight: bold;
  color: var(--color-primario);
  font-size: .7em;
}

.previous_button_disabled {
  color: var(--color-secundario);
}

.carusel_vertical .previous_button {
  clear: both;
  width: 100%;
  float: left;
  padding: 0;
  text-align: center;
}

.next_button {
  width: 5em;
  display: block;
  cursor: pointer;
  position: relative;
  float: right;
  padding: 2em 0 0 0;
  font-weight: bold;
  font-size: .7em;
  color: var(--color-primario);
}

.next_button_disabled {
  color: var(--color-secundario);
}

.carusel_vertical .next_button {
  clear: both;
  width: 100%;
  float: left;
  padding: 0;
  text-align: center;
}

.container {
  position: relative;
  float: left;
  width: 20.25em; /* Valor 1 */
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.carusel_vertical .container {
  height: 11em; /* Valor 2 */
  width: 8em;
}

.lista_fotos {
  position: relative;
  float: left;
  width: 10000em;
  height: 5em;
  overflow: hidden;
  margin: 0;
  padding: 0;
  top: 0; /* NO BORRAR ESTA LINEA BAJO NINGUN CONCEPTO */
  left: 0; /* NO BORRAR ESTA LINEA BAJO NINGUN CONCEPTO */
}

.carusel_vertical .lista_fotos {
  width: 100%;
  height: 10000em;
}

.lista_fotos li {
  list-style-type: none;
  float: left;
  width: 10.125em; /* Este valor tiene que ser exactamente la mitad de Valor 1 */
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.carusel_vertical .lista_fotos li {
  width: 8em;
  height: 5.5em; /* Este valor tiene que ser exactamente la mitad de Valor 2 */
  padding: 0;
}

.galeria, .galeria-navegacion {
  max-width: 100%;
}

.galeria .galeria__imagen {
  position: relative;
  overflow: hidden;
}

.galeria .galeria__imagen img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.galeria-navegacion img {
  cursor: pointer;
}

.bloques-rotar-galeria {
	position: relative;
  float: left;
  min-height: 232px;
  margin-top:1em;
}

.bloques-rotar-galeria img{ width:100% !important;}
/*------------------------- CARRUSEL.CSS (fin) --------------------------------*/
/* -------------------------------------------------------------------- */
/* ---------------------- FORMULARIOS.CSS (inicio) (no herramienta) ------------------------------ */

.titform {
  clear: both;
  position: relative;
  float: left;
  width: 99%;
  margin: 0 0 .5em 0;
  padding: 0;
  font-size: var(--tamano-2);
  text-align: left;
  color: var(--color-generico);
}

.txt_avisopeso {
  color: var(--color-destacado);
}

.errorform {
  position: relative;
  float: left;
  color: #FFF;
  font-size: var(--tamano-2);
  padding: .3em;
  margin: 0;
}

.formulario #fset1 {
  border: none;
  padding: 1.0em 0 0 0;
}

.formulario #fset1 legend {
  margin: 0 0 1em 0;
  padding: 0;
}

.fset {
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-neutro);
  padding: 0 0 .5em 0;
  width: 99%;
  overflow: hidden;
}

.fset legend {
  position: relative;
  float:left;
  margin: 0 0 .5em 0;
  padding: .5em 0;
  background-color: var(--color-secundario);
  font-family: var(--fuente-generica);
  font-size: var(--tamano-4);
  color: var(--color-sobre-secundario);
  width: 100%;
  text-align: center;
}

.lineaf, .lineachk {
  position: relative;
  float: left;
  margin: 0 0 .5em 0;
  padding: 0;
  width: 100%;
  clear: both;
}

.lineafset {
  clear: both;
  position: relative;
  float: left;
  width: 94%;
  margin: 0 0 .625em 0;
  padding: 0 1em;
}

.lineaftab {
  position: relative;
  float: left;
  margin: 0 0 .5em 0;
  padding: 0 0 0 1em;
  width: 95%;
  clear: both;
}

.lineafdest {
 position:relative;
 float:left;
 margin:0 0 1em 0;
 padding:.5em;
 font-size: var(--tamano-2);
 background-color: var(--color-neutro);
 color: var(--color-sobre-neutro);
 width:97%;
}

.formulario span.ftxt {
  position:relative;
  float:left;
  margin:0;
  padding:0;
  color: var(--color-generico);  
  font-size: var(--tamano-2);
}

.formulario input.cajaantispam {
  border: .1em solid var(--color-generico);
  background-color: #FFF;
}

input.bt_form {
  padding: .5em .5em;
  margin: 0;
  font-family: var(--fuente-generica);       
  font-size:var(--tamano-2);
  color: var(--color-sobre-boton);
  cursor: pointer;  
}

input.bt_form:hover {
  border: .1em solid var(--color-overbordeboton);
  background-color: var(--color-over-boton);
  color: var(--color-sobre-boton);
}

.fbuscar input.bt_form {
  margin: 0;
}

a.bt_form {
  padding: .5em .5em;
  margin: 0;
  color: var(--color-sobre-boton);
  font-size:var(--tamano-2);
}

.t31 a.bt_form, .t22 a.bt_form {
 display:block;
 width:100%; 
}

a.bt_form:hover {
  border: .1em solid var(--color-overbordeboton);
  background-color: var(--color-over-boton);
  color: var(--color-sobre-boton);
}

fieldset.fsetoculto {
  border: none;
  margin:0;
  padding:0;
}

.cajaf {
  position: relative;
  float: left;
  width: 68%;
  margin: 0;
  padding: .5em .5em;
  font-size: var(--tamano-2);
}

.lbl {
  display: block;
  position: relative;
  float: left;
  margin: 0 .2em .2em 0;
  padding: .25em 0;
  width: 30%;
  font-size: var(--tamano-2);
}

label.oculto {
  display: none;
}

/* ---------------------- FORMULARIOS.CSS (fin) (no herramienta) ------------------------------ */
/* -------------------------------------------------------------------- */
/*----------------------- CALENDARIO.CSS (inicio) --------------------------------*/

.calendario {  
  clear: both;
  position: relative;
  float: left;
  margin: .625em 0 0 0;
  padding: 0;  
  width: 100%;
}

.fila_cal {
  clear: both;
  position: relative;
  float: left;
  width: 100%;
  margin: 0 0 1em 0;
  padding: 0;
}

.fecha_cal {
  clear: both;
  position: relative;
  float: left;
  width: 100%;
  margin: 0 0 .3em 0;
  padding: 0;
  color: var(--color-generico);
  font-size: .6875em;
}

/* ------------------------------------------------------------ */

.tbcalendario {
	border:1px solid #E1E1E1;
  clear: both;
  position: relative;
  margin: 0 auto;
  width: 100%;
  border-spacing: 0;
  empty-cells: hide;
  border-collapse: collapse;
}

.tbcalendario caption {
	color:var(--color-sobre-primario);
  margin: 0 auto;
  padding: .5em 0;
  font-size: var(--tamano-2);
  font-weight: bold;
}

.tbcalendario caption a {
	color:var(--color-sobre-primario);
	margin: 0 .625em;
	}

.tbcalendario a:hover {
  color: var(--color-over);
}

.tbcalendario th {
  font-size: var(--tamano-2);
  padding:.5em 0;
   font-weight: bold;
}

.tbcalendario th abbr[title] {
	text-decoration:none;
}

.tbcalendario tr td {    
  color: var(--color-generico);
  font-size: var(--tamano-2);
  margin: 0;
  padding: .5em .25em;
  text-align: center;
}

.tbcalendario tr td.diaactual,
.tbcalendario tr td.diaactual a{
  background-color: var(--color-neutro);
  color: var(--color-sobre-neutro);
  font-weight:bold;
}

.tbcalendario tr td.diamarcado,
.tbcalendario tr td.diamarcado a{
  background-color: var(--color-neutro);
  color: var(--color-sobre-neutro);
}

.tbcalendario img {
  margin: 0;
  padding: 0;
  width: 1em;
  height: 1em;
}
/*----------------------- CALENDARIO.CSS (fin) --------------------------------*/
/* -------------------------------------------------------------------- */
/*----------------------- SLICK.CSS (inicio) --------------------------------*//* Slider */
.slick-slider {
	position: relative;
	display: block;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-ms-touch-action: initial;
	touch-action: initial;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-list, .slick-track, .slick-slide, .slick-slide img {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	left: 0;
	top: 0;
	display: flex;
	zoom: 1;
}

.slick-track::before, .slick-track::after {
	content: "";
	display: table;
}

.slick-track::after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	height: 100%;
	min-height: 1px;
	display: none;
}

.slick-slide img {
	display: block;
	width: 100%;
}

.slick-slide.slick-loading img {
	display:none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}


/* --- Flechas --- */

.slick-prev, .slick-next {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: transparent;
  color: transparent;
  font-size: 0;
  padding: 0;
  border: none;
  outline: none;
  z-index: 10;
}

.slick-prev:focus, .slick-next:focus {
  outline: none;
}

.slick-prev.slick-disabled, .slick-next.slick-disabled {
  cursor: unset;
}

.slick-prev.slick-disabled::before, .slick-next.slick-disabled::before {
  opacity: 0.25;
}

.slick-prev::before, .slick-next::before {
  font-family: "FontAwesome";
  font-size: 2.5rem;
  color: white;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  transition: all 0.25s ease-out;
}

.slick-prev {
  top: 0;
  left: 0;
  width: 8%;
  height: 100%;
}

.slick-next {
  top: 0;
  right: 0;
  width: 8%;
  height: 100%;
}

.slick-prev::before {
  content: "\f104";
}

.slick-next::before {
  content: "\f105";
}

.slick-prev:not(.slick-disabled):hover::before {
  transform: translateX(-8px);
}

.slick-next:not(.slick-disabled):hover::before {
  transform: translateX(8px);
}


/* --- Puntos --- */

.slick-slider {
	margin-bottom: 0;
}

.slick-dots, .slick-miniatura {
	position: absolute;
	box-sizing: border-box;
	left: 0;
	bottom: 2rem;
	width: 100%;
	margin: 0;
	padding: 0 10%;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.75rem;
}

.slick-dots li:only-child {
	display: none;
}

.slick-dots li button {
	border: 0;
	display: block;
	width: 15px;
	height: 15px;
	border-radius: 100%;
	line-height: 0;
	font-size: 0;
	cursor: pointer;
	outline: none;
	transition: all 0.2s ease;
	background-color: var(--color-gris-claro);
}

.slick-dots li button:hover {
	background-color: var(--color-primario);
}

.slick-dots li.slick-active button {
	transform: scale(1.125);
	background-color: var(--color-primario);
}

.slick-dots li button:focus {
	outline: none;
}
/*----------------------- SLICK.CSS (fin) --------------------------------*/
/* -------------------------------------------------------------------- */
/*----------------------- GENERAL_PROPIEDADES.CSS (inicio) --------------------------------*/
.invisible {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.disabled {
  opacity: 0.25 !important;
  color: var(--color-sobre-fondo) !important;
  cursor: not-allowed !important;
}
.disabled * {
  color: inherit !important;
  cursor: not-allowed !important;
}
.oculto {display: none;}
.dbl {display: block;}
.dinl {display: inline;}
.dinl-bl {display: inline-block;}
.ohid { overflow: hidden;}
.psr {position:relative;}
.psa {position:absolute;}
.fl_l {float:left;}
.fl_r {float:right;}
.clb {clear:both;}
.oauto_y {overflow-y:auto;}
.oauto_x {overflow-x:auto;}

.cr_p {cursor:pointer;}

/* --------- tablas -----------------*/
.tb_colap {border-collapse:collapse;}
th {font-weight:normal;}

/* --------- bordes ------------------ */
.brcb {border: 1px solid var(--color-barra);}
.brcn {border: 1px solid var(--color-neutro);}
.brcn1 {border-top: 1px solid var(--color-neutro);}
.brcn2 {border-right: 1px solid var(--color-neutro);}
.brcn3 {border-bottom: 1px solid var(--color-neutro);}
.brcn4 {border-left: 1px solid var(--color-neutro);}
.brcn7 {border-bottom: 1px dotted var(--color-neutro);}
  
.brd {border: 1px solid;}
.brd1 {border-top: 1px solid;}
.brd2 {border-right: 1px solid;}
.brd3 {border-bottom: 1px solid;}
.brd4 {border-left: 1px solid;}

.brng1_1 {border-top:1px solid #EEE;}
.brng1_2 {border-right:1px solid #EEE;}
.brng1_3 {border-bottom:1px solid #EEE;}
.brng1_4 {border-left:1px solid #EEE;}

.primero { border: none;}

.brad5 {	
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
 
/* --------- Alineaciones, imágenes ------------------ */	

.va_m {vertical-align:middle;}
.va_t {vertical-align:top;}
.va_b {vertical-align:bottom;}
.va_s {vertical-align:sub;}
.va_sp {vertical-align:super;}
/* --------- listas ------------------ */
.lty_c {list-style-type: circle;}
.lty_s {list-style-type: square;}
.lty_n {list-style-type: none;}

/* --------- tamaños ------------------ */
.t1 {width: 1%;}
.t4 {width: 4%;}
.t5 {width: 5%;}
.t6 {width: 6%;}
.t8 {width: 8%;}
.t8_2 {width: 8.2%;}
.t10 {width: 10%;}
.t15 {width: 15%;}
.t16 {width: 16%;}
.t17_6 {width: 17.6%;}
.t18 {width: 18%;}
.t18_4 {width:18.4%;}
.t20 {width: 20%;}
.t22 {width: 22%;}
.t22_7 {width: 22.75%;}
.t23 {width: 23%;}
.t24 {width: 24%;}
.t25 {width: 25%;}
.t27 {width: 27%;}
.t28 {width: 28%;}
.t30 {width: 30%;}
.t31 {width: 31%;}
.t31_3 {width: 31.3%;}
.t32 {width: 32%;}
.t33 {width: 33%;}
.t35 {width: 35%;}
.t38_8 {width:38.8%;}
.t40 {width: 40%;}
.t44 {width: 44%;}
.t45 {width: 45%;}
.t47 {width: 47%;}
.t48 {width: 48%;}
.t48_5 {width: 48.5%;}
.t49 {width: 49%;}
.t50 {width: 50%;}
.t55 {width: 55%;}
.t59_2 {width:59.2%;}
.t60 {width: 60%;}
.t61 {width: 61%;}
.t62 {width: 62%;}
.t62 {width: 62%;}
.t65 {width: 65%;}
.t65_6 {width: 65.6%;}
.t66 {width: 66%;}
.t67 {width: 67%;}
.t68  {width: 68%;}
.t70 {width: 70%;}
.t74 {width: 74%;}
.t74_2 {width: 74.25%;}
.t75 {width: 75%;}
.t79_6 {width:79.6%;}
.t80 {width: 80%;}
.t84 {width: 84%;}
.t85 {width: 85%;}
.t86 {width: 86%;}
.t89_8 {width: 89.8%;}
.t90 {width: 90%;}
.t91 {width: 91%;}
.t91_5 {width: 91.5%;}
.t92 {width: 92%;}
.t93 {width: 93%;}
.t94 {width: 94%;}
.t95 {width: 95%;}
.t95_8 {width: 95.85%;}
.t96 {width: 96%;}
.t97 {width: 97%;}
.t98 {width: 98%;}
.t99 {width: 99%;}
.t100 {width: 100%;}

.wauto {width: auto !important;}

/* z-index */
.z1 {z-index:1;}
.z20 {z-index:20;}
	
/* --------- alturas ------------------ */

.h150 {height:9.375em;/*150px*/}
.h300 {height:18.75em;/*300px*/}

/* --------- paddings ------------------ */	
.pad0 {padding:0;}
.padl0 {padding-left:0;}
.padtb2 {padding-top:.1em;padding-bottom:.1em;}
.padl2 {padding-left:.1em;}
.pad2 {padding:.125em;}
.padtb2 {padding-top:.125em;padding-bottom:.125em;}
.padb3 {padding-bottom: .2em;}
.padt3 {padding-top: .2em;}
			
.pad4 {padding:.25em;}
.padtb4 {padding-top:.25em;padding-bottom:.25em;}
.padlr4 {padding-left:.25em;padding-right:.25em;}
.padtb5 {padding-top:.3em;padding-bottom:.3em;}
.padtb6 {padding-top:.375em;padding-bottom:.375em;}
.padt4 {padding-top: .25em;}
.padr4 {padding-right: .25em;}
.padb4 {padding-bottom: .25em;}
.padl4 {padding-left: .25em;}
.padtinf025 {padding: .25em 0; }

.pad8 {padding:.5em;}
.padtb8 {padding-top:.5em;padding-bottom:.5em;}
.padlr8 {padding-left:.5em;padding-right:.5em;}
.padt8 {padding-top: .5em;}
.padr8 {padding-right: .5em;}
.padb8 {padding-bottom: .5em;}
.padl8 {padding-left: .5em;}
  
.padt12 {padding-top: .75em;}
.padb12 {padding-bottom: .75em;}
.padl12 {padding-left: .75em;}
.padt13 {padding-top: .8em;}
  
.pad16 {padding:1em;}
.padtb16 {padding-top:1em;padding-bottom:1em;}
.padlr16 {padding-left:1em;padding-right:1em;}
.padt16 {padding-top: 1em;}
.padr16 {padding-right: 1em;}
.padb16 {padding-bottom: 1em;}
.padl16 {padding-left: 1em;}
.padr1p {padding-right: 1%;}

.pad20 {padding:1.25em;}
.padt20  {padding-top: 1.25em;}
.padtb20 {padding-top:1.25em;padding-bottom:1.25em;}
.padl20 {padding-left:1.25em;}
.pad24 {padding:1.5em;}
.padtb24 {padding-top:1.5em;padding-bottom:1.5em;}
.padt24 {padding-top: 1.5em;}
.padr24 {padding-right: 1.5em;}
.padb24 {padding-bottom: 1.5em;}
.padl24 {padding-left: 1.5em;}
.pad26 {padding:1.625em;}
.pad32 {padding:2em;}
.padt32 {padding-top: 2em;}
.padr32 {padding-right: 2em;}
.padb32 {padding-bottom: 2em;}
.padl32 {padding-left: 2em;}
.padtb32 {padding-top: 2em;padding-bottom:2em;}
.padl40 {padding-left:2.5em;}
.padl48 {padding-left: 3em;}
.padl64 {padding-left: 4em;}

.pad2p {padding:2%;}
.padl2p {padding-left:2%;}
.padr2p {padding-right:2%;}
.padlr2p {padding-left:2%;padding-right:2%;}
.pad4p {padding:4%;}
.padl4p {padding-left:4%;}
.padr4p {padding-right:4%;}
.padlr4p {padding-left:4%;padding-right:4%;}

.pad5p {padding:5%;}
.padl5p {padding-left:5%;}
.padr5p {padding-right:5%;}
.padlr5p {padding-left:5%;padding-right:5%;}
.padlr10p {padding-left:10%;padding-right:10%;}



/* --------- márgenes ------------------ */	  
.mar0 {margin:0;}
.marauto {margin:0 auto;}
.mart2 {margin-top: .125em;}

.marl0 {margin-left:0;}
.mart3 {margin-top: .1875em;}
.mart4 {margin-top: .25em;}
.marr4 {margin-right: .25em;}
.marb4 {margin-bottom: .25em;}
.marl4 {margin-left: .25em;}
.mart6{margin-top: .35em;}
.marb6 {margin-bottom:.35em;}

.martb8 {margin-top: .5em; margin-bottom: .5em;}
.marlr8 {margin-left: .5em; margin-right: .5em;}
.mart8 {margin-top: .5em;}
.marr8 {margin-right: .5em;}
.marb8 {margin-bottom: .5em;}
.marl8 {margin-left: .5em;}

.mart10 {margin-top: .625em;}
.marb10 {margin-bottom: .625em;}
.marr12 {margin-right: .75em;}
.marl12 {margin-left: .75em;}
.marb12 {margin-bottom: .75em;}
.mart12 {margin-top: .75em;}
.mart13 {margin-top: .8em;}

.martb16 {margin-top: 1em; margin-bottom:1em;}
.mart16 {margin-top: 1em;}
.marr16 {margin-right: 1em;}
.marb16 {margin-bottom: 1em;}
.marl16 {margin-left: 1em;}

.marl20 {margin-left: 1.25em;}

.mart32 {margin-top: 2em;}
.martb32 {margin-top: 2em;margin-bottom: 2em;}
.marb32 {margin-bottom: 2em;}
.marl32 {margin-left: 2em;}
.marr32 {margin-right: 2em;}
.mart48 {margin-top:48px;} /*área personal*/

.marlr2p {margin-left:2%;margin-right:2%;}
.marl2p {margin-left:2%;}
.marr2p {margin-right:2%;}
.marl3p {margin-left:3%;}
.marlr4p {margin-left:4%;margin-right:4%;}
.marl4p {margin-left:4%;}
.marlr5p {margin-left:5%;margin-right:5%;}

/* --------- fuentes ------------------ */	

.fw_500 {font-weight:500;}
.fw_700 {font-weight:700;}
.fw_800 {font-weight:800;}

.txt_b {font-weight: bold;}
.txt_n {font-weight: normal;}
.txt_em {font-style: italic;}
.txt_u {text-decoration: underline;}
.txt_up {text-transform: uppercase;}
.txt_c {text-transform: capitalize;}

.v_gr {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-generico);}
.v_grcd {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-destacado);}
.v_grcd2 {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-destacado2);}
.v_grinact {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-inactivo);}
.v_gract {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-activo);}
.v_grsobcn {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-sobre-neutro);}
.v_grsobcs {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-sobre-secundario);}
.v_grsobcp {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-sobre-primario);}
.v_tdest {font-size:var(--tamano-4)}

.v_norm {font-family:var(--fuente-generica); font-size:var(--tamano-2);}
/* norm --> necesario para estilos de navegacion.inc (este fichero se comparte con system y personal) */
.norm {font-family:var(--fuente-generica);font-size:var(--tamano-2);color:var(--color-generico);}
.norm {font-family:Lato,Arial,sans-serif;font-size:0.875em;color:var(--color-generico);}
.v_normcd {font-family:var(--fuente-generica); font-size:var(--tamano-2);}
.v_normcd2 {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-destacado2);}
.v_norminact {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-inactivo);}
.v_normact {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-activo);}
.v_normsobcp {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-primario);}
.v_normsobcs {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-secundario);}
.v_normsobcn {font-family:var(--fuente-generica); font-size:var(--tamano-2); color:var(--color-sobre-neutro);}
.v_normsobcb {font-family:var(--fuente-generica); font-size:var(--tamano-2); color: var(--color-sobre-barra);}
.v_tnorm {font-size:var(--tamano-2);}

.v_normm {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-generico);}
.v_normmcd {font-family:var(--fuente-generica); font-size:var(--tamano-4);}
.v_normmcd2 {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-destacado2);}
.v_normminact {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-inactivo);}
.v_normmact {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-activo);}
.v_normmsobcp {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-sobre-primario);}
.v_normmsobcs {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-sobre-secundario);}
.v_normmsobcn {font-family:var(--fuente-generica); font-size:var(--tamano-4); color:var(--color-sobre-neutro);}
  
.v_normcd2 a {color:var(--color-destacado2);}
.v_norminact a {color:var(--color-inactivo);}
.v_normact a {color:var(--color-activo);}
.v_normsobcp a {color:var(--color-sobre-primario);}
.v_normsobcs a {color:var(--color-sobre-secundario);}
.v_normsobcn a{color:var(--color-sobre-neutro);}
.v_normsobcb a {color: var(--color-sobre-barra);} 
  
.v_pq {font-family:var(--fuente-generica); font-size:var(--tamano-1); color:var(--color-generico);}
.v_pqcd {font-family:var(--fuente-generica); font-size:var(--tamano-1);}
.v_pqcd2 {font-family:var(--fuente-generica); font-size:var(--tamano-1); color:var(--color-destacado2);}
.v_pqinact {font-family:var(--fuente-generica); font-size:var(--tamano-1); color:var(--color-inactivo);}
.v_pqact {font-family:var(--fuente-generica); font-size:var(--tamano-1); color:var(--color-activo);}
.v_pqsobcp {font-family:var(--fuente-generica); font-size:var(--tamano-1); color:var(--color-sobre-primario);}
.v_pqsobcs {font-family:var(--fuente-generica); font-size:var(--tamano-1); color:var(--color-sobre-secundario);}
.v_pqsobcn {font-family:var(--fuente-generica); font-size:var(--tamano-1); color:var(--color-sobre-neutro);}

/* tamaños de fuentes */
.v_t1, .tamano-1 {font-size:var(--tamano-1);}
.v_t2, .tamano-2 {font-size:var(--tamano-2);}
.v_t3, .tamano-3 {font-size:var(--tamano-3);}
.v_t4, .tamano-4 {font-size:var(--tamano-4);}
.v_t5, .tamano-5 {font-size:var(--tamano-5);}

.fs_12 {font-size:.75em;}
.fs_14 {font-size:.875em;}
.fs_15 {font-size:.9375em;}
.fs_16 {font-size:1em;}
.fs_18 {font-size:1.125em;}
.fs_20 {font-size:1.25em;}
.fs_24 {font-size:1.5em;}
.fs_28 {font-size:1.75em;}
.fs_32 {font-size:2em;}

/* necesarios para el acceso a la administración que aparece cuando estas logueado.*/
.fs_0_9375 {font-size:.9375em;}
.fs_0_75 {font-size:.75em;}
.fs_1_25 {font-size:1.25em;}
.fs_2 {font-size:2em;}
.fs_3 {font-size:3em;}

 /* --------- colores y fondos ------------------ */  
.cb {background-color:var(--color-barra); color: var(--color-sobre-barra);}  
.cp {color:var(--color-sobre-primario);}
.cn {background-color:var(--color-neutro); color:var(--color-sobre-neutro);}
.cap {color:var(--color-sobre-primario);}
.cbot {background-color:var(--color-boton); color:var(--color-sobre-boton);}
	
.colgen {color: var(--color-generico);}
.colact {color: var(--color-activo);}
.colbot {color: var(--color-boton);}
.colovrbot {color: var(--color-over-boton);}
.colborbot {color: var(--color-borde-boton);}
.colovrborbot {color: var(--color-over-borde-boton);}
.colpri {color: var(--color-primario);}
.colsec {color: var(--color-secundario);}
.colneu {color: var(--color-neutro);}
.csbarra {color: var(--color-barra);}
.csobpri {color: var(--color-sobre-primario);}
.csobsec {color: var(--color-sobre-secundario);}
.csobneu {color: var(--color-sobre-neutro);}
.csobbarra {color: var(--color-sobre-barra);}
.csobbot {color: var(--color-sobre-boton);}

/* fondos no genéricos .bg_ng1 , .bg_ng2 ..etc */
.bg_ng1 {background-color:#FFF;}
.bg_ng2 {background-color:#FAFBFC;}

/* colores no genéricos */
.col_ng1 {color:#FFF !important;}
.col_ng1 .v_norm {color:#FFF !important;}
.col_ng2 {color:#85B200 !important;}
.col_ng3 {color:#999 !important;}
.col_ng4 {color:#B20000 !important;}
.col_ng5 {color:#000 !important;}
.col_ng6 {color:#FF0000 !important;}
.col_ng7 {color:#FFBF00 !important;}
.col_ng8 {color:#212121 !important;}
.col_ng9 {color:#7B7B7B !important;}


/* --- PROPORCIONES --- */

.prop16_9 {
	padding-top: calc(100% / (16/9));
}

.prop8_5 {
	padding-top: calc(100% / (8/5));
}

.prop4_3 {
	padding-top: calc(100% / (4/3));
}

.prop1_1 {
	padding-top: calc(100% / (1/1));
}
/*----------------------- GENERAL_PROPIEDADES.CSS (fin) --------------------------------*/
/* -------------------------------------------------------------------- */
/* ---------------------- HEDITOR.CSS (HERRAMIENTA heditor) (inicio) -------------------- */

.blq_nv p,.blq_nv ul,.blq_nv ol {
  margin-bottom: 0;
  padding-bottom: 0;
}

.heditor_first {
  margin-top: 0;
  padding-top: 0;
}

ul.heditor_first {
  padding:0;
}

.heditor_first li {
  padding: .25em 0;
}

ul li,ol li  { list-style-position: inside; }

.txa_l {
  text-align: left;
}

.txa_r {
  text-align: right;
}

.txa_c {
  text-align: center;
}

.txa_j {
  text-align: justify;
}

.txa_u {
  text-decoration: underline;
}

/* Aquí se pueden añadir más niveles de sangría, siguiendo el mismo esquema.
 * Los coge automáticamente.
 */
.heditor_sangria1{margin-left:3em}
.heditor_sangria2{margin-left:6em}
.heditor_sangria3{margin-left:9em}
.heditor_sangria4{margin-left:12em}
.heditor_sangria5{margin-left:15em}
.heditor_sangria6{margin-left:18em}
.heditor_sangria7{margin-left:21em}
.heditor_sangria8{margin-left:24em}
.heditor_sangria9{margin-left:27em}
.heditor_sangria10{margin-left:30em}

/* Estilos predefinidos */
.heditor_tit {
  font-family:var(--fuente-generica);
  font-size:var(--tamano-4);
  color:var(--color-destacado);
}

.heditor_txtdest {
  font-family:var(--fuente-generica);
  font-size:var(--tamano-4);
  color:var(--color-generico);
}

.heditor_fnddest {
  background-color:var(--color-secundario);
  color:var(--color-sobre-secundario);
}

/* Tamaños de fuente */
.heditor_fpeq {
  font-size:var(--tamano-1);
}

.heditor_fnorm {
  font-size:1em;
}

.heditor_fgr {
  font-size:var(--tamano-4);
}

.heditor_fmuygr {
  font-size:var(--tamano-5);
}

/* colores fondos */
.heditor_bgcolor_colpri {
  background-color:var(--color-primario);
}

.heditor_bgcolor_colneu {
  background-color:var(--color-neutro);
}

.heditor_bgcolor_colsec {
  background-color:var(--color-secundario);
}

/* colores textos */
.heditor_color_coldest {
  color:var(--color-destacado);
}

.heditor_color_coldest2 {
  color:var(--color-destacado2);
}

.heditor_color_colact {
  color:var(--color-activo);
}

/* Colores personalizados.
 * Es una lista de clases, con nombre heditor_color_xxx para los colores de texto y heditor_bgcolor_xxx para los de fondo.
 * 'xxx' es un nombre cualquiera (excepto el color en hexadecimal, que en explorer peta).
 * Lo importante es que empiecen por heditor_color_ o heditor_bgcolor_. Cada clase define un color.
 * Ejemplos:
 * .heditor_color_xxx {
 *   color: #ff0000;
 * }
 * .heditor_bgcolor_xxx {
 *   background-color: #ff0000;
 * }
 */

 .heditor_bgcolor_rojo {
   background-color: #ff0000;
 }
/* ---------------------- HEDITOR.CSS (HERRAMIENTA heditor) (fin) -------------------- */
/* -------------------------------------------------------------------- */
/*------------------------- DINAMICO.CSS (inicio) --------------------------------*/

/*--------------------- general_bloques.css -----------------*/

/*------------------------- general_propiedades.css ---------------------------*/
.brcp {border: 1px solid var(--color-apartado);}
.brcp1 {border-top: 1px solid var(--color-apartado);}
.brcp2 {border-right: 1px solid var(--color-apartado);}
.brcp3 {border-bottom: 1px solid var(--color-apartado);}
.brcp4 {border-left: 1px solid var(--color-apartado);}
.brcp7 {border-bottom: 1px dotted var(--color-apartado);}
.brcs {border: 1px solid var(--color-apartado-claro);}
.brcs1 {border-top: 1px solid var(--color-apartado-claro);}
.brcs2 {border-right: 1px solid var(--color-apartado-claro);}
.brcs3 {border-bottom: 1px solid var(--color-apartado-claro);}
.brcs4 {border-left: 1px solid var(--color-apartado-claro);}
.brcs5 {border-top: 1px dotted var(--color-apartado-claro);}
.cp {background-color:var(--color-apartado); }
.cap {background-color: var(--color-apartado);}
.txcolap { color: var(--color-apartado-txt);}
.v_grcd {color:var(--color-apartado-txt);}
.v_normcd {color:var(--color-apartado-txt);}
.v_normcd a {color:var(--color-apartado-txt);}
.v_normmcd {color:var(--color-apartado-txt);}
.v_normmcd a {color:var(--color-apartado-txt);}
.v_pqcd {color:var(--color-apartado-txt);}

/*------------------------- general_bloques.css ---------------------------*/


/*------------------------- contenido.css ---------------------------*/
.tabla td.fondo{color: var(--color-apartado-claro-txt);}

/*------------------------- formularios.css ---------------------------*/
.errorform {background-color: var(--color-apartado-txt);}
.lineafdest {border-left: 4px solid var(--color-apartado);}

/*------------------------- calendario.css ---------------------------*/
.tbcalendario caption {background-color:var(--color-apartado);}
.tbcalendario caption img {background-color: var(--color-apartado-claro);}
.tbcalendario a {color: var(--color-apartado-txt);}
.tbcalendario th {color: var(--color-apartado-txt);}
.tbcalendario tr td.calsomb {background-color: var(--color-apartado-claro);}

/*------------------------- general_propiedades.css ---------------------------*/
.brcp {border: 1px solid var(--color-apartado);}
.brcp1 {border-top: 1px solid var(--color-apartado);}
.brcp2 {border-right: 1px solid var(--color-apartado);}
.brcp3 {border-bottom: 1px solid var(--color-apartado);}
.brcp4 {border-left: 1px solid var(--color-apartado);}
.brcp7 {border-bottom: 1px dotted var(--color-apartado);}
.brcs {border: 1px solid var(--color-apartado-claro);}
.brcs1 {border-top: 1px solid var(--color-apartado-claro);}
.brcs2 {border-right: 1px solid var(--color-apartado-claro);}
.brcs3 {border-bottom: 1px solid var(--color-apartado-claro);}
.brcs4 {border-left: 1px solid var(--color-apartado-claro);}
.brcs5 {border-top: 1px dotted var(--color-apartado-claro);}
.cp {background-color:var(--color-apartado); }
.cap {background-color: var(--color-apartado);}
.txcolap { color: var(--color-apartado-txt);}
.v_grcd {color:var(--color-apartado-txt);}
.v_normcd {color:var(--color-apartado-txt);}
.v_normcd a {color:var(--color-apartado-txt);}
.v_normmcd {color:var(--color-apartado-txt);}
.v_pqcd {color:var(--color-apartado-txt);}
/*------------------------- DINAMICO.CSS (fin) --------------------------------*/



/* --- ANIMACIONES --- */

@keyframes beat {
  0%, 90% {
      -webkit-transform: scale(1);
      transform: scale(1)
  }

  45% {
      -webkit-transform: scale(1.25);
      transform: scale(1.25);
  }
}

@keyframes bounce {
  0% {
      -webkit-transform: scale(1) translateY(0);
      transform: scale(1) translateY(0);
  }
  10% {
      -webkit-transform: scale(1.1, 0.9) translateY(0);
      transform: scale(1.1, 0.9) translateY(0);
  }
  30% {
      -webkit-transform: scale(0.9, 1.1) translateY(-0.5em);
      transform: scale(0.9, 1.1) translateY(-0.5em);
  }
  50% {
      -webkit-transform: scale(1.05, 0.95) translateY(0);
      transform: scale(1.05, 0.95) translateY(0);
  }
  57% {
      -webkit-transform: scale(1) translateY(-0.125em);
      transform: scale(1) translateY(-0.125em);
  }
  64% {
      -webkit-transform: scale(1) translateY(0);
      transform: scale(1) translateY(0);
  }
  to {
      -webkit-transform: scale(1) translateY(0);
      transform: scale(1) translateY(0);
  }
}

@keyframes fade {
  50% {
      opacity: 0.4;
  }
}

@keyframes beat-fade {
  0%, to {
      opacity: 0.4;
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  50% {
      opacity: 1;
      -webkit-transform: scale(1.125);
      transform: scale(1.125);
  }
}

@keyframes flip {
  50% {
      -webkit-transform: rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));
      transform: rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))
  }
}

@keyframes shake {
  0% {
      -webkit-transform: rotate(-15deg);
      transform: rotate(-15deg);
  }
  4% {
      -webkit-transform: rotate(15deg);
      transform: rotate(15deg);
  }
  8%, 24% {
      -webkit-transform: rotate(-18deg);
      transform: rotate(-18deg);
  }
  12%, 28% {
      -webkit-transform: rotate(18deg);
      transform: rotate(18deg);
  }
  16% {
      -webkit-transform: rotate(-22deg);
      transform: rotate(-22deg);
  }
  20% {
      -webkit-transform: rotate(22deg);
      transform: rotate(22deg);
  }
  32% {
      -webkit-transform: rotate(-12deg);
      transform: rotate(-12deg);
  }
  36% {
      -webkit-transform: rotate(12deg);
      transform: rotate(12deg);
  }
  40%, to {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
  }
}

@keyframes spin {
  0% {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
  }
  to {
      -webkit-transform: rotate(1turn);
      transform: rotate(1turn);
  }
}


/* --- ERRORES --- */

.error404 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 2rem;
  width: 100%;
  min-height: 40vh;
  margin: 2rem 0;
}

.error404__contenido {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 2rem;
}

.error404__contenido p {
  margin: 0;
}

.error404__contenido img {
  width: 300px;
  aspect-ratio: 1 / 1;
  max-width: 80%;
  border: 2px solid var(--color-primario);
}