body { margin: 0; }

p { text-align: justify; }

pre { margin-left: 2.5em; }

h1, h2, h3, h4, h5, h6 { font-weight: normal; }

h3 { margin-left: 1em; }

h4 { margin-left: 2em; font-weight: normal; font-style: italic; }

blockquote { background-color: #f6f6f6; margin: 0 20px; padding: 1px 20px; }
blockquote .attrib { text-align: right; font-style: italic; }
blockquote .attrib:before { content: "\2014\00A0"; }
blockquote .attrib cite { font-style: normal; text-decoration: underline; }

table#contact-info { margin-top: -.5em; }
table#contact-info th { padding: .4em .2em; padding-right: .8em; }
table#contact-info td { font-family: monospace; font-size: 110%; }

table#arc-hacks { margin-top: -.5em; }
table#arc-hacks td { vertical-align: top; padding: .4em .5em; }
table#arc-hacks td:first-child { font-family: monospace; }

.aside { font-family: serif; font-style: italic; }

ul#schools { list-style: none; padding-left: 2em; }
ul#schools .degree { font-weight: bold; }
ul#schools .school { font-style: italic; }

ul#courses, ul#jobs { list-style: none; padding-left: 2em; }
ul#courses .course, ul#courses .employer, ul#jobs .course, ul#jobs .employer { font-weight: bold; }
ul#courses .position, ul#jobs .position { font-style: italic; }
ul#courses li p, ul#jobs li p { margin-top: 0; }
ul#courses li p:first-child, ul#jobs li p:first-child { margin-bottom: .9ex; margin-top: 1.2em; }

#body { max-width: 47em; margin: 0 auto; padding: 0 2em; }

#content { padding-bottom: 1.8em; }
#content>h1:first-child { margin-top: .5em; }
#content>*:first-child { margin-top: 2em; }

#menu { padding-top: 1em; line-height: 1; max-width: 47em; }
#menu ul { margin: 0; text-align: right; white-space: nowrap; }
#menu a { color: inherit; text-decoration: none; border-bottom: 1px dotted; }
#menu a:hover { border-bottom: 1px solid; }
#menu li { display: inline; list-style: none; font-size: 110%; margin: 0 1em; }
#menu li.active a { border-bottom: none; }
#menu li.active a:hover { border-bottom: 1px solid; }

ul#tag-list { list-style: none; padding-left: 1.5em; }
ul#tag-list>li { padding-bottom: 1em; }
ul#tag-list li ul { padding-left: 2em; list-style: none; }

#footer { clear: both; font-size: x-small; text-align: center; }
#footer ul#icons { list-style: none; }
#footer ul#icons li { display: inline; }
#footer ul#icons img { vertical-align: top; border: none; }
