body {
	background-color: #ffffff;
	color: #2a2a2a;
	font-family: "Helvetica", sans-serif;
	letter-spacing: 0.9px;
	display: flex;
	flex-direction: column;
	align-items: center;
	tab-size: 4;
}

.dark-mode {
	background-color: #2a2a2a;
	color: #dedede;
}

p, pre {
	line-height: 1.33;
	margin: 0 0 1.5em 0;
}

pre {
	background-color: #f9f9f9;
	padding: 1.5em 2em 1.5em 2em;
	border-radius: 10px;
	overflow: scroll;
}

.dark-mode pre {
	background-color: #363636;
}

.post-date {
	color: #2a2a2a;
	font-size: 14px;
}

.dark-mode .post-date {
	color: #dedede;
}

h1 {
	margin-bottom: 0;
	counter-reset: heading;
}

#post-content h2:before {
	content: counter(heading) " ";
}

h2 {
	counter-increment: heading;
	counter-reset: subheading;
}

#post-content h3:before {
	content: counter(heading) "." counter(subheading) " ";
}

h3 {
	counter-increment: subheading;
	counter-reset: subsubheading;
}

#post-content h4:before {
	content: counter(heading) "." counter(subheading) "." counter(subsubheading) " ";
}

h4 {
	counter-increment: subsubheading;
}

h1, h2, h3, h4, h5, h6 {
	color: #ffbc40;
}

h2, h3, h4, h5, h6 {

}

#page {
	display: flex;
	flex-direction: column;
	width: 60%;
}

@media (max-width: 768px) {
	#page {
		width: 90%;
	}
}

@media (min-width: 1080px) {
	#page {
		width: min(60%, 1080px);
	}
}

#post-content {
	display: flex;
	flex-direction: column;
}

hr {
	height: 2px;
	border-width: 0;
	background-color: #f9f9f9;
	width: 80%;
	margin-bottom: 2em;
}

.dark-mode hr {
	background-color: #363636;
}

.alert {
	border-left: solid;
	border-left-width: 4px;
	margin-bottom: 1.5em;
	margin-left: 20px;
	margin-right: 20px;
	padding: 10px;
	display: flex;
	align-items: stretch;

	background-color: rgb(255, 243, 205);
	border-left-color: rgb(255, 230, 156);
	color: rgb(102, 77, 3);
}

.dark-mode .alert {
	background-color: rgb(229, 189, 83);
	border-left-color: rgb(175, 152, 73);
	color: #181818;
}

.alert-right {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}

.alert-left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 32px;
}

.alert-icon {
	color: rgb(102, 77, 3);
	margin-right: 7.5px;
}

.dark-mode .alert-icon {
	color: #181818;
}

.alert-right p:last-child {
	margin-bottom: 0;
}

#header {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	height: 60px;
	margin-top: 20px;
}

#header a {
	color: #2a2a2a;
	text-decoration: none;
	margin-left: 5px;
}

.dark-mode #header a {
	color: #dedede;
}

#header a:hover {
	color: #ffbc40;
}

#header #title {
	color: #ffbc40;
}

a {
	color: #ffbc40;
	text-decoration: none;
}

a:hover {
	color: #2a2a2a;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: #ffbc40;
}

.dark-mode a:hover {
	color: #dedede;
}

#post-tags {
	display: block;
	margin: 5px 0 5px 0;
}

.post-tag:before {
	content: "#";
	font-family: "Georgia", sans-serif;
}

.post-tag {
	display: inline;
	background: #f5f5f5;
	border-radius: 4px;
	padding: 1px 4px 1px 4px;
}

.dark-mode .post-tag {
	background: #363636;
}

.post-tag:hover {
	background: #ffbc40;
}

.footnote-ref:hover {
	text-underline-offset: -4px;
}

.footnote {
	display: flex;
	flex-direction: row;
	margin-bottom: 1em;
}

.footnote p {
	margin-bottom: 1em;
}

.footnote-header {
	align-items: flex-end;
	padding-right: 5px;
}

.footnote-content p:last-child {
	margin-bottom: 0;
}

#light-toggle:before {
	content: "dark_mode";
}

#light-toggle {
	position: absolute;
	top: 25px;
	left: 25px;
}

.dark-mode #light-toggle:before {
	content: "light_mode";
}

#light-toggle:hover {
	color: #ffbc40;
}

.post-list a {
	font-weight: bold;
	font-size: 20px;
}

.post-list li {
	margin-bottom: 1.5em;
}

.post-item-tags {
	margin-top: 0.5em;
}

#not-found {
	display: flex;
	flex: 0.67;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#not-found h1 {
	color: #2a2a2a;
	font-size: 80px;
}

.dark-mode #not-found h1 {
	color: white;
}