html, body, h1, h2, p {
	margin: 0; padding: 0;
}
html {
	font-family: 'Open Sans', sans-serif;
	font-size: 11pt;
	line-height: 1.6;
	
	--paper: white;

	background: var(--paper);
	--ink: hsl(10, 40%, 10%);
	color: var(--ink);
	--ink_accent: hsl(26, 50%, 45%);
	--link: var(--ink_accent);
	--link_visited: var(--ink_accent);
	
	--leftedge: calc(4vw - 4px);
	--rightedge: calc(13vw - 26px);
	
	counter-reset: heading;
	
	scroll-behavior: smooth;
	
	border-left: 5vw solid var(--ink_accent);
}
a {
	text-decoration: none;
	color: inherit;
}
p a, li a {
	color: var(--link);
}
p a:visited, li a:visited {
	color: var(--link_visited);
}
p:hover a, ul:hover a, ol:hover a {
	text-decoration: underline;
	text-decoration-style: solid;
}

#header > *, div.content > div.imagebox {
	padding-left: var(--leftedge);
	padding-right: var(--rightedge);
	font-weight: normal;
}
#header h1 {
	font-family: 'Antonio', 'Oswald', sans-serif;
	font-weight: 300;
	margin-top: calc(3vh + 50px);
	font-size: calc(1.8vw + 24pt);
	line-height: 0.9;
	text-transform: uppercase; letter-spacing: -0.05em;
}
#header h1 span.lastname {
	font-weight: 400;
	color: var(--ink_accent);
}
#header h2 {
	text-transform: lowercase; font-variant: small-caps; letter-spacing: 0.05em;
	margin-top: 0.1em;
	font-size: calc(0.9vw + 10pt);
}
#header h2 span.ampersand {
	color: var(--ink_accent);
	font-size: 80%;
}
#header ul {
	font-size: 11pt;
	margin-top: 0;
}
#header ul li {
	display: inline-block;
	margin-left: 0;
	margin-right: 4px;
}
#header ul li a {
	text-decoration: none;
	font-weight: normal;
	color: var(--ink_accent);
}
#header ul li a:hover {
	color: var(--ink_accent);
	text-decoration: underline;
}
#header ul li::after {
	content: "\2022";
	margin-left: 7px;
	color: var(--ink_accent);
	font-weight: normal;
}
#header ul li:last-child::after {
	content: "";
	margin-left: 0;
}


div.content {
	margin-top: calc(2vh + 10px);
	margin-bottom: calc(3vh + 70px);
	clear: both;
	z-index: 1;
}
div.content > a {
	font-weight: normal;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	display: block;
	z-index: 2;
	background: var(--paper);
}
div.content > a.anchor {
	position: relative;
	height: 0;
}
div.content > a h1 {
	position: -webkit-sticky;
	position: sticky;
	z-index: 2;
	top: 0;
	
	background: var(--paper);
	border-bottom: 1px solid var(--ink_accent);
	color: var(--ink);
	
	padding-top: 0.2em;
	padding-bottom: 0.2em;

	padding-right: var(--rightedge);
	padding-left: var(--leftedge);

	margin-top: 2em;
	margin-bottom: 0.5em;
	
	font-size: 20pt;
	font-weight: bold;
	text-transform: lowercase; font-variant: small-caps; letter-spacing: 0.1em;
}
@media only screen and (max-width: 700px) {
	div.content > a h1 { padding-left: var(--leftedge); }
	div.content > a h1:before { display: none; }
}
div.content span.ampersand {
	font-size: 80%;
	font-weight: normal;
}
div.content p {
	text-align: justify;
	text-justify: newspaper;
	hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
}
@media only screen and (max-width: 500px) {
	div.content p { text-align: left; }
}
div.content p + p {
	text-indent: 2em;
}
div.content ul, div.content ol {
	list-style: none;
	margin-left: 1em;
	margin-top: 0.5em; margin-bottom: 0.5em;
	z-index: 0;
}
div.content li {
	position: relative;
	left: 2em;
	padding-right: 1em;
	z-index: 0;
}
div.content li::before {
	content: "\25a0";
	color: var(--ink_accent);
	display: inline-block;
	width: 1.7em;
	padding-right: 0.3em;
	margin-left: -2em;
	text-align: right;
}
div.main > div:last-of-type {
	margin-bottom: 200px;
}

div.content div.imagebox {
	z-index: 1;
	margin-bottom: 3em;
	height: auto;
	overflow: hidden;
	clear: both;
}
div.content div.imagebox img {
	margin: 20px; margin-top: 2px;
	background: var(--paper);
	border-radius: 0px;
	
	--imgpad: 3px;
	padding: var(--imgpad);
	
	--imgborder: 1px;
	border: var(--imgborder) solid var(--paper);
	background: var(--paper);
	
	max-width: 70%;
	z-index: 1;
}
div.content div.imagebox img:hover {
	border-color: var(--ink_accent);
	background: var(--paper);
}
div.content div.imagebox:nth-child(even) > a > img {
	float: left;
	margin-left: 0;
}
div.content div.imagebox:nth-child(odd) > a > img {
	float: right;
	margin-right: 0;
}
@media only screen and (max-width: 800px) {
	html body div.content div.imagebox img:only-of-type {
		float: none;
		display: block;
		margin-left: auto; margin-right: auto;
		max-width: calc(100% - 2*var(--imgpad) - 2*var(--imgborder));
	}
	div.content div.imagebox { margin-bottom: 5em; }
	div.content li { left: 0em; }
	div.content li::before {
		width: 0.7em;
		margin-left: -1em;
	}
}
div.content div.imagebox h2 {
	font-weight: normal;
	text-transform: lowercase; font-variant: small-caps; letter-spacing: 0.08em;
	font-size: 17pt;
	word-spacing: 0.1em;
}

*.name {
	font-style: italic;
}

#footcontainer {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	height: 0;
	width: 100%;
	z-index: 3;
}
#footer {
	position: absolute;
	bottom: -100vh;
	padding-left: var(--leftedge);
	padding-right: 1em;
	width: calc(100% - var(--leftedge) - 1em);
	padding-bottom: 0.4em; padding-top: 0.2em;
	background: var(--paper);
	border-top: 2px solid var(--ink_accent);
}
#footer span.shortname { display: none; }
@media only screen and (max-width: 850px) {
	#footer span.longname { display: none; }
	#footer span.shortname { display: inline; }
}
@media only screen and (max-width: 650px) {
	#footer { padding-bottom: 30px; }
}
@media only screen and (orientation:landscape) and (max-width: 800px) {
	#footer {
		width: 80vw;
		border-right: 2px solid var(--ink_accent);
		border-top-right-radius: 0px;
		padding-bottom: 10px;
	}
}
#footer a {
	margin-right: 3px;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	display: inline-block;
}
#footer a:hover {
	color: var(--ink_accent);
}
#footer a:first-child {
	font-weight: bold;
	text-transform: lowercase; font-variant: small-caps; letter-spacing: 0.05em;
}
#footer a::after {
	content: "\2022";
	margin-left: 7px;
	color: var(--ink_accent);
	font-weight: normal;
}
#footer a:last-child::after {
	content: "";
	margin-left: 0;
}
@media only screen and (max-width: 350px) {
	#footer a { display: none; }
	#footer a:first-child { display: inline-block; }
	#footer a::after { display: none; }
}
