@font-face {
    font-family: 'NotoSerif'; /* Nombre con el que llamarás a la fuente */
    src: url('_sitio/plantillas/invitacion/NotoSerif.ttf') format('truetype'); /* Ruta de tu archivo */
    font-weight: normal;
    font-style: normal;
}

/* <weight>: Use a value from 100 to 900
<uniquifier>: Use a unique and descriptive class name

.noto-serif-<uniquifier> {
	font-family: "Noto Serif", serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
} */

:root {
	--borde-azul: .9vw solid #7186a5;
	--texto-azul: #0e415c;
	--fondo-azul: #0e415c;
	--fondo-gris: #d9d8d2;
}

* { box-sizing: border-box; }

body {
	max-width: 100%; margin: 0px; padding: 0px; background-color:#edefeb;
	font-size: 1.3em;
	
}

body > div {
	margin: 0px auto; width: 800px; max-width: 100%;
	font-family: "Noto Serif", serif; font-size: 20px;
}

a, a:visited {
	color:blue; text-decoration: none;
}
a:hover {
	color: darkblue; text-decoration: underline;
}
big { font-size: 18px; }
small { font-size: 14px; }
pre { overflow: auto; border: 1px solid #ccc; }
svg { fill: #555; }

picture > img { display: block; margin: 0px; padding: 0px; max-width: 100%; max-height: 100%; }

main > header {
	.principal {
		padding: 16% 9% 15.5%;
	}
	.fecha {
		font-family: 'NotoSerif'; font-size: 7vw; color: var(--texto-azul); text-align: center;
	}
	.redondeada {
		padding: 6% 6% 0 6%;
	}
	.hola {
		padding: 10%;
	}
}

#cronometro {
	margin-bottom: 7vw; background-color: #afae9f; border-radius: 0px 250px 250px 0px;
	color: var(--texto-azul);
	header.encabezado {
		padding: 9% 0% 4% 0%;
		div:nth-child(1) {
			padding: 1% 1% 0% 5%;
			font-size: 6vw; line-height: 6vw;
		}
		div:nth-child(2) {
			padding: 0% 5% 0 9%;
		}
	}
	div.contenedor {
		display: grid; grid-template-columns: 15vw 15vw 15vw 15vw 15vw; grid-template-rows: 15dvw;
		grid-gap: 1.5vw; justify-content: center;
		padding: 0% 7% 11% 0%;
		div.unidad {
			display: flex; flex-direction: column; justify-content: center; align-items: center;
			border-radius: 50%;
			background-color: #eee;
			text-align: center;
			> span:nth-child(1){
				font-size: 6vw; line-height: 8vw;
			}
			> span:nth-child(2){
				font-size: 2vw; line-height: 2vw;
			}
		}
	}
}

#bloque-azul-1 {
	padding: 26vw 0; background-color: var(--fondo-azul);
	text-align: center; color: #fff;
	div:nth-child(1) {
		font-size: 5vw; line-height: 7vw;
	}
	div:nth-child(2) {
		margin-top: 1vw; padding: 0vw 9vw 0vw 20vw;
	}
}

#itinerario {
	padding: 5vw;
	font-size: 4vw; color: var(--texto-azul);
	text-align: center;
	> div {
		background-color: var(--fondo-gris);
		> header {
			padding: 15vw 10vw 10vw 10vw;
		}
		.cajas {
			.caja {
				display: flex; flex-direction: column; justify-content: center; align-items: center;
				padding-bottom: 16vw;
				> *:nth-child(1){
					height: 30vw;
				}
				> *:nth-child(2){
					padding: 2vw 0;
					font-size: 6vw;
				}
				> *:nth-child(3){
					height: 13vw;
				}
			}
		}
	}
}

#ceremonia {
	padding: 5vw; padding-bottom: 10vw;
	> div {
		position: relative;
		border: var(--borde-azul); border-radius: 43vw 43vw 0vw 0vw;
		text-align: center;
		.titulo {
			padding: 16vw 16vw 5vw;
		}
	}
	.iglesia {
		display: flex; justify-content: center;
		img {
			height: 30vw;
		}
	}
	.texto {
		font-size: 4vw; color: var(--texto-azul);
		padding-bottom: 5vw;
	}
	.boton {
		display: flex; justify-content: center; align-items: center;
		a {
			position: absolute;
			background-color: #b0ad9f; padding: 3vw 5vw;
			font-size: 4vw; color: #fff; text-decoration: none;
		}
		a:hover {
			background-color: #ba9;
		}
	}
}

#recepcion {
	padding: 5vw; padding-bottom: 10vw;
	font-size: 4vw; color: var(--texto-azul);
	text-align: center;
	> div {
		background-color: var(--fondo-gris);
	}
	
	.texto {
		padding-bottom: 5vw;
	}
	
	.boton {
		display: flex; justify-content: center; align-items: center;
		a {
			position: absolute;
			background-color: #b0ad9f; padding: 3vw 5vw;
			font-size: 4vw; color: #fff; text-decoration: none;
		}
		a:hover {
			background-color: #ba9;
		}
	}
}

#vestimenta {
	background-color: var(--fondo-azul); color: #fff;
	> div {
		
		
	}
}

/* ----- */
/* Modal */
/* ----- */

.modal {
	display: none; position: fixed; top:0; right: 0; bottom: 0; left:0; z-index: 1;
	background-color: #000b;
}
.modal > button {
	position: absolute; top: 0; right: 0;
	background: none; border: none;
	margin: 0px; padding: 0px 6px 0px 0px;
	color: #ddd; font-size: 50px;
	cursor: pointer;
}
.modal > button:hover { color: #f99; }

#modal-principal {
	flex-wrap: wrap; justify-content: center; align-items: center;
}
#modal-usuario {
	flex-wrap: wrap; justify-content: flex-end; align-items: flex-start;
	padding: 6px;
}

/* ---------------- */
/* Mensaje Superior */
/* ---------------- */

#mensaje-superior { width: auto;
	display: grid; grid-template-columns: auto auto;
	justify-content: end; grid-gap: 10px;
	position: fixed; top: 0; right: 0; z-index: 1;
	background-color: #e1e1e1;
	border-radius: 5px;
	.texto {
		padding: 10px 20px;
	}
	.cerrar { 
		display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
		margin: 10px;
		* { margin: 10px; }
	}
}
#mensaje-superior.ok { background-color: #dfd; border: 1px solid #aea; }
#mensaje-superior.error { background-color: #fee; border: 1px solid #fcc; }

@media ( max-width: 650px ){
	#mensaje-superior { grid-template-columns: 100%; }
}


body > div > footer { 
	background-color: #5a5a66; padding: 8px; text-align: center; color: #ccc; line-height: 30px;
	a,
	a:visited { color: #ccc; }
	a:hover { color: #fff; }
}

@media screen and ( max-width: 800px ){
	
}

@media ( max-width: 360px ){
	
}