/* reset */
*, *::before, *::after { box-sizing: border-box; }
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td,abbr { margin: 0; padding: 0; }
/* /reset */

body {
	font-family: 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif;
	font-size: 1.2em;
}

p {
    margin: 1.5em 0;
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
}

a {
	text-decoration: none;
	color: #339;
}

a:hover,
a:focus {
	text-decoration: underline;
	color: #33f;
	outline: none;
}

a:focus-visible {
	outline: 2px solid #33f;
	outline-offset: 2px;
}

#content h1,
#content h2,
#content h3,
#content h4 {
	line-height: 1em;
	font-weight: normal;
	clear: left;
	margin: .5em 0 0 0;
	padding-bottom: .5em;
}

#content h1 { font-size: 1.25em; letter-spacing: 0.05em; }
#content h1.emphnext { font-size: 1.5em; padding-bottom: 0; }
#content h2 { font-size: 1.1em; }
#content h2::before { color: silver; content: "❯ "; }
#content h3 { font-size: 1em; }
#content h3::before { color: silver; content: "❯❯ "; }

sup { line-height: 1ex; }

#site {
	max-width: 46em;
	margin: 1.5em auto 3em auto;
	margin-right: max(calc(50% - 23em), 18em);
	line-height:1.5em;
}

#page {
	background: white;
	padding: .5em 3em 1.5em 3em;
}

@media (max-width: 900px) {
	#site {
		margin-right: auto;
	}
}

.emphnext + p {
	margin-top: 0.5em;
}

.emphnext + p:first-letter, p.emphfirst:first-letter {
	font-size: 2.5em;
	padding: 0 0.15em 0 0;
	margin: 0 0 -0.5em 0;
	line-height: 1em;
	float: left;
}

.emphnext + p:first-line, p.emphfirst:first-line {
	font-variant: small-caps;
	font-size: larger;
}

.right { float: right; clear: right; }
.left { float: left; clear: left; }
.inset { 
	border: 1em solid silver; 
	padding: 2px;
	margin: 0em 0.8em 0.8em 0.8em;
}
.right.inset { margin-right: 0 !important; }
.left.inset { margin-left: 0 !important; }

blockquote {
	padding: 0 2.8em;
	margin: 1.714em 0;
	color: #444;
	font-size: 0.875em;
	line-height: 1.714em;
}

.note {
	padding: 0.5em 0;
	background-color: #fafaff;
	border-top: 1px solid silver;
	border-bottom: 1px solid silver;
}

table {
	width: 80%;
	margin: 1.5em auto 1.5em auto;
	table-layout: fixed;
	border-spacing: 0;
}
table tr { text-align: center; }
table th { font-weight: normal; background-color: #eeeeee; }
table td { background-color: white; }
table th.title { border-bottom: 1px solid gray; border-top: 1px solid gray; vertical-align: bottom; background-color: lightgrey; }
caption { 
	color: #333;
	font-size: 0.875em;
	margin: 0.875em auto 0 auto;
	line-height: 1.14em;
	text-align: justify;
}

ul, ol {
	margin: 1.5em 0;
	line-height: 1.5em;
	padding-left: 1.5em;
}
ul li {
	list-style-type: square;
	list-style-position: inside;
}
ol li {
	list-style-type: decimal;
	list-style-position: inside;
}
dt { font-weight: bold;}
dd { margin: 0 0 1.5em 0; text-align: justify; }

ul.compact { margin: 0; padding: 0;}
ul.compact li { list-style: none; }

#header a { color: #888; }

#header {
	color: #888;
	position: relative;
	font-variant: small-caps;
	line-height: 1em;
	margin: .5em 0 0 0;
	background: white;
	padding: 0 3em .25em 3em;
}

#header .site-title {
	font-family: Optima, 'Segoe UI', Candara, sans-serif;
	font-size: 1.3em;
	margin: 0;
	line-height: 0.9em;
	font-weight: normal;
	letter-spacing: 0.05em;
	color: #888;
}

.footnotes { color: grey; }
.footnotes:hover { color: black; }
.footnotes ol li {
	list-style-type: decimal;
	list-style-position: inside;
	font-size: 75%;
	line-height: 1.5em;
}
.footnotes ol li > a { display: none; }

pre {
	margin: 1em 0 1.5em 0;
	line-height: 1.5em;	
	color: #111;
	background: white;
	border: 1px solid #ddc;
	padding: 0.5em 1em;
	overflow: hidden;
}

pre:hover {
	border-right: none;
	overflow: visible;
}
code {
	font-size: 1em;
	background-color: #f7f7ff;
	line-height: 1.4em;
}
pre > code {
	background-color: transparent;
}

dl.figure {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	text-align: center;
}

dl.figure dd {
	color: #333;
	font-size: 0.875em;
	margin: 0.875em auto 0 auto;
	line-height: 1.14em;
	text-align: justify;
	width: 85%;
}

#footer {
	padding: .5em 3em 1.5em 3em;
}

#pagination a.back {
    float: left;
}

#pagination {
	text-align: center;
}

#pagination a.forward {
    float: right;
}

#navigation {
    float: right;
    font-size: .75em;
}

#navigation a {
	color: #888;
}

hr {
	border-color: #ccc;
	border-style: solid;
	border-width: 1px 0 0;
	clear: both;
	margin: 0 0 1.25em;
	height: 0;
}