* {
	margin: 0;
	padding: 0;
}

ul li ul {
  margin-left: 30px;
}

hr {
  border: none;
  border-top: 2px solid var(--color-main);
  margin: 10px auto;
}

body {
	background-color: var(--background-main);
	font: 14pt var(--body-font);
	color: var(--color-main);
	padding: 0;
	line-height: 1.4;
}

main {
	padding: 0;
	margin: 0;
	width: 100%;
}

header {
	background-image: url('grass.png');
	background-attachment: fixed;
	background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
	margin: 0 auto;
	width: 100%;
	padding: 0;
}

header h1 {
	color: var(--background-main);
	text-shadow: 3px 3px 0 rgba(92, 106, 114, 1);
	font-size: 3rem;
	text-align: center;
	font-family: var(--header-font);
	padding: 0.5rem;
}

h2 {
	text-align: center;
	color: var(--color-main);
	font-family: var(--header-font);
	font-size: 2rem;
	padding: 0.5rem;
	margin: 5px auto;
}

h3 {
	margin: 10px auto;
}

div#main-layout {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	flex-direction: row;
}

nav#main-nav {
	margin: 0 auto;
	padding: 0;
	font-size: 1em;
	max-width: 200px;
}

nav#main-nav ul {
	list-style-type: none;
}

nav#main-nav ul li {
	margin: 20px auto;
}

nav#main-nav ul li a {
	padding: 10px;
	background: var(--background-main);
}

nav#main-nav ul li a:hover {
	background: var(--link-color);
}

nav#main-nav ul li a#active {
	background: var(--link-color);
	color: var(--background-main);
}

article#main-content {
	max-width: 1400px;
	width: 95%;
	margin: 0 auto;
	flex: 1 1 calc(100% - 40px);
	padding: 10px;
}

div.flexing {
	display: flex;
	flex-flow: row;
	gap: 5px;
	flex-wrap: wrap;
}

section {
	background: var(--background-main);
	padding: 10px 15px;
}

footer {
	background-image: url('grass.png');
	background-attachment: fixed;
	background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
	margin: 0 auto;
	max-width: 100%;
	padding: 20px;
	text-align: center;
	color: var(--background-main);
	text-shadow: 1px 1px 0 rgba(92, 106, 114, 1);
}

p.to-top {
	float: right;
	background: var(--background-main);
	padding: 5px;
	margin: 0;
	bottom: 0;
	right: 0;
}

footer a {
	background: var(--background-main);
}

.full {
	flex: 1 1 calc(100% - 3%);
}

.half {
	flex: 1 1 calc(50% - 3%);
}

.third {
	flex: 1 1 calc(33% - 3%);
}

.twothird {
	flex: 1 1 calc(66% - 3%);
}

.quarter {
	flex: 1 1 calc(25% - 3%);
}

.threequarter {
	flex: 1 1 calc(75% - 3%);
}

@media screen and (max-width: 800px) {
	article#main-content {
		width: 99%;
	}

	div.flexing {
		display: block;
	}
	
	div#main-layout {
		flex-direction: column;
	}
	
	nav#main-nav {
		max-width: 500px;
	}
}

a {
	color: var(--link-color);
}

a:hover, a:focus {
	color: var(--background-main);
	background: var(--link-color);
}

section.covers {
	width: 95%;
	border: none;
	margin: 10px auto 5px;
	justify-content: center;
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap; 
}

section.covers figure {
	width: 300px;
	max-height: 100%;
	padding: 0;
	margin: 10px;
	border: 2px solid var(--link-color);
}

section.covers figure img {
	width: 100%;
	max-height: 100%;
	margin: 0 auto;
	padding: 0;
}

section.covers figure figcaption {
	margin: 0;
	padding: 5px;
	font-style: italic;
	font-size: 0.9em;
}

@media screen and (max-width: 900px) {
	section.covers {
		flex-direction: column;
		justify-content: space-evenly;
		align-items: center;
		flex-wrap: wrap;
	}

	section.covers figure {
		width: 300px;
		max-height: 100%;
		padding: 0;
		margin: 5px auto 20px;
	}

	section.covers figure img {
		width: 100%;
		height: auto;
		margin: 0 auto;
		padding: 0;
	}
}

mark {
	background-color: transparent;
	border: 1px solid var(--color-main);
	border-radius: 5px;
	padding: 0 4px;
	color: var(--color-main);
	font-size: 0.9em;
	font-family: monospace;
	font-weight: bold;
}

mark.viena {
	border: 1px solid var(--viena);
	color: var(--viena);
}

mark.livvi {
	border: 1px solid var(--livvi);
	color: var(--livvi);
}

mark.tver {
	border: 1px solid var(--tver);
	color: var(--tver);
}

mark.veps {
	border: 1px solid var(--veps);
	color: var(--veps);
}

mark.luudi {
	border: 1px solid var(--luudi);
	color: var(--luudi);
}