:root {
	--pagebg: hsl(42,100%,97%);
	background:
		linear-gradient(-3deg, hsla(33,100%,60%,0.1), transparent 33%) no-repeat,
		linear-gradient(147deg, hsla(33,100%,60%,0.1), transparent 25%) no-repeat,
		hsl(42,100%,97%);
	color: black;
	min-height: 100vh;
	font: 1em Open Sans, Helvetica, sans-serif;}
* {box-sizing: border-box;}

body {display: grid;
	grid-template-columns: 1fr minmax(30ch,90ch) 1fr;
	grid-template-rows: repeat(2,min-content) auto minmax(3ch,10vh) min-content;
	margin: 0; padding: 1ch 0;
	background: transparent;}
body > * {padding: 0 1ch;
	grid-column: 2;}

header {display: flex; flex-direction: column-reverse;
	margin: 3ch 0;}
header > * {margin: 0;}
header h1 {align-self: flex-start;
	opacity: 0.85;
	border-bottom: 1px solid;
	font-size: 300%; line-height: 1;
	letter-spacing: -0.0667ch;
	text-shadow:
		0 0 2px var(--pagebg),
		0 0 2px var(--pagebg),
		0 0 2px var(--pagebg),
		0 0 2px var(--pagebg),
		0 0 2px var(--pagebg),
		0 0 2px var(--pagebg),
		0 0 2px var(--pagebg),
		0 0 2px var(--pagebg),
		0 0 2px var(--pagebg),
		0 0 2px var(--pagebg)
		;}
header h2 {opacity: 0.5;
	text-transform: uppercase; font-size: 1.23em; font-weight: 300;
	margin-top: 1ch;
	word-spacing: 0.25ch;}

main {font-family: Georgia, serif;}
main h3 {display: inline-block;
	font-family: Open Sans, Helvetica, sans-serif;
	margin: 1ch 0 1.5ch; padding-bottom: 1.5ch;
	background: linear-gradient(rgba(0,0,0,0.67),rgba(0,0,0,0.67)) no-repeat bottom left / 50% 0.5ch;}
main p {font-size: 1.1em;}
main p.note {border: 2px solid hsl(0,70%,60%); background: hsl(0,10%,90%); mix-blend-mode: luminosity;
	padding: 1em 0.5em; border-radius: 1ch;}
ol {list-style: decimal; margin: 0; padding-left: 2.5ch;}

@supports (counter-reset: example) {
	ol {counter-reset: figs; list-style: none;}
	ol li:not(.xmp)::before {content: counter(figs) ". ";
		display: inline-block; width: 6ch; text-align: right; margin: 0 0.67ch 0 -6.67ch;}
	ol li:not(.xmp) {counter-increment: figs;}

	@supports (--chno: 0) {
		ol {margin-left: 2ch;}
		ol li:not(.xmp)::before {content: var(--chno) "-" counter(figs) ". ";}
	}
}

ol li {margin-bottom: 0.33ch; padding-left: 0.5ch;}
li.fig + li.xmp, li.xmp + li.fig {margin-top: 1.5ch;}
li.xmp {font-style: italic;
	padding-left: 1.25em; background: url(../styles/play-icon-round.svg) 0.25em 50% / 0.8em no-repeat;}

ol li a[href]::after {color: black; font-style: italic;}
ol li a[href$="ppt"]::after {content: " (MS Powerpoint document)";}
ol li a[href$="doc"]::after, ol li a[href$="docx"]::after {content: " (MS Word document)";}
ol li a[href$="png"]::after {content: " (PNG)";}
ol li a[href$="jpg"]::after {content: " (JPG)";}
ol li a[href$="gif"]::after {content: " (GIF)";}
ol li a[href$="svg"]::after {content: " (SVG)";}

nav {grid-row: 1;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid rgba(0,0,0,0.25);
	padding: 0;}
nav > * {
	border: 1px;
	padding: 1ch 0;
	opacity: 0.67;}
nav > a:hover {opacity: 1;}
nav > *:nth-child(1) {text-align: left; flex: 0 1 50%;}
nav > *:nth-child(2) {text-align: center; flex: none; padding: 1ch 2ch; margin: 0 1ch;}
nav > *:nth-child(3) {text-align: right; flex: 0 1 50%;}

footer {font-size: smaller; font-style: italic;
	border-top: 1px solid; padding: 0.5ch 0 5ch;
	grid-row: 5;
	display: flex;
	justify-content: space-between;}
footer > * {opacity: 0.5;}
footer > *:nth-child(2) {text-align: right;}

@media (max-width: 60ch) {
	nav > *:nth-child(2) {border: 1px solid rgba(0,0,0,0.5); border-width: 0 1px;}
	footer {display: grid;}
	footer > *:nth-child(2) {text-align: left;}
}
@media (max-width: 90ch) {
	nav, footer {grid-column: 1 / 3;}
	nav > a[href] {flex: 0 1 auto; padding: 1ch;}
	footer > * {padding: 0 1ch;}
}

@supports (writing-mode: sideways-lr) or (writing-mode: vertical-rl) {
	@media (min-width: 60ch) {

		nav {margin-bottom: 3em;}

		header {grid-column: 1 / 2; grid-row: 2 / 3;
			display: grid;
			grid-template-columns: repeat(2,min-content);
			justify-content: flex-end;
			padding-top: 1.25rem; margin-top: 0;}
		header > * {writing-mode: vertical-rl; transform: rotate(180deg);
			writing-mode: sideways-lr; grid-row: 1; align-self: flex-start;}
		header h1 {grid-column: 2; margin-right: 1.75rem;
			max-height: 75vh; text-align: right; word-spacing: 0.13ch;
			border-bottom: 0;}
		header h2 {grid-column: 1; margin: 0 -0.5ch 0 0;}
		@supports (writing-mode: sideways-lr) {
			header > * {writing-mode: sideways-lr; transform: none;}
		}

		main h3 {margin-top: 0.75rem;}

	}
}
