body { max-width: 500px; }

h1 { margin-bottom: 0.2em; margin-top: 0.8em; }
h2 { margin-bottom: 0.2em; margin-top: 0.6em; }
h3 { margin-bottom: 0.2em; margin-top: 0.6em; }
h4 { margin-bottom: 0.2em; margin-top: 0.2em; font-weight: normal; font-style: italic; }
div.author { margin-bottom: 0.2em; margin-top: 0.2em; }

div { margin-top: 0.2em; margin-bottom: 0.2em; }
pre { white-space: pre-wrap; }
pre.basic { width: 300px; white-space: pre-wrap; }

p { text-indent: 1em; margin-top: 0.2em; margin-bottom: 0.2em; }
p.example { font-style: italic; }

strong, b { font-weight: bold; }
em, i, cite { font-style: italic; }
cite.sw { font-weight: bold; font-style: normal; }
em cite { font-style: normal; }

sup { line-height: 0em; }
sub { line-height: 0em; }

span.listing { font-weight: bold; }
span.figure { font-weight: bold; }
span.table { font-weight: bold; }
span.line { font-weight: bold; }
span.screen { font-weight: bold; }

span.center { display: block; text-align: center; }
span.inverse { display: inline; color: #ffffff; background: #000000; }

.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

.bold { font-weight: bold; }

.ni { text-indent: 0em; }
.in { text-indent: 1em; }

/* table formatting */
table { border-spacing: 0; border-collapse: collapse; padding: 0; width: 400px; }
caption { caption-side: top; font-weight: bold; }
td { vertical-align: top; }
th { vertical-align: top; }
td.bk { background-color: black; }
td.wh { background-color: white; }
.noborder { border: 0px; }
table.border { border: 1px solid black; }
table.border td { border: 1px solid black; }

/* flowchart elements */
div.flex { display: flex; }
div.flex div { margin-bottom: 0em; margin-top: 0em; }
.scircle { border: 1px solid; border-radius: 50%; display: inline-block; width: 50px; height: 50px; line-height: 50px; text-align: center; }
.srect { border: 1px solid; width: 150px; height: 90px; text-align: center; }
.sdiamond2 { border: 1px solid; width: 150px; height: 90px; transform: scaleY(0.5) rotate(45deg) scaleY(1.666); position: absolute; }
.sdiamond3 { border: 1px solid; width: 120px; height: 90px; transform: scaleY(0.5) rotate(45deg) scaleY(1.333); position: absolute; }

/* graph elements */
div.line { position: absolute; z-index: -1; }
div.line div { position: absolute; left: 0px; top: 0px; border-left-color: transparent; border-style: solid; }
