  body {
    margin: 0 auto;
    max-width: 65em;
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 50px;
    padding-bottom: 50px;
    text-rendering: optimizeLegibility;
    font-kerning: normal;
  }

  @media (max-width: 600px) {
    body {
      font-size: 0.9em;
      padding: 1em;
    }

    h1 {
      font-size: 1.8em;
    }
  }

  @media print {
    body {
      background-color: transparent;
      color: black;
      font-size: 12pt;
    }

    p,
    h2,
    h3 {
      orphans: 3;
      widows: 3;
    }

    h2,
    h3,
    h4 {
      page-break-after: avoid;
    }
  }

  p {
    margin: 1em 0;
  }

  a {
    color: #1a1a1a;
  }

  a:visited {
    color: #1a1a1a;
  }


  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-top: 1.4em;
  }

  h5,
  h6 {
    font-size: 1em;
    font-style: italic;
  }

  h6 {
    font-weight: normal;
  }

  ol,
  ul {
    padding-left: 1.7em;
    margin-top: 1em;
  }

  li>ol,
  li>ul {
    margin-top: 0;
  }

  blockquote {
    margin: 1em 0 1em 1.7em;
    padding-left: 1em;
    border-left: 2px solid #e6e6e6;
    color: #606060;
  }

  hr {
    background-color: #1a1a1a;
    border: none;
    height: 1px;
    margin: 1em 0;
  }

  table {
    margin: 1em 0;
    border-collapse: collapse;
    width: 100%;
    overflow-x: auto;
    display: block;
    font-variant-numeric: lining-nums tabular-nums;

    caption {
      margin-bottom: 0.75em;
    }

    tbody {
      margin-top: 0.5em;
      border-top: 1px solid #1a1a1a;
      border-bottom: 1px solid #1a1a1a;
    }

    th {
      border-top: 1px solid #1a1a1a;
      padding: 0.25em 0.5em 0.25em 0.5em;
    }

    td {
      padding: 0.125em 0.5em 0.25em 0.5em;
      border: #383838 0.1em solid;
    }

    tr.even td {
      background-color: #e1e1e1;
    }
  }

  header {
    margin-bottom: 4em;
    text-align: center;
  }

  code {
    margin: 0;
    padding: 2px 4px;
    background-color: #383838;
    border-radius: 4px;
    font-family: 'Fira Code', 'Lucida Console', Menlo, Monaco, Consolas, monospace;
    font-size: 85%;
    color: #e0c914;
    white-space: pre-wrap;
  }

  pre {
    margin: 1em 0;
    overflow: auto;
  }

  pre code {
    padding: 0;
    overflow: visible;
    overflow-wrap: normal;
  }

  .sourceCode {
    background-color: transparent;
    overflow: visible;
  }

  pre code.hljs {
    display: block;
    overflow-x: auto;
    padding: 1em;
  }

  code.hljs {
    padding: 3px 5px;
  }

  .hljs {
    background: #1e1e1e;
    color: #dcdcdc;
  }

  .hljs-built_in,
  .hljs-keyword,
  .hljs-literal,
  .hljs-name,
  .hljs-symbol {
    color: #569cd6;
  }

  .hljs-link {
    color: #569cd6;
    text-decoration: underline;
  }

  .hljs-type {
    color: #4ec9b0;
  }

  .hljs-class,
  .hljs-number {
    color: #b8d7a3;
  }

  .hljs-meta .hljs-string,
  .hljs-string {
    color: #d69d85;
  }

  .hljs-regexp,
  .hljs-template-tag {
    color: #9a5334;
  }

  .hljs-formula,
  .hljs-function,
  .hljs-params,
  .hljs-subst,
  .hljs-title {
    color: #dcdcdc;
  }

  .csharp .hljs-title {
    color: #4ec9b0;
  }

  .hljs-comment {
    color: #57a64a;
  }

  .hljs-quote {
    color: #57a64a;
    font-style: italic;
  }

  .hljs-doctag {
    color: #608b4e;
  }

  .hljs-meta,
  .hljs-meta .hljs-keyword,
  .hljs-tag {
    color: #9b9b9b;
  }

  .hljs-template-variable,
  .hljs-variable {
    color: #bd63c5;
  }

  .hljs-attr,
  .hljs-attribute {
    color: #9cdcfe;
  }

  .hljs-section {
    color: gold;
  }

  .hljs-emphasis {
    font-style: italic;
  }

  .hljs-strong {
    font-weight: 700;
  }

  .hljs-bullet,
  .hljs-selector-attr,
  .hljs-selector-class,
  .hljs-selector-id,
  .hljs-selector-pseudo,
  .hljs-selector-tag {
    color: #d7ba7d;
  }

  .hljs-addition {
    background-color: #144212;
    display: inline-block;
    width: 100%;
  }

  .hljs-deletion {
    background-color: #600;
    display: inline-block;
    width: 100%;
  }