body {
  background-color: #f9f1e9;
  margin: 2vw;
}

header {
  margin-bottom: 2vw;
}

#logo {
  display: block;
  width: 400px;
  max-width: 100%;
  & > img {
    width: 100%;
  }
}

main {
  background-color: white;
  border-radius: 8px;
  padding: 24px 28px;
  max-width: 46em; /* a measure that stays readable on a wide screen */
  line-height: 1.5;
  & h1 {
    margin-top: 0;
    font-size: 28px;
  }
  & h2 {
    font-size: 20px;
    margin-top: 1.6em;
  }
  & h3 {
    font-size: 16px;
  }
  & a {
    color: #1155cc;
  }
}

dl.meta {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 12px;
  row-gap: 2px;
  margin: 0 0 24px;
  padding: 12px 14px;
  background-color: #f9f1e9;
  border-radius: 6px;
  font-size: smaller;
  & dt {
    font-weight: bold;
  }
  & dd {
    margin: 0;
  }
}

article {
  & .sectionbody {
    margin-left: 0;
  }
  /* headings are self-links via sectlinks; don't let them look linked */
  & h2>a, & h3>a, & h4>a {
    color: inherit;
    text-decoration: none;
  }
  & .admonitionblock {
    margin: 1em 0;
    & table {
      width: 100%;
    }
    & td.icon {
      width: 4.5em;
      padding: 8px 10px;
      vertical-align: top;
      font-weight: bold;
      text-transform: uppercase;
      font-size: smaller;
      color: #666;
    }
    & td.content {
      padding: 8px 10px;
      border-left: 3px solid #ccc;
    }
  }
  & table.tableblock {
    width: 100%;
    margin: 1em 0;
    & th, & td {
      border: 1px solid #ddd;
      padding: 6px 8px;
      text-align: left;
      vertical-align: top;
    }
    & th {
      background-color: #f9f1e9;
    }
  }
  & .listingblock pre, & .literalblock pre {
    background-color: #f6f6f6;
    padding: 10px 12px;
    border-radius: 4px;
    overflow-x: auto;
  }
  & .quoteblock {
    margin: 1em 0;
    padding-left: 14px;
    border-left: 3px solid #ddd;
    color: #444;
  }
  & .title {
    font-weight: bold;
    font-size: smaller;
  }
  & .anchor {
    opacity: 0;
    text-decoration: none;
  }
  & :hover>.anchor {
    opacity: 0.4;
  }
}
