/**** GENERAL STUFF ****/
/* Default background and text colors for the whole document */
body {
  width: 50em;
  margin: 1em 5em 1em 5em;
  color: black;
  background-color: white;
}

h1 {
  margin: 0;
  padding: 0;
  text-align: center;
}

h2 {
  margin: 0 0 2em 0;
  padding: 0;
  text-align: center;
}

h3 {
  margin: 2em 0 0 0;
  padding: 0;
  font-size: 100%;
  font-weight: bold;
}

p {
  margin: 0;
  padding: 0;
}

table {
  margin: 0;
  border: none;
  padding: 0;
}

td, th {
  margin: 0;
  border: none;
  text-align: left;
  vertical-align: top;
}

th {
  padding: 0 0 0 2em;
  font-weight: normal;
}

tr.heading th {
  font-weight: bold;
}

td {
  padding: 0 0 0 1em;
}

td.spacer {
  width: 5em;
}

dl {
  margin: 0;
  padding: 0;
}

dt {
  margin: 0.5em 0 0 0;
  padding: 0;
  font-weight: bold;
}

dd {
  margin: 0;
  padding: 0 0 0 2em;
  font-weight: normal;
}

img {
  border: none;
}

img.emailaddress {
  vertical-align: text-bottom;
}

hr {
  margin: 2em 0 0 0;
}

address {
  white-space: pre;
}

/* Used for the navigation bars on all pages */
ul.navbar {
  margin: 1em 0 1em 0;
  padding: 0;
  text-align: center;
}

ul.navbar li {
  display: inline;
  list-style: none;
  margin: 0;
  border-left: 1px solid black;
  padding: 0 0 0 0.4em;
  font-size: smaller;
  font-weight: bold;
}

ul.navbar li:first-child {
  border-left: none;
}

ul.navbar li a, ul.navbar li a:visited {
  font-weight: normal;
  color: blue;
}

/* Stuff specific to certain pages */
div.contactinfo {
  margin: 2em 0 2em 0;
  padding: 0;
}

div.contactinfo div.classinfo {
  width: 33%;
  float: right;
  padding: 0 0 0 2em;
  text-indent: -2em;
}

div.contactinfo ul {
  margin: 0;
  padding: 0;
}

div.contactinfo ul li {
  list-style-type: none;
}

span.bookref span.title {
  text-decoration: underline;
}

span.bookref:after {
  content: "\A";
  white-space: pre;
}

span.important {
  font-weight: bold;
  color: red;
}
