* {
    margin: 0px;
    padding: 0px;
    font-family: Crimson, Georgia, serif;
}

:root {
    --white-1: #bbbbbb;
    --white-2: #d7d7d7;
    --white-3: #ffffff;
    --black-1: #444444;
    --black-2: #272727;
    --black-3: #000000;

	--border-light: #ced4da;
	--border-dark: #343a40;
}

/* :where(body){ */
/*     --background-color: #ffffff; */
/*     --text-color: var(--black-2); */
/*     --text-color-dim: var(--black-1); */
/* } */


[data-theme="light"] {
	--background-color: var(--light-3);
	--text-color: var(--black-2);
	--text-color-dim: var(--black-1);
	--border: var(--border-light);
}

[data-theme="dark"] {
	--background-color: var(--black-3);
	--text-color: var(--white-2);
	--text-color-dim: var(--white-1);
	--border: var(--border-dark);
}

html {
    /* --darkmode: 0; */
    container-name: root;
    container-type: normal;
	height: 100%;
}

/* html:has(#color-scheme-light:checked) { --darkmode: 0; } */
/* html:has(#color-scheme-dark:checked) { --darkmode: 1; } */

body {
    background-color: var(--background-color);
    color: var(--text-color);
}

.nav-bar {
	max-inline-size: 1096px;
	margin-inline: auto;
}

.nav-container {
	margin-block-end: 2em;
	border-bottom: 1px solid var(--border);
}

.site > h1 {
	font-size: 24px;
}

nav > ul {
    display: flex;
    gap: 1rem;
    list-style-type: none;
	color: var(--text-color-dim);
	align-items: center;
	font-size: 17px;
}

li > a {
    text-decoration: none;
    color: var(--text-color-dim);
}

.nav-bar,
.prose {
	max-inline-size: 1096px;
	margin-inline: auto;
}

.menu {
    display: flex;
}

.site {
	align-self: center;
}

.nav-bar {
    display: flex;
    justify-content: space-between;
    padding: 2em;
}

.offscreen-menu {
	position: fixed;
	height: 100vh;
	width: 100%;
	max-width: 450px;
	top: 0;
	right: -450px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 1.5rem;
	transition: .3s ease;
	background-color: black;
	gap: 1em;
}

.offscreen-menu a {
	color: var(--text-color);
	font-weight: bold;
}

.offscreen-menu.active {
	right: 0;
}


.hamburger {
	height: 50px;
	width: 40px;
	margin-left: auto;
	position: relative;
	align-self: center;
}

.hamburger span {
	height: 5px;
	width: 100%;
	background-color: var(--text-color);
	border-radius: 25px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: .3s ease;
	z-index: 3;
}

.hamburger span:nth-child(1) {
	top: 25%;
}

.hamburger span:nth-child(3) {
	top: 75%;
}

.hamburger.active span:nth-child(1) {
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
	opacity: 0;
}

.hamburger.active span:nth-child(3) {
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.prose {
    padding-inline: 2em;
}

.prose > a {
    text-decoration: underline;
    color: var(--text-color);
    font-weight: bold;
}

/* h1 { */
/* 	font-family: Georgia, serif; */
/* } */

.prose > h1 {
	text-align: center;
	font-weight: normal;
	font-variant: small-caps;
	letter-spacing: 0.1em;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 1em;
}

.prose > h1::before,
.prose > h1::after {
	content: "";
	border-top: 0.1em double var(--text-color);
	align-self: center;
}

.prose > p {
    margin: 1em 0em 1em 0em;
    color: var(--text-color);
    font-size: 18px;
}

.theme:hover {
	cursor: pointer;
}

.hamburger {
	display: none;
}	

@media screen and (max-width: 628px) {
	.menu {
		display: none;
	}

	.hamburger {
		display: block;
	}	

	.hamburger.clicked {
		.menu {
			display: block;
		}	
	}
}
