:root {
	--bg: #ffffff;
	--fg: #2f2f2f;
	--bgshade: #efefef;
	--highlight: #ffff00;
	--theme: #5fa41d;
	--lrpad: max(10px, 50vw - 400px);
}
@media (prefers-color-scheme: dark) {
	:root {
		--bg: #2f2f2f;
		--fg: #dfdfdf;
		--bgshade: #3f3f3f;
		--highlight: #4f4f00;
		--icon: brightness(0) saturate(100%) invert(100%) sepia(3%) saturate(971%) hue-rotate(160deg) brightness(112%) contrast(75%);
	}
}
@font-face {
	font-family: logo;
	src: url("gilroy-extrabold-mod.otf");
}
@font-face {
	font-family: renner;
	src: url("FuturaRenner-Regular.ttf");
}
body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
	margin: 0px;
	color: var(--fg);
	background-color: var(--bg);
	font-family: renner;
	font-size: 16pt;
}
header {
	padding-left: 10px;
	padding-right: 10px;
	text-align:center;
	background-color: var(--theme);
	flex: 1;
	max-height: 72px;
	padding-left: var(--lrpad);
	padding-right: var(--lrpad);
}
header h1 {
	display: inline-block;
	font-family: logo;
	font-size: 2rem;
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	color: #db6800;
	-webkit-text-stroke: 1px #572900;
	cursor: pointer;
}
.hdr {
	position: relative;
	top: 36px;
}
main {
	flex: 2;
	padding-left: var(--lrpad);
	padding-right: var(--lrpad);
}
footer {
	padding: 10px;
	flex: 3;
	background-color: var(--theme);
	max-height: 26px;
	padding-left: var(--lrpad);
	padding-right: var(--lrpad);
}
footer a {
	color: var(--fg);
	text-decoration: none;
}
a {
	color: var(--theme);
}
.icon {
	display: inline-block;
	vertical-align: sub;
	cursor: pointer;
	width: 1em;
	height: 1em;
}
.right {
	float: right;
	margin-left: 10px;
}
.left {
	float: left;
	margin-right: 10px;
}
.hidden {
	display: none;
}
#search-div {
	background-color: var(--bg);
}
#search-input {
	width: 100%;
	box-sizing: border-box;
	font-size: 1.2em;
	padding: .5em;
}
#search-results b {
	background-color: var(--highlight);
}
.search-preview {
	margin-left: 2em;
}
#taxonomies {
	margin-top: 10px;
	text-align: right;
}
.tag {
	border: 2px solid var(--theme);
	border-radius: 5px;
	padding: 2px;
	padding-left: 8px;
	padding-right: 8px;
}
.tag a {
	text-decoration: none;
}
.project {
	display: inline-block;
	float: left;
	margin-bottom: 20px;
	margin-right: 20px;
	width: min(100vw - 20px, 360px);
	height: 270px;
	border: 2px solid var(--theme);
	border-radius: 10px;
	background-color: var(--bgshade);
	overflow: hidden;
}
.project a {
	text-decoration: none;
	color: var(--fg);
}
.project img {
	width: 100%;
	height: 192px;
	object-fit: cover; /* Image covers the area, cropping if necessary */
}
.project p {
	padding-left: 8px;
	padding-right: 8px;
	margin-top: 0.1em;
}
.project .tag {
	position: relative;
	top: -192px;
	float: right;
	margin-right: 5px;
	background-color: var(--bgshade);
	font-size: 10pt;
}
