body {
  margin: 0;
  line-height: 1.5;
  font-size: 14pt;
  color: #222222;
  background: #eeeeee;
  padding: 0;
  font-family: $font-serif;
}

h1,
h2,
h3 {
  margin-top: 0;
  line-height: 1.2;
  font-family: $font-sansserif;
}

a {
  color: #222222;
  text-decoration: underline;

  &:hover {
    color: #8a2888;
    text-decoration: none;
  }
}

img,
svg,
video {
  max-width: 100%;
}

figure {
  display: block;
  text-align: center;
  overflow-x: auto;
  margin: 0 0 1em;

  figcaption {
    display: block;
    font-size: 0.9rem;
    text-align: center;
  }
}

code, kbd {
  margin: 0 2px;
  padding: 0 2px;
  border: 1px solid #4c566a;
  border-radius: 3px;
  word-break: break-all;
  font-family: $font-mono;
  font-size: 0.75rem;
}

kbd {
  color: #222222;
  background: #eeeeee;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
}

pre {
  overflow-x: auto;
  font-family: $font-mono;
  padding: 0.5rem;
}

dl {
  display: grid;
  grid-template-columns: auto auto;

  dt {
    font-weight: 700;
    margin: 0;
    padding: 0 0.5rem 0.25rem;
    border-right: 1px solid #dddddd;
    text-align: right;
  }

  dd {
    margin: 0;
    padding: 0 0.5rem 0.25rem;
  }

  dt, dd {
    p {
      margin: 0;
    }
  }
}

p {
  margin-top: 0;
}

footer {
  color: #444444;
  p {
    margin-right: 0.5rem;
  }
}

table {
  margin: 0 auto;
  border-collapse: collapse;
  border-spacing: 0.5rem;

  th {
    border-bottom: 1px solid #eee;
  }

  th, td {
    vertical-align: top;
  }
}
