body {
    max-width: 60ex; margin: 2em auto;
    padding: 0 8px; font-size: 20px;
    line-height: 28px; hyphens: auto;
}
h1 { font: 24px Helvetica bold; margin: 28px 0 4px; }
h2 { font: 18px Helvetica bold; margin: 14px 0 8px; }
p { margin: 0 0 1em; }

a { color: #204a87; text-decoration: none; }
a:hover { color: #3465a4; text-decoration: underline; }

.schedule ul { list-style: none inside; color: #444; padding: 0; margin: 14px 0; }
.schedule > ul > li { text-align: center; font-size: 120%; }
.schedule > ul > li + li { margin-top: 2em; }
.schedule > ul > li > em::before { content: "— "; }
.schedule > ul > li > em::after { content: " —"; }
.schedule ul ul li { margin: 14px 0 14px 9ex; position: relative; text-align: left; }
.schedule ul strong {
    display: block; position: absolute; left: -9ex; width: 8ex;
    text-align: right; font-weight: 200;
    font-family: sans-serif;
}
.schedule ul em { color: black; font-style: normal; }

blockquote { color: #444; }

.assignment { color: #ce5c00}
.announce {
    background: #fcd; border-radius: 10px; padding: 37px 10px 1px;
    font: bold 150% sans-serif; text-align: center;
}
.announce table { margin: 1em auto; }
.announce table td { padding: .1em 1em 0 0; }
