html, body {
	margin: 0;
	padding: 0;
	font-family: sans-serif;
}
body {
	color: var(--text-color);
	transition: color .25s;
}
a {
	color: var(--link-color);
	transition: color .25s;
	cursor: pointer;
}
a:hover {
	text-decoration: underline;
}
.sectionHeader {
	text-align: center;
	font-weight: bold;
}
.infoBox {
	margin: .5em 1em;
	border-radius: 1em;
	background-color: var(--background-color-2);
	transition: background-color .25s;
	padding: .5em 1em;
}

#backgroundImage {
	position: fixed;
	width: 100%;
	height: 100%;
	background-image: var(--background-image);
	background-size: 2vw;
	image-rendering: crisp-edges;
	image-rendering: pixelated;
}

/* site header */
#mainHeader {
	background-color: var(--background-color-1);
	transition: background-color .25s;
	z-index: 100;
	position: fixed;
	width: 100vw;
	height: 3em;
	padding: 0 1em;
	box-sizing: border-box;
	filter: drop-shadow(0 0 .75vw black);
	
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#forumName {
	cursor: pointer;
}
#loggedInHeaderOptions {
	display: none;
}


/* center column */
#centerColumn {
	background-color: var(--background-color-1);
	min-height: 100vh;
	padding-top: 3em;
	box-sizing: border-box;
	width: calc(max(50%, 50em));
	margin: 0 auto;
	filter: drop-shadow(0 0 1vw black);
}
#pageTitle {
	display: none;
	text-align: center;
	font-weight: bold;
	padding-top: .5em;
	font-size: 2em;
}
#errorDiv {
	display: none;
	position: absolute;
	width: 100%;
	text-align: center;
	padding-top: 40vh;
	font-size: 1.5em;
	color: gray;
	white-space: pre-line;
}


/* overlays and popups */
#overlayBackdrop {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, .5);
	z-index: 1000;
}
.overlay {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	
	background-color: var(--background-color-1);
	transition: background-color .25s;
	border-radius: 1em;
	z-index: 1001;
}
.overlayTitle {
	font-weight: bold;
	padding: 1em;
	padding-bottom: 0;
}
.overlayBody {
	line-height: 1.5em;
	padding: 1em;
	padding-top: 0;
}

.formWarning {
	display: none;
	font-size: .75em;
	color: red;
	background-color: rgba(255, 0, 0, .25);
	padding: .25em .5em;
	border-radius: .5em;
}


/* thread boxes */
.thread {
	margin: .5em 1em;
	border-radius: 1em;
	background-color: var(--background-color-2);
	transition: background-color .25s;
	cursor: pointer;
}
.thread:hover {
	background-color: var(--accent-color);
}
.threadHeader {
	padding: .65em;
	padding-bottom: 0;
	display: flex;
	justify-content: space-between;
}
.threadName {
	font-weight: bold;
}
.threadInfo {
	padding: .65em;
	padding-top: 0;
}


/* posts */
.post, .newPost, .notification {
	margin: .5em 1em;
	border-radius: 1em;
	background-color: var(--background-color-2);
}
.post, .newPost {
	display: flex;
}
.notification > .post: {
	margin: 0;
}
.postLeft {
	padding: .65em;
	border-right: 2px solid black;
	min-width: 10em;
	max-width: 10em;
	overflow: hidden;
	text-align: center;
}
.postAuthor {
	font-weight: bold;
}
.postAuthorPostCount, .postAuthorRegistered {
	font-size: .75em;
}
.postRight, .newPostInside {
	flex-grow: 1;
}
.postHeader, .newPostHeader, .notificationHeader {
	padding: .65em;
	padding-bottom: 0;
	display: flex;
	justify-content: space-between;
}
.notificationReason {
	font-weight: bold;
}
.postLastEdited {
	font-size: .65rem;
	margin-left: .75em;
}
.postContent, .newPostTextbox, .newPostPreviewBox, .postContentEditor {
	background-color: var(--background-color-1);
	padding: .25em .5em;
	margin: 0 .65em;
	white-space: pre-wrap;
	word-break: break-word;
	font-family: monospace;
}
.newPostTextbox, .newPostPreviewBox {
	min-height: 4em;
}
.newPostPreviewBox, .postContentEditor {
	display: none;
}
.postFooter, .newPostFooter {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	padding-right: .25em;
	margin: .65em;
}
.postEditSubmit {
	display: none;
}

/* post styling */
.postBold {
	font-weight: bold;
	display: inline-block;
}
.postItalics {
	font-style: italic;
	display: inline-block;
}
.postStrikethrough {
	text-decoration-line: line-through;
	display: inline-block;
}
.postUnderlined {
	text-decoration: underline;
	display: inline-block;
}
.postHidden {
	position: relative;
	display: inline-block;
	background-color: var(--background-color-2);
	border-radius: .25em;
	padding: 0 .25em;
}
.postHiddenCover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--background-color-2);
	border-radius: .25em;
	cursor: pointer;
}
.postCodeblock {
	display: inline-block;
	background-color: var(--background-color-2);
	padding: 0 .25em;
}
.postYoutubeVideo {
	display: block;
	width: 100%;
	aspect-ratio: 16/9;
}
.postImage {
	width: 100%;
}

/* pagination */
.pagination {
	margin: .5em 1em;
	border-radius: 1em;
	background-color: var(--background-color-2);
	padding: .2em .5em;
	text-align: center;
}
.pagination > * {
	padding: 0 .5em;
}