body {
	margin: 0 20px;
	padding-top: 20px;
}

header {
	position: relative;
}

nav {
	margin: 1em 0;
}

.offscreen { /* w3c.org uses this! */
	position: absolute;
	left: -1000em;
}

.warning {
	font-weight: bold;
	font-style: italic;
}

.toplink {
	position: absolute;
	right: 0;
	top: 0;
	margin: 0;
	padding: 0;
	font-size: 1.5em;
}

.toplink * {
	font-size: small;
}

h1 {
	margin: 0;
}

h2 {
	border-bottom: 1px solid #000;
}

nav h4 {
	margin: 1em 0 .5em 0;
}

nav ul {
	margin: .5em 0 1em 0;
}

.links ul {
	margin: .5em 0;
}

p.note::before {
	content: "Note. ";
	font-weight: bold;
}

figure {
	display: block;
	margin: 1em 0;
}

figcaption {
	display: block;
	font-style: italic;
}

dfn {
	font-style: italic;
}

pre {
	color: black;
	background-color: #EEE;
	white-space: pre-wrap;
	word-wrap: break-word;
	padding: 1em;
	border-radius: 5px;
}

dt {
	margin-top: 1em;
}

dd {
	margin-left: 0;
}

.init_list {
	counter-reset: list;
}

.list_item::before {
	counter-increment: list;
	content: counter(list) ". ";
}

h4.question::before {
	content: "Q. ";
}

p.answer::before {
	content: "A. ";
	font-weight: bold;
}

table {
	margin: 1em;
	border-collapse: collapse;
}

thead, tbody {
	border-bottom: 1px solid black;
}

th, td {
	text-align: left;
	vertical-align: top;
	padding: .8ex 1.6ex;
}

footer {
	border-top: 1px solid #000;
	font-size: small;
	margin-top: 2em;
}

#footer_left {
	float: left;
	padding: 1em 0;
	margin: 0;
}

#footer_right {
	float: right;
	padding: 1em 0;
	margin: 0;
}

#footer_middle {
	text-align: center;
	padding: 1em 0;
	margin: 0;
}

