html {
	max-width: 800px;
	margin: 0 auto;
	padding: 0;
	min-height: 100vh;
	border-left:  1px #909 dotted;
	border-right: 1px #909 dotted;

	font-family: 'PT Serif', 'Georgia', serif;
	font-size: 1.2em;
}

body {
	margin: 1em;
}


/* HEADER: links and options */

#header {
	text-align: center;
}

#header .link-button {
	display: inline-block;
	margin: 4px 8px;
}

#options-button {
	display: none; /* Show it via JS */
}

#options-button.options-open {
	background-color: #606;
	color: #FFF;
}

#options-panel {
	display: none;
	border: 2px #99C solid;
	margin: 1em auto;
	padding: 1em;
	width: 75%;
	background-color: #DDF;
	font-size: 16px !important; /* To avoid everything going rogue when changing font size */
}

noscript.message {
	display: block;
	font-family: monospace;
	font-size: 0.9em;
	text-align: center;
}

input {
	vertical-align: middle;
}

.link-button {
	margin: 1em auto;
	text-align: center;
}

.link-button a {
	display: inline-block;
	border: 3px #B0B solid;
	padding: 6px;
	border-radius: 3px;
	color: #B0B;
}

.link-button a:hover {
	background-color: #606;
	color: #FFF;
}

.colorel { display: none; }
.colorel.show { display: initial; }

input.colorel {
	width: 2em;
	height: 2em;
	margin-left: 0.5em;
	cursor: pointer;
}

/* Options results */

.sans_serif {
	font-family: 'PT Sans', 'Trebuchet MS', 'Ubuntu', sans-serif;
}

.justified {
	text-align: justify;
}


/* DOWNLOAD */

#download {
	margin: 2em;
	padding: 1em;
	border: 2px solid #606;
	text-align: center;
}


/* TABLE OF CONTENTS */

#contents > ul {
	display: flex;
	padding-left: 0;
	justify-content: space-around;
	flex-wrap: wrap;
}

#contents > ul > li {
	margin: 0.5em;
	list-style: none;
}


/* CONTENT */

h1, h2, h3, h4, h5, h6 {
	text-align: center;
}

h1 {
	font-size: 3em;
}

h2 {
	font-style: italic;
}

.subtitle {
	text-align: center;
	font-size: 0.8em;
}

h3 {
	font-size: 2em;
	font-variant: small-caps;
	margin-top: 3em;
}

h4 {
	font-size: 1.5em;
	margin-bottom: 0;
}

hr {
	border: 1px #909 solid;
}

p.line, p.direction {
	text-indent: 2em;
}

.space-top {
	margin-top: 3em;
}

.tab {
	margin-left: 2em;
}

.name {
	font-variant: small-caps;
	font-weight: bold;
}

.main_direction {
	text-align: center;
	font-style: italic;
}

.direction {
	font-style: italic;
	color: black;
}

.quote {
	display: block;
	margin-left: 3em;
	padding: 2px;
	text-indent: 0;
	border: 1px dashed #606;
}

.center {
	text-align: center;
}

.right {
	display: block;
	text-align: right;
}


/* FOOTNOTES */

.fn-tx {
	display: block;
	border: 2px solid #606;
	background-color: rgba(0, 0, 0, 0.1);
	padding: 0.5em;
	font-size: 0.85em;
	margin-top: 0.5em;
}

.hide {
	display: none;
}