a:hover {
	background: none;
	color: lightblue;
	border-radius: 0;
	transition: color 0.5s;
}
a {
	text-decoration: none;
	font-size: 1.5rem;
}
h1, a {
	font-family: 'Rouge Script', cursive;
}
body, h1, p, li, ul, nav, section {
	color: white;
}

h1, p {
	text-align: center;
}
p {
	background: rgba(0,0,0,0.6);
	font-size: 1.5rem;
	border-radius: 16px;
	padding: 16px 24px;
	display: inline-block;
	margin: 16px auto;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
h1 {
	font-family: 'Rouge Script', cursive;
	font-size: 4rem;
	text-align: center;
	color: white;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
	margin-top: 32px;
	margin-bottom: 24px;
}

/* Wavy animation for h1 letters */
@keyframes wave {
	0%, 100% { transform: translateY(0);}
	20% { transform: translateY(-12px);}
	40% { transform: translateY(0);}
	60% { transform: translateY(8px);}
	80% { transform: translateY(0);}
}

h1 .wavy-letter {
	display: inline-block;
	animation: wave 1.5s infinite;
	animation-timing-function: ease-in-out;
	letter-spacing: 0;
	margin-left: -0.18em;
}

h1 .wavy-letter:nth-child(1) { animation-delay: 0s; }
h1 .wavy-letter:nth-child(2) { animation-delay: 0.08s; }
h1 .wavy-letter:nth-child(3) { animation-delay: 0.16s; }
h1 .wavy-letter:nth-child(4) { animation-delay: 0.24s; }
h1 .wavy-letter:nth-child(5) { animation-delay: 0.32s; }
h1 .wavy-letter:nth-child(6) { animation-delay: 0.40s; }
h1 .wavy-letter:nth-child(7) { animation-delay: 0.48s; }
h1 .wavy-letter:nth-child(8) { animation-delay: 0.56s; }
h1 .wavy-letter:nth-child(9) { animation-delay: 0.64s; }
h1 .wavy-letter:nth-child(10) { animation-delay: 0.72s; }
h1 .wavy-letter:nth-child(11) { animation-delay: 0.80s; }
h1 .wavy-letter:nth-child(12) { animation-delay: 0.88s; }
h1 .wavy-letter:nth-child(13) { animation-delay: 0.96s; }
h1 .wavy-letter:nth-child(14) { animation-delay: 1.04s; }
h1 .wavy-letter:nth-child(15) { animation-delay: 1.12s; }
h1 .wavy-letter:nth-child(16) { animation-delay: 1.20s; }
h1 .wavy-letter:nth-child(17) { animation-delay: 1.28s; }
h1 .wavy-letter:nth-child(18) { animation-delay: 1.36s; }
h1 .wavy-letter:nth-child(19) { animation-delay: 1.44s; }
h1 .wavy-letter:nth-child(20) { animation-delay: 1.52s; }

/* Page transition: fade out old, fade in new */
.fade-out {
	animation: fadeOutPage 0.5s forwards;
}

.fade-in {
	animation: fadeInPage 0.5s;
}

@keyframes fadeOutPage {
	to {
		opacity: 0;
		transform: scale(0.98);
	}
}

@keyframes fadeInPage {
	from {
		opacity: 0;
		transform: scale(1.02);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* Make all images larger and override inline styles if present */
img {
	display: block;
	margin: 0 auto;
	max-width: 700px !important; /* 20% larger than 720px, override inline */
	width: 100% !important;      /* override inline */
	height: auto !important;
	border-radius: 14px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.15);
}
