html {
	background: #fcfcfc;
	--container-margin: 1.69rem;
	--container-padding: 0.777rem;
}
html, body, header, footer, h1, h2, h3, h4, h5, h6, p, dl, ul, ol, table, blockquote, pre {
	margin: 0;
	padding: 0;
}
header {
	margin-bottom: 1.15rem;
}
footer {
	margin-top: 2.22rem;
}
h2, h3, h4, h5, h6 {
	margin-top: 1.15rem;
	margin-bottom: 0.88rem;
	overflow: hidden; /* makes a block formatting context to avoid float-ing <figure>s */
}
p, dl, ul, ol {
	margin-top: 0.69rem;
	margin-bottom: 0.69rem;
}
table, blockquote, pre {
	/* we use rem because ex would vary between <body> and <pre> */
	margin-top: 1rem;
	margin-bottom: 1rem;
}
body {
	background: #ffffff;
	color: #000000;
	font-family: serif;
	max-width: 111ch;
	margin: 0 auto;
	padding: 0 var(--container-padding) var(--container-padding) var(--container-padding);
	margin-bottom: var(--container-margin);
	min-height: calc(99vh - var(--container-margin) - var(--container-padding));
	box-shadow: 0 0 1rem #0001;
	display: flex;
	flex-direction: column;
	line-height: 1.5;
}
h1, h2, h3, h4, h5, h6, nav, footer {
	font-family: sans-serif;
}
a:link {
	color: #3366bb;
	text-decoration: none;
}
a[rel~="external"] {
	background: no-repeat center right / 0.69em url('link-www.svg');
	padding-right: 0.88em;
}
.c-no-link-indicator a, a.c-no-link-indicator {
	background: none;
	padding: 0;
}
a:link:visited {
	color: #6633bb;
}
a:link:hover {
	color: #33bb66;
	text-decoration: underline;
}
a:link:active {
	color: #bb3366;
}
header {
	border-bottom: 1px solid #dddddd;
	padding: 0.25rem 0;
}
h1, h2, h3, h4, h5, h6 {
	text-decoration: none;
	font-weight: inherit;
}
h1 {
	font-size: 1.88rem;
}
h2, h3, h4, h5, h6 {
	border: 1px solid #eeeeee;
	border-top: 0;
	border-right: 0;
	padding-left: 0.777ch;
}
h2 {
	font-size: 1.48rem;
	border-left: 0;
	padding-left: 0
}
h3 {
	font-size: 1.333rem;
}
h4 {
	font-size: 1rem;
}
h5 {
	font-size: 0.777rem;
}
h6 {
	font-size: 0.777rem;
	font-style: italic;
}
code {
	background: #f0f0f0;
	border: 0.12em solid #cccccc;
	padding: 0 0.5ch;
}
pre {
	overflow: auto;
}
pre > code:only-child {
	display: inherit;
	padding: 0.5ex 0.8ch;
	overflow: auto;
}
blockquote {
	border-left: 0.420ex solid #e0e0e0;
	background: #fafafa;
	padding: 1.11ex 1.69ch;
}
table, th, td {
	border: 1px solid #888888aa;
}
table {
	border-width: 2px;
	border: 1px solid #888888;
	table-layout: fixed;
	border-collapse: collapse;
	width: 100%;
}
caption {
	font-weight: bold;
	text-align: center;
	padding: 0.33ex 2ch;
}
th {
	background: #88888822;
}
th, td {
	padding: 0.33em 0.55em;
}
tbody tr:nth-child(even) {
	background: #88888811;
}
article {
	flex-grow: 1;
}
footer {
	display: flex;
	color: #b0b0b0;
	font-size: 0.69rem;
}
footer > :last-child {
	flex-grow: 1;
	padding-left: 2ch;
	text-align: right;
}
ul, ol {
	list-style-position: outside;
	padding-left: 3.33ch;
}
figure {
	float: right;
	clear: right;
	background: #fafafa;
	font-family: sans-serif;
	max-width: 13rem;
	font-size: 0.8rem;
	margin: 0.25rem 1rem;
	border-radius: 0.5ch;
	padding: 0.69ch;
	text-align: center;
	line-height: 1.33;
}
figure > img {
	display: block;
	margin: 0 auto;
	background: #ffffff;
	max-width: 100%;
	max-height: 20rem;
	box-sizing: border-box;
}
figure, figure > img {
	border: 1px solid #dedede;
}
figcaption {
	margin: 0.6ex 0 0 0;
}
nav {
	color: #696969;
	text-transform: lowercase;
}
nav > ul {
	list-style: none;
	display: flex; /* gets rid of whitespace between elements */
	justify-content: center;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}
nav > ul > li::after {
	content: "•";
	margin: 0 0.5ch;
	color: #d0d0d0;
}
nav > ul > li:last-of-type::after {
	content: "";
	margin: 0;
}
details {
	background: #fcfcfc;
	border: 1px solid #00000088;
	padding: 0.5rem;
	border-radius: 0.5rem;
}
summary {
	font-family: sans-serif;
}
.c-top {
	padding: 0.5rem;
	font-size: 0.75rem;
	text-align: center;
}
.c-top a {
	color: inherit;
}
.c-top-name {
	font-size: 1.3rem;
}
.c-caution {
	background: repeating-linear-gradient(-45deg, #f8f8f8 0rem, #f8f8f8 0.5rem, #fcfcfc 0.5rem, #fcfcfc 1rem);
	border: 1px solid #000000;
	padding: 0.69rem 1.07rem;
	margin-bottom: 1rem;
	box-shadow: 0 0 0.33rem #00000033;
}
#c-notes {
	list-style-type: decimal;
}
#c-notes > * {
	margin-bottom: 0.5ex;
}
.c-note {
	font-size: 0.9rem;
}
.c-note-ref {
	position: relative;
}
.c-note-ref > a:link {
	color: #6699bb;
}
.c-note-ref > a:link:hover {
	color: #006699;
}
.c-note-ref > a:target, .c-note-backrefs > a:target {
	background: #eeddff;
	outline: 1px solid #bbaacc;
}
.c-note-backrefs {
	color: #a0a0a0;
}
@keyframes c-note-popref-spawn {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	1% {
		visibility: visible;
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.c-note-popref {
	position: absolute;
	animation: 0.1s linear 0.333s both c-note-popref-spawn;
}
.c-note-popref > * {
	font-size: 0.8rem;
	font-family: sans-serif;
	line-height: 1.33;
	max-width: 30rem;
	max-width: min(30rem, 80vw);
	max-height: 3rem;
	max-height: min(4.33lh, 50vh);
	padding: 0.33lh 1.33ch;
	background: #f0f0f0;
	box-shadow: 0 0 0.333rem #00000055;
	border: 1px solid #00000033;
	outline: 1px solid #ffffff;
	border-radius: 0.5rem;
	overflow-x: auto;
	overscroll-behavior: contain;
}
