/*!
Theme Name: caminos
Theme URI: 
Author: 
Author URI: 
Description: 
Version: 0.0.1
*/

:root {
	--verde: #b5c002;
	--azul: #3b44ac;
	--beige: #f9f6f4;
	--gris-oscuro: #3c3c3b;
	--blanco-fondo: #faf6f5;
}

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

a, a:visited {
	color: var(--verde);
	font-weight: bold;
	transition: color 0.3s ease;
}

a:hover {
	color: var(--azul);
}

body {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: var(--gris-oscuro);
	background-color: var(--blanco-fondo);
}

.texto-grande {
	font-size: 1.5rem;
	padding: 0 0 48px 0;

	&.azul {
		color: var(--azul);
	}

	&.sin-pb {
		padding-bottom: 0;
	}

	&.ff-ps {
		line-height: 1.2;
	}

	a, a:visited {
		color: var(--azul);
	}

	a:hover {
		color: var(--verde);
	}
}

.ff-ps {
	font-family: "ff-providence-sans-web-pro", sans-serif;
	font-style: normal;

	&.texto-grande {
		text-transform: uppercase;
	}
}

.ff-ps-400 {
	font-family: "ff-providence-sans-web-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.ff-ps-700 {
	font-family: "ff-providence-sans-web-pro", sans-serif;
	font-weight: 700;
	font-style: normal;
}


/* Boton */

a.boton {
	border-radius: 20px;
	background-color: var(--azul);
	border: 2px solid var(--azul);
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 1rem;
	font-family: "ff-providence-sans-web-pro", sans-serif;
	font-weight: 700;
	font-style: normal;
	padding: 8px 16px 2px 16px;
	transition: background-color 0.3s ease, border-color 0.3s ease;

	&:hover {
		background-color: var(--verde);
		border-color: var(--verde);
	}
}

a.boton.linea {
	background-color: transparent;
	border: 2px solid var(--azul);
	color: var(--azul);

	&:hover {
		background-color: var(--azul);
		color: #fff;
	}
}

a.boton.verde {
	background-color: var(--verde);
	border: 2px solid var(--verde);

	&:hover {
		background-color: var(--azul);
		border: 2px solid var(--azul);
	}
}

a.boton.linea.verde {
	background-color: transparent;
	border: 2px solid var(--verde);
	color: var(--verde);

	&:hover {
		background-color: var(--verde);
		color: #fff;
	}
}


/* Cabecera */

#cabecera {
	width: 100%;
	/*max-width: 1080px;*/
	height: auto;
	max-height: 720px;
	margin: 0 auto;
	aspect-ratio: 1280 / 593;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	color: #fff;

	.barra {
		display: flex;
		padding: 24px 48px;

		.menu {
			flex: 1;
			display: flex;
			justify-content: left;
			height: fit-content;
			align-self: center;
		}

		.logo {
			flex: 1;
			display: flex;
			justify-content: center;
			height: fit-content;
			align-self: center;
		}

		.botones {
			flex: 1;
			display: flex;
			gap: 12px;
			justify-content: right;
			height: fit-content;
			align-self: center;
		}
	}

	.mobile {
		display: none;
	}
}

.texto-copyright {
	text-align: center;
	font-size: 0.7rem;
	padding: 4px 0;
}

@media (max-width: 1100px) {
	#cabecera {
		.barra {
			display: none;
		}

		.mobile {
			display: flex;
			flex-direction: column;
			aspect-ratio: 3 / 2;
			padding: 16px;

			.logo-y-selector-idioma {
				display: flex;
				justify-content: space-between;
				gap: 24px;
			}

			.boton-donar {
				/*padding: 16px 0 0 0;*/
				margin-top: auto;
				text-align: center;
			}

			.menu {
				margin: 16px 0 16px 0;
				text-align: center;
			}
		}
	}
}



/* Menú */

.custom-menu-dropdown {
    position: relative;
    display: inline-block;
}

.current-item {
	width: fit-content;
    display: flex;
    align-items: center;
    background: none;
    border: none;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
    color: #fff;
    text-transform: uppercase;
    border-bottom: 1px solid #ffffff80;
}

.current-item[aria-expanded="false"] {
	.caret.arriba {
		display: none;
	}
	.caret.abajo {
		display: inline;
	}
}

.current-item[aria-expanded="true"] {
	.caret.arriba {
		display: inline;
	}
	.caret.abajo {
		display: none;
	}
}

.dropdown-items {
	width: 100%;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    list-style: none;
    padding: 10px;
    margin: 0;
    background: #ffffffa0;
    min-width: 200px;
    z-index: 999;
}

.dropdown-items li {
    margin-bottom: 5px;
}

.dropdown-items li:last-child {
    margin-bottom: 0;
}

.dropdown-items a {
	font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    color: var(--azul);
}

.dropdown-items a:hover {
    text-decoration: underline;
}

.dropdown-items.active {
    display: block;
}

.custom-menu-dropdown.language-dropdown {
	.current-item {
		border: 1px solid #ffffff80;
		border-radius: 20px;
		padding: 6px 16px 6px 16px
	}
}

.language-dropdown .dropdown-items {
	padding: 10px 16px;
}


/* Contenido */

#primary {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 60px 0;
}

h1, h2, h3 {
	font-weight: 400;
}

h1 {
	font-size: 5rem;
	color: var(--azul);
	margin-bottom: 48px;

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

h2 {
	font-size: 5rem;
	color: var(--azul);
	margin-bottom: 48px;

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

	.boton {
		margin: 0 0 0 32px;
		vertical-align: middle;
	}
}

h3 {
	font-size: 5rem;
	color: var(--azul);
	margin-bottom: 24px;

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

.sin-mb {
	margin-bottom: 0;
}

.columnas {
	display: flex;
	gap: 48px;
	padding-bottom: 48px;

	.columna {
		flex: 1;
	}
}


@media (max-width: 1100px) {
	#primary {
		padding: 24px 16px;
	}

	h1 {
		font-size: 2rem;
	}

	h2 {
		font-size: 2rem;

		.boton {
			display: block;
			width: fit-content;
			margin: 1rem auto 1rem auto;
			vertical-align: inline;
		}
	}

	h3 {
		font-size: 2rem;
	}

	.columnas {
		gap: 24px;
		flex-direction: column;
	}
}

.texto-ondas {
	padding-bottom: 48px;

	img {
		display: block;
		width: 100%;
		height: auto;
	}
}

.bloque-resaltado-con-lineas {
	text-align: center;
}

.resaltado-con-lineas {
	font-family: "ff-providence-sans-web-pro", sans-serif;
	font-style: normal;
	text-decoration: underline;
	color: var(--azul);
	font-weight: bold;
	font-size: 1.25rem;
	position: relative;
	display: inline-block;
	padding: 16px 24px 64px 24px;
}

.resaltado-con-lineas::before {
	content: ' ';
	background-image: url(img/lineas_izq_01.svg);
	background-repeat: no-repeat;
	background-size: cover;
	width: auto;
	height: 64px;
	aspect-ratio: 81 / 111;
	position: absolute;
	left: 0;
	top: 0;
}

.resaltado-con-lineas::after {
	content: ' ';
	background-image: url(img/lineas_der_01.svg);
	background-repeat: no-repeat;
	background-size: cover;
	width: auto;
	height: 64px;
	aspect-ratio: 100 / 120;
	position: absolute;
	right: 0;
	top: 0;
}

@media (max-width: 1100px) {
	.resaltado-con-lineas {
		font-size: 1rem;
		padding: 18px 24px 64px 24px;
	}
}

.bloque-foto {
	padding: 0 0 32px 0;

	img {
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 4px 0;
	}

	.texto-copyright {
		margin: 0 0 24px 0;
		text-align: center;
		font-size: 0.7rem;
	}

	.titulo {
		font-size: 1.5rem;
		line-height: 1.25;
		font-weight: bold;
		color: var(--verde);
		padding: 0 0 24px 0;
	}

	.texto {
		padding: 0 0 24px 0;
	}
}

.columna:nth-child(1) .bloque-foto {
	img {
		border-bottom-right-radius: 112px;
	}
}

.columna:nth-child(2) .bloque-foto {
	img {
		border-top-left-radius: 112px;
		border-bottom-right-radius: 112px;
	}
}

.columna:nth-child(3) .bloque-foto {
	img {
		border-top-left-radius: 112px;
	}
}

.lista-actividades {
	border-top: 1px solid var(--azul);
	padding: 0 0 48px 0;

	.actividad {
		border-bottom: 1px solid var(--azul);
		padding: 1rem 0;
		display: flex;

		.fecha {
			width: 20%;
			font-size: 1.25rem;
			line-height: 1.25;
			font-weight: bold;
			color: var(--verde);
		}

		.titulo {
			width: 40%;
			color: var(--azul);
			text-transform: uppercase;
		}

		.lugar {
			width: 20%;
			font-size: 1.25rem;
			line-height: 1.25;
			font-weight: bold;
			color: var(--verde);
		}

		.boton-info {
			width: 20%;
			display: flex;

			a {
				display: block;
				width: 100%;
				height: fit-content;
				text-align: center;
				text-decoration: none;
				border: 1px solid var(--azul);
				padding: 0.5rem 1rem;
				text-transform: uppercase;
				color: var(--azul);
				background-color: transparent;
				transition: background-color 0.3s ease;

				&:hover {
					color: #fff;
					background-color: var(--azul);
				}
			}
		}
	}
}

.botones-actividades {
	display: flex;
	gap: 24px;
	justify-content: center;
	padding: 0 0 72px 0;
}

@media (max-width: 1100px) {
	.lista-actividades {
		padding: 0 0 24px 0;

		.actividad {
			flex-direction: column;

			.fecha, .titulo, .lugar, .boton-info {
				width: 100%;
				padding: 0 0 0.5rem 0;
			}
		}
	}

	.botones-actividades {
		display: flex;
		flex-direction: column;
		padding: 0 0 48px 0;

		.boton {
			font-size: 0.8rem;
		}
	}
}


.titulo-galeria-fotos {
	display: flex;
	gap: 1rem;
	justify-content: center;
	padding: 0 0 12px 0;

	&::before {
		content: ' ';
		width: 48px;
		height: auto;
		background-image: url(img/flecha_curvada_abajo_01.svg);
		background-repeat: no-repeat;
		background-size: 100%;
		margin: 6px 0 0 0;
	}

	h2 {
		font-size: 1.5rem;
		font-family: "ff-providence-sans-web-pro", sans-serif;
		font-weight: 700;
		text-transform: uppercase;
		margin: 0 0 48px 0;
	}
}

.galeria-fotos {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 4px 0;
	gap: 4px;

	.foto {
		width: calc((100% - 3 * 4px) / 4);
		position: relative;
		display: flex;

		img {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 4 / 3;
			object-fit: cover;
		}

		.texto {
			opacity: 0;
			transition: opacity 0.3s ease;
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			background-color: var(--azul);
			font-family: "ff-providence-sans-web-pro", sans-serif;
			font-weight: 700;
			text-transform: uppercase;
			font-size: 1.5rem;
			text-align: center;
			display: flex;
			flex-direction: column;
			justify-content: center;

			.titulo {
				color: #fff;
			}

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

			&:hover {
				opacity: 1;
			}
		}
	}
}

@media (max-width: 1100px) {
	.titulo-galeria-fotos {
		h2 {
			margin: 0 0 24px 0;
		}
	}

	.galeria-fotos {
		.foto {
			width: calc((100% - 1 * 4px) / 2);
		}

		.texto {
			font-size: 1rem;
		}
	}
}

@media (max-width: 768px) {
	.galeria-fotos {
		.foto {
			width: 100%;
		}
	}
}

.banner-recursos {
	background-color: var(--azul);
	text-transform: uppercase;
	font-size: 1.5rem;
	text-align: center;
	padding: 24px 0;
	color: #fff;
	font-weight: bold;
	margin: 0 0 48px 0;

	a {
		font-family: "ff-providence-sans-web-pro", sans-serif;
		font-weight: 700;
		text-decoration: none;
		color: var(--verde);

		&:hover {
			text-decoration: underline;
		}
	}
}

.columnas.con-personas img {
	display: block;
	width: 100%;
	height: auto;
}

.columnas.con-personas .columna:not(:first-child) {
	padding: 72px 0 0 0;
}

@media (max-width: 1100px) {
	.columnas.con-personas .columna:not(:first-child) {
		padding: 0 0 0 0;
	}
}

.foto-10-maneras {
	padding: 0 0 24px 0;

	img {
		display: block;
		width: 100%;
		height: auto;
		border-top-left-radius: 144px;
		border-bottom-right-radius: 144px;
	}
}

@media (max-width: 1100px) {
	.foto-10-maneras {
		img {
			border-top-left-radius: 72px;
			border-bottom-right-radius: 72px;
		}
	}
}

.lista-10-maneras {
	padding: 0 0 48px 0;

	.item {
		.barra {
			display: flex;
			padding: 0 0 12px 0;
			flex-wrap: nowrap;
			align-items: baseline;
			text-decoration: none;

			.numero {
				font-size: 2rem;
				color: var(--verde);
				height: fit-content;
				padding: 0 12px 0 0;
			}

			.titulo {
				flex: 1;
				font-size: 1rem;
				font-weight: bold;
				color: var(--azul);
				text-transform: uppercase;
				height: fit-content;
				padding: 0 12px 0 0;
			}

			.boton-desp {
				margin: 0 0 0 auto;
				height: fit-content;

				svg {
					display: block;
					width: 32px;
					height: auto;
					fill: var(--verde);
				}

				.mas {
					display: block;
				}

				.menos {
					display: none;
				}
			}
		}

		.texto {
			padding: 0 0 24px 0;
			display: none;
		}

		&.abierto {
			.texto {
				display: block;
			}

			.barra {
				.boton-desp {
					.mas {
						display: none;
					}

					.menos {
						display: block;
					}
				}
			}
		}
	}
}

.personas-mas-uno {
	padding: 24px 0 24px 0;
	svg {
		display: block;
		margin: 0 auto;
		width: 256px;
		height: auto;

		#mas_uno {
			opacity: 0;
			transition: opacity 0.3s ease;

			&.visible {
				opacity: 1;
			}
		}
	}
}

@media (max-width: 1100px) {
	.personas-mas-uno {
		svg {
			width: 128px;
		}
	}
}


.lista-recursos {
	.recurso {
		padding: 0 0 24px 0;
		display: flex;
		gap: 12px;

		.icono {
			svg {
				fill: var(--azul);
			}
		}

		.info {
			.titulo {
				font-weight: bold;
			}

			.descripcion {
				color: var(--azul);
				font-size: 0.8rem;
			}
		}
	}
}

.video {
	padding: 0 0 48px 0;
}


/* Pie */

#pie {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 48px 0;

	.logo-enlaces {
		padding: 0 0 2rem 0;
		display: flex;

		.logo {
			img {
				display: block;
			}
		}

		.enlaces {
			margin-left: auto;
			text-align: right;
			display: flex;
			gap: 2rem;

			a, a:visited {
				font-size: 0.9rem;
				text-decoration: none;
				font-weight: normal;
				color: var(--azul);

				&:hover {
					text-decoration: underline;
				}
			}
		}
	}

	.logos img {
		display: block;
		width: 100%;
		height: auto;
	}
}

@media (max-width: 1100px) {
	#pie {
		.logo-enlaces {
			flex-direction: column;

			.logo img {
				margin: 0 auto;
				padding: 0 0 2rem 0;
			}

			.enlaces {
				text-align: center;
				margin: 0;
				flex-direction: column;
				gap: 0;
			}
		}
	}
}



/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
