body {
  background-color: #fff;
  color: #000;
  margin: 1em 1em 1em 0em;
  font-family: "Helvetica", "Arial", "SimHei", sans-serif;
}
a:link { color: #00e; }
a:visited { color: #529; }
a:active { color: #f00; }

div#main, header, footer {
  margin-left: 2em;
}
footer {
  margin-top: 5em;
  border-top: 1px solid black;
  font-size: 75%
  clear: both;
}
footer p {
  padding: 0;
  margin: 0;
}
div#main>section>h1 {
  text-align: center;
  font-size: 200%;
  border-top: 1px solid black;
  margin-top: 1.5em;
}
div#main>section>section>h1 {
  font-size: 150%;
}
h1 {
  clear: right;
}
div#toc li li {
  display: inline;
  font-size: 80%;
  margin-right: 0.5em;
}
div#toc li li:after {
  content: ", ";
}
div#toc li li:last-child:after {
  content: "";
}
dfn {
  font-style: normal;
  text-decoration: underline;
}
aside, span.aside, .timing {
  text-align: right;
  font-style: italic;
  font-size: 85%;
  width: 16em;
  border: dashed 1px #bbb;
  float: right;
  clear: right;
  padding: 0.2em;
  margin: 0.25em 0.5em;
}
aside.plain {
  border: none;
  padding: 1em;
}
.timing {
  border: red solid 1px;
}
pre+aside {
  margin-top: -0.8em;
}
li.demo {
  font-style: italic;
}
blockquote {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
strong {
  font-weight: normal;
  text-decoration: underline;
}
var {
  font-style: italic;
  text-decoration: underline;
}

table th {
  border: solid black 1px;
}
table th[scope=row] {
  border: dotted black 1px;
}
table th, table td {
  padding: 0.1em 0.5em;
}
table.truth {
  border: 1px solid black;
  border-collapse: collapse;
}
table.truth th, table.truth td, table.centredata th, table.centredata td {
  padding-left: 1em;
  padding-right: 1em;
  text-align: center;
}
table.truth col {
  border: solid black 1px;
}
table.pascal td {
  padding: 0;
  margin: 0;
  width: 1.5em;
  text-align: center;
}
table.truth col.inner {
  border-right: none;
  border-left: none;
}
del {
  text-decoration: line-through;
}
figure {
  display: block;
}
figure table {
  margin-left: auto;
  margin-right: auto;
}
figure cite {
  font-size: smaller;
}
figure.rightside {
  float: right;
  clear: right;
}
table.infer {
  border: collapse;
}
table.infer td {
  padding-left: 0;
}
table.infer td.conc {
  border-top: 1px black solid;
  padding-left: 0;
}
table.centerdata td {
  text-align: center;
}
span.reason {
  padding-left: 1em;
}
em.head {
  font-style: normal;
  font-weight: bold;
}
span.qed {
  font-size: larger;
  padding-left: 1em;
}
ol.infer li {
  list-style-type: decimal;
}
pre.pseudo, blockquote.pseudo {
  font-family: "Helvetica", "Arial", "SimHei", sans-serif;
  /*font-size: smaller;*/
  line-height: 1.1;
  letter-spacing: 0.05em;
}
code.pseudo {
  font-family: "Helvetica", "Arial", "SimHei", sans-serif;
  font-weight: bold;
}
table.arith {
  border-collapse: collapse;
}
table.arith tr.carry {
  font-size: smaller;
}
table.arith tr.result {
  border-top: 1px solid black;
}
table.arith td {
  padding: 0;
  padding-left: 0.25em;
  padding-right: 0.25em;
}
li.newthought {
  margin-top: 3em;
}

section>ul>li, section>ol>li {
  margin-top: 1em;
}
ol ol li {
  list-style-type: lower-alpha;
}
#notes-toc>ul>li, #hw>ul>li {
  margin-top: 0;
}

div#ruler {
  float: left;
  margin: 0;
}
div#ruler div {
  width: 1em;
  height: 23em;
}
div#ruler .tick0 { background-color: #fff; }
div#ruler .tick1 { background-color: #ddd; }
div#ruler .tick2 { background-color: #bbb; }

@page {
  margin: 0.5in;
}
@media print {
  body {
    margin: 0;
  }
  section>ul>li {
    margin-top: 0.5em;
  }
  /*div#main>section {
    page-break-before: always;
  }*/
  header+div#main, header+div#main>section:first-child, h1+ul, h1+ul>li {
    page-break-before: avoid;
  }
  div#toc, div#ruler, footer {
    display: none;
  }
  section>ul>li {
    orphans: 2;
    widows: 2;
  }
  section>ul>li>ul>li {
    page-break-inside: avoid;
  }
  blockquote.code, pre {
    page-break-inside: avoid;
    orphans: 3;
    widows: 3;
  }
  .timing {
    display: none;
  }
}

/*
section>ul>li {
  margin-top: 1em;
}
section>ul>li>ul>li {
  margin-top: 1em;
}
*/


