:root {
	--widthSidebar: 200px;
	--widthContent: 800px;

	--background: #020605;
	--color: #f2ead4;
	
	--link: #318150;
	
	--formbg: #318150;
    --formcolor: #f2ead4;
    
    --accentbg: #24211c;
    --hr: #f2ead4;

	--mainfont: 'Atkinson Hyperlegible', sans-serif;
	--headerfont1: 'Gidugu', static;

	--borderSolid: 1px solid #f2ead4;
	--borderDotted: 1px dotted #f2ead4;
	--borderTree: 1px solid #f2ead4;

	--columnCount: 2;
	--columnGap: 8px;

	--imageBackground: url("../img/bg4.jpg");
}

/* ------ MAIN ------- */
* {
	box-sizing: border-box;
}

body {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	margin: 0;
	height: 100vh;
	font-family: var(--mainfont);
	color: var(--color);
	background-color: var(--background);
	background-image: var(--imageBackground);
	background-repeat: no-repeat;
	background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

main {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	
}

main > div.content {
	display: flex;
	flex-flow: row wrap;
	flex: 1 1 20em;
	max-width: var(--widthContent);
	padding: 0;
	max-width: 1200px;
	
}

footer {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	width: 100%;
	border-top: var(--borderDotted);
	padding: 0 1em;
	font-size: 0.9em;
}
/* ------ MAIN ------- */



/* ------ NAV INLINE ------- */
#nav {
	background: var(--background);
	text-align: right;
	margin: 0 auto 5px;
	padding: 2px 0;
	width: 100%;
	position: sticky;
	top: 0;
	border-bottom: 1px dotted var(--hr);
}

#nav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 1em;
}

#nav ul::before {
	content: "///";
	margin-right: 5px;
}

#nav ul li, #nav .home {
	display: inline-block;
	padding: 0 0.5em;
	margin: 3px 1.5px;
}

#nav ul li a, #nav .home li a {
	color: var(--link);
	text-decoration: none;
	border: 1px solid transparent;
	padding: 2px 2.5px;
}

.home {
	float: left;
}

#nav ul li a:hover, #nav ul li a:focus, #nav .home a:hover {
	color: var(--linkhover);
	background: transparent;
	font-style: normal;
	text-decoration: none;
	border: 1px solid var(--hr);
}
/* ------ NAV INLINE ------- */


section {
	border: 1px solid var(--hr);
	background-color: var(--background);
	color: var(--color);
	padding: 1em;
	margin: 0 1em 2em 1em;
	width: 100%;
}

section img {
	width: 100%;
}

.half-width {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	min-height: 300px;
}

.half-width section {
	width: calc(50% - 2em);
	margin: 0 1em 2em 1em;
}

section.half-width pre {
	width: unset;
}

section .scrollbox {
	max-height:250px;
	overflow: scroll;
}

section > .flex-columns {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
}

.flex-columns > .flex-text {
	width: 60%;
}

.flex-columns > .flex-image {
	width: 40%;
}

.flex-columns > .flex-image > img {
	width: 100%;
	padding: 0 1em;
}

.preview-frame {
	display: flex;
	flex-flow: row wrap;
	border: 1px solid var(--colorPrimary);
	border-radius: 0 0 1em 0;
	margin: 1em;
}
.preview-frame a {
	max-width: 250px;
}

.preview-frame a:after {
	content: '';
}

.preview-frame a img {
	height: 100%;
	object-fit: contain;
	flex-basis: 0;
	padding: 10px;
}

.preview-frame > div {
	border-left: 1px solid var(--hr);
	width: calc(100% - 250px);
	flex-basis: 1 1 auto;
}

.preview-frame h3 {
	padding: 8px 0;
	margin: 0;
	border-bottom: 1px solid var(--hr);
}

.preview-frame h3, .preview-frame p {
	padding-left: 12px;
}

.preview-frame button {
	margin-left: 12px;
	margin-bottom: 12px;
}
.gallery {
	line-height: 0;

	-webkit-column-count: var(--columnCount);
	-webkit-column-gap:   var(--columnGap);
	-moz-column-count:    var(--columnCount);
	-moz-column-gap:      var(--columnGap);
	column-count:         var(--columnCount);
	column-gap:           var(--columnGap);
}

.gallery div, .gallery img {
	width: 100% !important;
	height: auto !important;
	margin-bottom: var(--columnGap);
}

@media screen and (max-width: 600px) {

	:root {
		--columnCount: 1;
		--columnGap: 8px;
	}

	html {
		font-size: 0.9em;
	}
	
	section > .flex-columns {
		display: flex;
		flex-flow: column;
	}

	audio, video, iframe {
		width: 100%;
	}

	video, iframe {
		height: 200px;
	}

	.flex-columns > .flex-text {
		width: 100%;
	}

	.flex-columns > .flex-image {
		width: 100%;
	}

	.flex-columns > .flex-image > img {
		margin: 12px 0;
	}

	.half-width section {
		width: 100%;
	}

	.preview-frame {
		display: flex;
		flex-flow: column;
	}

	.preview-frame a {
		max-width: 100%;
	}

	.preview-frame > a > img {
		height: 100%;
		border-bottom: 1px solid var(--colorPrimary);
	}

	.preview-frame > div {
		border-left: none;
		width: 100%;
	}

	.preview-frame h3 {
		padding: 8px 0;
		margin: 0;
	}

	.preview-frame h3, .preview-frame p {
		padding-left: 12px;
	}

}