a {
  color: #06a;
  text-decoration: none;
}

abbr {
  text-decoration: none;
}

blockquote {
  border-left-style: double;
  border-left-width: 0.25em;
  margin: 1.5em 0;
  padding-left: 1.25em;
}

body {
  margin: 3em 1.5em;
}

@media (min-width: 37em) /* body + margins */ {
  body {
    margin-left: auto;
    margin-right: auto;
    width: 34em;
  }
}

dd {
  margin-left: 1.5em;
}

dl {
  margin: 1.5em 0;
}

footer {
  border-top-style: solid;
  border-top-width: 0.25em;
  margin: 3em 0;
  padding-top: 1.25em;
}

footer h2::before,
footer h3::before {
  content: none;
}

h1 {
  font-size: 240%;
  line-height: 1.25;
  margin: 1.25em 0;
}

h2,
h3 {
  font-size: 120%;
  font-style: normal;
  font-weight: bold;
  line-height: 1.25;
  margin: 1.25em 0;
}

h2::before,
h3::before {
  display: block;
}

h2 {
  counter-increment: h2;
  counter-reset: h3;
}

h2::before {
  content: counter(h2);
}

h3 {
  counter-increment: h3;
  counter-reset: h4;
}

h3::before {
  content: counter(h2) "\2e" counter(h3);
}

html {
  background-color: #fff;
  color: #111;
  font-family: serif;
  font-size-adjust: 0.5;
  font-variant-numeric: oldstyle-nums;
  line-height: 1.5;
  text-size-adjust: none;
}

@media (orientation: portrait) and (min-width: 37em) /* body + margins */ {
  html {
    font-size: 2.7vw;
  }
}

@media (orientation: landscape) and (min-width: 68em) /* double body */ {
  html {
    font-size: 1.47vw;
  }
}

ol {
  counter-reset: olli;
  list-style-type: none;
  margin: 1.5em 0;
  padding-left: 1.5em;
}

ol li::before {
  content: counters(olli, "\2e");
  counter-increment: olli;
  display: block;
  font-weight: bold;
}

ol ol {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  text-indent: 1.5em;
}

q {
  quotes: "\ab" "\bb" "\2039" "\203a";
}

u {
  font-weight: bold;
  text-decoration: none;
}

ul {
  list-style-type: none;
  margin: 1.5em 0;
  padding-left: 0;
}

ul li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
