body { max-width:48em; margin:1em auto; padding:0em 1.5em; }
img.face { height:14.2em; display:float; float:right; margin:1em; margin-right:0em; }
h1:first-child { font-weight:normal; font-size:150%; text-align:center; }
h1 { font-weight:bold; font-size:130%; }
h2 { font-weight:bold; font-size:110%; }
h3 { font-weight:bold; font-size:100%; }
.top { padding-top:1em; padding-bottom:0.5em; background-color:#aaaaff; margin:0em -1em; border-radius: 1em 1em 0em 0em; }
.bottom {
	padding-top:2em; padding-bottom:1em; background-color:#aaaaff; margin:0em -2em; border-radius: 0em 0em 2em 2em;
}
.menu { background-color:#eeeeff; padding:0.5em; margin:0em -1.5em; text-align:center;}
.menu > a, .menu > .visited { padding:0.25ex 0.5ex; margin:0em 0.5em; text-decoration:none; border-radius:0.5ex; background-color:white; }
.menu > .visited { margin-bottom:-1em; padding-bottom:1em; color:#aaa; }
p { 
	margin:0.75em 0em; 
	text-align:justify; 
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	-epub-hyphens: auto;
	hyphens: auto;
}
code {
	-webkit-hyphens: manual;
	-moz-hyphens: manual;
	-ms-hyphens: manual;
	-epub-hyphens: manual;
	hyphens: manual;
}
div + p { margin-top:1em; }
center:last-child { font-size:75%; }
dd + dt { margin-top: 2em; }
dt { font-weight:bold; }
/* li { line-height:1em; }*/
blockquote { border:1px solid grey; padding:1ex; border-radius:1ex; background-color:#eeeeee; margin:1em 4em; }
blockquote q:before { font-size:200%; content:"“"; line-height:50%; vertical-align: -0.1em;}
blockquote q:after { font-size:200%; content:"”"; line-height:50%; vertical-align: -0.1em; }
blockquote div { text-align: right; }


pre { background:#eeeeff; display:table; line-height:120%; }
code { border:thin solid #aaaaff; background:#eeeeff;}
pre code { border:none; }

table { margin:auto; border-collapse:collapse;}
thead tr { border-bottom: thin solid black; }
th { text-align:left; }
th, td { padding: 0ex 1ex; }

.grid td,.grid th { padding:0em 1em; text-align:center; }
.left { background-color:#eeeeff; }
.left td { text-align:left; }


#TOC { display:table; padding-right:1em; float:right; margin-right:-1.5em; background-color:#eeeeff; border-left:thin solid #aaaaff; border-bottom:thin solid #aaaaff; border-bottom-left-radius:1em; margin-left:1em; }

.header-section-number:after { content: "."; }
.toc-section-number:after { content:"."; }
.header-section-number { font-size:70%; }
.toc-section-number { font-size:70%; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color:inherit; text-decoration:inherit; }

.demo {
	image-rendering: pixelated; 
	image-rendering: -moz-crisp-edges; 
	-ms-interpolation-mode: nearest-neighbor; 
	border:thin solid black; 
	background: repeating-linear-gradient(
		137.51deg,
		#eee,
		#ddd 1ex,
		#eee 2ex
	);
}


table.lookup, table:not([class]) { border-collapse:collapse; margin:auto; border: 1px solid #aaaaff; }
.lookup thead th, table:not([class]) thead th { border-bottom: 1px solid black; padding:0ex 1ex; }
.lookup td, table:not([class]) td { padding:0ex 1ex; }
.lookup td + td, .lookup td + th, table:not([class]) td + td, table:not([class]) th + th { text-align:center; }
.lookup tr:nth-child(2n+2), table:not([class]) tr:nth-child(2n+1) { background-color:#ffffff; }
.lookup tr:nth-child(2n+3), table:not([class]) tr:nth-child(2n+2) { background-color:#eeeeff; }

.overline td { border-top: 1px solid black; }

.invisible { margin:-1ex; }
.invisible td { border:none; padding:none; }


table.cal {border-collapse:collapse; margin:auto;}
.cal td{ border:1px solid black; padding:1ex;  min-width:32%; height:3em;}
.cal td { vertical-align: top; }
.cal td:nth-child(2) { background-color:#eeeeff; }
.cal .noclass { border:none; background-color:#ddd; }
.cal .blank { border:none; }
.cal .blank:nth-child(2) { background-color:inherit; }
.cal .noclass:nth-child(2) { background-color:#ddd; }
.cal .special { background-color: #ddf; }
.cal span.special { display:block; margin:-1ex; margin-bottom:0ex; padding:0ex 1ex; font-style:italic; text-align:center;}
span.special + span.special { margin-top:0ex; }
.cal strong { font-family:sans-serif; font-weight:bold; display:table; text-decoration:underline; }
.cal div.date { font-size:80%; font-family:sans-serif; text-align:right; float:right; margin-top:-1ex; }

.snug { border-collapse:collapse; }
.snug td { text-align:center; }
.big { font-size:150%; }
.snug td.small { font-size:67%; padding: 0ex 1ex; }

