

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	--bg_1: #0e0a2a;
	--bg_2: #2c2943;
	--bg_3: #3f4148;

	--highlight_1: #ee9015;
	--highlight_2: #edd29e;

	--text_1: #FFFFFF;

    color: var(--text_1);
    background: var(--bg_1);
    margin: 0px;

	position: relative;
	
    min-height: 100vh;
	padding-bottom: 4em;
}

:link {
	color: var(--highlight_1);
	font-style: italic;
	text-decoration: none;
	
	transition: color 0.2s;
}
a:visited {
	color: var(--highlight_1);
}
a:hover {
	color: var(--highlight_2);
}

#main_header {
	overflow: hidden;
	position: relative;

	padding-bottom: 0.7em;
}
#main_banner_img {
	position: absolute;
	left: 0px;
	right: 0px;

	width: 100vw;

	z-index: -1;

	opacity: 0;
	top: 0px;
}
#main_banner_img_link {
	position: absolute;
	right: 2vw;
	bottom: 0.5em;

	font-size: 0.8em;
}

#nav_bar {
	display: flex;
	flex-direction: row;
	justify-content: center;
	
	list-style-type: none;
	margin-top: 1em;
	padding: 0px;
}
#nav_bar li {
	padding: 0em 0.3em 0em 0.3em;
}

#big_title {
	text-align: center;
	font-size: 2.5em;
	margin-bottom: 0.2em;
}
#main_header h2 {
	text-align: center;
	font-size: 2em;
	margin-bottom: 0.2em;
}

#title_separator {
	height: 1.5px;
	background-color: #ddd;
	opacity: 0.5;
	margin-left: 2em;
	margin-right: 2em;
}

#main_content_wrapper {
	padding: 0em 1em 1em 1em;
	width: auto;
	margin-left:  max(0.75em, min(max(20vmin, 50vw - 30rem), 50vw - 25rem));
	margin-right: max(0.75em, min(max(20vmin, 50vw - 30rem), 50vw - 25rem));
	margin-top: 0px;

	min-height: 100%;

	background: var(--bg_2);
}

#post_file_bar {
	position: sticky;

	top: 0px;

	background: var(--bg_2);
}

#post_file_titles {
	display: flex;
	flex-direction: row;
	justify-content: left;

	list-style-type: none;
	padding: 0px;
}

#post_file_titles * {
	padding: 0.5em;
	font-style: bold;
	font-size: 1.3em;

	background: var(--highlight_1);
}

#post_file_path {
	width: 100%;
	font-style: italic;
	padding-left: 0.5em;

	background: var(--highlight_1);

	display: flex;
	flex-direction: row;
	list-style-type: none;
}
#post_file_path a {
	color: var(--text_1);
	padding-right: 0.2em;
}

#main_content_wrapper article {
	background: var(--bg_3);

	border-radius: 0em 0em 0.8em 0.8em;
	box-shadow: 3px 7px 7px 0px #00000040;

	padding: 0.75em;
}
#main_content_wrapper article h1 {
	text-align: left;
	padding-left: 3vmin;
	margin-bottom: 0.2em;

	border-bottom: solid 1px darkgrey;
}

#main_content_wrapper article img {
	display: block;
    max-width: 100%;

    max-height: 80vh;
	
	margin: 1vmin;
    margin-right: auto;
	margin-left: auto;
}

#main_footer {
	display: flex;
	
	height: 2.5em;
	text-align: center;
	background-color: #3a3a3a;
	margin: 0px;

	position: absolute;
	bottom: 0px;
	width: 100%;
}

#main_footer span {
	align-self: flex-end;
	width: 100%;
}
