/* ESTILOS GENERALES */

@font-face {
	font-family: 'BankGothic Lt BT';
	src: url('../assets/fonts/bankgothicLtBT.eot'); /* IE9 Compat Modes */
	src: url('../assets/fonts/bankgothicLtBT.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */ url('../assets/fonts/bankgothicLtBT.woff2') format('woff2'),
		/* Super Modern Browsers */ url('../assets/fonts/bankgothicLtBT.woff') format('woff'),
		/* Modern Browsers */ url('../assets/fonts/bankgothicLtBT.ttf') format('truetype'),
		/* Safari, Android, iOS */ url('../assets/fonts/bankgothicLtBT.svg#BankGothicLtBT') format('svg'); /* Legacy iOS */
	font-weight: normal;
	font-style: normal;
}

* {
	font-family: 'Roboto', sans-serif;
}

a,
a:hover {
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
	text-decoration: none; /* Elimina el subrayado predeterminado de los enlaces */
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
}

/* ----------------------------- */
/* HEADER */

/* Estilos generales para el header */
header {
	background-color: #ffffff; /* Color de fondo del header */
	border-bottom: 1px solid #ddd; /* Línea de separación en la parte inferior */
}

/* Contenedor general */
.general-container {
	width: 100%; /* Ancho del contenedor */
	display: flex;
	flex-direction: column; /* Cambiado a dirección de columna */
}

/* Estilos para la sección de la barra de idiomas, el espacio del nav-bar y la imagen de portada*/
.section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%; /* Ocupa todo el ancho */
}

/* SECTION LANGUAGE */
.section-language {
	background-color: #f6f6f6;
}

/* Estilos para la barra de idiomas */
#language-switcher {
	width: 100%; /* Barra de idiomas ocupa todo el ancho */
	text-align: right; /* Centrar el texto */
	margin: 8px 20px; /* Espaciado */
}

#language-switcher a {
	margin: 10px; /* Espacio entre elementos */
	color: #e1e1e1; /* Color de texto predeterminado */
	font-weight: bold;
	transition: color 0.3s ease; /* Agrega una transición de 0.3 segundos con efecto ease a la propiedad color */
}

#language-switcher .separator {
	margin: 0 10px; /* Espacio entre elementos | */
	color: #e1e1e1; /* Color del separador */
	font-weight: bold;
}

#language-switcher a:hover,
#language-switcher a.selected {
	color: #b3b3b3; /* Color de texto al pasar el ratón o seleccionado */
	font-weight: bold; /* Texto en negrita para resaltar */
}

/* SECTION NAVBAR */
.section-navbar {
	padding: 5px 0;
	width: 100%;
	box-shadow: 0 -3px 5px rgba(165, 165, 165, 0.1); /* Agrega una sombra de color negro con opacidad 0.5 */
	/* border-bottom: 8px solid #96b615;  Borde para elementos recuadrados #96b615 #a1a1a1, puesto en el fondo-inicio imagen video*/
	position: relative; /* Asegura que los elementos posicionados sean relativos al contenedor */
}

/* Estilos para el logotipo en el nav-bar */
.navbar-logo {
	display: flex;
	align-items: center; /* Centra verticalmente el contenido */
	justify-content: center; /* Centra horizontalmente el contenido */
	margin: 0;
}

.navbar-logo a {
	display: flex;
	align-items: center;
	margin: 15px 30px; /* Ajusta el margen izquierdo y derecho para separar la línea del logo */
}

.navbar-logo img {
	width: 250px; /* Tamaño reducido */
	height: auto; /* Mantiene la proporción */
}

/* Línea horizontal entre elementos li y logo. Suprimida en index.php
.linea-horizontal {
	height: 3px;
	width: 100%;
	background-color: #96b615;
}*/

/* Estilos para la navegación */
.navbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.navbar ul {
	list-style: none;
	padding: 0;
	display: flex;
	text-align: center;
	margin-left: auto; /* Empuja el menú a la derecha */
	/*border-top: 2px solid #96b615;  Borde para elementos recuadrados #96b615 #a1a1a1*/
	/*border-left: 2px solid #96b615; /* Borde para elementos recuadrados #96b615 #a1a1a1*/
}

.navbar li {
	padding: 5px 25px; /* Ajusta el espaciado dentro de los elementos li */
	/* border: 2px solid black; */
	/* border-top: 2px solid #96b615;  Borde para elementos recuadrados */
	/* border-top: 5px solid #e6e6e6; Borde para elementos recuadrados */
	/* box-shadow: inset 7px 0 #e6e6e6; */
	/* box-shadow: inset 0 -7px #e6e6e6;  box-shadow: inset 0 7px #e6e6e6;*/
	/* border-image: linear-gradient(to right, #ff0000, #ff0000 50%, #00ff00 50%, #00ff00) 1; */
	display: inline-block;
	text-align: center;
}

.navbar li:not(:last-child) {
	border-right: 0; /* Añade borde derecho a todos los elementos, excepto al último */
	/* margin-right: 10px; */
}

.navbar a {
	/* color: #a1a1a1;  Color de texto para los enlaces */
	/* color: #717171; Color de texto para los enlaces */
	color: #b3b3b3; /* Color de texto para los enlaces */
	font-size: 14.5px;
	font-weight: bold; /* Puede ajustar el peso de la fuente según sus preferencias */
	margin: 0; /* Elimina el margen entre elementos li */
	transition: color 0.5s ease; /* Agrega una transición de 0.3 segundos con efecto ease a la propiedad color */
}

.navbar a:hover {
	color: #717171; /*Color de texto para los enlaces */
	/*color: black; Color de texto para los enlaces */
}

/* Icono menu desplegable para menú embebido y cierre aspa*/
.menu {
	display: none; /*Inicialmente oculto. Solo se muestra en pantallas pequeñas*/
	cursor: pointer;
}

.menu-line {
	width: 20px;
	height: 3px;
	background-color: #ddd;
	margin-bottom: 4px;
}

/* Ocultar el botón de cierre por defecto */
.close-button {
	display: none; /* Oculto por defecto */
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 18px; /* Tamaño de fuente grande para mejor visibilidad */
	font-weight: normal;
	color: #a1a1a1; /* Mismo color que los elementos del menú */
	cursor: pointer; /* Cambia el cursor al pasar por encima */
	z-index: 1000; /* Asegura que el botón esté por encima de otros elementos */
}

/* Mostrar el botón de cierre cuando la clase 'active' está presente en el menú */
.nav-list.active ~ .close-button {
	display: block;
}

/* Mismos estilos de fuente que los elementos li del navbar */
.navbar ul li > a,
.close-button {
	font-family: inherit; /* Usa la misma fuente que los elementos del menú */
	font-weight: bold; /* Negrita */
	text-transform: uppercase; /* Mayúsculas */
}

/* Comportamiento responsive del texto para ancho entre 1057 y 968 */
@media all and (max-width: 1057px) {
	.section-navbar {
		padding: 5px 0;
	}

	.navbar-logo a {
		display: flex;
		align-items: center;
		margin: 15px 30px; /* Ajusta el margen izquierdo y derecho para separar la línea del logo */
	}

	.navbar-logo img {
		width: 200px; /* Tamaño reducido */
		height: auto; /* Mantiene la proporción */
	}

	.nav-list li > a {
		font-size: 14px;
	}
}

/* Comportamiento responsive del texto para ancho entre 968 y */
@media all and (max-width: 968px) {
	.section-navbar {
		padding: 3px 0;
	}

	.navbar-logo a {
		display: flex;
		align-items: center;
		margin: 15px 30px; /* Ajusta el margen izquierdo y derecho para separar la línea del logo */
	}

	.navbar-logo img {
		width: 170px; /* Tamaño reducido */
		height: auto; /* Mantiene la proporción */
	}

	.nav-list li > a {
		font-size: 13px;
	}
}

/* Comportamiento responsive de la barra para ancho entre 906 y 556 . CAMBIA LA FORMA DEL NAVBAR*/
@media all and (max-width: 906px) {
	.section-navbar {
		display: flex;
		justify-content: space-between;
	}

	.navbar {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}

	.navbar-logo {
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}

	.menu {
		display: block;
		margin-left: auto; /* Empuja el menú hamburguesa a la derecha */
		padding: 20px; /* Añade un poco de espacio para hacer clic más fácil */
	}

	/* .nav-list { NO APLICA DISPLAY Y POR ELLO HAS DECIDIDO SELECCIONARLO CON .navbar ul
		display: none;
		flex-direction: column;
		width: 100%;
	} */

	.navbar ul {
		display: none;
		flex-direction: column;
		width: 100%;
		position: relative;
		padding: 0 40px;
	}

	.nav-list.active {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.nav-list li {
		display: block;
		width: 100%;
		padding: 15px 10px;
		border-top: 1px solid #ddd;
		box-sizing: border-box; /* Asegura que el padding y el borde estén incluidos en el ancho total */
	}

	/* para quitar la línea superior (border-top) del primer elemento */
	#nav-list-first {
		border-top: none;
	}

	.menu.active {
		display: none;
	}

	/* Mostrar el botón de cierre cuando la clase 'active' está presente en el menú */
	.nav-list.active ~ .close-button {
		display: block;
		position: absolute;
		top: 10px;
		right: 10px;
		padding: 10px;
	}
}

/* Comportamiento responsive de la barra para ancho menor que max-width: 768px */
@media all and (max-width: 555px) {
	.section-navbar {
		display: flex;
		justify-content: space-between;
	}

	.navbar-logo {
		display: none;
	}

	.menu {
		display: block;
		margin: 0 0 0 auto;
		padding: 20px; /* Añade un poco de espacio para hacer clic más fácil */
	}

	/* .nav-list {
		display: none;
		flex-direction: column;
		width: 100%;
	} */

	.navbar ul {
		display: none;
		flex-direction: column;
		width: 100%;
		position: relative;
		padding: 0 40px;
	}

	.nav-list.active {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.nav-list li {
		display: block;
		width: 100%;
		padding: 15px 10px;
		border-top: 1px solid #ddd;
		box-sizing: border-box; /* Asegura que el padding y el borde estén incluidos en el ancho total */
	}

	/* para quitar la línea superior (border-top) del primer elemento */
	#nav-list-first {
		border-top: none;
	}

	.menu.active {
		display: none;
	}

	/* Mostrar el botón de cierre cuando la clase 'active' está presente en el menú */
	.nav-list.active ~ .close-button {
		display: block;
		position: absolute;
		top: 10px;
		right: 10px;
		padding: 10px;
	}
}
/* ----------------- */

/* SECTION IMAGEN PORTADA */
/* Estilos para la imagen de portada */
.fondo-inicio {
	position: relative;
	border-top: 8px solid #96b615; /* Borde para elementos recuadrados #96b615 #a1a1a1*/
	border-bottom: 8px solid #96b615; /* Borde para elementos recuadrados #96b615 #a1a1a1*/
}

.fondo-inicio video {
	display: block;
}

.img-portada {
	/*width: calc(100% - 100px);  Ancho al 100% menos el doble del margen (50px a cada lado) */
	/* margin: 50px; Añade un margen alrededor de la imagen */
	width: 100%; /* Ancho al 100% */
	/*margin: 50px 0;  Añade un margen alrededor de la imagen solo arriba y abajo */
	height: 100%;
	object-fit: cover; /* Ajusta la imagen para cubrir el contenedor manteniendo las proporciones */
	/* background-repeat: no-repeat; */
}

.letras-inicio {
	position: absolute;
	/*top: 55%; /* Alinea el bloque a la mitad superior del contenedor padre para el src="assets/images/fondo_inicio.mp4"*/
	top: 45%; /* Alinea el bloque a la mitad superior del contenedor padre para el src="assets/images/fondo_inicio_4.mp4"*/
	left: 50%; /* Alinea el bloque al centro horizontal del contenedor padre */
	transform: translate(-50%, -50%); /* Centra el bloque completamente */
	text-align: center; /* Centra el texto horizontalmente */
	color: #e6e6e6; /* Color del texto */
}

.letras-inicio h1,
.letras-inicio h2 {
	margin: 0; /* Elimina el margen por defecto */
	font-family: 'BankGothic Lt BT', sans-serif;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

@media all and (max-width: 1057px) {
	.letras-inicio {
		top: 50%; /* Alinea el bloque a la mitad superior del contenedor padre para el src="assets/images/fondo_inicio_4.mp4"*/
		left: 50%; /* Alinea el bloque al centro horizontal del contenedor padre */
	}
}

@media all and (max-width: 555px) {
	.letras-inicio {
		padding: 20px 0;
		width: 100%;
		height: auto;
	}

	.letras-inicio h1,
	.letras-inicio h2 {
		padding: 0 20px;
		font-size: 22px;
		line-height: 1.5; /* Ajusta la altura de línea para mejorar la legibilidad */
	}
}

@media all and (max-width: 455px) {
	.letras-inicio {
		padding: 20px 0;
		width: 100%;
		height: auto;
	}

	.letras-inicio h1,
	.letras-inicio h2 {
		padding: 0 20px;
		text-align: center;
		font-size: 18px;
		line-height: 1.2; /* Ajusta la altura de línea para mejorar la legibilidad */
	}
}
/* ----------------------------- */

/* MAIN */

/* Estilos para la sección principal */
.section-main {
	padding: 0 50px;
}

/* Estilos para la lista de sectores */
.section-sectores {
	margin-top: 50px;
	text-align: center; /* Alinea el texto al centro */
}

.sectores-list {
	display: flex;
	justify-content: space-between; /* Distribuye los elementos equitativamente en el contenedor */
	list-style: none;
	padding: 0;
	margin: 0;
}

.sectores-list li {
	display: flex;
	align-items: center; /* Centra verticalmente el contenido */
	justify-content: center; /* Centra horizontalmente el contenido */
	box-sizing: border-box; /* Incluye el padding y el borde en el ancho */
	background-color: #e6e6e6; /* Color de fondo */
	/* border-radius: 0 10px 0 5px;  Bordes redondeados */
	border-left: 2.5px solid #96b615;
	border-top: 2.5px solid #96b615;
	border-radius: 5px 5px 0 0; /* Redondea solo la esquina superior izquierda */
	width: 20%;
}

.sectores-list li.seleccionado {
	background-color: #f6f6f6; /* Color de fondo */
}

/* Estilos generales para los enlaces*/
.sectores-list a {
	display: block; /* Convierte el enlace en un bloque para ocupar todo el ancho del li */
	align-items: center; /* Centra verticalmente el contenido */
	justify-content: center; /* Centra horizontalmente el contenido */
	text-align: center; /* Centra el texto horizontalmente */
	padding: 6px 6px;
	/*white-space: nowrap;  Evita que el texto se divida en varias líneas */
	text-decoration: none;
}

.sectores-list a h4 {
	margin: 0;
	color: #a1a1a1;
	font-size: 14.5px;
	font-weight: 600;
}

/* Estilos para el espacio entre elementos */
.sectores-list li:not(:last-child) {
	margin-right: 5px;
}

.sectores-list li:hover h4 {
	color: #717171;
}

.sectores-list .seleccionado a h4 {
	/* color: #a1a1a1; */
	color: #96b615 !important;
}

/* Estilos para la lista de servicios */
.section-servicios {
	background-color: #f6f6f6;
}

.servicios-list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap; /* Permite que los elementos se envuelvan a la siguiente línea si no hay espacio suficiente */
	list-style: none;
	padding: 0;
}

.servicios-list li {
	width: calc(50% - 200px); /* Ancho del 25% del contenedor con un margen entre elementos */
	margin: 25px 100px; /* Espaciado entre elementos */
	text-align: center; /* Alinea el contenido al centro */
}

/* .servicios-list p {
	margin-bottom: 10px; /* Añade margen inferior para separar los párrafos 
	color: #717171;
	font-size: 18px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad 
} */

/*  Estilos para resaltar los servicios concretos en función de a quién van dirigidos*/
.cambiar-color {
	margin-bottom: 10px; /* Añade margen inferior para separar los párrafos */
	color: #717171;
	font-size: 18px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.cambiar-color-destacado {
	color: #96b615; /* Color cuando se resalta */
	font-weight: bold;
}

/* Estilos para el elemento fuera de la lista */
.metodologia-bim {
	width: calc(100% - 100px); /* Ocupa el ancho completo en una sola fila */
	text-align: center; /* Alinea el contenido al centro */
	margin-bottom: 50px; /* Ajusta el margen superior */
	padding: 0 50px 0 50px;
}

.servicios-list li h4,
.metodologia-bim h4 {
	color: #a1a1a1;
	font-size: 20px;
	font-weight: bold;
}

.metodologia-bim p {
	margin-bottom: 10px; /* Añade margen inferior para separar los párrafos */
	color: #717171;
	font-size: 18px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

/* Estilos para los iconos de los servicios SVG */
.servicios-list svg,
.metodologia-bim svg {
	width: 75px; /* Ajusta el ancho según tus preferencias */
	height: 75px; /* Ajusta la altura según tus preferencias */
	/* transition: fill 0.3s;  Agrega una transición para el cambio de color */
	transition: all 0.3s; /* Agrega una transición para el cambio de color */
}

/* Estilos para los iconos de BIM SVG */
.metodologia-bim svg .cls-2 {
	stroke: none;
}

/* Cambia el color al pasar el ratón por encima */
.servicios-list li:hover h4,
.metodologia-bim:hover h4 {
	color: #717171;
}

.servicios-list li:hover svg,
.metodologia-bim:hover svg {
	scale: 1.2;
}

.servicios-list li:hover svg .cls-1,
.servicios-list li:hover svg .cls-3,
.metodologia-bim:hover svg .cls-1,
.metodologia-bim:hover svg .cls-3 {
	stroke: #717171;
}

.servicios-list li:hover svg .cls-2 {
	stroke: #96b615;
}

.metodologia-bim:hover svg .cls-2 {
	fill: #96b615;
}

/* LINEAS HORIZONTALES DE LOS SVG */
.servicios-list li,
.metodologia-bim {
	position: relative;
}

.lineas-contenedor {
	position: relative;
}

.linea-horizontal-izq,
.linea-horizontal-der {
	position: absolute;
	top: 50%;
	height: 2px;
	background-color: #a1a1a1;
	width: calc(
		50% - 37.5px
	); /* Ajusta la longitud de las líneas según sea necesario. 50% del contenedor menos la mitad del ancho del SVG */
	transition: background-color 0.3s; /* Agrega una transición para el cambio de color */
}

.linea-horizontal-izq {
	left: -25px; /* Ajusta la posición a la izquierda */
}

.linea-horizontal-der {
	right: -25px; /* Ajusta la posición a la derecha */
}

/* Centra las líneas verticalmente */
.linea-horizontal-izq,
.linea-horizontal-der {
	transform: translateY(-50%);
}

/* Cambia el color al pasar el ratón por encima */
.servicios-list li:hover .linea-horizontal-izq,
.servicios-list li:hover .linea-horizontal-der,
.metodologia-bim:hover .linea-horizontal-izq,
.metodologia-bim:hover .linea-horizontal-der {
	background-color: #96b615;
}

/* Estilos para patrimonio monumental */
.section-patrimonio {
	margin: 50px 0;
}

.section-patrimonio img {
	width: 100%;
}

.section-patrimonio h3 {
	margin-top: 50px;
	text-align: center;
	/* color: #a1a1a1; */
	color: #96b615;
	font-size: 20px;
	font-weight: bold;
}

.section-patrimonio p {
	padding: 0 50px;
	text-align: justify;
	color: #717171;
	font-size: 18px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

/* Estilos para contacto */
.formulario-cont {
	display: flex;
	flex-direction: column; /* Apila el contenido verticalmente */
	align-items: center; /* Centra los elementos verticalmente */
	background-color: #f6f6f6;
}

.formulario-cont h3 {
	margin-top: 50px;
	text-align: center;
	/* color: #a1a1a1; */
	color: #96b615;
	font-size: 20px;
	font-weight: bold;
}

.formulario-cont p {
	text-align: justify;
	color: #717171;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

form {
	max-width: 800px; /* Establece el ancho máximo del formulario */
	margin: 0 auto; /* Centra el formulario en la página */
	padding: 0 100px 50px 100px;
}

textarea,
input {
	width: 100%; /* Hace que los inputs y selects también ocupen el 100% del ancho disponible */
	margin-bottom: 10px; /* Añade un poco de espacio entre cada elemento para mayor claridad */
	box-sizing: border-box; /* Incluye márgenes y relleno en el ancho total del elemento */
}

textarea {
	resize: none;
}

/* Cambiar el color del borde de las cajas de texto */
input[type='text'],
input[type='email'],
input[type='tel'],
textarea,
select {
	border: 1px solid #96b615;
	padding: 7px;
}

span,
label,
label a:hover,
label a:visited {
	text-align: justify;
	color: #717171;
}

select {
	text-align: justify;
	color: #717171;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

label a {
	color: #a1a1a1;
}

/* Contenedor para el span y el select */
.asunto-container {
	display: flex; /* Utiliza flexbox para alinear los elementos en la misma fila */
	align-items: center; /* Centra verticalmente los elementos */
	justify-content: center;
	margin-bottom: 10px; /* Añade un poco de espacio entre cada fila para mayor claridad */
}

/* Estilo para el span */
.asunto-label {
	margin-right: 10px; /* Añade espacio entre el span y el select */
}

/* Estilo para el select */
#asunto {
	flex: 1; /* Hace que el select ocupe todo el espacio disponible en la fila */
	width: 100%; /* Garantiza que ocupe el 100% del ancho del contenedor */
	box-sizing: border-box; /* Incluye márgenes y relleno en el ancho total del elemento */
}

/* Estilo para el checkbox de rgpd */
.checkbox {
	display: flex; /* Utiliza flexbox para alinear los elementos en la misma fila */
	align-items: center; /* Centra verticalmente los elementos */
	margin-bottom: 10px; /* Añade espacio entre cada fila para mayor claridad */
}

.checkbox input {
	width: auto;
	margin: 0;
	border: 2px solid #96b615 !important;
}

/* Estilo para el checkbox */
#rgpd {
	margin-right: 10px; /* Añade espacio entre el checkbox y la etiqueta */
}

/* Cambia el color de la marca de verificación interior */
input[type='checkbox']:checked {
	background-color: #96b615 !important; /* Color de fondo cuando está marcado */
}

.enviar-form button {
	border: 1px solid #96b615;
	border-radius: 3px;
	padding: 5px 10px;
	color: #939393;
	font-weight: bold;
	background-color: #e6e6e6;
	transition: all 0.3s; /* Agrega una transición para el cambio de color */
}

.enviar-form button:hover {
	color: #717171;
	box-shadow: inset 0 0 0 0.5px #96b615;
}

/* Estilo para los span de confirmación de envío o error */
.formulario-cont .success {
	display: block;
	padding-top: 30px;
	text-align: center;
	font-style: italic;
	color: #96b615;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.formulario-cont .error {
	display: block;
	padding-top: 30px;
	text-align: center;
	font-style: italic;
	color: #9f2424;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

/* Estilo para contacto e información */
.info-contacto {
	display: flex;
	flex-direction: row;
	box-shadow: 0 3px 5px rgba(165, 165, 165, 0.1);
	z-index: 1;
}

.sobre {
	width: 60%;
	padding: 50px;
}

.sobre h3 {
	text-align: right;
	/* line-height: 0.8; */
}

.sobre span {
	font-family: 'BankGothic Lt BT', sans-serif;
}

.sobre-1 {
	color: #939393;
}

.sobre-2 {
	color: black;
}

.sobre-3 {
	color: #96b615;
}

.sobre p {
	text-align: justify;
	color: #717171;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.contacto {
	width: auto;
	padding: 75px 50px;
}

.contacto h5 {
	margin: 20px 0 0 0;
	text-align: justify;
	color: #717171;
	font-size: 16px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.contacto p {
	margin: 0;
	text-align: justify;
	color: #717171;
	font-size: 14px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.contacto a {
	/* color: #939393; */
	color: #96b615;
}

.contacto a:hover,
.contacto a:visited {
	color: #717171;
}

/* COMPORTAMIENTO RESPONSIVO DEL MAIN */

@media all and (max-width: 906px) {
	.section-main {
		padding: 0;
	}

	.section-sectores,
	.section-servicios {
		padding: 0 15px;
	}

	.servicios-list li {
		width: calc(50% - 100px);
		margin: 25px 50px;
		text-align: center;
	}
}

@media all and (max-width: 700px) {
	form {
		max-width: 800px;
		margin: 0 auto;
		padding: 0 50px 50px 50px;
	}

	.info-contacto {
		flex-direction: column;
		align-items: center;
	}

	.sobre {
		width: auto;
		padding: 50px;
	}

	.sobre p {
		margin: 10px 0 0 0;
	}

	.contacto {
		width: auto;
		padding: 0 50px 50px 50px;
		margin-right: auto;
	}

	.contacto h5 {
		margin: 0;
	}
}

@media all and (max-width: 555px) {
	.section-main {
		padding: 0;
	}

	.section-sectores,
	.section-servicios {
		padding: 0 15px;
	}
	.sectores-list a h4 {
		font-size: 12px;
	}

	.servicios-list li {
		width: calc(100% - 100px);
		margin: 25px 50px;
		text-align: center;
	}
}

@media all and (max-width: 455px) {
	.section-main {
		padding: 0;
	}

	.section-sectores {
		padding: 0;
		margin-top: 20px;
	}

	.section-servicios {
		padding: 0 15px;
	}

	.sectores-list a h4 {
		font-size: 10px;
		text-align: center;
	}

	.servicios-list li {
		width: calc(100% - 100px);
		margin: 25px 50px;
		text-align: center;
	}

	.asunto-container {
		display: flex;
		flex-direction: column;
	}

	.asunto-label {
		margin-right: auto;
		margin-bottom: 10px;
	}

	#asunto option {
		font-size: 14px;
	}
}

/* ----------------------------- */

/* FOOTER */
footer {
	width: 100%;
	z-index: -1; /* Para que el contenedor no me oculte la sombra del contenedor que le precede z-index: 1;*/
	background-color: #f6f6f6;
}
.section-footer {
	width: 100%;
	box-sizing: border-box; /* Incluye el padding y el borde en el ancho */
	display: flex;
	flex-direction: row;
	background-color: #f6f6f6;
	/* padding: 50px 50px 0 50px; */
	padding: 50px 50px 0 50px;
}

.footer-colum {
	width: calc(100% / 3);
	margin: 0 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/* Estilos RRSS */
.rrss-row .logo {
	display: flex;
	width: 250px;
	height: auto;
}

.rrss {
	text-decoration: none;
	list-style-type: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between; /* Distribuye uniformemente los elementos */
	padding: 0;
	margin: 30px 0 0 0;
}

.rrss svg {
	width: 45px;
	height: auto;
	padding: 10px;
}

.rrss svg path {
	fill: #96b615;
}

/* Estilos Mapa*/
.summary {
	display: flex;
	flex-direction: column;
}
.summary h4 {
	text-align: justify;
	color: #96b615;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
	margin: 0;
}

.summary-list {
	margin: 20 0 0 0;
}

.summary-list li {
	text-decoration: none;
	/* list-style-type: none; */
	color: #717171;
}

.summary-list a {
	color: #717171;
}

/* Estilos Informacion footer*/
.footer-info h3 {
	text-align: center;
	/* color: #939393; */
	color: black;
	/* color: #717171; */
	font-family: 'BankGothic Lt BT', sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.footer-info span:first-of-type {
	color: #717171;
	font-family: 'BankGothic Lt BT', sans-serif;
	font-size: 16px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.footer-info span:last-of-type {
	color: #96b615;
	font-family: 'BankGothic Lt BT', sans-serif;
	font-size: 16px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.footer-info p {
	text-align: center;
	color: #717171;
	font-size: 16px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.footer-info a {
	color: #96b615;
}

/* Estilos Subvención*/
.section-subvencion {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center; /* Centramos el texto en el contenedor */
	/* border-top: 1px solid #cdcdcd; */
	/* border-bottom: 1px solid #cdcdcd; */
}

/* Logos SEPE y JCYL */
.logos-subvencion {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	align-items: center;
	padding-top: 25px;
	border-top: 1px solid #cdcdcd;
}

.logo-sepe {
	width: 18%;
	height: auto;
}

.logo-jcyl {
	width: 10%;
	height: auto;
}

.texto-subvencion {
	/* margin-top: 10px; */
	padding: 10px 0 5px 0;
	border-bottom: 1px solid #cdcdcd;
}

/* Resetear márgenes y alinear texto al centro */
.texto-subvencion h4, .texto-subvencion p{
	margin: 20px; /* Eliminar márgenes predeterminados */
	padding: 0 25px;
	font-size: 15px;
	color: #939393;
	text-align: center;
}

/* Estilos Copyrigth*/
.section-copyrigth {
	padding: 20px 50px 0 50px;
	display: block;
	justify-content: center;
	align-items: center;
	text-align: center; /* Centramos el texto en el contenedor */
}

/* Resetear márgenes y alinear texto al centro */
.section-copyrigth h4,
.section-copyrigth h5 {
	margin: 0; /* Eliminar márgenes predeterminados */
	color: #a1a1a1;
	text-align: center;
}

/* Especificar estilos para cada encabezado */
.copyrigth {
	font-size: 16px;
	line-height: 1.8; /* Ajustar la altura de línea para mejorar la legibilidad */
}

.politica {
	font-size: 14px;
	line-height: 1.8; /* Ajustar la altura de línea para mejorar la legibilidad */
}

/* Estilo para el enlace dentro de h5 */
.politica a {
	color: #a1a1a1;
	text-decoration: none; /* Eliminar subrayado del enlace */
}

.politica a:hover {
	color: #a1a1a1;
	text-decoration: underline; /* Subrayar el enlace al pasar el ratón por encima */
}

@media all and (max-width: 1057px) {
	.rrss-row .logo {
		width: 200px;
		height: auto;
	}

	.rrss svg {
		width: 35px;
		height: auto;
		padding: 10px;
	}

	.summary-list {
		font-size: 14px;
	}

	.footer-info p {
		font-size: 14px;
	}

	.logo-sepe {
		width: 20%;
		height: auto;
	}
	
	.logo-jcyl {
		width: 15%;
		height: auto;
	}
}

@media all and (max-width: 830px) {
	.section-footer {
		padding: 50px 0 0 0;
	}

	.logo-sepe {
		width: 22%;
		height: auto;
	}
	
	.logo-jcyl {
		width: 18%;
		height: auto;
	}
}

@media all and (max-width: 700px) {
	.section-footer {
		flex-direction: column;
		padding: 0;
	}

	.footer-colum {
		width: auto;
		margin: 0;
		margin-bottom: 20px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.footer-colum:first-child {
		margin-top: 50px;
	}

	.section-subvencion {
		padding: 0 50px;
	}

	.logo-sepe {
		width: 30%;
		height: auto;
	}
	
	.logo-jcyl {
		width: 25%;
		height: auto;
	}

	.section-subvencion h4, .section-subvencion p {
		margin:0;
		padding: 0;
		margin-top: 20px;
	}

	.section-subvencion p {
		margin-bottom: 20px;
	}

	.section-copyrigth  {
		padding-top: 25px;
	}

	.section-copyrigth h4 {
		font-size: 14px;
	}
	.section-copyrigth h5 {
		font-size: 12px;
	}
}

@media all and (max-width: 400px) {
	.logo-sepe {
		width: 40%;
		height: auto;
	}
	
	.logo-jcyl {
		width: 35%;
		height: auto;
	}

	.section-subvencion {
		padding: 0 30px;
	}
}

/* PAGINA PRIVACIDAD ESTILOS QUE FALTAN */

.section-priva {
	margin: 50px 0 50px 0;
	text-align: justify; /* Alinea el texto al centro */
}

.section-priva h2 {
	color: #a1a1a1;
	font-size: 24px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.section-priva h4,
h6 {
	color: #a1a1a1;
	font-size: 16px;
	line-height: 1.8; /* Ajusta la altura de línea para mejorar la legibilidad */
}

.section-priva p {
	width: 100%;
	padding: 0px 0px 20px 0px;
	color: #717171;
	text-align: justify;
	line-height: 1.5; /* Ajusta la altura de línea para mejorar la legibilidad */
}

/* Estilo tabla */
.tabla-privacidad {
	width: 100%;
	display: block;
	border-collapse: collapse;
	border: 1px solid #96b615;
	margin: 0px 0px 20px 0px;
}

.tabla-privacidad tr {
	width: 100%;
	border: 1px solid #ddd;
}

.tabla-privacidad th {
	color: #a1a1a1;
	padding: 20px;
	line-height: 1.5; /* Ajusta la altura de línea para mejorar la legibilidad */
	text-align: left; /* Alinea el texto a la izquierda */
}

.tabla-privacidad td {
	padding: 20px;
	color: #717171;
}

/* Estilo lista */
.section-priva ul {
	width: 100%;
	padding: 0px 20px 20px 20px;
	text-align: justify;
	color: #717171;
	line-height: 1.5; /* Ajusta la altura de línea para mejorar la legibilidad */
	list-style: none;
}

.section-priva ul li::before {
	content: '• ';
	list-style-position: outside;
}

.regreso-priva button {
	border: 1px solid #96b615;
	border-radius: 3px;
	font-weight: bold;
	background-color: #e6e6e6;
	transition: all 0.3s; /* Agrega una transición para el cambio de color */
}

.regreso-priva button:hover {
	box-shadow: inset 0 0 0 0.5px #96b615;
}

.regreso-priva button a {
	text-decoration: none;
	padding: 5px 10px;
	color: #939393;
	font-weight: bold;
	transition: all 0.3s; /* Agrega una transición para el cambio de color */
}

.regreso-priva button:hover a {
	color: #717171;
}

@media all and (max-width: 906px) {
	.section-priva {
		margin: 50px;
	}
}

@media all and (max-width: 700px) {
	.tabla-privacidad,
	.tabla-privacidad tbody,
	.tabla-privacidad tr,
	.tabla-privacidad th,
	.tabla-privacidad td {
		display: block;
		width: 100%;
		box-sizing: border-box; /* Asegura que el padding y el borde estén incluidos en el ancho total */
	}

	.tabla-privacidad tr {
		margin-bottom: 0px;
	}

	.tabla-privacidad th,
	.tabla-privacidad td {
		text-align: justify;
		/* padding-left: 50%; */
		position: relative;
		width: auto;
	}

	.tabla-privacidad th::before,
	.tabla-privacidad td::before {
		position: absolute;
		white-space: nowrap;
		text-align: justify;
		font-weight: bold;
		color: #717171;
	}

	.tabla-privacidad th:first-child {
		background-color: #f4f4f4;
		padding: 15px;
		color: #96b615;
	}

	.tabla-privacidad th {
		background-color: #f4f4f4;
		padding: 0 15px 15px 15px;
	}

	.tabla-privacidad td:first-child {
		text-align: justify;
		padding: 15px;
		color: #96b615;
	}

	.tabla-privacidad td {
		text-align: justify;
		padding: 0 15px 15px 15px;
	}
}

/*--------------------------------------------------------------------- Boton go-top ---------------------------------------------------------------------*/
.go-top-contenedor {
	position: fixed;
	bottom: 20px;
	right: 0px;
	width: 40px;
	height: 40px;
	z-index: -1;
}

.go-top-button {
	width: 0px;
	height: 0px;
	background: #96b615;
	opacity: 0.8;
	border-radius: 50%;
	cursor: pointer;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.go-top-button p {
	position: absolute;
	font-size: 24px;
	font-weight: bold;
	/* top: 5%; */
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	color: #fff;
	transition: 0.2s;
}

.show {
	z-index: 10;
}

.show .go-top-button {
	animation: popup 0.3s ease-in-out;
	width: 40px;
	height: 40px;
	z-index: 11;
}

.show p {
	transform: translate(-50%, -50%) scale(1);
}

/* Animación popup*/
@keyframes popup {
	0% {
		width: 0px;
		height: 0px;
	}
	50% {
		width: 50px;
		height: 50px;
	}
	100% {
		width: 40px;
		height: 40px;
	}
}
