@charset "UTF-8";
:root {
  --body-color: #515151;
  --body-background-color: white;
  --headings-color: #313131;
  --blockquote-color: #7a7a7a;
  --link-color: #0075da;
  --strong-color: #303030;
  --footer-color: #717171;
  --first-name-color: black;
  --last-name-color: #717171;
  --navbar-background-color: #f8f8f8;
  --navbar-font-color: #717171;
  --navbar-hover-color: white;
  --post-title-color: #313131;
  --post-date-color: #757575;
  --post-meta-color: #757575;
  --pre-background-color: #f9f2f4;
  --pre-inline-color: darkgreen;
  --btn-background-color: #fff;
  --btn-border-color: #ccc;
  --btn-font-color: #333;
  --btn-hover-background-color: #e6e6e6;
  --btn-hover-border-color: #adadad;
  --btn-hover-font-color: #333;
  --btn-active-background-color: #d4d4d4;
  --code-block-background-color: white;
  --code-block-color: black;
  --code-block-border-color: #ccc;
  --table-border-color: #e5e5e5;
  --table-stripe-color: #f9f9f9;
  --rule-color: #c3c3c3;
  --rule-ornament-color: #c3c3c3;
  --rule-dots-color: rgba(0, 0, 0, 0.26);
  --rule-hairline-color: rgba(0, 0, 0, 0.12); }
  @media (prefers-color-scheme: dark) {
    :root {
      --body-color: #c8c8c8;
      --body-background-color: #181818;
      --headings-color: rgb(216, 216, 216);
      --blockquote-color: #c4c4c4;
      --link-color: #3aa1ec;
      --strong-color: white;
      --footer-color: var(--headings-color);
      --first-name-color: white;
      --last-name-color: #909090;
      --navbar-background-color: #202020;
      --navbar-font-color: #909090;
      --navbar-hover-color: #303030;
      --post-title-color: var(--headings-color);
      --post-date-color: #909090;
      --post-meta-color: #909090;
      --pre-background-color: #333;
      --pre-inline-color: #ff2e88;
      --btn-background-color: #333;
      --btn-border-color: #444;
      --btn-font-color: var(--body-color);
      --btn-hover-background-color: #444;
      --btn-hover-border-color: #555;
      --btn-hover-font-color: var(--strong-color);
      --btn-active-background-color: #3a3a3a;
      --code-block-background-color: #202020;
      --code-block-color: #d8d8d8;
      --code-block-border-color: #333;
      --table-border-color: #333;
      --table-stripe-color: #202020;
      --rule-color: #6a6a6a;
      --rule-ornament-color: #8c8c8c;
      --rule-dots-color: rgba(255, 255, 255, 0.3);
      --rule-hairline-color: rgba(255, 255, 255, 0.15); }
      :root img {
        filter: brightness(0.9) contrast(1.1); } }
  :root .dark-mode {
    --body-color: #c8c8c8;
    --body-background-color: #181818;
    --headings-color: rgb(216, 216, 216);
    --blockquote-color: #c4c4c4;
    --link-color: #3aa1ec;
    --strong-color: white;
    --footer-color: var(--headings-color);
    --first-name-color: white;
    --last-name-color: #909090;
    --navbar-background-color: #202020;
    --navbar-font-color: #909090;
    --navbar-hover-color: #303030;
    --post-title-color: var(--headings-color);
    --post-date-color: #909090;
    --post-meta-color: #909090;
    --pre-background-color: #333;
    --pre-inline-color: #ff2e88;
    --btn-background-color: #333;
    --btn-border-color: #444;
    --btn-font-color: var(--body-color);
    --btn-hover-background-color: #444;
    --btn-hover-border-color: #555;
    --btn-hover-font-color: var(--strong-color);
    --btn-active-background-color: #3a3a3a;
    --code-block-background-color: #202020;
    --code-block-color: #d8d8d8;
    --code-block-border-color: #333;
    --table-border-color: #333;
    --table-stripe-color: #202020;
    --rule-color: #6a6a6a;
    --rule-ornament-color: #8c8c8c;
    --rule-dots-color: rgba(255, 255, 255, 0.3);
    --rule-hairline-color: rgba(255, 255, 255, 0.15); }
    :root .dark-mode img {
      filter: brightness(0.9) contrast(1.1); }

html {
  font-size: 20px; }

.post {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  line-height: 1.5; }

body {
  color: var(--body-color);
  background-color: var(--body-background-color);
  font-size: 0.8rem;
  font-family: "Lato", sans-serif; }

a {
  color: var(--link-color);
  text-decoration: none; }
  a strong {
    color: inherit; }
  a:hover, a:focus {
    color: var(--link-color);
    text-decoration: none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 0.5rem;
  font-weight: bold;
  line-height: 1.25;
  color: var(--headings-color);
  text-rendering: optimizeLegibility;
  text-wrap: balance; }

h1 {
  font-size: 1.6rem;
  margin-top: 0rem; }

h2 {
  margin-top: 1rem;
  font-size: 1.35rem; }

h3 {
  margin-top: 1.5rem;
  font-size: 1.1rem; }

h4,
h5,
h6 {
  margin-top: 1rem;
  font-size: 0.75rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem;
  text-wrap: pretty; }

strong {
  color: var(--strong-color); }

ul,
ol,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }
  ul ul,
  ul ol,
  ul dl,
  ol ul,
  ol ol,
  ol dl,
  dl ul,
  dl ol,
  dl dl {
    margin-bottom: 0rem; }

dt {
  font-weight: bold; }

dd {
  margin-bottom: 0.5rem; }

li {
  margin-bottom: 0.1rem;
  text-wrap: pretty; }

code,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; }

:not(pre) code {
  padding: 0.25em 0.25em;
  font-size: 90%;
  background-color: var(--pre-background-color);
  border-radius: 5px;
  color: var(--pre-inline-color); }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  padding: 1rem;
  font-size: 0.8rem;
  line-height: 1.3;
  tab-size: 4;
  background-color: var(--code-block-background-color);
  color: var(--code-block-color); }
  pre code {
    padding: 0;
    font-size: 100%;
    color: inherit;
    background-color: transparent; }

blockquote {
  padding: 0.5rem 1rem;
  margin: 0.8rem 0;
  color: var(--blockquote-color);
  border-left: 0.25rem solid #e5e5e5; }
  blockquote ul:last-child,
  blockquote p:last-child {
    margin-bottom: 0; }

img,
video {
  display: block;
  max-width: 100%;
  margin: 0 0 1rem;
  border-radius: 5px; }

table {
  margin-bottom: 1rem;
  width: 100%;
  border: 1px solid var(--table-border-color);
  border-collapse: collapse; }
  table td,
  table th {
    padding: 0.25rem 0.5rem;
    border: 1px solid var(--table-border-color); }
  table tr:nth-child(odd) td,
  table tr:nth-child(odd) th {
    background-color: var(--table-stripe-color); }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
img,
legend {
  border: 0; }

legend,
td,
th {
  padding: 0; }

html {
  font-family: serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
optgroup,
strong {
  font-weight: 700; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  box-sizing: content-box;
  height: 0; }

pre,
textarea {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

.chroma {
  color: var(--code-block-color);
  background-color: var(--code-block-background-color); }

/* Error */
.chroma .err {
  color: #ff0000;
  background-color: #ffaaaa; }

/* LineLink */
.chroma .lnlinks {
  outline: none;
  text-decoration: none;
  color: inherit; }

/* LineTableTD */
.chroma .lntd {
  vertical-align: top;
  padding: 0;
  margin: 0;
  border: 0; }

/* LineTable */
.chroma .lntable {
  border-spacing: 0;
  padding: 0;
  margin: 0;
  border: 0; }

/* LineHighlight */
.chroma .hl {
  background-color: #e5e5e5; }

/* LineNumbersTable */
.chroma .lnt {
  white-space: pre;
  -webkit-user-select: none;
  user-select: none;
  margin-right: 0.4em;
  padding: 0 0.4em 0 0.4em;
  color: #7f7f7f; }

/* LineNumbers */
.chroma .ln {
  white-space: pre;
  -webkit-user-select: none;
  user-select: none;
  margin-right: 0.4em;
  padding: 0 0.4em 0 0.4em;
  color: #7f7f7f; }

/* Line */
.chroma .line {
  display: flex; }

/* Keyword */
.chroma .k {
  color: #0000aa; }

/* KeywordConstant */
.chroma .kc {
  color: #0000aa; }

/* KeywordDeclaration */
.chroma .kd {
  color: #0000aa; }

/* KeywordNamespace */
.chroma .kn {
  color: #0000aa; }

/* KeywordPseudo */
.chroma .kp {
  color: #0000aa; }

/* KeywordReserved */
.chroma .kr {
  color: #0000aa; }

/* KeywordType */
.chroma .kt {
  color: #00aaaa; }

/* NameAttribute */
.chroma .na {
  color: #1e90ff; }

/* NameBuiltin */
.chroma .nb {
  color: #00aaaa; }

/* NameClass */
.chroma .nc {
  color: #00aa00;
  text-decoration: underline; }

/* NameConstant */
.chroma .no {
  color: #aa0000; }

/* NameDecorator */
.chroma .nd {
  color: #888888; }

/* NameEntity */
.chroma .ni {
  color: #880000;
  font-weight: bold; }

/* NameFunction */
.chroma .nf {
  color: #00aa00; }

/* NameNamespace */
.chroma .nn {
  color: #00aaaa;
  text-decoration: underline; }

/* NameTag */
.chroma .nt {
  color: #1e90ff;
  font-weight: bold; }

/* NameVariable */
.chroma .nv {
  color: #aa0000; }

/* LiteralString */
.chroma .s {
  color: #aa5500; }

/* LiteralStringAffix */
.chroma .sa {
  color: #aa5500; }

/* LiteralStringBacktick */
.chroma .sb {
  color: #aa5500; }

/* LiteralStringChar */
.chroma .sc {
  color: #aa5500; }

/* LiteralStringDelimiter */
.chroma .dl {
  color: #aa5500; }

/* LiteralStringDoc */
.chroma .sd {
  color: #aa5500; }

/* LiteralStringDouble */
.chroma .s2 {
  color: #aa5500; }

/* LiteralStringEscape */
.chroma .se {
  color: #aa5500; }

/* LiteralStringHeredoc */
.chroma .sh {
  color: #aa5500; }

/* LiteralStringInterpol */
.chroma .si {
  color: #aa5500; }

/* LiteralStringOther */
.chroma .sx {
  color: #aa5500; }

/* LiteralStringRegex */
.chroma .sr {
  color: #009999; }

/* LiteralStringSingle */
.chroma .s1 {
  color: #aa5500; }

/* LiteralStringSymbol */
.chroma .ss {
  color: #0000aa; }

/* LiteralNumber */
.chroma .m {
  color: #009999; }

/* LiteralNumberBin */
.chroma .mb {
  color: #009999; }

/* LiteralNumberFloat */
.chroma .mf {
  color: #009999; }

/* LiteralNumberHex */
.chroma .mh {
  color: #009999; }

/* LiteralNumberInteger */
.chroma .mi {
  color: #009999; }

/* LiteralNumberIntegerLong */
.chroma .il {
  color: #009999; }

/* LiteralNumberOct */
.chroma .mo {
  color: #009999; }

/* OperatorWord */
.chroma .ow {
  color: #0000aa; }

/* Comment */
.chroma .c {
  color: #aaaaaa;
  font-style: italic; }

/* CommentHashbang */
.chroma .ch {
  color: #aaaaaa;
  font-style: italic; }

/* CommentMultiline */
.chroma .cm {
  color: #aaaaaa;
  font-style: italic; }

/* CommentSingle */
.chroma .c1 {
  color: #aaaaaa;
  font-style: italic; }

/* CommentSpecial */
.chroma .cs {
  color: #0000aa;
  font-style: italic; }

/* CommentPreproc */
.chroma .cp {
  color: #4c8317; }

/* CommentPreprocFile */
.chroma .cpf {
  color: #4c8317; }

/* GenericDeleted */
.chroma .gd {
  color: #aa0000; }

/* GenericEmph */
.chroma .ge {
  font-style: italic; }

/* GenericError */
.chroma .gr {
  color: #aa0000; }

/* GenericHeading */
.chroma .gh {
  color: #000080;
  font-weight: bold; }

/* GenericInserted */
.chroma .gi {
  color: #00aa00; }

/* GenericOutput */
.chroma .go {
  color: #888888; }

/* GenericPrompt */
.chroma .gp {
  color: #555555; }

/* GenericStrong */
.chroma .gs {
  font-weight: bold; }

/* GenericSubheading */
.chroma .gu {
  color: #800080;
  font-weight: bold; }

/* GenericTraceback */
.chroma .gt {
  color: #aa0000; }

/* GenericUnderline */
.chroma .gl {
  text-decoration: underline; }

/* TextWhitespace */
.chroma .w {
  color: #bbbbbb; }

@media (prefers-color-scheme: dark) {
  .chroma .na, .chroma .nb {
    color: inherit; }
  /* Error */
  .chroma .err {
    color: #f85149; }
  /* LineLink */
  .chroma .lnlinks {
    outline: none;
    text-decoration: none;
    color: inherit; }
  /* LineTableTD */
  .chroma .lntd {
    vertical-align: top;
    padding: 0;
    margin: 0;
    border: 0; }
  /* LineTable */
  .chroma .lntable {
    border-spacing: 0;
    padding: 0;
    margin: 0;
    border: 0; }
  /* LineHighlight */
  .chroma .hl {
    color: #6e7681; }
  /* LineNumbersTable */
  .chroma .lnt {
    white-space: pre;
    -webkit-user-select: none;
    user-select: none;
    margin-right: 0.4em;
    padding: 0 0.4em 0 0.4em;
    color: #737679; }
  /* LineNumbers */
  .chroma .ln {
    white-space: pre;
    -webkit-user-select: none;
    user-select: none;
    margin-right: 0.4em;
    padding: 0 0.4em 0 0.4em;
    color: #6e7681; }
  /* Line */
  .chroma .line {
    display: flex; }
  /* Keyword */
  .chroma .k {
    color: #ff7b72; }
  /* KeywordConstant */
  .chroma .kc {
    color: #79c0ff; }
  /* KeywordDeclaration */
  .chroma .kd {
    color: #ff7b72; }
  /* KeywordNamespace */
  .chroma .kn {
    color: #ff7b72; }
  /* KeywordPseudo */
  .chroma .kp {
    color: #79c0ff; }
  /* KeywordReserved */
  .chroma .kr {
    color: #ff7b72; }
  /* KeywordType */
  .chroma .kt {
    color: #ff7b72; }
  /* NameClass */
  .chroma .nc {
    color: #f0883e;
    font-weight: bold; }
  /* NameConstant */
  .chroma .no {
    color: #79c0ff;
    font-weight: bold; }
  /* NameDecorator */
  .chroma .nd {
    color: #d2a8ff;
    font-weight: bold; }
  /* NameEntity */
  .chroma .ni {
    color: #ffa657; }
  /* NameException */
  .chroma .ne {
    color: #f0883e;
    font-weight: bold; }
  /* NameFunction */
  .chroma .nf {
    color: #d2a8ff;
    font-weight: bold; }
  /* NameLabel */
  .chroma .nl {
    color: #79c0ff;
    font-weight: bold; }
  /* NameNamespace */
  .chroma .nn {
    color: #ff7b72; }
  /* NameProperty */
  .chroma .py {
    color: #79c0ff; }
  /* NameTag */
  .chroma .nt {
    color: #7ee787; }
  /* NameVariable */
  .chroma .nv {
    color: #79c0ff; }
  /* Literal */
  .chroma .l {
    color: #a5d6ff; }
  /* LiteralDate */
  .chroma .ld {
    color: #79c0ff; }
  /* LiteralString */
  .chroma .s {
    color: #a5d6ff; }
  /* LiteralStringAffix */
  .chroma .sa {
    color: #79c0ff; }
  /* LiteralStringBacktick */
  .chroma .sb {
    color: #a5d6ff; }
  /* LiteralStringChar */
  .chroma .sc {
    color: #a5d6ff; }
  /* LiteralStringDelimiter */
  .chroma .dl {
    color: #79c0ff; }
  /* LiteralStringDoc */
  .chroma .sd {
    color: #a5d6ff; }
  /* LiteralStringDouble */
  .chroma .s2 {
    color: #a5d6ff; }
  /* LiteralStringEscape */
  .chroma .se {
    color: #79c0ff; }
  /* LiteralStringHeredoc */
  .chroma .sh {
    color: #79c0ff; }
  /* LiteralStringInterpol */
  .chroma .si {
    color: #a5d6ff; }
  /* LiteralStringOther */
  .chroma .sx {
    color: #a5d6ff; }
  /* LiteralStringRegex */
  .chroma .sr {
    color: #79c0ff; }
  /* LiteralStringSingle */
  .chroma .s1 {
    color: #a5d6ff; }
  /* LiteralStringSymbol */
  .chroma .ss {
    color: #a5d6ff; }
  /* LiteralNumber */
  .chroma .m {
    color: #a5d6ff; }
  /* LiteralNumberBin */
  .chroma .mb {
    color: #a5d6ff; }
  /* LiteralNumberFloat */
  .chroma .mf {
    color: #a5d6ff; }
  /* LiteralNumberHex */
  .chroma .mh {
    color: #a5d6ff; }
  /* LiteralNumberInteger */
  .chroma .mi {
    color: #a5d6ff; }
  /* LiteralNumberIntegerLong */
  .chroma .il {
    color: #a5d6ff; }
  /* LiteralNumberOct */
  .chroma .mo {
    color: #a5d6ff; }
  /* Operator */
  .chroma .o {
    color: #ff7b72;
    font-weight: bold; }
  /* OperatorWord */
  .chroma .ow {
    color: #ff7b72;
    font-weight: bold; }
  /* Comment */
  .chroma .c {
    color: #8b949e;
    font-style: italic; }
  /* CommentHashbang */
  .chroma .ch {
    color: #8b949e;
    font-style: italic; }
  /* CommentMultiline */
  .chroma .cm {
    color: #8b949e;
    font-style: italic; }
  /* CommentSingle */
  .chroma .c1 {
    color: #8b949e;
    font-style: italic; }
  /* CommentSpecial */
  .chroma .cs {
    color: #8b949e;
    font-weight: bold;
    font-style: italic; }
  /* CommentPreproc */
  .chroma .cp {
    color: #8b949e;
    font-weight: bold;
    font-style: italic; }
  /* CommentPreprocFile */
  .chroma .cpf {
    color: #8b949e;
    font-weight: bold;
    font-style: italic; }
  /* GenericDeleted */
  .chroma .gd {
    color: #ffa198;
    background-color: #490202; }
  /* GenericEmph */
  .chroma .ge {
    font-style: italic; }
  /* GenericError */
  .chroma .gr {
    color: #ffa198; }
  /* GenericHeading */
  .chroma .gh {
    color: #79c0ff;
    font-weight: bold; }
  /* GenericInserted */
  .chroma .gi {
    color: #56d364;
    background-color: #0f5323; }
  /* GenericOutput */
  .chroma .go {
    color: #8b949e; }
  /* GenericPrompt */
  .chroma .gp {
    color: #8b949e; }
  /* GenericStrong */
  .chroma .gs {
    font-weight: bold; }
  /* GenericSubheading */
  .chroma .gu {
    color: #79c0ff; }
  /* GenericTraceback */
  .chroma .gt {
    color: #ff7b72; }
  /* GenericUnderline */
  .chroma .gl {
    text-decoration: underline; }
  /* TextWhitespace */
  .chroma .w {
    color: #6e7681; } }

.dark-mode {
  /* Error */
  /* LineLink */
  /* LineTableTD */
  /* LineTable */
  /* LineHighlight */
  /* LineNumbersTable */
  /* LineNumbers */
  /* Line */
  /* Keyword */
  /* KeywordConstant */
  /* KeywordDeclaration */
  /* KeywordNamespace */
  /* KeywordPseudo */
  /* KeywordReserved */
  /* KeywordType */
  /* NameClass */
  /* NameConstant */
  /* NameDecorator */
  /* NameEntity */
  /* NameException */
  /* NameFunction */
  /* NameLabel */
  /* NameNamespace */
  /* NameProperty */
  /* NameTag */
  /* NameVariable */
  /* Literal */
  /* LiteralDate */
  /* LiteralString */
  /* LiteralStringAffix */
  /* LiteralStringBacktick */
  /* LiteralStringChar */
  /* LiteralStringDelimiter */
  /* LiteralStringDoc */
  /* LiteralStringDouble */
  /* LiteralStringEscape */
  /* LiteralStringHeredoc */
  /* LiteralStringInterpol */
  /* LiteralStringOther */
  /* LiteralStringRegex */
  /* LiteralStringSingle */
  /* LiteralStringSymbol */
  /* LiteralNumber */
  /* LiteralNumberBin */
  /* LiteralNumberFloat */
  /* LiteralNumberHex */
  /* LiteralNumberInteger */
  /* LiteralNumberIntegerLong */
  /* LiteralNumberOct */
  /* Operator */
  /* OperatorWord */
  /* Comment */
  /* CommentHashbang */
  /* CommentMultiline */
  /* CommentSingle */
  /* CommentSpecial */
  /* CommentPreproc */
  /* CommentPreprocFile */
  /* GenericDeleted */
  /* GenericEmph */
  /* GenericError */
  /* GenericHeading */
  /* GenericInserted */
  /* GenericOutput */
  /* GenericPrompt */
  /* GenericStrong */
  /* GenericSubheading */
  /* GenericTraceback */
  /* GenericUnderline */
  /* TextWhitespace */ }
  .dark-mode .chroma .na, .dark-mode .chroma .nb {
    color: inherit; }
  .dark-mode .chroma .err {
    color: #f85149; }
  .dark-mode .chroma .lnlinks {
    outline: none;
    text-decoration: none;
    color: inherit; }
  .dark-mode .chroma .lntd {
    vertical-align: top;
    padding: 0;
    margin: 0;
    border: 0; }
  .dark-mode .chroma .lntable {
    border-spacing: 0;
    padding: 0;
    margin: 0;
    border: 0; }
  .dark-mode .chroma .hl {
    color: #6e7681; }
  .dark-mode .chroma .lnt {
    white-space: pre;
    -webkit-user-select: none;
    user-select: none;
    margin-right: 0.4em;
    padding: 0 0.4em 0 0.4em;
    color: #737679; }
  .dark-mode .chroma .ln {
    white-space: pre;
    -webkit-user-select: none;
    user-select: none;
    margin-right: 0.4em;
    padding: 0 0.4em 0 0.4em;
    color: #6e7681; }
  .dark-mode .chroma .line {
    display: flex; }
  .dark-mode .chroma .k {
    color: #ff7b72; }
  .dark-mode .chroma .kc {
    color: #79c0ff; }
  .dark-mode .chroma .kd {
    color: #ff7b72; }
  .dark-mode .chroma .kn {
    color: #ff7b72; }
  .dark-mode .chroma .kp {
    color: #79c0ff; }
  .dark-mode .chroma .kr {
    color: #ff7b72; }
  .dark-mode .chroma .kt {
    color: #ff7b72; }
  .dark-mode .chroma .nc {
    color: #f0883e;
    font-weight: bold; }
  .dark-mode .chroma .no {
    color: #79c0ff;
    font-weight: bold; }
  .dark-mode .chroma .nd {
    color: #d2a8ff;
    font-weight: bold; }
  .dark-mode .chroma .ni {
    color: #ffa657; }
  .dark-mode .chroma .ne {
    color: #f0883e;
    font-weight: bold; }
  .dark-mode .chroma .nf {
    color: #d2a8ff;
    font-weight: bold; }
  .dark-mode .chroma .nl {
    color: #79c0ff;
    font-weight: bold; }
  .dark-mode .chroma .nn {
    color: #ff7b72; }
  .dark-mode .chroma .py {
    color: #79c0ff; }
  .dark-mode .chroma .nt {
    color: #7ee787; }
  .dark-mode .chroma .nv {
    color: #79c0ff; }
  .dark-mode .chroma .l {
    color: #a5d6ff; }
  .dark-mode .chroma .ld {
    color: #79c0ff; }
  .dark-mode .chroma .s {
    color: #a5d6ff; }
  .dark-mode .chroma .sa {
    color: #79c0ff; }
  .dark-mode .chroma .sb {
    color: #a5d6ff; }
  .dark-mode .chroma .sc {
    color: #a5d6ff; }
  .dark-mode .chroma .dl {
    color: #79c0ff; }
  .dark-mode .chroma .sd {
    color: #a5d6ff; }
  .dark-mode .chroma .s2 {
    color: #a5d6ff; }
  .dark-mode .chroma .se {
    color: #79c0ff; }
  .dark-mode .chroma .sh {
    color: #79c0ff; }
  .dark-mode .chroma .si {
    color: #a5d6ff; }
  .dark-mode .chroma .sx {
    color: #a5d6ff; }
  .dark-mode .chroma .sr {
    color: #79c0ff; }
  .dark-mode .chroma .s1 {
    color: #a5d6ff; }
  .dark-mode .chroma .ss {
    color: #a5d6ff; }
  .dark-mode .chroma .m {
    color: #a5d6ff; }
  .dark-mode .chroma .mb {
    color: #a5d6ff; }
  .dark-mode .chroma .mf {
    color: #a5d6ff; }
  .dark-mode .chroma .mh {
    color: #a5d6ff; }
  .dark-mode .chroma .mi {
    color: #a5d6ff; }
  .dark-mode .chroma .il {
    color: #a5d6ff; }
  .dark-mode .chroma .mo {
    color: #a5d6ff; }
  .dark-mode .chroma .o {
    color: #ff7b72;
    font-weight: bold; }
  .dark-mode .chroma .ow {
    color: #ff7b72;
    font-weight: bold; }
  .dark-mode .chroma .c {
    color: #8b949e;
    font-style: italic; }
  .dark-mode .chroma .ch {
    color: #8b949e;
    font-style: italic; }
  .dark-mode .chroma .cm {
    color: #8b949e;
    font-style: italic; }
  .dark-mode .chroma .c1 {
    color: #8b949e;
    font-style: italic; }
  .dark-mode .chroma .cs {
    color: #8b949e;
    font-weight: bold;
    font-style: italic; }
  .dark-mode .chroma .cp {
    color: #8b949e;
    font-weight: bold;
    font-style: italic; }
  .dark-mode .chroma .cpf {
    color: #8b949e;
    font-weight: bold;
    font-style: italic; }
  .dark-mode .chroma .gd {
    color: #ffa198;
    background-color: #490202; }
  .dark-mode .chroma .ge {
    font-style: italic; }
  .dark-mode .chroma .gr {
    color: #ffa198; }
  .dark-mode .chroma .gh {
    color: #79c0ff;
    font-weight: bold; }
  .dark-mode .chroma .gi {
    color: #56d364;
    background-color: #0f5323; }
  .dark-mode .chroma .go {
    color: #8b949e; }
  .dark-mode .chroma .gp {
    color: #8b949e; }
  .dark-mode .chroma .gs {
    font-weight: bold; }
  .dark-mode .chroma .gu {
    color: #79c0ff; }
  .dark-mode .chroma .gt {
    color: #ff7b72; }
  .dark-mode .chroma .gl {
    text-decoration: underline; }
  .dark-mode .chroma .w {
    color: #6e7681; }

/* Space out content a bit */
body {
  padding-bottom: 20px;
  line-height: 1.4;
  letter-spacing: 0.003em; }

.pure-g {
  font-family: inherit; }
  .pure-g [class*="pure-u"] {
    font-family: inherit; }

/* Everything but the jumbotron gets side spacing for mobile first views */
.header,
.footer {
  padding-right: 15px;
  padding-left: 15px; }

/* Custom page header */
.header {
  padding-bottom: 20px;
  border-bottom: 1px solid #313131;
  /* Make the masthead heading the same height as the navigation */ }
  .header h3 {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 40px; }

.title h1 {
  font-size: 36px; }

/* Custom page footer */
.footer {
  color: var(--footer-color); }

/* Customize container */
@media (min-width: 786px) {
  .container {
    max-width: 786px; } }

.social-media-buttons {
  padding-top: 5px; }
  .social-media-buttons button {
    font-size: 13px; }

.vert-align {
  float: none;
  display: inline-block;
  vertical-align: middle;
  margin-right: -4px; }

.hor-align {
  text-align: center; }

.headshot .img-profile {
  border-radius: 24px;
  max-height: 250px;
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }

.first-name {
  font-weight: 500;
  color: var(--first-name-color); }

.last-name {
  font-weight: 400;
  color: var(--last-name-color); }

.centered {
  text-align: center; }

.sharing-button {
  padding: 6px 0;
  padding-right: 12px;
  font-size: 14px; }
  .sharing-button i {
    color: black; }
  .sharing-button i:hover {
    color: #7f7f7f; }

/* Responsive: Portrait tablets and up */
@media screen and (min-width: 992px) {
  .header,
  .footer {
    padding-right: 0;
    padding-left: 0; }
  .header {
    margin-bottom: 30px; }
  .project-date {
    text-align: right; } }

h1,
h2,
h3,
h4,
h5,
h6,
sup {
  font-family: "Merriweather", serif; }
  h1:target:before,
  h2:target:before,
  h3:target:before,
  h4:target:before,
  h5:target:before,
  h6:target:before,
  sup:target:before {
    content: "";
    display: block;
    height: 60px;
    margin-top: -60px; }

p {
  font-family: "Lato", sans-serif; }

sup:target:before {
  display: inline-block; }

hr {
  margin: 1rem 0;
  border: 0;
  border-top: 1px solid var(--rule-hairline-color); }

hr.hard-separator {
  margin: 1.5rem 0;
  overflow: visible;
  padding: 0;
  border: none;
  border-top: medium double var(--rule-color);
  color: var(--rule-ornament-color);
  text-align: center; }

hr.hard-separator:after {
  content: var(--hard-separator-symbol, "🜍");
  display: inline-block;
  position: relative;
  top: var(--hard-separator-offset, -0.9em);
  font-size: 1.5em;
  font-variant-emoji: text;
  padding: 0 0.25em;
  background: var(--body-background-color); }

.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

.btn {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: "Merriweather", serif;
  font-weight: 500;
  color: var(--btn-font-color);
  background-color: var(--btn-background-color);
  border-color: var(--btn-border-color); }
  .btn:hover {
    color: var(--btn-hover-font-color);
    background-color: var(--btn-hover-background-color);
    border-color: var(--btn-hover-border-color); }
  .btn:active {
    background-color: var(--btn-active-background-color); }
  .btn:focus {
    text-decoration: none;
    outline-offset: -2px; }

button[disabled] {
  opacity: 0.5; }

.label {
  display: inline;
  padding: 0.3em 0.6em 0.2em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25em; }
  .label.label-default {
    background-color: #777; }
  .label.label-primary {
    background-color: #337ab7; }
  .label i {
    vertical-align: text-top; }

.text-center {
  text-align: center; }

pre {
  display: block;
  word-break: break-all;
  word-wrap: break-word;
  border: 1px solid var(--code-block-border-color);
  border-radius: 4px; }

.navbar {
  border-bottom: 1px solid #ccc;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 1em;
  font-family: "Merriweather", serif;
  background-color: var(--navbar-background-color); }

.navbar-wrapper {
  -webkit-font-smoothing: antialiased;
  height: 3em;
  overflow: hidden;
  align-items: stretch;
  -webkit-transition: height 0.3s;
  -moz-transition: height 0.3s;
  -ms-transition: height 0.3s;
  transition: height 0.3s; }

.navbar-wrapper.open {
  height: 12em; }

.navbar-toggle {
  width: 34px;
  height: 34px;
  position: absolute;
  top: 0;
  right: 0;
  display: none;
  margin-right: 12px; }

.navbar-toggle .bar {
  background-color: #777;
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 100px;
  position: absolute;
  top: 24px;
  right: 7px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s; }

.navbar-toggle .bar:first-child {
  -webkit-transform: translateY(-6px);
  -moz-transform: translateY(-6px);
  -ms-transform: translateY(-6px);
  transform: translateY(-6px); }

.navbar-toggle.x .bar {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.navbar-toggle.x .bar:first-child {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

@media (max-width: 47.999em) {
  .navbar-toggle {
    display: block; } }

.navbar-link-list {
  font-size: 15px;
  float: right; }
  @media (max-width: 47.999em) {
    .navbar-link-list {
      float: none; } }
@media (min-width: 48em) {
  .navbar-wrapper > div:first-child {
    display: flex;
    align-items: center; }
  .navbar-js-transformable,
  .navbar-link-list,
  .navbar-link-list .pure-menu-item {
    height: 100%; }
  .navbar-link-list .pure-menu-link {
    height: 100%;
    display: flex;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
    box-sizing: border-box; } }

.pure-menu-heading {
  text-transform: none;
  font-size: 19px;
  padding-left: 0px;
  display: inline-block; }

.pure-menu-link {
  font-size: 0.95em;
  color: var(--navbar-font-color); }
  .pure-menu-link:hover {
    background-color: var(--navbar-hover-color); }

.youtube-player {
  position: relative;
  padding-bottom: 56.25%;
  margin: 0 1rem 1rem 1rem;
  height: 0;
  overflow: hidden; }
  @media screen and (max-width: 375px) {
    .youtube-player {
      margin: 0;
      margin-bottom: 1rem; } }
  .youtube-player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }
