/* ----------------------------------------------------------------------------- *
 | Ocean Base16 Color Scheme                                                     |
 | https://github.com/chriskempson/base16-default-schemes/blob/master/ocean.yaml |
 |  dark background: #2b303b                                                     |
 |       background: #343d46                                                     |
 | light background: #4f5b66                                                     |
 |        highlight: #65737e                                                     |
 |          comment: #a7adba                                                     |
 |        dark text: #c0c5ce                                                     |
 |             text: #dfe1e8                                                     |
 |         headings: #eff1f5                                                     |
 |              red: #bf616a                                                     |
 |           orange: #d08770                                                     |
 |           yellow: #ebcb8b                                                     |
 |            green: #a3be8c                                                     |
 |       light blue: #96b5b4                                                     |
 |        dark blue: #8fa1b3                                                     |
 |           purple: #b48ead                                                     |
 |            brown: #ab7967                                                     |
 * ----------------------------------------------------------------------------- */

          /* --------------- *
           | Defining colors |
           * --------------- */
:root {
  --background-dark: #2b303b;
  --background: #343d46;
  --background-light: #4f5b66;
  --comment: #a7adba;
  --text-dark: #c0c5ce;
  --text: #dfe1e8;
  --text-light: #eff1f5;
  --red: #bf616a;
  --orange: #d08770;
  --yellow: #ebcb8b;
  --green: #a3be8c;
  --blue-light: #96b5b4;
  --blue-dark: #8fa1b3;
  --purple: #b48ead;
  --brown: #ab7967;
}
          /* ---------------- *
           | Basic formatting |
           * ---------------- */
html {
  line-height: 1.5;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 18px;
  color: var(--text);
  background-color: var(--background);
}
body {
  margin: 0 auto;
  max-width: 36em;
  padding: 50px;
  hyphens: none;
  word-wrap: break-word;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
}
@media (max-width: 600px) {
  body {
    font-size: 0.9em;
    padding: 1em;
  }
}
@media print {
  body {
    background-color: transparent;
    color: var(--text);
    font-size: 12pt;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3,
  h4 {
    page-break-after: avoid;
  }
}
p {
  margin: 1em 0;
}
ul {
  list-style-type: "‒  ";
}
nav ul {
  list-style: none;
  text-align: center;
  padding: 0px;
}
nav ul li {
  display: inline;
  padding: 0px 8px 0px 8px;
}
ul#social-links {
  list-style: none;
  text-align: center;
  padding: 0px;
}
ul#social-links li {
  display: inline;
    padding: 0px 4px 0px 4px;
}
ul li.post-tag {
  font-size: 1.2em;
  list-style: none;
}
ul.tags-list {
  list-style: none;
}
ul.tags-list li {
  display: inline;
  padding: 0px 4px 0px 4px;
}
img {
  max-width: 100%;
}
blockquote {
  margin: 1em 0 1em 1.7em;
  padding-left: 1em;
  border-left: 2px solid var(--comment);
  color: var(--text-dark);
}
hr {
  color: var(--comment);
  border: none;
  height: 1px;
  margin: 1em 0;
}
.small-caps {
  font-variant: small-caps;
}
.underline {
  text-decoration: underline;
}
.column {
  display: inline-block;
  vertical-align: top;
  width: 50%;
}
.hanging-indent {
  margin-left: 1.5em;
  text-indent: -1.5em;
}
.task-list {
  list-style: none;
}

          /* ----------------- *
           | Headings & Header |
           * ----------------- */
header {
  margin-bottom: 4em;
  text-align: center;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--text-dark);
  font-family: "Source Serif 4", Palatino, Georgia, "Bookman Old Style", "Century Schoolbook", Times, "Times New Roman", serif;
  font-weight: 600;
  margin-top: 1.4em;
}
h1 {
  text-align: center;
}
h5,
h6 {
  font-size: 1em;
  font-style: italic;
}
h6 {
  font-weight: normal;
}
          /* ----- *
           | Lists |
           * ----- */
ol,
ul {
  padding-left: 1em;
}
li > ol,
li > ul {
  margin-top: 0;
}
          /* ----- *
           | Links |
           * ----- */
a:link {
  color: var(--blue-light);
}
a:visited {
  color: var(--purple);
}
a:focus,
a:hover,
a:active {
  color: var(--red);
}
header a:link,
header a:link,
header a:visited,
header a:focus,
header a:hover,
header a:active {
  text-decoration: none;
  color: var(--text-light);
}
.back-to-top:link,
.back-to-top:visited,
.back-to-top:focus,
.back-to-top:hover,
.back-to-top:active {
  text-decoration:none;
  color: var(--blue-light);
}
          /* ------------------------- *
           | Code & Pre-formatted Text |
           * ------------------------- */
code {
  white-space: pre-wrap;
}
code, pre {
  border-radius: 3px;
  font-family: "Source Code Pro", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 85%;
  margin: 0;
  padding: 3px;
}
pre {
  margin: 1em 0;
  overflow: auto;
  padding: 3px;
}
pre code {
  overflow: visible;
}
.sourceCode {
  background-color: transparent;
  overflow: visible;
}
pre > code.sourceCode {
  white-space: pre;
  position: relative;
}
pre > code.sourceCode > span {
  display: inline-block;
  line-height: 1.25;
}
pre > code.sourceCode > span:empty {
  height: 1.2em;
}
.sourceCode {
  overflow: visible;
}
code.sourceCode > span {
  color: inherit;
  text-decoration: inherit;
}
div.sourceCode {
  margin: 1em 0;
}
pre.sourceCode {
  margin: 0;
}
@media screen {
  div.sourceCode {
    overflow: auto;
  }
}
@media print {
  pre > code.sourceCode {
    white-space: pre-wrap;
  }
  pre > code.sourceCode > span {
    text-indent: -5em;
    padding-left: 5em;
  }
}
pre.numberSource code {
  counter-reset: source-line 0;
}
pre.numberSource code > span {
  position: relative;
  left: -4em;
  counter-increment: source-line;
}
pre.numberSource code > span > a:first-child::before {
  content: counter(source-line);
  position: relative;
  left: -1em;
  text-align: right;
  vertical-align: baseline;
  border: none;
  display: inline-block;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding: 0 4px;
  width: 4em;
}
          /* ------ *
           | Tables |
           * ------ */
table {
  margin: 1em 0;
  border-collapse: collapse;
  width: 100%;
  overflow-x: auto;
  display: block;
  font-variant-numeric: lining-nums tabular-nums;
}
table caption {
  margin-bottom: 0.75em;
}
tbody {
  margin-top: 0.5em;
  border-top: 1px solid var(--comment);
  border-bottom: 1px solid var(--comment);
}
th {
  border-top: 1px solid var(--comment);
  padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
  padding: 0.125em 0.5em 0.25em 0.5em;
}
          /* ----------------- *
           | Table of Contents |
           * ----------------- */
#TOC li {
  list-style: none;
}
#TOC a:not(:hover),
.directions {
  text-decoration: none;
}

          /* ----- *
           | Fonts |
           * ----- */

          /* source-code-pro */
@font-face {
  font-display: swap;
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/source-code-pro-v30-latin-regular.woff2') format('woff2'),
       url('../fonts/source-code-pro-v30-latin-regular.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Code Pro';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/source-code-pro-v30-latin-italic.woff2') format('woff2'),
       url('../fonts/source-code-pro-v30-latin-italic.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/source-code-pro-v30-latin-700.woff2') format('woff2'),
       url('../fonts/source-code-pro-v30-latin-700.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Code Pro';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/source-code-pro-v30-latin-700italic.woff2') format('woff2'),
       url('../fonts/source-code-pro-v30-latin-700italic.ttf') format('truetype');
}
          /* source-sans-3 */
@font-face {
  font-display: swap;
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/source-sans-3-v18-latin-regular.woff2') format('woff2'),
       url('../fonts/source-sans-3-v18-latin-regular.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/source-sans-3-v18-latin-italic.woff2') format('woff2'),
       url('../fonts/source-sans-3-v18-latin-italic.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/source-sans-3-v18-latin-700.woff2') format('woff2'),
       url('../fonts/source-sans-3-v18-latin-700.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/source-sans-3-v18-latin-700italic.woff2') format('woff2'),
       url('../fonts/source-sans-3-v18-latin-700italic.ttf') format('truetype');
}
          /* source-serif-4 */
@font-face {
  font-display: swap;
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/source-serif-4-v13-latin-regular.woff2') format('woff2'),
       url('../fonts/source-serif-4-v13-latin-regular.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/source-serif-4-v13-latin-italic.woff2') format('woff2'),
       url('../fonts/source-serif-4-v13-latin-italic.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/source-serif-4-v13-latin-600.woff2') format('woff2'),
       url('../fonts/source-serif-4-v13-latin-600.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/source-serif-4-v13-latin-600italic.woff2') format('woff2'),
       url('../fonts/source-serif-4-v13-latin-600italic.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/source-serif-4-v13-latin-700.woff2') format('woff2'),
       url('../fonts/source-serif-4-v13-latin-700.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/source-serif-4-v13-latin-700italic.woff2') format('woff2'),
       url('../fonts/source-serif-4-v13-latin-700italic.ttf') format('truetype');
}