:root {
	--brand-color: #FF6219;
	--darkest-color: #210F21;
	--dark-color: #422040;
	--mid-color: #A255A2;
	--light-color: #E3C89B;
	--lightest-color: #EADFD9;
	--re-animator: #91CC18;
	--golden: #F5CD1D;
}
body:has(#theme-halloween:checked) {
	--brand-color: #FF6219;
	--darkest-color: #210F21;
	--dark-color: #422040;
	--mid-color: #A255A2;
	--light-color: #E3C89B;
	--lightest-color: #EADFD9;
}
body:has(#theme-woodland:checked) {
	--brand-color: #78A389;
	--darkest-color: #2F2F3D;
	--dark-color: #5E5E7A;
	--mid-color: #9191A9; 
	--light-color: #D3D3EE;
	--lightest-color: #FFFFFF;
}
body:has(#theme-winter:checked) {
	--brand-color: #7E8A9B;
	--darkest-color: #0D1826;
	--dark-color: #475363;
	--mid-color: #CBD5E1;
	--light-color: #E9EFF5;
	--lightest-color: #FFFFFF;
}
body:has(#theme-eurasia:checked) {
	--brand-color: #5BB0BA;
	--darkest-color: #1B2F32;
	--dark-color: #265960;
	--mid-color: #ACACAC;
	--light-color: #DADADA;
	--lightest-color: #FFFFFF;
}
body:has(#theme-witch:checked) {
	--brand-color: #B38C91;
	--darkest-color: #6E6E58;
	--dark-color: #8F8F73;
	--mid-color: #7DA3B0;
	--light-color: #CDD2E0;
	--lightest-color: #E9ECF4;
}
body:has(#theme-eucalyptus:checked) {
	--brand-color: #57B596;
	--darkest-color: #282F42;
	--dark-color: #4D566E;
	--mid-color: #9A9AB0;
	--light-color: #D3D3E7;
	--lightest-color: #FFFFFF;
}
@font-face {
	font-family: 'BlackwoodCastle';
	src: url('fonts/BlackwoodCastle/fonts/BLACC.eot');
	src: url('fonts/BlackwoodCastle/fonts/BLACC.eot?#iefix') format('embedded-opentype'),
	url('fonts/BlackwoodCastle/fonts/BLACC.woff2') format('woff2'),
	url('fonts/BlackwoodCastle/fonts/BLACC.woff') format('woff'),
	url('fonts/BlackwoodCastle/fonts/BLACC.TTF')  format('truetype'),
	url('fonts/BlackwoodCastle/fonts/BLACC.svg#BlackwoodCastle') format('svg');
}
@font-face {
	font-family: 'BlackwoodCastleShadow';
	src: url('fonts/BlackwoodCastleShadow/fonts/BLACCS.eot');
	src: url('fonts/BlackwoodCastleShadow/fonts/BLACCS.eot?#iefix') format('embedded-opentype'),
	url('fonts/BlackwoodCastleShadow/fonts/BLACCS.woff2') format('woff2'),
	url('fonts/BlackwoodCastleShadow/fonts/BLACCS.woff') format('woff'),
	url('fonts/BlackwoodCastleShadow/fonts/BLACCS.TTF')  format('truetype'),
	url('fonts/BlackwoodCastleShadow/fonts/BLACCS.svg#BlackwoodCastleShadow') format('svg');
}
@font-face {
	font-family: 'VGA New';
	src: url('fonts/VGA-New/fonts/VGA-New.eot');
	src: url('fonts/VGA-New/fonts/VGA-New.eot?#iefix') format('embedded-opentype'),
	url('fonts/VGA-New/fonts/VGA-New.woff2') format('woff2'),
	url('fonts/VGA-New/fonts/VGA-New.woff') format('woff'),
	url('fonts/VGA-New/fonts/VGA-New.ttf')  format('truetype'),
	url('fonts/VGA-New/fonts/VGA-New.svg#VGA New') format('svg');
}

body {
	background-color: var(--dark-color);
	margin-bottom:40px;
}

.blackwood {
	font-family: 'BlackwoodCastle', Georgia, 'Times New Roman', serif;
}

.blackwoodshadow {
	font-family: 'BlackwoodCastleShadow', Georgia, 'Times New Roman', serif;
}


.vga {
	font-family: 'VGA New', 'Courier New', monospace;
}

nav {
	text-align:center;
	margin-bottom:40px;
}

nav a {
	text-decoration: none;
	color: var(--brand-color);
	text-decoration: none;
	font-size: 24px;
	margin: 0 1.2vh;
}

nav a:hover	 {
	text-decoration: underline;
}

main {
	padding: 0 2vh;
	margin-left: 15%;
	margin-right: 15%;
	color: var(--darkest-color);
}

main h2 {
	font-size: 32px;
}

main p {
	font-size: 20px;
	color: var(--lightest-color);
}

hr {
	border: none;
	border-top: 3px solid var(--darkest-color);
	color: var(--darkest-color);
	overflow: visible;
	text-align: center;
	height: 10px;
}

hr::after {
	background: var(--dark-color);
	font-size: 22px;
	font-family: 'BlackwoodCastle', Georgia, 'Times New Roman', serif;
	content: "§";
	padding: 0 8px;
	position: relative;
	top: -16px;
}

.lank {
	text-decoration: none;
}

.lank:hover {
	text-decoration: underline;
}

.center {
	align-items: center;
	justify-content: center;
	text-align: center;
}

.logo {
	text-align: center;
	font-size: 160px;
	color: var(--brand-color);
	-webkit-text-stroke: 2px var(--darkest-color);
	text-shadow: 4px 4px 0 var(--darkest-color);
	margin: 4vh 0 2vh;
	letter-spacing: 2px;
}

.error-wrap {
	position: relative;
	z-index: 1;
	height: 90vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 24px;
}

.error-code {
	font-size: 210px;
	line-height: 1;
	color: var(--lightest-color);
	letter-spacing: 4px;
	text-shadow: 4px 4px var(--brand-color);
}

.sub {
	margin-top: 20px;
	font-size: 24px;
	color: var(--light-color);
	letter-spacing: 0.5px;
}

.btn {
	margin-top:32px;
	display:inline-block;
	padding:14px 28px;
	background: var(--brand-color);
	color: var(--dark-color);
	text-decoration:none;
	font-size: 24px;
	letter-spacing: 2px;
	border-radius: 6px;
	transition: background 0.2s ease, transform 0.15s ease;
}

.btn:hover {
	background: var(--mid-color);
	color: var(--darkest-color);
	transform: translateY(-2px);
}

.picture {
	border: 5px solid var(--darkest-color);
	padding:5px;
}

.gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 20px;
}

figure {
	margin: 0;
}

figcaption {
	margin-top: 8px;
}
