html{margin:0;padding:0;font-family:"Open Sans",arial,sans-serif;background:#bee;}
body{max-width:50rem;margin:1em auto;padding:1em; background: #fff;}

body {
		font-family: 'Noto Sans', 'Open Sans', Helvetica, Arial, sans-serif;
		margin: 0 auto;
		padding: 1em 1em 0.5em 1em;
		max-width: 50em;
		background: #fff;
		color: #222;
		line-height: 1.5;
}

header { 
		background: whitesmoke; 
		border: 1px silver solid; 
		padding: 1em; 
		border-radius: 5px;
}
header blockquote { margin: 0 5%; }
header h1 { font-size: 1.7em; margin: 0; }
header h2 { margin-top: 0; font-size: 1.0em; }
header h2 a { font-style: italic; }
header p { margin: 0; overflow-wrap: break-word; hyphens: auto; }
header p#dl { float: right; font-size: smaller; padding-top: 0.5em; }
header p#dl a:not(:first-of-type)::before { content: "| "; color: #222; }
header p#kw { font-size: smaller; padding-top: 0.5em; }

h1, h2, h2 a, h3, header a, p a, li a, footer a { color: #FD3D3D; }
blockquote, li, p { text-align: justify; }
blockquote{color:#444;font-style:oblique;margin:0.5em 0;padding-left:0.75em;border-left:2.5pt solid #eec}
blockquote > blockquote {border-color:#bdb}
blockquote > blockquote > blockquote {border-color:#aca}
blockquote > blockquote > blockquote > blockquote {border-color:#9b9}
a { text-decoration: none; word-wrap: break-word; }
hr { border-width: 0px; border-top: 1px solid #FD3D3D; }
a.an {
		display: none;
		width: .75em;
		margin-left: -.75em;
		color: silver;
		font-family: 'Noto Serif', 'Open Serif', times, serif;
}
a.an:hover { color: gray; }
h1:hover a.an, h2:hover a.an, h3:hover a.an { display: inline-block; }

table { width: 100%; margin: 1em 0; border-collapse: collapse; }
th, td { text-align: left; padding: 4px; border: 1px gray solid; }
thead th { background: silver; }
th { background: whitesmoke; }
th a { color: black; }
th.t { text-align: right; background: gainsboro }
th.t a { font-style: italic }

footer {
		border-top: 1px solid #FD3D3D;
		margin-top: 0.5em;
		padding-top: 0.5em;
		text-align: right;
		font-size: small;
}
footer span#nd {
		float: left;
		cursor: pointer;
		width: 1.5em;
		height: 100%;
		font-weight: bold;
}
footer span#nd::before { content: 'N'; }

/* mobile */
@media (max-width: 54em) {
		body { 
				padding:0;
				width: 100vw;
				max-width: 100vw;
		} 	
		header { border-radius: 0; border-width:0; }
		header h1, header h2 { margin-left: 0; }
		header p#dl { float: none; }
		header p#dl, header #kw { text-align: right; }
		a.an {
				min-width: unset;
				float: right;
				display: inline-block;
				padding-left: 12px;
				padding-bottom: 12px;
		}
		p, h1, h2, h3, h4 { margin: 16px; }
		li { margin-right: 16px; }
		th, td { border-width: 0; padding: 8px; }
		table { font-size: 80%; margin-bottom: 0; overflow-x: auto; display: table; }
		tr td:not(:first-of-type) { border-left: 1px solid whitesmoke; }
		tr td:nth-of-type(3), tr td:nth-of-type(4), tr td:nth-of-type(5) { text-align: center;  }
		tr td:not(:first-of-type) a { width: 100%; font-size: 125%; }
		tr td:first-of-type, thead th:first-of-type, tbody th { padding-left: 16px; }
		tr td:last-of-type, thead th:last-of-type, tbody th { padding-right: 16px; }
		table tr:last-of-type td { padding-bottom: 16px;}
		footer {
				background: #FD3D3D;
				color: white;
				padding: 0.5em;
				margin-top: 0;
				font-size: smaller;
		}
		footer a { color: white; font-weight: bold; }
		footer span#nd { width: 2em; }
}

/* print */
@media print {
	html, body {
		padding: unset;
		margin: unset;
		width: unset;
		height: unset;
		max-width: unset;
		color: black;
		background: white;
		font-family: unset;
	}
	header {
		background: inherit;
		color: inherit;
		border: none;
		border-bottom: 1px solid black;
	}
	h1, h2, h2 a, h3, header a, p a, li a, footer a { color: inherit; }
	table { width: unset; margin: 1em; border-collapse: unset; }
	table, th, td { border: 1px solid black; padding: unset; }
	p#dl, p#kw, a.an, footer { display: none; }
	hr { border-color: black; }
}

/* minimal reset - based on https://github.com/tomhodgins/preset */
*{box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-kerning: auto}
html{-webkit-text-size-adjust:100%}
