html, body {
    background-color: white;
    color: black;
    margin: 0 auto;
    width: 800px;
    padding: 0;
    font-family: Futura, "Trebuchet MS", Helvetica, sans-serif;
}
@viewport {
    width: 820px;
}
@-viewport {
    width: 820px;
}
strong {
    font-weight: bold;
}
em {
    font-style: italic;
    color: rgb(127,127,127);
}
a {
    color: black;
}
nav     div.banner,
div.nav div.banner {
    position: relative;
    z-index: 3;
    left: 0;
    top: 0;
    margin: 0;
    width: 100%;
    color: black;
    background: white;
    border-radius: 2em 2em 0.4em 0.4em;
    text-align: center;
}
nav     div.bar    div.flat,
nav     div.banner div.flat,
div.nav div.bar    div.flat,
div.nav div.banner div.flat {
    margin: 0 auto 0.4em auto;
    font-weight: bold;
}
nav     div.bar    div.flat a,
nav     div.banner div.flat a,
div.nav div.bar    div.flat a,
div.nav div.banner div.flat a {
    text-decoration: none;
    border-width: 0.1em;
    border-style: solid;
    margin:  0 -0.5em;
    padding: 0.2em  0.5em;
    border-radius: 0 0.6em 0 0.6em;
    white-space: nowrap;
}

nav     div.bar,
div.nav div.bar {
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}
nav     div.bar:hover,
div.nav div.bar:hover {
    z-index: 4;
}
nav     div.bar    div.flat,
div.nav div.bar    div.flat {
    text-align: center;
    padding: 0.4em;
}
nav     div.banner div.flat,
div.nav div.banner div.flat {
    border-radius: 0.4em;
}
nav     div.bar    div.flat a,
nav     div.banner div.flat a,
div.nav div.bar    div.flat a,
div.nav div.banner div.flat a {
    border: 0;
}
nav     div.bar    div.flat a,
div.nav div.bar    div.flat a {
    color: white;
}
nav     div.banner div.flat a,
div.nav div.banner div.flat a {
    color: black;
}
nav     div.bar    div.flat,
nav     div.banner div.flat a.selected,
nav     div.banner div.flat a:active,
div.nav div.bar    div.flat,
div.nav div.banner div.flat a.selected,
div.nav div.banner div.flat a:active {
    color: white;
    border: 0;
    background: rgb(47,47,47);
    background: linear-gradient(to bottom, rgb(0,0,0) 0%,rgb(95,95,95) 15%,rgb(0,0,0) 100%);
}

table caption,
nav     div.banner div.flat,
nav     div.bar    div.flat a.selected,
nav     div.bar    div.flat a:active,
div.nav div.banner div.flat, 
div.nav div.bar    div.flat a.selected,
div.nav div.bar    div.flat a:active {
    color: black;
    border: 0;
    background: rgb(191,223,223);
    background: linear-gradient(to bottom, rgb(127,191,191) 0%,rgb(191,223,223) 15%,rgb(127,191,191) 100%);
}
nav     div.bar    div.flat,
nav     div.banner div.flat,
div.nav div.bar    div.flat,
div.nav div.banner div.flat {
    color: transparent;
}
h1, h2, h3, h4, h5, h6 {
    padding: 0.5em 0;
    margin: 0.25em;
}
h1, div.title {
    font-size: 3.5em;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: black;
    border-width: 0;
    text-align: center;
    margin: 0;
    padding: 0;
}
div.title {
    font-size: 350%;
}
h1 {
    font-size: 100%;
}
h1 span.title {
    margin: 0 auto;
    padding: 0;
}
p.description, h1, h2, h3, h4, h5, h6, caption,
nav     div.flat,
div.nav div.flat {
    font-family: Didot, "Didot LT STD", "Hoefler Text", Garamond, serif;
    font-variant: small-caps;
    font-weight: bold;
    text-align: center;
}
h5, h6 {
    font-family: Futura, "Trebuchet MS", Helvetica, sans-serif;
}
p.description {
    font-size: 50%;
}
h2 {
    text-align: center;
    padding: 0.5em 1em;
    margin: 1em 0;
    border: 0;
    border-top: 0.25em black solid;
    border-radius: 0.5em 1.0em 0 0;
    background: rgb(239,239,239);
    background: linear-gradient(to bottom, rgb(255,255,255) 0%,rgb(223,223,223) 0.25em,rgb(255,255,255) 100%);
}
a.selflink {
	text-decoration: none;
}
h3 {
    text-align: left;
    padding: 0.5em 1em;
    margin: 1em;
    border: 0;
    border-left: 0.25em black solid;
    border-radius: 1.0em 0 0 0.5em;
    background: rgb(247,247,247);
    background: linear-gradient(to right, rgb(255,255,255) 0%,rgb(239,239,239) 0.25em,rgb(255,255,255) 100%);
}
h3, h4, h5, h6 {
    margin-top: 2em;
}
.center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
p, dl, ol, ul {
      padding: 0.25em 0.5em;
      margin: 0.25em 0.5em;
}

dl, dd, ol, ul {
    background: rgb(247,247,247);
    background: linear-gradient(to right, rgb(255,255,255) 0%,rgb(239,239,239) 0.25em,rgb(255,255,255) 2em);
    border-radius: 1.0em 0 0 0.5em;
    border: 0;
    border-left: 0.125em black solid;
    margin: 1em;
    padding: 0.5em;
}
ol, ul {
    padding-left: 2em;
}

dt {
    font-weight: bold;
}
li {
    margin: 0;
    padding: 0;
}
header time, div.header div.time {
    font-style: italic;
    margin-left: 2em;
}
header dl, div.header dl {
	float: right;
	font-size: 80%;
}

.body {
    text-align: justify;
    overflow: auto;
}

pre {
    margin: 0 auto;
}
pre.code {
    text-align: left;
    font-size: 100%;
    overflow: auto;
}
code, .code {
    background-color: rgb(191,223,191);
    color: rgb(48, 56, 48);
    border-color: rgb(143, 168, 143);
    border-width: 0.0625em 0.25em 0.0625em 0.25em;
    border-style: solid;
}
code, .code, pre, pre.code, textarea {
    font-family: "Monoid", "JetBrains Mono", "Fira Code", "Fira Mono", monospace;
}
var {
    background-color: rgb(223,191,223);
    color: black;
    font-weight: bold;
    font-style: oblique;
    font-variant: small-caps;
    border: 0.0625em solid rgb(191, 127, 191);
}
pre.code, code, var {
    padding-left: 0.25em;
    padding-right: 0.25em;
    border-radius: 0.5em;
}
dfn {
    font-style: normal;
    font-weight: bold;
}

object {
    width: 100%;
    height: 100%;
}
form table, input {
    width: 100%;
}
textarea {
    width: 100%;
    height: 10em;
}
textarea.small {
    height: 2em;
}
textarea.large {
    height: 20em;
}
table {
    border: 0;
    margin: 0 auto;
}
table caption {
    border-radius: 0.4em;
    padding: 0.2em;
}
table td, th {
    padding: 0.25em 0.5em;
}
table td {
    padding: 0.25em 0.5em;
    border: 0;
    background-color: rgb(191,223,223);
}
table th {
    border: 0;
    background: rgb(239,239,239);
    white-space: nowrap;
}
table th[scope=col] {
    text-align: center;
    border-bottom: 0.125em black solid;
    border-radius: 0 0 0.25em 0.5em;
    background: rgb(239,239,239);
    background: linear-gradient(to top, rgb(255,255,255) 0%,rgb(223,223,223) 0.25em,rgb(255,255,255) 100%);
}
table th[scope=row] {
    text-align: right;
    border: 0;
    border-right: 0.125em black solid;
    border-radius: 0 0.25em 0.5em 0;
    background: rgb(239,239,239);
    background: linear-gradient(to left, rgb(255,255,255) 0%,rgb(223,223,223) 0.25em,rgb(255,255,255) 100%);
}
table th a {
    display: block;
    text-decoration: none;
}
.symbol {
    font-weight: normal;
    font-size: 150%;
}
blockquote, q {
	font-size: 80%;
}
q {
    quotes: '\201C' '\201D' '\2018' '\2019'
}
cite q {
    font-size: 100%;
    font-variant: small-caps;
}
caption.rot45 {
    margin-bottom: 4em;
}
th.rot45 div.rot45 {
    position: absolute;
    transform-origin: bottom left;
    padding-left: 1.0ex;
    transform: rotate(-45deg);
}
