.menupri > li:hover > ul.menusec { display: none; }

.menupri > li > ul.menusec { display: none; }

.menupri .mdesp {
	display:none;
}

.menupri:not(:focus-within) > li:hover:not(.submenu-cerrado) > ul.menusec,
.menupri > li.submenu-abierto > ul.menusec {
	display: block;
}

.menupri > li.submenu-abierto > ul.menusec {
	animation: none;
}

.menudcha > li.submenu-abierto > ul {
	display: block;
}

#ic-bars,
#close-bars,
.menudcha button.mdesp {
	background: none;
	border: 0;
	padding: 0;
}

#cabecera a:focus-visible,
#cabecera button:focus-visible,
.salto-contenido:focus-visible {
	outline: 2px solid #222;
	outline-offset: 3px;
	box-shadow: 0 0 0 3px #fff;
}

.salto-contenido {
	position: fixed;
	z-index: 11000;
	top: 0.75rem;
	left: 0.75rem;
	padding: 0.65rem 1rem;
	background: #fff;
	color: #222;
	transform: translateY(-200%);
}

.salto-contenido:focus {
	transform: none;
}

#medio {
	scroll-margin-top: 10rem;
}

.titulo-portada {
  padding: .75rem 0 .25rem;
}

.titulo-portada h1.titulo {
  font-size: clamp(1.375rem, 2.4vw, 2.5rem);
  line-height: 1.2;
  padding: .65rem 0 0;
}

.titulo-portada h1.titulo::before {
  width: min(7rem, 40%);
  min-width: 0;
  height: .3rem;
  min-height: 0;
}

.titulo-portada + #trabajos {
  padding-top: 1.25rem;
}

.menupri ul li a {
	border-radius: .35rem;
	transition: background-color .18s ease, transform .18s ease;
}

.menupri ul li a:is(:hover, :focus-visible) {
	background-color: #fff3cf;
	color: #222;
	transform: translateX(.2rem);
}

.menupri ul li a.activo {
	font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
	.menupri ul li a {
		transition: none;
	}

	.menupri ul li a:is(:hover, :focus-visible) {
		transform: none;
	}
}

.titulo_trabajos {
	font-size: 1.5em;
	margin: 0;
}

#trabajos .centrado {
	position: relative;
}

.control-rotacion-trabajos {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 28px;
	min-height: 28px;
	border: 0;
	background: transparent;
	color: #333;
	cursor: pointer;
}

.control-rotacion-trabajos:focus-visible {
	outline: 2px solid #222;
	outline-offset: 2px;
}

.menutrab {
	position: relative;
	width: 100%;
	margin: 1em 0 0;
	padding: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style-type: none;
	font-size: 0.875em;
}

.menutrab::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 2em;
	height: 100%;
	background: linear-gradient(to right, white, transparent);
	z-index: 100;
	pointer-events: none;
}

.menutrab::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 2em;
	height: 100%;
	background: linear-gradient(to left, white, transparent);
	z-index: 100;
	pointer-events: none;
}

.menutrab > .slick-arrow {
	top: 50%;
	width: 24px;
	height: 100%;
	margin: 0;
	transform: translateY(-50%);
	z-index: 101;
}

@media (hover: hover) {
	.menutrab:not(:hover):not(:focus-within) > .slick-arrow {
		opacity: 0;
	}
}

[data-acceso-ficha] {
	cursor: pointer;
}

.menutrab :is(li, .slick-slide) {
	margin: 0.125em 0.25em;
}

.menutrab :is(li, .slick-slide) a {
	font-weight: 600;
	text-transform: uppercase;
	display: inline-block;
	white-space: nowrap;
	color: #444;
	padding: 0.125em 2.5em;
	border-radius: 4px;
}

.menutrab :is(li, .slick-slide) a:hover {
	color: #222;
	background-color: #f6bc25;
}

#foot a:is(:hover, :focus-visible),
#prefoot .menupie a:is(:hover, :focus-visible),
#contacto-pie .fondo_amarillo a:is(:hover, :focus-visible) {
	color: #6b4800;
	text-decoration: underline;
}

#foot a:is(:hover, :focus-visible) i {
	color: inherit;
}


#selector-idioma,
button.bt-rss {
	border: 0;
	padding: 0;
	background: none;
}

#opciones-idioma.panel-desplegado .menu_idiomas,
.caja_redes.panel-desplegado {
	display: block;
}

.infos_rotar a:focus-visible,
.menutrab a:focus-visible,
.proyectos_rotar a:focus-visible,
#medio .tit a:focus-visible,
button.bt-rss:focus-visible {
	outline: 2px solid #222;
	outline-offset: 2px;
	box-shadow: 0 0 0 2px #fff;
}

.error-consulta {
	display: block;
	clear: both;
	margin: 0 0 .75rem;
	color: #8b1720;
}

#formconsultas input.bt_form[type="submit"] {
	color: #222;
}

#formconsultas :is(input, textarea, a, #consulta-captcha):focus-visible,
.cookies__modal :is(button, input, a):focus-visible,
.cookies-banner :is(button, a):focus-visible {
	outline: 2px solid #222;
	outline-offset: 2px;
	box-shadow: 0 0 0 2px #fff;
}

#formconsultas :is(input, textarea, a, #consulta-captcha) {
	scroll-margin-top: 10rem;
}

.cookies__modal .cookies__titulo {
	padding-right: 2rem;
}

.cerrar-configurar-cookies::before,
.cerrar-configurar-cookies::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	background: currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}

.cerrar-configurar-cookies::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.cerrar-configurar-cookies {
	position: absolute;
	top: .5rem;
	right: .5rem;
	min-width: 32px;
	min-height: 32px;
	border: 0;
	background: transparent;
	color: #222;
	font-size: 1.5rem;
	cursor: pointer;
}


#formconsultas a,
#medio .tit_formulario {
	color: #6b4800;
}

#formconsultas a {
	text-decoration: underline;
}

@media screen and (max-width: 800px) {
	.menupie a {
		min-height: 24px;
	}
}

.slick-prev:focus-visible,
.slick-next:focus-visible,
.slick-dots button:focus-visible {
	outline: 2px solid #222;
	outline-offset: -2px;
	box-shadow: inset 0 0 0 4px #fff;
}

@media screen and (max-width: 420px) {
	.menutrab :is(li, .slick-slide) {display:block;margin:0 0 .5em;font-size:.875em;text-align:left;}
		.menutrab :is(li, .slick-slide):last-child {margin-bottom:0;}
	.menutrab :is(li, .slick-slide) a {float:none;}
}

@media screen and (max-width: 380px) {
	.lineaf.bcaptcha {min-height:80px;}
	.g-recaptcha {position:absolute;top:0;left:0;}
}

@media screen and (max-width: 340px) {
	#consulta-captcha .g-recaptcha {
		transform: scale(.9);
		transform-origin: top left;
	}
}

.menubars #close-bars { display: inline-block; }

.menupri ul li a { color: #222; }
.boton_fnd--telefono,
.boton_fnd--telefono:hover {
  color: #222;
}


@media screen and (max-width: 1024px) {
  .contenedor-rotar > .menuder {
    position: absolute;
    top: auto;
    right: 5%;
    bottom: 3.5rem;
    z-index: 101;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .25rem 1.5rem;
    width: max-content;
    max-width: 90%;
    box-sizing: border-box;
    margin: 0;
    padding: .25rem .75rem;
    background: rgba(255, 255, 255, .94);
    border-radius: .35rem;
  }

  .contenedor-rotar > .menuder > li {
    float: none;
    width: auto;
    margin: 0;
  }

  .contenedor-rotar > .menuder a {
    float: none;
    display: flex;
    align-items: center;
    width: auto;
    min-height: 24px;
    padding: .25rem 0;
    color: #222;
    background: none;
  }

  .contenedor-rotar > .menuder a:is(:hover, :focus-visible) {
    text-decoration: underline;
  }

  .contenedor-rotar > .menuder a:focus-visible {
    outline: 2px solid #222;
    outline-offset: 2px;
  }
}

@media screen and (max-width: 700px) {
  .contenedor-rotar:has(> .menuder) > .menuder {
    position: relative;
    inset: auto;
    width: auto;
    max-width: none;
    padding: 2.5rem 5% .25rem;
  }

  .contenedor-rotar:has(> .menuder) > .rot-colores {
    position: relative;
    inset: auto;
    margin-left: auto;
    float: none;
    display: flex;
    justify-content: flex-end;
  }
}

@media screen and (max-width: 700px) {
  .contenedor-rotar:has(> .menuder) > .infos_rotar {
    min-height: 0;
    max-height: none;
  }

  .contenedor-rotar:has(> .menuder) > .infos_rotar .slick-slide {
    position: relative;
  }

  .contenedor-rotar:has(> .menuder) > .infos_rotar .img_inforotar {
    position: absolute;
    inset: 0;
  }

  .contenedor-rotar:has(> .menuder) > .infos_rotar .cont-titrotar {
    position: relative;
    inset: auto;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: clamp(6.5rem, 17vw, 8rem) 5% 2rem;
  }
}


.proyectos_rotar .slick-arrow {
  width: 32px;
  height: 44px;
  background: #fff;
  border-radius: 6px;
}

.proyectos_rotar .slick-arrow::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border: solid #404040;
  border-width: 0 2px 2px 0;
  opacity: 1;
}

.proyectos_rotar .slick-prev::before {
  transform: translateX(2px) rotate(135deg);
}

.proyectos_rotar .slick-next::before {
  transform: translateX(-2px) rotate(-45deg);
}

.proyectos_rotar .slick-arrow.slick-disabled::before {
  opacity: .35;
}
