body {
  background-color: lightgray;
  font-family: "FreeSans", sans;
  font-size: 14pt;
  line-height: 1.25;
}

main {
  max-width: 900px;
  margin: 0 auto;
  background-color: white;
  padding: 10px 25px 25px;
}

h1,
h2 {
  font-family: "FreeSans", sans-serif;
}

h1 {
  text-align: center;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
}

table.calendar {
  padding: 0;
  margin-right: 0px;
  margin-left: 0px;
  margin-bottom: 30px;
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  padding-bottom: 40px;
}

.calendar td {
  height: 44px;
  font-size: 0.7em;
  padding: 2px;
  border: 1px solid gray;
  vertical-align: top;
}

.calendar td:nth-child(6),
.calendar th:nth-child(6) {
  font-weight: bold;
  border: 2px solid gray;
}

.calendar th {
  border: 1px solid gray;
}

.calendar td:empty {
  border: none;
  background-color: white;
}

table.toc {
  padding: 0;
  margin-right: 40px;
  margin-left: 20px;
  border-collapse: collapse;
}

.toc td {
  padding: 4px 6px 3px;
}

td.chapter-number {
  text-align: end;
  color: #777;
}

td.chapter-title {
  padding-left: 0px;
  width: 100%;
}

td.page-link {
  text-align: end;
}

.toc tr:nth-child(even) {
  background-color: #e0e0e0;
}

tr.chapter {
  font-family: "Courier New", "FreeMono", monospace;
  font-weight: bold;
  font-size: 1.1em;
  margin-bottom: 3px;
  margin-top: 3px;
}

a {
  /* The default underline in Courier New is weirdly low which makes the list of links hard to look at */
  text-decoration: underline;
  text-underline-offset: 1.5px;
}

.icon {
  height: 30px;
  display: inline-block;
  vertical-align: top;
}

.icon-inline {
  height: 30px;
  display: inline-block;
  vertical-align: middle;
  padding-right: 5px;
}

.monthname::after {
  content: " ";
}

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

#icon-list ul {
  list-style-type: none;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-left: 20px;
}

#icon-list > li {
  font-weight: bold;
}

#icon-list ul {
  font-weight: normal;
}