* {
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  line-height: 1.5em;
  margin: 0;
  padding: 0;
  background-color: #d8d8d8;
  color: #1b374d;
}

body {
  font-family: Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
  font-weight: 400;
  font-size: 18px;
  position: relative;
}

container {
  display: block;
  width: 900px;
  margin: 6em auto;
  padding: 0 20px;
  box-sizing: border-box;
}

h1 {
  font-size: 3em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

h2 {
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 1em;
}

h3 {
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 1em;
}

h4 {
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 0;

  a, a:visited {
    text-decoration: none;
    color: #368;

    &:hover {
      text-decoration: underline;
    }
  }
}

h5 {
  font-weight: bold;
}

p {
  margin-bottom: 1em;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

ul, ol {
  text-align: left;
  margin-inline: 0;
  padding: 0;
  padding-inline-start: 1em;
  margin-bottom: 1em;
  
  li {
    margin-bottom: 0.15em;
  }
}

table {
  border: 2px solid #aaa;
  border-collapse:collapse;

  th, td {
    border: 2px solid #aaa;
    padding: 0.25em 0.7em;
  }

  margin-bottom: 1em;
}

.bigger {
  font-size: 1.2em;
}

hero {
  h1 {
    font-size: 6em;
    margin-bottom: 0;
  }
}

chapter {
  h1 {
    margin-bottom: 0;
    text-decoration: underline;
  }
}

centered {
  text-align: center;
}

cols {
  display: grid;

  &.one {
    grid-template-columns: 1fr;
  }

  &.one-one {
    grid-template-columns: 1fr 1fr;
    column-gap: 1em;
  }

  &.two-one {
    grid-template-columns: 2fr 1fr;
    column-gap: 1em;
  }

  &.two-three {
    grid-template-columns: 2fr 3fr;
    column-gap: 1em;
  }

  &.three-two {
    grid-template-columns: 3fr 2fr;
    column-gap: 1em;
  }
}

img.qr {
  width: 100%;
}

img.qr-med {
  width: 200px;
}

img.fit {
  width: 100%;
  border: 1px solid gray;
  border-radius: 6px;
}

img.logo {
  height: 4em;
  filter: grayscale(70%);
  display: inline-block;
}

img.noteflakes {
  height: 2em;
}

cur {
  position: fixed;
  bottom: 0.5em;
  left: 0.5em;

  font-size: 2em;
  color: #bbb;
}

nav {
  position: fixed;
  bottom: 0.5em;
  right: 0.5em;

  display: grid;
  grid-template-columns: auto auto auto;
  column-gap: 0.5em;

  font-size: 2em;
  /* font-weight: bold; */
  /* opacity: 0.5; */

  a,
  a:visited {
    color: #bbb;
    text-decoration: none;

    &:hover {
      color: rgb(12, 69, 107);
    }
  }
}

ul {
  margin-bottom: 1em;
}

blockquote {
  border-left: 2px solid #888;
  padding-left: 1em;
}


div.highlight {
  margin-bottom: 1em;
  padding: 1em;
  background: #f0f0f0;
  border-radius: 4px;

  * {
    background: #f0f0f0;
  }
}

pre,
code {
  font-family: monospace;
}

code {
  font-size: 0.9em;
}

div:not(.highlight)>pre {
  margin-bottom: 1em;
  padding: 1em;
  background: #f0f0f0;
  border-radius: 4px;

  * {
    background: #f0f0f0;
  }
}

pre {
  padding: 0;
  overflow-x: scroll;
  scrollbar-width: none;
  text-align: left;

  /* border-left: 3px solid #a8b8c8;
  padding-left: 12px; */
}

pre * {
  line-height: 1em;
}

pre+p {
  margin-top: 1em;
}

pre code {
  /* margin: 10px; */
  word-wrap: no;
}

.highlight .hll {
  background-color: #ffffcc;
}

.highlight .c {
  color: #408080;
  font-style: italic;
}

/* Comment */
.highlight .err {
  /* border: 1px solid #ff0000; */
}

/* Error */
.highlight .k {
  color: #008000;
  font-weight: bold;
}

/* Keyword */
.highlight .o {
  color: #666666;
}

/* Operator */
.highlight .ch {
  color: #408080;
  font-style: italic;
}

/* Comment.Hashbang */
.highlight .cm {
  color: #408080;
  font-style: italic;
}

/* Comment.Multiline */
.highlight .cp {
  color: #bc7a00;
}

/* Comment.Preproc */
.highlight .cpf {
  color: #408080;
  font-style: italic;
}

/* Comment.PreprocFile */
.highlight .c1 {
  color: #408080;
  font-style: italic;
}

/* Comment.Single */
.highlight .cs {
  color: #408080;
  font-style: italic;
}

/* Comment.Special */
.highlight .gd {
  color: #a00000;
}

/* Generic.Deleted */
.highlight .ge {
  font-style: italic;
}

/* Generic.Emph */
.highlight .gr {
  color: #ff0000;
}

/* Generic.Error */
.highlight .gh {
  color: #000080;
  font-weight: bold;
}

/* Generic.Heading */
.highlight .gi {
  color: #00a000;
}

/* Generic.Inserted */
.highlight .go {
  color: #888888;
}

/* Generic.Output */
.highlight .gp {
  color: #000080;
  font-weight: bold;
}

/* Generic.Prompt */
.highlight .gs {
  font-weight: bold;
}

/* Generic.Strong */
.highlight .gu {
  color: #800080;
  font-weight: bold;
}

/* Generic.Subheading */
.highlight .gt {
  color: #0044dd;
}

/* Generic.Traceback */
.highlight .kc {
  color: #008000;
  font-weight: bold;
}

/* Keyword.Constant */
.highlight .kd {
  color: #008000;
  font-weight: bold;
}

/* Keyword.Declaration */
.highlight .kn {
  color: #008000;
  font-weight: bold;
}

/* Keyword.Namespace */
.highlight .kp {
  color: #008000;
}

/* Keyword.Pseudo */
.highlight .kr {
  color: #008000;
  font-weight: bold;
}

/* Keyword.Reserved */
.highlight .kt {
  color: #b00040;
}

/* Keyword.Type */
.highlight .m {
  color: #666666;
}

/* Literal.Number */
.highlight .s {
  color: #ba2121;
}

/* Literal.String */
.highlight .na {
  color: #7d9029;
}

/* Name.Attribute */
.highlight .nb {
  color: #008000;
}

/* Name.Builtin */
.highlight .nc {
  color: #0000ff;
  font-weight: bold;
}

/* Name.Class */
.highlight .no {
  color: #880000;
}

/* Name.Constant */
.highlight .nd {
  color: #aa22ff;
}

/* Name.Decorator */
.highlight .ni {
  color: #999999;
  font-weight: bold;
}

/* Name.Entity */
.highlight .ne {
  color: #d2413a;
  font-weight: bold;
}

/* Name.Exception */
.highlight .nf {
  color: #0000ff;
}

/* Name.Function */
.highlight .nl {
  color: #a0a000;
}

/* Name.Label */
.highlight .nn {
  color: #0000ff;
  font-weight: bold;
}

/* Name.Namespace */
.highlight .nt {
  color: #008000;
  font-weight: bold;
}

/* Name.Tag */
.highlight .nv {
  color: #19177c;
}

/* Name.Variable */
.highlight .ow {
  color: #aa22ff;
  font-weight: bold;
}

/* Operator.Word */
.highlight .w {
  color: #bbbbbb;
}

/* Text.Whitespace */
.highlight .mb {
  color: #666666;
}

/* Literal.Number.Bin */
.highlight .mf {
  color: #666666;
}

/* Literal.Number.Float */
.highlight .mh {
  color: #666666;
}

/* Literal.Number.Hex */
.highlight .mi {
  color: #666666;
}

/* Literal.Number.Integer */
.highlight .mo {
  color: #666666;
}

/* Literal.Number.Oct */
.highlight .sa {
  color: #ba2121;
}

/* Literal.String.Affix */
.highlight .sb {
  color: #ba2121;
}

/* Literal.String.Backtick */
.highlight .sc {
  color: #ba2121;
}

/* Literal.String.Char */
.highlight .dl {
  color: #ba2121;
}

/* Literal.String.Delimiter */
.highlight .sd {
  color: #ba2121;
  font-style: italic;
}

/* Literal.String.Doc */
.highlight .s2 {
  color: #ba2121;
}

/* Literal.String.Double */
.highlight .se {
  color: #bb6622;
  font-weight: bold;
}

/* Literal.String.Escape */
.highlight .sh {
  color: #ba2121;
}

/* Literal.String.Heredoc */
.highlight .si {
  color: #bb6688;
  font-weight: bold;
}

/* Literal.String.Interpol */
.highlight .sx {
  color: #008000;
}

/* Literal.String.Other */
.highlight .sr {
  color: #bb6688;
}

/* Literal.String.Regex */
.highlight .s1 {
  color: #ba2121;
}

/* Literal.String.Single */
.highlight .ss {
  color: #19177c;
}

/* Literal.String.Symbol */
.highlight .bp {
  color: #008000;
}

/* Name.Builtin.Pseudo */
.highlight .fm {
  color: #0000ff;
}

/* Name.Function.Magic */
.highlight .vc {
  color: #19177c;
}

/* Name.Variable.Class */
.highlight .vg {
  color: #19177c;
}

/* Name.Variable.Global */
.highlight .vi {
  color: #19177c;
}

/* Name.Variable.Instance */
.highlight .vm {
  color: #19177c;
}

/* Name.Variable.Magic */
.highlight .il {
  color: #666666;
}

/* Literal.Number.Integer.Long */

debug-label {
  a {
    background-color: inherit;
  }
}

hr {
  display: block;
  margin: 3em 0;
  border-width: 0;
  text-align: center;
}