*
{
	font-family: var(--base-font-family);
	box-sizing: border-box;
}

body
{
	display: flex;
	flex-direction: column;
	width: 100vw;
	height: 100vh;
	background-color: var(--bg-color);
	color: var(--text-color);
}

body > header
{
	display: block;
	width: 100%;
	height: var(--navbar-height);
}

body > main
{
	display: block;
	flex-grow: 1;
	width: 100%;
	max-height: calc(100vh - var(--navbar-height) - var(--footer-height));
	margin: 0;
	overflow: auto;
	scrollbar-width: thin; // TODO auch für Webkit impl.
}

body > footer
{
	display: block;
	width: 100%;
	box-shadow: inset 0 1px 0 0 var(--accent-color);
}

.footer-content
{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-content: center;
	width: min(var(--content-max-width), 100%);
	height: var(--footer-height);
	margin: 0 auto;
}

.page-main-content
{
	display: block;
	width: min(var(--content-max-width), 100%);
	padding: var(--content-padding-block) var(--content-padding-inline);
	margin: 0 auto;
}

.copyright-wrapper
{
	display: block;
	height: var(--footer-height);
	line-height: var(--footer-height);
	padding: 0 var(--content-padding-inline);
	font-size: 0.8em;
	color: var(--text-color-muted);
}

.imprint-link-wrapper
{
	display: block;
	height: var(--footer-height);
	line-height: var(--footer-height);
	padding: 0 var(--content-padding-inline);
	font-size: 0.9em;
}
