::selection {
  background: black;
  color: white;
}

::-moz-selection {
  background: black;
  color: white;
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

img {
  image-orientation: from-image;
}

html {
  overflow-y: scroll;
  font-size: 16pt;
}

body {
  max-width: 42em;
  margin: 1em auto 2em auto;
  padding: 0 1em;
  font-family: CMU Serif, serif;
  line-height: 1.5;
}

p, table {
  margin: 0.5em 0;
}

header {
  font-size: 4em;
  text-align: center;
  text-transform: lowercase;
  letter-spacing: 0.1em;
}

@media (max-width: 720px) {
  header {
    font-size: 3em;
  }
}

header span {
  letter-spacing: 0;
}

aside, blockquote {
  margin: 1em 1em 1em 4em;
}

aside.references:before, blockquote:before {
  display: block;
  float: left;
  margin-left: -4rem;
  color: #808080;
}

aside.references:before {
  font-size: 3em;
  margin-top: -0.5rem;
  font-family: Symbola, serif;

  /* OPEN BOOK in text presentation */
  content: '\1F4D6\FE0E';
}

blockquote:before {
  font-size: 4em;
  margin-top: -1rem;

  content: '“';
}

h1, h2, h3, h4 {
  margin-top: 0.5em;
}

h1 {
  font-size: 2em;
}

h2 {
  font-size: 1.5em;
}

h3 {
  font-size: 1.25em;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 2em;
}

pre, code {
  font-family: CMU Typewriter Text, monospace, monospace;
  font-size: 0.75em;
  font-style: normal !important;
}

pre {
  background: #f9f9f9;
  padding: 0.5em;
}

pre code {
  font-size: 1em;
}

a, hr {
  color: black;
}

hr {
  font-size: 1.5em;
  margin: 1rem 0;
  border: none;
}

hr:before {
  display: block;
  text-align: center;
  content: "❦ ❦ ❦";
}

i, i *, em, em * {
  font-style: italic;
}

b, b *, strong, strong * {
  font-weight: bold;
}

strong, strong * {
  font-style: italic;
}

ul, ol, dl {
  margin: 0.5em 0 0.5em 2em;
}

ul ul, ul ol, ul dl,
ol ul, ol ol, ol dl,
dl ul, dl ol, dl dl {
  margin: 0 0 0 2em;
  list-style: circle outside none;
}

ul {
  list-style: disc outside none;
}

ol {
  list-style: decimal outside none;
}

sub {
  vertical-align: sub;
  font-size: 0.75em;
}

sup {
  vertical-align: super;
  font-size: 0.75em;
}

nav {
  text-align: center;
  font-family: CMU Typewriter Text, monospace, monospace;
  font-size: 1.25em;
  color: #808080;
}

nav a {
  color: black;
}

.post_summary {
  clear: both;
}

.post_date {
  float: right;
  margin: 0 0 1em 2em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  border: thin solid black;
  border-width: thin 0;
  padding: 0.25em 0;
}

.post_date a {
  text-decoration: none;
}

.post_date .date {
  font-size: 2em;
}

.post_combo {
  margin-top: 0.75em;
}

.post_combo > h2 {
  display: inline;
}

.post_image {
  max-width: 30%;
  margin: 0.5em;
  vertical-align: middle;
}

.post_image_half {
  width: 50%;
  vertical-align: top;
}

.post_image_full {
  width: 100%;
}
