@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;700&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap");
html {
  color: #333;
  background-color: #fff;
  font-family: Merriweather, serif;
  font-size: 17px;
  line-height: 1.8; }

.katex-display {
  margin: 2em 0; }

.katex-display .katex {
  line-height: 2.7 !important; }

a,
a:visited,
a:hover,
a:active {
  color: #4c94b7;
  text-decoration: none; }

a:hover {
  text-decoration: underline; }

nav.header {
  border-bottom: 1px solid #aaa; }
  nav.header ul.solution-nav {
    max-width: 960px;
    margin: 0 auto;
    padding: 1ex; }
    nav.header ul.solution-nav li {
      margin: 0;
      padding: 0;
      list-style: none;
      display: inline-block; }
    nav.header ul.solution-nav li.before {
      float: left;
      margin-right: 1em; }
    nav.header ul.solution-nav li.after {
      float: right; }

.container {
  padding: 0 1em;
  margin: 0 auto 2em;
  max-width: 960px; }

.container blockquote {
  margin: 0;
  padding: 0 0 0 1em;
  border-left: 7px solid transparent;
  border-left-color: #e0e0e0; }

pre,
code,
kbd,
samp {
  font-family: 'Fira Code', monospace;
  font-size: 15px;
  line-height: 1.2; }

pre {
  margin: 1em 0;
  line-height: 1.4em; }

article.solution {
  text-align: justify; }
  article.solution p {
    margin: 1.5em 0; }
  article.solution img {
    display: block;
    margin: 1em auto;
    max-width: 960px; }
  article.solution ol {
    padding-left: 30px; }
  article.solution ol li {
    padding-left: 10px; }
  article.solution ol ::marker {
    font-weight: bold;
    text-align: left; }

hr {
  border: 0;
  border-bottom: 1px dashed #c0c0c0;
  margin: 2em 0; }

table {
  border-collapse: collapse; }
  table td,
  table th {
    padding: 5px 7px;
    border: 1px solid #c0c0c0; }
