@font-face {
  font-family: "NotoSans";
  src: url("/NotoSans-Regular.ttf") format("truetype");
  font-weight: normal;
}

* {
  box-sizing: border-box;
}

body {
  font-family: sans-serif, "SF Pro", "NotoSans";
}

code {
  font-family: monospace, "SF Mono";
  font-size: small;
}

li code {
  background-color: beige;
  margin: 0 0.25em 0 0.25em;
}

main.list {
  display: flex;
  justify-content: center;
}

main.single {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto 1fr;
  min-height: 100vh;
  grid-template-areas:
    "header header"
    "toc article"
    "related article";
}

main.single header {
  grid-area: header;
}

main.single aside.toc {
  grid-area: toc;
  padding: 1em;
}

main.single aside.related {
  grid-area: related;
  padding: 1em;
}

main.single article {
  grid-area: article;
}

div {
  border: solid black 1px;
  margin: 0.5em;
  min-width: 15%;
  border-radius: 5px;
  padding: 0 0.25em 0.25em 0.25em;
}

div.highlight {
  padding: 0 1.5em 0 1.5em;
  margin: 0 2em 0 2em;
  border-style: none none none solid;
  border-width: 0 0 0 0.12rem;
  border-radius: 0;
  overflow-y: auto;
}

h1 {
  border-bottom: solid black 1px;
  padding: 0 0 0.25em 0.5em;
}

h2,
h3,
h4 {
  padding: 0.5em;
}

h2 {
  color: maroon;
}

h3 {
  color: darkgreen;
}

p {
  padding-left: 0.5rem;
}

ol {
  padding: 0.25em;
}

ol li {
  list-style: none;
  padding: 0.25em;
}

ul li {
  line-height: 1.5em;
  list-style: inherit;
}

a {
  text-decoration: underline;
  color: inherit;
}

td,
th {
  border: 1px solid grey;
}

@media only screen and (max-width: 768px) {
  main.list {
    flex-direction: column;
  }

  main.single {
    display: flex;
    flex-direction: column;
  }
  ul li {
    line-height: normal;
  }
}
