@media (min-width: 1200px) {
  body {
    --nav-width: 400px;
  }
    body h1 {
      margin-left: var(--nav-width);
    }
    body {
    max-width: 100%;
  }
    body div#content {
      display: grid;
      grid-template-columns: var(--nav-width) 1fr;
      grid-template-rows: auto 1fr;
      align-items: start;
    }
      body div#content > ul,
      body div#content > table {
        margin: 1em auto;
      }
      body div#content nav {
        position: sticky;
        margin: 0 auto;
        margin-top: -100px;
        transform: translate(0, -50%);
        top: 50vh;
        padding: 1.5em 1em;
        grid-column-start: 1;
        grid-column-end: 1;
        grid-row-start: 1;
        grid-row-end: 100;
      }
        body div#content nav h2 {
          text-align: center;
          padding: 0;
          margin: 0 auto;
        }
          body div#content nav ul li {
            margin: 0 auto;
          }
        body div#content nav {
        border-top: 1px solid gray;
  }
}
