@charset "UTF-8";
/*------------------------------------*\
    Main CSS
\*------------------------------------*/
/*------------------------------------*\
    $VENDORS
  Other people’s code
\*------------------------------------*/
/**
 * a11y-dark theme for JavaScript, CSS, and HTML
 * Based on the okaidia theme: https://github.com/PrismJS/prism/blob/gh-pages/themes/prism-okaidia.css
 * @author ericwbailey
 */
code[class*=language-],
pre[class*=language-] {
  color: #f8f8f2;
  background: none;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

/* Code blocks */
pre[class*=language-] {
  padding: 0.5em;
  margin-left: -2em;
  margin-right: -2em;
  overflow: auto;
}
@supports (margin-block: 1em) {
  pre[class*=language-] {
    margin-left: unset;
    margin-right: unset;
    margin-inline: -2em;
  }
}
@media screen and (min-width: 30rem) {
  pre[class*=language-] {
    padding: 2em;
  }
}

:not(pre) > code[class*=language-],
pre[class*=language-] {
  background: #2b2b2b;
}

/* Inline code */
:not(pre) > code[class*=language-] {
  padding: 0.1em;
  border-radius: 0.3em;
  white-space: normal;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #d4d0ab;
}

.token.punctuation {
  color: #fefefe;
}

.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
  color: #ffa07a;
}

.token.boolean,
.token.number {
  color: #00e0e0;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
  color: #abe338;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
  color: #00e0e0;
}

.token.atrule,
.token.attr-value,
.token.function {
  color: #ffd700;
}

.token.keyword {
  color: #00e0e0;
}

.token.regex,
.token.important {
  color: #ffd700;
}

.token.important,
.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}

.token.entity {
  cursor: help;
}

@media screen and (-ms-high-contrast: active) {
  code[class*=language-],
  pre[class*=language-] {
    color: windowText;
    background: window;
  }
  :not(pre) > code[class*=language-],
  pre[class*=language-] {
    background: window;
  }
  .token.important {
    background: highlight;
    color: window;
    font-weight: normal;
  }
  .token.atrule,
  .token.attr-value,
  .token.function,
  .token.keyword,
  .token.operator,
  .token.selector {
    font-weight: bold;
  }
  .token.attr-value,
  .token.comment,
  .token.doctype,
  .token.function,
  .token.keyword,
  .token.operator,
  .token.property,
  .token.string {
    color: highlight;
  }
  .token.attr-value,
  .token.url {
    font-weight: normal;
  }
}
lite-youtube {
  background-color: #000;
  position: relative;
  display: block;
  contain: content;
  background-position: center center;
  background-size: cover;
  cursor: pointer;
  max-width: 720px;
  border: 1px solid;
}
@supports (margin-block: 1em) {
  lite-youtube {
    max-width: unset;
    max-inline-size: 720px;
  }
}

/* gradient */
lite-youtube::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);
  background-position: top;
  background-repeat: repeat-x;
  height: 60px;
  padding-bottom: 50px;
  width: 100%;
  -webkit-transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
  transition: all 0.2s cubic-bezier(0, 0, 0.2, 1);
}
@supports (margin-block: 1em) {
  lite-youtube::before {
    top: unset;
    height: unset;
    padding-bottom: unset;
    width: unset;
    block-size: 60px;
    inline-size: 100%;
    inset-block-start: 0;
    -webkit-padding-after: 50px;
    padding-block-end: 50px;
  }
}

/* responsive iframe with a 16:9 aspect ratio
  thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
  content: "";
  display: block;
  padding-bottom: 56.25%;
}
@supports (margin-block: 1em) {
  lite-youtube::after {
    padding-bottom: unset;
    -webkit-padding-after: 56.25%;
    padding-block-end: 56.25%;
  }
}

lite-youtube > iframe {
  width: 100%;
  height: 100%;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  border: 0;
}
@supports (margin-block: 1em) {
  lite-youtube > iframe {
    width: unset;
    height: unset;
    top: unset;
    left: unset;
    block-size: 100%;
    inline-size: 100%;
    inset-block-start: 0;
    inset-inline-start: 0;
  }
}

/* play button */
lite-youtube > .lty-playbtn {
  display: block;
  width: 68px;
  height: 48px;
  position: absolute;
  cursor: pointer;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  top: 50%;
  left: 50%;
  z-index: 1;
  background-color: transparent;
  /* YT's actual play button svg */
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>') !important;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: -webkit-filter 0.1s cubic-bezier(0, 0, 0.2, 1);
  transition: -webkit-filter 0.1s cubic-bezier(0, 0, 0.2, 1);
  transition: filter 0.1s cubic-bezier(0, 0, 0.2, 1);
  transition: filter 0.1s cubic-bezier(0, 0, 0.2, 1), -webkit-filter 0.1s cubic-bezier(0, 0, 0.2, 1);
  border: none;
}
@supports (margin-block: 1em) {
  lite-youtube > .lty-playbtn {
    width: unset;
    height: unset;
    top: unset;
    left: unset;
    block-size: 48px;
    inline-size: 68px;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    -webkit-transform: unset;
    -ms-transform: unset;
    transform: unset;
  }
}

lite-youtube:hover > .lty-playbtn,
lite-youtube .lty-playbtn:focus {
  -webkit-filter: none;
  filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
  cursor: unset;
}

lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
  opacity: 0;
  pointer-events: none;
}

.lyt-visually-hidden {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
@supports (margin-block: 1em) {
  .lyt-visually-hidden {
    height: unset;
    width: unset;
    block-size: 1px;
    inline-size: 1px;
  }
}

/*------------------------------------*\
    $BASE
  Global element styles
\*------------------------------------*/
/*------------------------------------*\
  $HELPERS
  SASS Tools
\*------------------------------------*/
/*------------------------------------*\
    Variables
\*------------------------------------*/
/*  Debug controls
  ========================================================================== */
/*  URLs
  ========================================================================== */
/*  Breakpoint Management
  ========================================================================== */
/*  Grid Management
  ========================================================================== */
/*  Legacy support
  ========================================================================== */
/*  Typography
  ========================================================================== */
/*  Colors
  ========================================================================== */
/*  Images
  ========================================================================== */
/*  Defaults
  ========================================================================== */
/*------------------------------------*\
    Functions
\*------------------------------------*/
/*------------------------------------*\
Mixins
\*------------------------------------*/
/*------------------------------------*\
		Placeholders
\*------------------------------------*/
body {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: normal;
  line-height: 1.4;
}
.wf-active body {
  word-spacing: 2px;
}

.entry__jump-links, .listing, .fields, nav ol,
nav ul {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

.anchorable__anchor__text, .social-link__text, .webmention--author-starts .h-card .p-name, object[data^="#"], .hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
}
@supports (margin-block: 1em) {
  .anchorable__anchor__text, .social-link__text, .webmention--author-starts .h-card .p-name, object[data^="#"], .hidden {
    height: unset;
    width: unset;
    block-size: 1px;
    inline-size: 1px;
  }
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

.listing__item__meta, table thead {
  font-size: 14px;
  font-size: 0.875rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 700;
  letter-spacing: 1px;
  letter-spacing: 2px 	;
  text-transform: uppercase;
  word-spacing: 1px;
}

/*------------------------------------*\
Body-level settings
\*------------------------------------*/
@-moz-viewport {
  width: device-width;
  zoom: 1;
}
@-ms-viewport {
  width: device-width;
  zoom: 1;
}
@-o-viewport {
  width: device-width;
  zoom: 1;
}
@-webkit-viewport {
  width: device-width;
  zoom: 1;
}
@viewport {
  width: device-width;
  zoom: 1;
}
html {
  height: 100%;
}

body {
  background: #fffcf4;
  color: #2c2825;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 400;
  margin: 0 auto;
  height: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@supports (margin-block: 1em) {
  body {
    margin: unset;
    height: unset;
    margin-inline: auto;
    block-size: 100%;
  }
}
html.dark-mode body {
  background: #454545;
  color: #fffcf4;
}

/*------------------------------------*\
		Heading Levels
\*------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  font-family: Cambria, Georgia, serif;
  font-weight: 700;
  line-height: 1.1;
  text-wrap: balance;
}
.wf-active h1,
.wf-active h2,
.wf-active h3,
.wf-active h4,
.wf-active h5,
.wf-active h6 {
  word-spacing: 2px;
}
h1 + *,
h2 + *,
h3 + *,
h4 + *,
h5 + *,
h6 + * {
  margin-top: 11px;
  margin-top: 0.6875rem;
}
@supports (margin-block: 1em) {
  h1 + *,
  h2 + *,
  h3 + *,
  h4 + *,
  h5 + *,
  h6 + * {
    margin-top: unset;
    -webkit-margin-before: 0.6875rem;
    margin-block-start: 0.6875rem;
  }
}
h1 > a.header-anchor,
h2 > a.header-anchor,
h3 > a.header-anchor,
h4 > a.header-anchor,
h5 > a.header-anchor,
h6 > a.header-anchor {
  position: absolute;
  margin-left: -2rem;
  width: 100%;
  text-decoration: none !important;
  background: transparent !important;
}
@supports (margin-block: 1em) {
  h1 > a.header-anchor,
  h2 > a.header-anchor,
  h3 > a.header-anchor,
  h4 > a.header-anchor,
  h5 > a.header-anchor,
  h6 > a.header-anchor {
    margin-left: unset;
    -webkit-margin-start: -2rem;
    margin-inline-start: -2rem;
  }
}
h1:hover > a.header-anchor,
h2:hover > a.header-anchor,
h3:hover > a.header-anchor,
h4:hover > a.header-anchor,
h5:hover > a.header-anchor,
h6:hover > a.header-anchor {
  display: inline-block;
}

h1 {
  font-size: 48px;
  font-size: 3rem;
}

section > h1,
h2 {
  font-size: 32px;
  font-size: 2rem;
}

h3 {
  font-size: 24px;
  font-size: 1.5rem;
}

@media print {
  a.header-anchor {
    display: none;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-inside: avoid;
    page-break-after: avoid;
  }
  h1 a[href]:after,
  h2 a[href]:after,
  h3 a[href]:after,
  h4 a[href]:after,
  h5 a[href]:after,
  h6 a[href]:after {
    display: block;
    margin-left: 0;
    margin-bottom: 10pt;
  }
  @supports (margin-block: 1em) {
    h1 a[href]:after,
    h2 a[href]:after,
    h3 a[href]:after,
    h4 a[href]:after,
    h5 a[href]:after,
    h6 a[href]:after {
      margin-left: unset;
      margin-bottom: unset;
      -webkit-margin-start: 0;
      margin-inline-start: 0;
      -webkit-margin-after: 10pt;
      margin-block-end: 10pt;
    }
  }
  h1 a[href^="#"]:after,
  h1 a[href^="mailto:"]:after,
  h1 a[href^="tel:"]:after,
  h2 a[href^="#"]:after,
  h2 a[href^="mailto:"]:after,
  h2 a[href^="tel:"]:after,
  h3 a[href^="#"]:after,
  h3 a[href^="mailto:"]:after,
  h3 a[href^="tel:"]:after,
  h4 a[href^="#"]:after,
  h4 a[href^="mailto:"]:after,
  h4 a[href^="tel:"]:after,
  h5 a[href^="#"]:after,
  h5 a[href^="mailto:"]:after,
  h5 a[href^="tel:"]:after,
  h6 a[href^="#"]:after,
  h6 a[href^="mailto:"]:after,
  h6 a[href^="tel:"]:after {
    display: none;
  }
}
/*------------------------------------*\
Block-level Semantics
\*------------------------------------*/
* {
  margin-top: 0;
  margin-bottom: 0;
}
@supports (margin-block: 1em) {
  * {
    margin: unset;
    margin-block: 0;
  }
}

* + * {
  margin-top: 22px;
  margin-top: 1.375rem;
}
@supports (margin-block: 1em) {
  * + * {
    margin-top: unset;
    -webkit-margin-before: 1.375rem;
    margin-block-start: 1.375rem;
  }
}

noscript {
  display: none;
}

p:empty {
  display: none;
}

blockquote {
  font-size: 20px;
  font-size: 1.25rem;
  font-family: Cambria, Georgia, serif;
  font-style: italic;
  hanging-punctuation: first;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  margin-left: auto;
  margin-right: auto;
  padding: 22px;
  padding: 0 1.375rem;
  max-width: 700px;
  max-width: 43.75rem;
}
@supports (margin-block: 1em) {
  blockquote {
    margin-left: unset;
    margin-right: unset;
    padding: unset;
    max-width: unset;
    margin-inline: auto;
    padding-block: 0;
    padding-inline: 1.375rem;
    max-inline-size: 43.75rem;
  }
}

.blockquote__attribution {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin: 0;
  padding-left: 44px;
  padding-left: 2.75rem;
}
@supports (margin-block: 1em) {
  .blockquote__attribution {
    margin: unset;
    padding-left: unset;
    margin-block: 0;
    margin-inline: 0;
    -webkit-padding-start: 2.75rem;
    padding-inline-start: 2.75rem;
  }
}
.blockquote__attribution cite {
  font-style: normal;
}

p {
  font-weight: normal;
  /*hyphens: auto;*/
  line-height: 1.4;
}
.wf-active p {
  word-spacing: 2px;
}

[aria-hidden=true] {
  display: none;
}

hr {
  border: 0;
  border-top: 1px solid #ddd;
  height: 0;
  margin: 44px;
  margin: 2.75rem auto;
}
@supports (margin-block: 1em) {
  hr {
    border-top: unset;
    height: unset;
    margin: unset;
    -webkit-border-before: 1px solid #ddd;
    border-block-start: 1px solid #ddd;
    block-size: 0;
    margin-inline: auto;
    margin-block: 2.75rem;
  }
}

section + section {
  margin-top: 44px;
  margin-top: 2.75rem;
}
@supports (margin-block: 1em) {
  section + section {
    margin-top: unset;
    -webkit-margin-before: 2.75rem;
    margin-block-start: 2.75rem;
  }
}

dialog::-webkit-backdrop {
  background: rgba(44, 40, 37, 0.4);
}

dialog::backdrop {
  background: rgba(44, 40, 37, 0.4);
}

/* polyfill */
dialog + .backdrop {
  background: rgba(44, 40, 37, 0.4);
}

@media screen and (min-width: 43.125em) {
  blockquote,
  dl {
    padding: 22px;
    padding: 0 1.375rem;
  }
  @supports (margin-block: 1em) {
    blockquote,
    dl {
      padding: unset;
      padding-block: 0;
      padding-inline: 1.375rem;
    }
  }
}
@media screen and (min-width: 60em) {
  blockquote,
  dl {
    padding: 66px;
    padding: 0 4.125rem;
  }
  @supports (margin-block: 1em) {
    blockquote,
    dl {
      padding: unset;
      padding-block: 0;
      padding-inline: 4.125rem;
    }
  }
}
@media print {
  p,
  ol,
  ol,
  dl {
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    orphans: 3;
    widows: 3;
  }
}
body > script:last-of-type ~ * {
  margin: 0;
}
@supports (margin-block: 1em) {
  body > script:last-of-type ~ * {
    margin: unset;
    margin-block: 0;
    margin-inline: 0;
  }
}

/*------------------------------------*\
Lists
\*------------------------------------*/
ol,
ul {
  line-height: 1.4;
  margin-left: 22px;
  margin-left: 1.375rem;
  padding-left: 0;
}
@supports (margin-block: 1em) {
  ol,
  ul {
    margin-left: unset;
    padding-left: unset;
    -webkit-margin-start: 1.375rem;
    margin-inline-start: 1.375rem;
    -webkit-padding-start: 0;
    padding-inline-start: 0;
  }
}
nav ol,
nav ul {
  margin: 0;
}
nav ol li,
nav ul li {
  margin: 0;
}

li + li {
  margin-top: 5.5px;
  margin-top: 0.34375rem;
}
@supports (margin-block: 1em) {
  li + li {
    margin-top: unset;
    -webkit-margin-before: 0.34375rem;
    margin-block-start: 0.34375rem;
  }
}

dl {
  margin-left: auto;
  margin-right: auto;
  padding: 22px;
  padding: 0 1.375rem;
  max-width: 700px;
  max-width: 43.75rem;
}
@supports (margin-block: 1em) {
  dl {
    margin-left: unset;
    margin-right: unset;
    padding: unset;
    max-width: unset;
    margin-inline: auto;
    padding-block: 0;
    padding-inline: 1.375rem;
    max-width: 43.75rem;
  }
}
dl dt {
  font-weight: bold;
}
dl dd {
  margin-left: 0;
  margin-top: 0;
  padding-left: 0;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid;
}
@supports (margin-block: 1em) {
  dl dd {
    margin-left: unset;
    margin-top: unset;
    padding-left: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
    -webkit-padding-start: 0;
    padding-inline-start: 0;
  }
}

@media screen and (min-width: 60em) {
  ol,
  ul {
    margin-left: 0;
  }
  @supports (margin-block: 1em) {
    ol,
    ul {
      margin-left: unset;
      -webkit-margin-start: 0;
      margin-inline-start: 0;
    }
  }
  ol ol,
  ol ul,
  ul ol,
  ul ul {
    margin-left: 22px;
    margin-left: 1.375rem;
    margin-top: 11px;
    margin-top: 0.6875rem;
  }
  @supports (margin-block: 1em) {
    ol ol,
    ol ul,
    ul ol,
    ul ul {
      margin-left: unset;
      margin-top: unset;
      -webkit-margin-start: 1.375rem;
      margin-inline-start: 1.375rem;
      -webkit-margin-before: 0.6875rem;
      margin-block-start: 0.6875rem;
    }
  }
}
/*------------------------------------*\
Links
\*------------------------------------*/
a {
  text-decoration: underline;
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
  -webkit-text-decoration-style: solid;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}
a:empty {
  display: none;
}
a:link, a:visited {
  color: #27831b;
  -webkit-text-decoration-color: rgba(39, 131, 27, 0.25);
  text-decoration-color: rgba(39, 131, 27, 0.25);
  cursor: pointer;
  -webkit-transition: color 0.25s ease, background-color 0.25s ease, -webkit-text-decoration-color 0.25s ease;
  transition: color 0.25s ease, background-color 0.25s ease, -webkit-text-decoration-color 0.25s ease;
  transition: text-decoration-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
  transition: text-decoration-color 0.25s ease, color 0.25s ease, background-color 0.25s ease, -webkit-text-decoration-color 0.25s ease;
}
html.dark-mode a:link, html.dark-mode a:visited {
  color: #23fe06;
  -webkit-text-decoration-color: rgba(35, 254, 6, 0.25);
  text-decoration-color: rgba(35, 254, 6, 0.25);
}
a:hover, a:focus, a:active {
  color: rgb(35.1, 117.9, 24.3);
  -webkit-text-decoration-color: rgb(35.1, 117.9, 24.3);
  text-decoration-color: rgb(35.1, 117.9, 24.3);
}
html.dark-mode a:hover, html.dark-mode a:focus, html.dark-mode a:active {
  color: #9ee6ff;
  -webkit-text-decoration-color: rgba(158, 230, 255, 0.25);
  text-decoration-color: rgba(158, 230, 255, 0.25);
}
a:focus-visible {
  outline: 5px solid #062909;
}
a[rel=tag] {
  background: rgb(35.1, 117.9, 24.3);
  border-radius: 5px;
  color: #fff;
  leading-trim: both;
  line-height: 2;
  padding: 3px 7px;
  text-decoration: none;
  text-edge: text;
  white-space: nowrap;
}
a[rel=tag]:hover, a[rel=tag]:focus {
  background-color: #27831b;
}
html.dark-mode a[rel=tag] {
  background-color: #9ee6ff;
  color: #454545;
}
html.dark-mode a[rel=tag]:hover, html.dark-mode a[rel=tag]:focus {
  background-color: #23fe06;
}
a[href^=mailto], a[href^=tel] {
  white-space: nowrap;
}
a.email, a.tel {
  white-space: nowrap;
}
a a[href$=".pdf"]::after {
  content: " (PDF)";
  font-size: 0.8em;
}
a a[href$=".doc"]::after,
a a[href$=".docx"]::after {
  content: " (DOC)";
  font-size: 0.8em;
}
a a[href$=".ppt"]::after,
a a[href$=".pptx"]::after {
  content: " (PPT)";
  font-size: 0.8em;
}
a a[href$=jpg],
a a[href$=png],
a a[href$=gif] {
  text-decoration: none;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  -webkit-text-decoration-style: none;
  text-decoration-style: none;
}
h1 a:hover, h1 a:focus, h1 a:active, h2 a:hover, h2 a:focus, h2 a:active, h3 a:hover, h3 a:focus, h3 a:active, h4 a:hover, h4 a:focus, h4 a:active, h5 a:hover, h5 a:focus, h5 a:active, h6 a:hover, h6 a:focus, h6 a:active {
  -webkit-text-decoration-style: underline;
  text-decoration-style: underline;
}
a[rel=original-article]::after {
  content: " →";
  display: inline-block;
  -webkit-transform: translateX(-0.25em) rotate(-45deg) translateY(0.25em);
  -ms-transform: translateX(-0.25em) rotate(-45deg) translateY(0.25em);
  transform: translateX(-0.25em) rotate(-45deg) translateY(0.25em);
}

@media print {
  a {
    text-decoration: none;
  }
  a[href]:after {
    content: "(" attr(href) ")";
    font-size: 10pt;
    margin-left: 9pt;
  }
  @supports (margin-block: 1em) {
    a[href]:after {
      margin-left: unset;
      -webkit-margin-start: 9pt;
      margin-inline-start: 9pt;
    }
  }
  a[href^="/"]:after {
    content: " (https://www.aaron-gustafson.com" attr(href) ")";
  }
  a[href^="#"]:after, a[href^="mailto:"]:after, a[href^="tel:"]:after {
    display: none;
  }
}
/*------------------------------------*\
		Text-level semantics
\*------------------------------------*/
abbr {
  cursor: help;
  text-decoration: inherit;
  border: 0;
}
abbr[title] {
  border: 0;
}

mark {
  background: transparent;
  color: #2c2825;
  color: inherit;
  font-weight: normal;
  font-weight: inherit;
  font-style: normal;
  font-style: inherit;
}

b {
  font-weight: inherit;
}

i {
  font-style: inherit;
}

sub,
sup {
  font-size: 12px;
  font-size: 0.75rem;
  font-style: inherit;
  font-weight: inherit;
  position: relative;
}

sub {
  bottom: -1em;
}
@supports (margin-block: 1em) {
  sub {
    bottom: unset;
    inset-block-end: -1em;
  }
}

sup {
  bottom: 1em;
}
@supports (margin-block: 1em) {
  sup {
    bottom: unset;
    inset-block-end: 1em;
  }
}

time {
  white-space: nowrap;
}

small {
  font-size: 12px;
  font-size: 0.75rem;
  font-style: italic;
  display: block;
}

:target {
  background: #ffff93;
  outline: 15px solid #ffff93;
  color: #000;
}
html.dark-mode :target {
  background: #21210d;
  outline: 15px solid #21210d;
  color: #ddd;
}

.footnote-ref > a:target,
html.dark-mode .footnote-ref > a:target {
  background-color: inherit;
  outline: 0;
}

*:has(> .footnote-ref > a:target) {
  background: #ffff93;
  outline: 15px solid #ffff93;
  color: #000;
}
html.dark-mode *:has(> .footnote-ref > a:target) {
  background: #21210d;
  outline: 15px solid #21210d;
  color: #ddd;
}

/*------------------------------------*\
		Code styles
\*------------------------------------*/
code,
kbd {
  background-color: #2c2825;
  background-color: rgba(44, 40, 37, 0.9);
  border: 1px solid #fffcf4;
  border-radius: 3px;
  color: #fffcf4;
  font-family: Inconsolata, Consolas, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
  font-style: normal;
  font-size: 0.9em;
  padding: 0.05em 0.25em;
  text-shadow: none;
  white-space: nowrap;
}
@supports (margin-block: 1em) {
  code,
  kbd {
    border: unset;
    padding: unset;
    border-inline: 1px solid #fffcf4;
    border-block: 1px solid #fffcf4;
    padding-inline: 0.25em;
    padding-block: 0.05em;
  }
}

pre {
  background-color: #2c2825;
  border: 1px solid #ddd;
  border-radius: 3px;
  color: #2c2825;
  font-family: Inconsolata, Consolas, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
  font-style: normal;
  margin-left: auto;
  margin-right: auto;
  padding: 0.05em 0.25em;
  overflow-x: auto;
}
@supports (margin-block: 1em) {
  pre {
    border: unset;
    margin-left: unset;
    margin-right: unset;
    padding: unset;
    overflow-x: unset;
    border-inline: 1px solid #ddd;
    border-block: 1px solid #ddd;
    margin-inline: auto;
    padding-inline: 0.25em;
    padding-block: 0.05em;
    overflow-inline: auto;
  }
}
pre:focus {
  outline: 3px double #2c2825;
  overflow-x: scroll;
}
@supports (margin-block: 1em) {
  pre:focus {
    overflow-x: unset;
    overflow-inline: scroll;
  }
}
html.dark-mode pre:focus {
  outline-color: #fffcf4;
}
pre code {
  background: transparent;
  border: 0;
  padding: 0;
  white-space: pre;
}

@media screen and (max-width: 60em) {
  pre[class*=language-] {
    margin-left: -19px;
    margin-left: -1.1875rem;
    margin-right: -19px;
    margin-right: -1.1875rem;
  }
  @supports (margin-block: 1em) {
    pre[class*=language-] {
      margin-left: unset;
      margin-right: unset;
      margin-inline: -19px;
    }
  }
}
/*------------------------------------*\
		Media Elements
\*------------------------------------*/
object[data*=svg] {
  pointer-events: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
@supports (margin-block: 1em) {
  img {
    margin-left: unset;
    margin-right: unset;
    max-width: unset;
    height: unset;
    margin-inline: auto;
    block-size: auto;
    max-inline-size: 100%;
  }
}
img[style]:not([style*=view-transition]) {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
}
@supports (margin-block: 1em) {
  img[style]:not([style*=view-transition]) {
    width: unset;
    max-width: unset;
    height: unset;
    inline-size: auto !important;
    max-inline-size: 100% !important;
    block-size: auto !important;
  }
}
img[width] {
  width: auto;
}
@supports (margin-block: 1em) {
  img[width] {
    width: unset;
    inline-size: auto;
  }
}

picture {
  display: block;
}

.noscript-picture {
  margin: 0;
  padding: 0;
}

audio {
  width: 100%;
}
@supports (margin-block: 1em) {
  audio {
    width: unset;
    inline-size: 100%;
  }
}

.media-container {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@supports (margin-block: 1em) {
  .media-container {
    max-width: unset;
    margin-left: unset;
    margin-right: unset;
    max-inline-size: 100%;
    margin-inline: auto;
  }
}

figure {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@supports (margin-block: 1em) {
  figure {
    margin-left: unset;
    margin-right: unset;
    margin-inline: auto;
  }
}

figcaption {
  font-size: 18px;
  font-size: 1.125rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-style: italic;
  text-align: center;
  margin-top: 11px;
  margin-top: 0.6875rem;
}
@supports (margin-block: 1em) {
  figcaption {
    margin-top: unset;
    -webkit-margin-before: 0.6875rem;
    margin-block-start: 0.6875rem;
  }
}

footer ~ noscript img {
  width: 1px;
  height: 1px;
}
@supports (margin-block: 1em) {
  footer ~ noscript img {
    width: unset;
    height: unset;
    inline-size: 1px;
    block-size: 1px;
  }
}

@media screen and (min-width: 43.125em) {
  .media-container--right {
    float: right;
    max-width: 250px;
    margin-left: 22px;
    margin-left: 1.375rem;
    margin-right: 0;
  }
  @supports (margin-block: 1em) {
    .media-container--right {
      max-width: unset;
      margin-left: unset;
      margin-right: unset;
      float: inline-end;
      max-inline-size: 250px;
      -webkit-margin-start: 22;
      margin-inline-start: 22;
      -webkit-margin-end: 0;
      margin-inline-end: 0;
    }
  }
}
fullscreen-control.video-embed__video {
  overflow: scroll;
  position: relative;
  inline-size: 100%;
  aspect-ratio: 16/9;
  display: block;
}

/*------------------------------------*\
		Tables
\*------------------------------------*/
table {
  border-collapse: collapse;
  margin: 22px;
  margin: 0 0 1.375rem;
  width: 100%;
  min-width: 100px;
}
@supports (margin-block: 1em) {
  table {
    margin: unset;
    width: unset;
    min-width: unset;
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
    margin-inline: 0;
    block-size: 100%;
    min-inline-size: 100px;
  }
}
table thead {
  border-bottom: 3px solid #ddd;
  font-size: 14px;
  font-size: 0.875rem;
  text-transform: uppercase;
}
@supports (margin-block: 1em) {
  table thead {
    border-bottom-width: unset;
    border-block-end-width: 3px;
  }
}
table thead th {
  font-weight: bold;
}
table thead th p {
  font-weight: bold;
  display: inline;
  margin: 0;
}
table tbody {
  font-size: 14px;
  font-size: 0.875rem;
}
table tr {
  border-top: 1px solid #ddd;
}
@supports (margin-block: 1em) {
  table tr {
    border-top-width: unset;
    border-block-start-width: 1px;
  }
}
table td,
table th {
  font-weight: normal;
  text-align: left;
  padding: 15px;
  padding: 0.9375rem;
  padding-left: 0;
}
@supports (margin-block: 1em) {
  table td,
  table th {
    padding-left: unset;
    -webkit-padding-start: 0;
    padding-inline-start: 0;
  }
}
table td:last-child,
table th:last-child {
  padding-right: 0;
}
@supports (margin-block: 1em) {
  table td:last-child,
  table th:last-child {
    padding-right: unset;
    -webkit-padding-end: 0;
    padding-inline-end: 0;
  }
}
table td :last-child,
table th :last-child {
  margin-bottom: 0;
}
@supports (margin-block: 1em) {
  table td :last-child,
  table th :last-child {
    margin-bottom: unset;
    -webkit-margin-after: 0;
    margin-block-end: 0;
  }
}
table td[colspan],
table th[colspan] {
  font-weight: bold;
}

@media screen and (max-width: 770px) {
  .layout-container__primary table {
    border: 0;
    padding-bottom: 0;
    display: block;
    width: 100%;
  }
  @supports (margin-block: 1em) {
    .layout-container__primary table {
      padding-bottom: unset;
      width: unset;
      inline-size: 100%;
      -webkit-padding-after: 0;
      padding-block-end: 0;
    }
  }
  .layout-container__primary table caption {
    display: block;
  }
  .layout-container__primary table thead {
    display: none;
  }
  .layout-container__primary table tbody,
  .layout-container__primary table tr,
  .layout-container__primary table th,
  .layout-container__primary table td {
    border: 0;
    display: block;
    padding: 0;
    text-align: left;
  }
  .layout-container__primary table tr {
    margin: 22px;
    margin: 0 0 1.375rem;
  }
  @supports (margin-block: 1em) {
    .layout-container__primary table tr {
      margin: unset;
      -webkit-margin-after: 1.375rem;
      margin-block-end: 1.375rem;
      margin-inline: 0;
    }
  }
  .layout-container__primary table th[data-title]:before,
  .layout-container__primary table td[data-title]:before {
    content: attr(data-title) ": ";
    font-weight: bold;
  }
  .layout-container__primary table th:not([data-title]) {
    font-weight: bold;
  }
  .layout-container__primary table td:empty {
    display: none;
  }
}
@media screen and (min-width: 43.125em) {
  table.striped {
    background: #fffcf4;
  }
  table.striped thead {
    background: #ddd;
    border-bottom: 0;
  }
  @supports (margin-block: 1em) {
    table.striped thead {
      border-bottom-width: unset;
      border-block-end-width: 0;
    }
  }
  table.striped tbody tr {
    background: #fff;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
  }
  table.striped tbody tr:nth-child(even) {
    background: rgb(65.1, 61.5, 58.8);
  }
  table.striped tbody tr:hover {
    background: #fff;
  }
  table.striped th,
  table.striped td {
    border: 1px solid #ddd;
    padding: 15px;
    padding: 0.9375rem;
  }
  @supports (margin-block: 1em) {
    table.striped th,
    table.striped td {
      padding: unset;
      padding-block: 15;
      padding-inline: 15;
    }
  }
}
/*------------------------------------*\
	Form Styles
\*------------------------------------*/
form ul,
form ol {
  list-style: none;
}
form li {
  margin-bottom: 0.5em;
}
@supports (margin-block: 1em) {
  form li {
    margin-bottom: unset;
    -webkit-margin-after: 0.5em;
    margin-block-end: 0.5em;
  }
}

.fields__group {
  margin: 22px;
  margin: 0 0 1.375rem;
}
@supports (margin-block: 1em) {
  .fields__group {
    margin: unset;
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
    margin-inline: 0;
  }
}
.fields__group:last-child {
  margin: 0;
}
.fields__group label {
  font-weight: bold;
  display: block;
}
.fields__group input,
.fields__group select,
.fields__group textarea {
  color: #ddd;
  font-size: 16px;
  font-size: 1rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid;
  margin: 5px;
  margin: 0.3125rem 0;
  padding: 10px;
  padding: 0.625rem;
  -webkit-transition: background-color 0.25s ease, color 0.25s ease;
  transition: background-color 0.25s ease, color 0.25s ease;
}
@supports (margin-block: 1em) {
  .fields__group input,
  .fields__group select,
  .fields__group textarea {
    margin: unset;
    padding: unset;
    margin-block: 0.3125rem;
    margin-inline: 0;
    padding-block: 0.625rem;
    padding-inline: 0.625rem;
  }
}
.fields__group input,
.fields__group textarea {
  background: #fffcf4;
  color: #2c2825;
  display: block;
  width: 100%;
}
@supports (margin-block: 1em) {
  .fields__group input,
  .fields__group textarea {
    width: unset;
    inline-size: 100%;
  }
}
.fields__group input:focus,
.fields__group textarea:focus {
  background: #fffcf4;
}
html.dark-mode .fields__group input,
html.dark-mode .fields__group textarea {
  background: #ddd;
}
.fields__group textarea {
  height: 200px;
}
@supports (margin-block: 1em) {
  .fields__group textarea {
    height: unset;
    block-size: 200px;
  }
}
.fields__group input[type=search] {
  -webkit-appearance: textfield;
}
.fields__group select {
  font-size: 24px;
  font-size: 1.5rem;
  max-width: 100%;
}
@supports (margin-block: 1em) {
  .fields__group select {
    max-width: unset;
    max-inline-size: 100%;
  }
}
.fields__group__note {
  font-size: 14px;
  font-size: 0.875rem;
}
.fields__required {
  color: #f00;
  font-weight: normal;
}
.fields .validation-error input,
.fields .validation-error select,
.fields .validation-error textarea {
  color: #f00;
}

@media screen and (min-width: 43.125em) {
  input,
  textarea {
    width: 80%;
  }
  @supports (margin-block: 1em) {
    input,
    textarea {
      width: unset;
      inline-size: 80%;
    }
  }
  .fields__note {
    width: 80%;
  }
  @supports (margin-block: 1em) {
    .fields__note {
      width: unset;
      inline-size: 80%;
    }
  }
}
dialog {
  position: absolute;
  left: 0;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  margin: auto;
  border: 1px solid #fffcf4;
  padding: 1em;
  background: #fffcf4;
  color: #2c2825;
  display: block;
}
dialog::-webkit-backdrop {
  background: rgba(0, 0, 0, 0.6);
}
dialog::backdrop {
  background: rgba(0, 0, 0, 0.6);
}
html.dark-mode dialog {
  background: #454545;
  color: #fffcf4;
}
@supports (margin-block: 1em) {
  dialog {
    left: unset;
    right: unset;
    width: unset;
    height: unset;
    margin: unset;
    block-size: -webkit-fit-content;
    block-size: -moz-fit-content;
    block-size: fit-content;
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    inset-inline: 0;
    margin-block: auto;
    margin-inline: auto;
    padding-block: 1em;
    padding-inline: 1em;
  }
}

dialog:not([open]) {
  display: none;
}

dialog + .backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.1);
}
@supports (margin-block: 1em) {
  dialog + .backdrop {
    top: unset;
    right: unset;
    bottom: unset;
    left: unset;
    inset: 0;
  }
}

._dialog_overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
@supports (margin-block: 1em) {
  ._dialog_overlay {
    top: unset;
    right: unset;
    bottom: unset;
    left: unset;
    inset: 0;
  }
}

dialog.fixed {
  position: fixed;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
@supports (margin-block: 1em) {
  dialog.fixed {
    top: unset;
    inset-block-start: 50%;
  }
}

/*------------------------------------*\
    Animations
\*------------------------------------*/
@media not (prefers-reduced-motion: reduce) {
  .banner {
    view-transition-name: banner;
  }
  ::view-transition-old(banner),
  ::view-transition-new(banner) {
    -webkit-animation: none;
    animation: none;
  }
  [role=navigation] {
    view-transition-name: nav;
  }
  ::view-transition-old(nav),
  ::view-transition-new(nav) {
    -webkit-animation: none;
    animation: none;
  }
  .footer {
    view-transition-name: footer;
  }
  ::view-transition-old(footer),
  ::view-transition-new(footer) {
    -webkit-animation: none;
    animation: none;
  }
}
/* Firefox */
* {
  scrollbar-width: auto;
  scrollbar-color: #ddd transparent;
}

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 6px;
}
@supports (margin-block: 1em) {
  *::-webkit-scrollbar {
    width: unset;
    inline-size: 6px;
  }
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  background-color: #ddd;
  border-radius: 6px;
  border: 0px solid transparent;
}

html.dark-mode * {
  scrollbar-color: #2c2825 transparent;
}

/*------------------------------------*\
    $LAYOUT
  Page layout
\*------------------------------------*/
/*------------------------------------*\
		Grid
\*-------
-----------------------------*/
.layout-container {
  max-width: 100%;
  height: 1% 	;
  padding: 20px;
  padding: 0 1.25rem;
  margin: 0 auto;
  position: relative;
}
@supports (margin-block: 1em) {
  .layout-container {
    max-width: unset;
    padding: unset;
    margin: unset;
    padding-inline: 1.25rem;
    padding-block: 0;
    margin-block: 0;
    margin-inline: auto;
    max-inline-size: 100%;
  }
}
@media screen and (min-width: 60em) {
  .layout-container {
    padding: 0;
    max-width: 43.125em;
  }
  @supports (margin-block: 1em) {
    .layout-container {
      max-width: unset;
      max-inline-size: 43.125em;
    }
  }
  .layout-container--blog {
    max-width: 47em;
  }
  @supports (margin-block: 1em) {
    .layout-container--blog {
      max-width: unset;
      max-inline-size: 47em;
    }
  }
  .layout-container__primary {
    width: 74%;
    float: left;
  }
  @supports (margin-block: 1em) {
    .layout-container__primary {
      width: unset;
      inline-size: 74%;
      float: inline-start;
    }
  }
}

/*------------------------------------*\
Header
\*------------------------------------*/
.banner {
  text-align: center;
  margin: 0;
  position: relative;
  z-index: 1;
}
.banner * + * {
  margin: 0;
}
.banner .layout-container {
  max-width: 100%;
  padding: 0;
}
@supports (margin-block: 1em) {
  .banner .layout-container {
    max-width: unset;
    max-inline-size: 100%;
  }
}
.banner .site-title {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 48px;
  font-size: 3rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1.1;
  word-spacing: 0.25em;
  text-transform: uppercase;
}
.banner .site-title a {
  background: #505050;
  color: #ddd;
  border: 0;
  padding: 8px 22px;
  padding: 0.5rem 1.375rem;
  display: block;
}
@supports (margin-block: 1em) {
  .banner .site-title a {
    padding: unset;
    padding-block: 0.5rem;
    padding-inline: 1.375rem;
  }
}
.banner .site-title a:hover, .banner .site-title a:focus {
  background: #27831b;
  color: #fff;
}
.banner .site-subtitle {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 24px;
  font-size: 1.5rem;
  padding: 7px 5px;
  padding: 0.4375rem 0.3125rem;
}
@supports (margin-block: 1em) {
  .banner .site-subtitle {
    padding: unset;
    padding-block: 7px;
    padding-block: 0.4375rem;
    padding-inline: 5px;
    padding-inline: 0.3125rem;
  }
}

.alert {
  background: #2c2825;
  color: #fff;
  margin: 22px;
  margin: 0 0 1.375rem;
  padding: 7px 5px;
  padding: 0.4375rem 0.3125rem;
  text-align: center;
}
@supports (margin-block: 1em) {
  .alert {
    margin: unset;
    padding: unset;
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
    margin-inline: 0;
    padding-block: 0.4375rem;
    padding-inline: 0.3125rem;
  }
}
.alert a {
  -webkit-text-decoration-color: inherit;
  text-decoration-color: inherit;
  color: inherit;
}
.alert strong {
  font-weight: normal;
}
.alert + header {
  margin-top: 0;
}
@supports (margin-block: 1em) {
  .alert + header {
    margin-top: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}
.alert + header .site-title,
.alert + header .site-subtitle {
  margin-bottom: 11px;
  margin-bottom: 0.6875rem;
}
@supports (margin-block: 1em) {
  .alert + header .site-title,
  .alert + header .site-subtitle {
    margin-bottom: unset;
    -webkit-margin-after: 0.6875rem;
    margin-block-end: 0.6875rem;
  }
}

.site-title a {
  text-decoration: none;
}

/*------------------------------------*\
    Main
\*------------------------------------*/
/*------------------------------------*\
Navigation
\*------------------------------------*/
[role=navigation] {
  text-align: center;
  padding-bottom: 22px;
  padding-bottom: 1.375rem;
}
[role=navigation] p {
  margin: 0;
}
[role=navigation] a {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
  display: block;
  padding: 0.5em 1em;
}
@supports (margin-block: 1em) {
  [role=navigation] a {
    padding: unset;
    padding-block: 0.5em;
    padding-inline: 1em;
  }
}

.main-navigation__link {
  text-decoration: none;
}
.main-navigation__link:hover, .main-navigation__link:focus, .main-navigation__link:active, mark .main-navigation__link {
  background-color: rgb(35.1, 117.9, 24.3);
  color: #fff;
}
html.dark-mode .main-navigation__link:hover, html.dark-mode .main-navigation__link:focus, html.dark-mode .main-navigation__link:active, html.dark-mode mark .main-navigation__link {
  background-color: rgb(0, 121, 157);
  color: #fff;
}
[role=navigation] .main-navigation__link--search {
  display: none;
}

.form--search [type=search] {
  font-size: 18px;
  font-size: 1.125rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid;
  border-radius: 3px;
  margin: 5px;
  margin: 0 0.3125rem 0 0;
}
@supports (margin-block: 1em) {
  .form--search [type=search] {
    margin: 0;
    -webkit-margin-end: 5px;
    margin-inline-end: 5px;
  }
}
.form--search button {
  font-weight: bold;
  font-size: 14px;
  font-size: 0.875rem;
}

@supports ((display: -webkit-flex) or (display: flex)) {
  [role=search] {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
  }
  @supports (margin-block: 1em) {
    [role=search] {
      width: unset;
      inline-size: 100%;
    }
  }
}
@media screen and (min-width: 43.125em) {
  [role=navigation] {
    background: #27831b;
    color: #fffcf4;
    padding-bottom: 0;
  }
  @supports (margin-block: 1em) {
    [role=navigation] {
      padding-bottom: unset;
      -webkit-padding-after: 0;
      padding-block-end: 0;
    }
  }
  [role=navigation] .layout-container {
    position: relative;
  }
  [role=navigation] a:link,
  [role=navigation] a:visited,
  [role=navigation] a:hover,
  [role=navigation] a:focus,
  [role=navigation] a:active {
    color: #fff;
    color: inherit;
  }
  html.dark-mode [role=navigation] {
    background: #9ee6ff;
    color: #454545;
  }
  html.dark-mode [role=navigation] a:link,
  html.dark-mode [role=navigation] a:visited {
    color: #454545;
  }
  html.dark-mode [role=navigation] a:hover,
  html.dark-mode [role=navigation] a:focus,
  html.dark-mode [role=navigation] a:active,
  html.dark-mode [role=navigation] mark a:link,
  html.dark-mode [role=navigation] mark a:visited {
    color: #fff;
  }
  .main-navigation {
    *zoom: 1;
  }
  .main-navigation::before, .main-navigation::after {
    content: " ";
    display: table;
  }
  .main-navigation::after {
    clear: both;
  }
  .main-navigation__item {
    float: left;
  }
  .main-navigation__item:first-child {
    margin-left: -0.5em;
  }
  .main-navigation__item:last-child {
    margin-right: -0.5em;
  }
  @supports (margin-block: 1em) {
    .main-navigation__item {
      float: inline-start;
    }
    .main-navigation__item:first-child {
      margin-left: unset;
      -webkit-margin-start: -0.5em;
      margin-inline-start: -0.5em;
    }
    .main-navigation__item:last-child {
      margin-right: unset;
      -webkit-margin-end: -0.5em;
      margin-inline-end: -0.5em;
    }
  }
  [role=navigation] .main-navigation__link {
    padding: 0.2em 0.75em;
    position: relative;
  }
  @supports (margin-block: 1em) {
    [role=navigation] .main-navigation__link {
      padding: unset;
      padding-block: 0.2em;
      padding-inline: 0.75em;
    }
  }
  [role=navigation] .main-navigation__link--search {
    display: block;
  }
  [role=navigation] .main-navigation__link::after {
    content: "";
    background: rgb(31.2, 104.8, 21.6);
    display: block;
    height: 3px;
    width: 100%;
    -webkit-transition: -webkit-transform 0.25s;
    transition: -webkit-transform 0.25s;
    transition: transform 0.25s;
    transition: transform 0.25s, -webkit-transform 0.25s;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    position: absolute;
    top: 100%;
    left: 0;
  }
  @supports (margin-block: 1em) {
    [role=navigation] .main-navigation__link::after {
      height: unset;
      width: unset;
      top: unset;
      left: unset;
      block-size: 2px;
      inline-size: 100%;
      inset-block-start: 100%;
      inset-inline-start: 0;
    }
  }
  [role=navigation] .main-navigation__link:hover::after, [role=navigation] .main-navigation__link:focus::after {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }
  /*
  .form--search {
  	margin: 0;
  	overflow: hidden;
  	box-sizing: content-box;

  	height: 0;
  	padding-bottom: 0;

  	transition: height .25s, padding-bottom .25s;

  	&:target,
  	&.toggleable--open {
  		height: auto;
  		padding-bottom: .5em;
  	}

  }

  [role=search] {
  	@include breakup-placeholder( clearfix );
  }
  .form-control--search {
  	@include rem( margin, 0 5 0 0 );
  	width: 70%;

  	input[type=search] {
  		width: 100%;
  		margin: 0;
  	}

  }
  */
  @supports ((display: -webkit-flex) or (display: flex)) {
    .alert {
      margin-bottom: 0;
    }
    @supports (margin-block: 1em) {
      .alert {
        margin-bottom: unset;
        -webkit-margin-after: 0;
        margin-block-end: 0;
      }
    }
    [role=navigation] {
      margin-top: 0;
    }
    @supports (margin-block: 1em) {
      [role=navigation] {
        margin-top: unset;
        -webkit-margin-before: 0;
        margin-block-start: 0;
      }
    }
    .main-navigation {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .main-navigation__item {
      float: none;
    }
  }
}
/*------------------------------------*\
		Footer
\*------------------------------------*/
.footer {
  font-size: 14px;
  font-size: 0.875rem;
  text-align: center;
  padding-bottom: 22px;
  padding-bottom: 1.375rem;
}
@supports (margin-block: 1em) {
  .footer {
    padding-bottom: unset;
    -webkit-padding-after: 1.375rem;
    padding-block-end: 1.375rem;
  }
}
.footer p {
  margin: 0;
}
.footer::before {
  content: "";
  display: block;
  border: 0;
  border-top: 1px solid #ddd;
  height: 0;
  margin: 22px;
  margin: 1.375rem auto;
}
@supports (margin-block: 1em) {
  .footer::before {
    margin: unset;
    border-top: unset;
    height: unset;
    margin-block: 1.375rem;
    margin-inline: auto;
    -webkit-border-before: 1px solid #ddd;
    border-block-start: 1px solid #ddd;
    block-size: 0;
  }
}

@media screen and (min-width: 60em) {
  .footer .layout-container {
    max-width: 100%;
  }
  @supports (margin-block: 1em) {
    .footer .layout-container {
      max-width: unset;
      max-inline-size: 100%;
    }
  }
}
/*------------------------------------*\
		Print Layout stuff
\*------------------------------------*/
@media print {
  @page {
    margin: 0.75in;
    padding: 0;
  }
  * {
    background: transparent;
  }
  body {
    background: #fffcf4;
    color: #2c2825;
    font-size: 12pt;
    margin: 0;
    position: relative;
  }
  section,
  [role=contentinfo] {
    border-top: 1px solid;
    margin: 2em 0 0;
    padding: 2em 0 0;
  }
  nav,
  button,
  .button,
  .nav-jump,
  .pagination,
  .footer__fork-me,
  .footer__copyright b {
    display: none;
  }
  b#license {
    display: block;
  }
  input[type=submit] {
    display: none;
  }
}
/*------------------------------------*\
    $COMPONENTS
  Interface patterns
\*------------------------------------*/
/*------------------------------------*\
		Media Query Watcher (for JS)
\*------------------------------------*/
@media screen and (min-width: 20em) {
  #getActiveMQ-watcher {
    font-family: "tiny";
  }
}
@media screen and (min-width: 28.75em) {
  #getActiveMQ-watcher {
    font-family: "small";
  }
}
@media screen and (min-width: 43.125em) {
  #getActiveMQ-watcher {
    font-family: "medium";
  }
}
@media screen and (min-width: 60em) {
  #getActiveMQ-watcher {
    font-family: "full";
  }
}
/*------------------------------------*\
    Modules
\*------------------------------------*/
.module__title {
  font-size: 24px;
  font-size: 1.5rem;
}
.module * + * {
  margin-top: 11px;
  margin-top: 0.6875rem;
}
@supports (margin-block: 1em) {
  .module * + * {
    margin-top: unset;
    -webkit-margin-before: 0.6875rem;
    margin-block-start: 0.6875rem;
  }
}

/*------------------------------------*\
Buttons
\*------------------------------------*/
button,
.button,
.button:link,
.button:visited {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: rgb(0, 121, 157);
  color: #fff;
  text-decoration: none;
  border: 1px solid #2c2825;
  border-radius: 3px;
  padding: 10px 15px;
  padding: 0.625rem 0.9375rem;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  -webkit-transition: background-color 0.25s ease, color 0.25s ease;
  transition: background-color 0.25s ease, color 0.25s ease;
}
@supports (margin-block: 1em) {
  button,
  .button,
  .button:link,
  .button:visited {
    padding: unset;
    padding-block: 10px;
    padding-inline: 15px;
  }
}
button:hover, button:focus,
.button:hover,
.button:focus,
.button:link:hover,
.button:link:focus,
.button:visited:hover,
.button:visited:focus {
  background: rgb(0, 108.9, 141.3);
}
button:focus-visible,
.button:focus-visible,
.button:link:focus-visible,
.button:visited:focus-visible {
  outline: 5px solid #062909;
}
button svg,
.button svg,
.button:link svg,
.button:visited svg {
  display: inline-block;
  height: 1em;
  margin-left: 0.15em;
}
button svg path,
.button svg path,
.button:link svg path,
.button:visited svg path {
  fill: #fff;
}
@supports (margin-block: 1em) {
  button svg,
  .button svg,
  .button:link svg,
  .button:visited svg {
    height: unset;
    margin-left: unset;
    -webkit-margin-start: 0.15em;
    margin-inline-start: 0.15em;
    block-size: 1em;
  }
}
button[disabled],
.button[disabled],
.button:link[disabled],
.button:visited[disabled] {
  background: #ddd;
  border-color: rgb(154.7, 154.7, 154.7);
  color: rgb(154.7, 154.7, 154.7);
  cursor: default;
}
button[disabled] svg path,
.button[disabled] svg path,
.button:link[disabled] svg path,
.button:visited[disabled] svg path {
  fill: rgb(154.7, 154.7, 154.7);
}
html.dark-mode button,
html.dark-mode .button,
html.dark-mode .button:link,
html.dark-mode .button:visited {
  background-color: #9ee6ff;
  color: #454545;
}
html.dark-mode button svg path,
html.dark-mode .button svg path,
html.dark-mode .button:link svg path,
html.dark-mode .button:visited svg path {
  fill: #454545;
}
html.dark-mode button:hover, html.dark-mode button:focus,
html.dark-mode .button:hover,
html.dark-mode .button:focus,
html.dark-mode .button:link:hover,
html.dark-mode .button:link:focus,
html.dark-mode .button:visited:hover,
html.dark-mode .button:visited:focus {
  background-color: #23fe06;
}

/*------------------------------------*\
  Listing
\*------------------------------------*/
.listing__item__title {
  font-size: 20px;
  font-size: 1.25rem;
}
.listing__item__meta {
  color: #505050;
  margin: 2px;
  margin: 0.125rem 0 0;
}
@supports (margin-block: 1em) {
  .listing__item__meta {
    margin: unset;
    margin-block: 0.125rem 0;
    margin-inline: 0;
  }
}
html.dark-mode .listing__item__meta {
  color: #ddd;
}
.listing__item__description {
  margin: 0;
}
.listing__item__content, .listing__item__link {
  margin-top: 0;
}
@supports (margin-block: 1em) {
  .listing__item__content, .listing__item__link {
    margin-top: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}
.listing--links .listing__item {
  margin: 0;
}
.listing--links .listing__item--link {
  margin-bottom: 11px;
  margin-bottom: 0.6875rem;
}
@supports (margin-block: 1em) {
  .listing--links .listing__item--link {
    margin-bottom: unset;
    -webkit-margin-after: 0.6875rem;
    margin-block-end: 0.6875rem;
  }
}
.listing--grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  grid-gap: 22px;
  grid-gap: 1.375rem;
}
.listing--minigrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  grid-gap: 22px;
  grid-gap: 1.375rem;
}
.listing--icons .listing__item {
  display: grid;
  grid-template-areas: "icon title" "icon meta";
  grid-template-columns: 3.5rem 1fr;
}
.listing--icons .listing__item + .listing__item {
  margin-top: 22px;
  margin-top: 1.375rem;
}
@supports (margin-block: 1em) {
  .listing--icons .listing__item + .listing__item {
    margin-top: unset;
    -webkit-margin-before: 1.375rem;
    margin-block-start: 1.375rem;
  }
}
.listing--icons .listing__item .listing__item__type {
  grid-area: icon;
}
.listing--icons .listing__item .listing__item__type svg {
  width: 24px;
  height: auto;
  max-height: 24px;
}
@supports (margin-block: 1em) {
  .listing--icons .listing__item .listing__item__type svg {
    width: unset;
    height: unset;
    max-height: unset;
    inline-size: 24px;
    block-size: auto;
    max-block-size: 24px;
  }
}
.listing--icons .listing__item .listing__item__title {
  grid-area: title;
  margin-top: 0;
}
@supports (margin-block: 1em) {
  .listing--icons .listing__item .listing__item__title {
    margin-top: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}
.listing--icons .listing__item .listing__item__meta {
  grid-area: meta;
}

@media screen and (min-width: 43.125em) {
  .listing--gallery {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .listing--gallery figcaption {
    margin-top: 0;
  }
  @supports (margin-block: 1em) {
    .listing--gallery figcaption {
      margin-top: unset;
      -webkit-margin-before: 0;
      margin-block-start: 0;
    }
  }
  .listing--gallery .listing__item {
    /* 1/3 width with a 20px gap (fudged) */
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 -webkit-calc(50% - 0.875rem);
    -ms-flex: 0 0 calc(50% - 0.875rem);
    flex: 0 0 calc(50% - 0.875rem);
    margin-bottom: 22px;
    margin-bottom: 1.375rem;
    margin-top: 0;
  }
  .listing--gallery .listing__item:nth-child(2n+1) {
    margin-right: 22px;
    margin-right: 1.375rem;
  }
  @supports (margin-block: 1em) {
    .listing--gallery .listing__item {
      margin-bottom: unset;
      margin-top: unset;
      margin-block: 1.375rem 0;
    }
    .listing--gallery .listing__item:nth-child(2n+1) {
      margin-right: unset;
      -webkit-margin-end: 1.375rem;
      margin-inline-end: 1.375rem;
    }
  }
}
@media screen and (min-width: 60em) {
  .listing--gallery,
  .listing--grid,
  .listing--minigrid,
  .listing--icons {
    margin: 20px -56px;
    margin: 1.25rem -3.5rem 0;
  }
  @supports (margin-block: 1em) {
    .listing--gallery,
    .listing--grid,
    .listing--minigrid,
    .listing--icons {
      margin: unset;
      margin-block: 1.25rem 0;
      margin-inline: -3.5rem;
    }
  }
}
/*------------------------------------*\
		Media Elements
\*------------------------------------*/
.figure {
  margin: 22px;
  margin: 1.375rem auto;
}
@supports (margin-block: 1em) {
  .figure {
    margin: unset;
    margin-block: 1.375rem;
    margin-inline: auto;
  }
}

fullscreen-control > button {
  inset-block-start: -23px;
  inset-inline-end: -1px;
  margin: 0;
}

.entry__thumbnail {
  float: left;
  margin-right: 2rem;
  width: 100px;
  height: 100px;
}
@supports (margin-block: 1em) {
  .entry__thumbnail {
    margin-right: unset;
    width: unset;
    height: unset;
    float: inline-start;
    -webkit-margin-end: 2rem;
    margin-inline-end: 2rem;
    inline-size: 100px;
    block-size: 100px;
  }
}

.entry__hero {
  display: block;
  position: relative;
}

.entry__hero__credit {
  position: absolute;
  bottom: 0;
  left: 0;
  background: black;
  color: white;
  font-size: x-small;
  padding: 0.25rem 0.5rem;
  font-weight: bold;
  font-style: normal;
}
@supports (margin-block: 1em) {
  .entry__hero__credit {
    bottom: unset;
    left: unset;
    padding: unset;
    padding-inline: 0.5rem;
    padding-block: 0.25rem;
    inset-block-end: 0;
    inset-inline-start: 0;
  }
}
.entry__hero__credit a,
.entry__hero__credit a:hover,
.entry__hero__credit a:focus,
.entry__hero__credit a:visited {
  background-image: none;
  color: inherit;
  text-shadow: none;
  text-decoration: underline;
}

@media screen and (max-width: 60em) {
  .entry__hero__image {
    margin-top: 0 !important;
  }
  @supports (margin-block: 1em) {
    .entry__hero__image {
      margin-top: unset !important;
      -webkit-margin-before: 0;
      margin-block-start: 0;
    }
  }
}
@media screen and (min-width: 60em) {
  .entry__hero:not(.entry__hero--landscape) {
    cursor: ns-resize;
    overflow: hidden;
    max-height: 391px;
    min-height: 391px;
    -webkit-transition: max-height 0.5s ease-in, max-block-size 0.5s ease-in;
    transition: max-height 0.5s ease-in, max-block-size 0.5s ease-in;
    will-change: max-height max-block-size transition;
  }
  @supports (margin-block: 1em) {
    .entry__hero:not(.entry__hero--landscape) {
      max-height: unset;
      min-height: unset;
      max-block-size: 391px;
      min-block-size: 391px;
    }
  }
  .entry__hero:not(.entry__hero--landscape):hover {
    max-height: 695px;
    height: 100%;
    -webkit-transition: max-height 0.5s ease-in, max-block-size 0.5s ease-in;
    transition: max-height 0.5s ease-in, max-block-size 0.5s ease-in;
  }
  @supports (margin-block: 1em) {
    .entry__hero:not(.entry__hero--landscape):hover {
      max-height: unset;
      height: unset;
      max-block-size: 695px;
      block-size: 100%;
    }
  }
  .entry__hero:not(.entry__hero--landscape):hover .entry__hero__image {
    -webkit-transition: margin-top 0.5s, max-block-size 0.5s;
    transition: margin-top 0.5s, max-block-size 0.5s;
    margin-top: 0 !important;
  }
  @supports (margin-block: 1em) {
    .entry__hero:not(.entry__hero--landscape):hover .entry__hero__image {
      margin-top: unset !important;
      -webkit-margin-before: 0;
      margin-block-start: 0;
    }
  }
  .entry__hero__image {
    will-change: margin-top max-block-size;
    -webkit-transition: margin-top 0.5s, max-block-size 0.5s;
    transition: margin-top 0.5s, max-block-size 0.5s;
  }
}
/*------------------------------------*\
		Embeds
\*------------------------------------*/
.embed {
  margin-left: auto;
  margin-right: auto;
}
@supports (margin-block: 1em) {
  .embed {
    margin-left: unset;
    margin-right: unset;
    margin-inline: auto;
  }
}
.embed.tweet {
  max-width: 502px;
  max-width: 31.375rem;
}
@supports (margin-block: 1em) {
  .embed.tweet {
    max-width: unset;
    max-inline-size: 31.375rem;
  }
}

/*------------------------------------*\
    Webmentions
\*------------------------------------*/
.video-embed {
  border: 1px solid #ddd;
  height: 0;
  overflow: hidden;
  position: relative;
}
@supports (margin-block: 1em) {
  .video-embed {
    height: unset;
    block-size: 0;
  }
}
.video-embed__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@supports (margin-block: 1em) {
  .video-embed__video {
    top: unset;
    left: unset;
    width: unset;
    height: unset;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 100%;
  }
}
.video-embed--16x9 {
  padding-bottom: 56.25%; /* 9/16*100 */
}
@supports (margin-block: 1em) {
  .video-embed--16x9 {
    padding-bottom: unset;
    -webkit-padding-after: 56.25%;
    padding-block-end: 56.25%;
  }
}
.video-embed--4x3 {
  padding-bottom: 75%; /* 3/4*100 */
}
@supports (margin-block: 1em) {
  .video-embed--4x3 {
    padding-bottom: unset;
    -webkit-padding-after: 75%;
    padding-block-end: 75%;
  }
}
.video-embed--1x1 {
  padding-bottom: 100%;
}
@supports (margin-block: 1em) {
  .video-embed--1x1 {
    padding-bottom: unset;
    -webkit-padding-after: 100%;
    padding-block-end: 100%;
  }
}
.video-embed__lazy-link:link, .video-embed__lazy-link:visited {
  background: #2c2825 center center no-repeat;
  background-size: cover;
  color: #ddd;
  text-decoration: none;
  text-align: left;
  text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
  vertical-align: top;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
}
@supports (margin-block: 1em) {
  .video-embed__lazy-link:link, .video-embed__lazy-link:visited {
    width: unset;
    height: unset;
    inline-size: 100%;
    block-size: 100%;
  }
}
.video-embed__lazy-link:link:hover, .video-embed__lazy-link:link:focus, .video-embed__lazy-link:visited:hover, .video-embed__lazy-link:visited:focus {
  text-decoration: none;
  color: #fff;
}
.video-embed__lazy-info {
  background: #2c2825;
  background-color: rgba(44, 40, 37, 0.9);
  margin: 0;
  padding: 11px;
  padding: 0.6875rem;
  text-shadow: none;
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
}
@supports (margin-block: 1em) {
  .video-embed__lazy-info {
    padding: unset;
    top: unset;
    left: unset;
    right: unset;
    padding-block: 0.6875rem;
    padding-inline: 0.6875rem;
    inset-block-start: -1px;
    inset-inline: -1px;
  }
}

/*------------------------------------*\
		Footnotes
\*------------------------------------*/
a.footnote {
  display: inline-block;
  padding: 0.5em 1em;
  margin: -0.5em -1em;
}
@supports (margin-block: 1em) {
  a.footnote {
    padding: unset;
    margin: unset;
    padding-block: 0.5em;
    padding-inline: 1em;
    margin-block: -0.5em;
    margin-inline: -1em;
  }
}
a.footnote-ref:target {
  outline: 0;
}

.footnotes ol {
  font-size: 14px;
  font-size: 0.875rem;
  margin-left: 0;
  padding-left: 2em;
}
@supports (margin-block: 1em) {
  .footnotes ol {
    margin-left: unset;
    padding-left: unset;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
    -webkit-padding-start: 2em;
    padding-inline-start: 2em;
  }
}
.footnotes a[rev=footnote] {
  margin-left: 0.5em;
}
@supports (margin-block: 1em) {
  .footnotes a[rev=footnote] {
    margin-left: unset;
    -webkit-margin-start: 0.5em;
    margin-inline-start: 0.5em;
  }
}
.footnotes .footnote-item + .footnote-item {
  margin-top: 22px;
  margin-top: 1.375rem;
}
@supports (margin-block: 1em) {
  .footnotes .footnote-item + .footnote-item {
    -webkit-margin-before: 22px;
    margin-block-start: 22px;
    -webkit-margin-before: 1.375rem;
    margin-block-start: 1.375rem;
  }
}

/*------------------------------------*\
		Events
\*------------------------------------*/
.event__content {
  margin-top: 2px;
  margin-top: 0.125rem;
}
@supports (margin-block: 1em) {
  .event__content {
    margin-top: unset;
    -webkit-margin-before: 0.125rem;
    margin-block-start: 0.125rem;
  }
}
.event__location {
  display: block;
  margin-top: 0;
}
@supports (margin-block: 1em) {
  .event__location {
    margin-top: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}

/*------------------------------------*\
		Anchorable
\*------------------------------------*/
.talk__event + .talk__event {
  margin-top: 11px;
  margin-top: 0.6875rem;
}
@supports (margin-block: 1em) {
  .talk__event + .talk__event {
    margin-top: unset;
    -webkit-margin-before: 11px;
    margin-block-start: 11px;
    -webkit-margin-before: 0.6875rem;
    margin-block-start: 0.6875rem;
  }
}
.talk__event__title {
  display: block;
  font-weight: bold;
}
.talk__event__with {
  display: block;
  margin: 0;
}
.talk .subsection__header {
  margin-top: 66px;
  margin-top: 4.125rem;
}
@supports (margin-block: 1em) {
  .talk .subsection__header {
    margin-top: unset;
    -webkit-margin-before: 66px;
    margin-block-start: 66px;
    -webkit-margin-before: 4.125rem;
    margin-block-start: 4.125rem;
  }
}
.talk__slides {
  margin-bottom: 66px;
  margin-bottom: 4.125rem;
}
@supports (margin-block: 1em) {
  .talk__slides {
    margin-bottom: unset;
    -webkit-margin-after: 66px;
    margin-block-end: 66px;
    -webkit-margin-after: 4.125rem;
    margin-block-end: 4.125rem;
  }
}

/*------------------------------------*\
Blog Entry
\*------------------------------------*/
.entry {
  margin: 22px;
  margin: 0 0 1.375rem;
}
@supports (margin-block: 1em) {
  .entry {
    margin: unset;
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
    margin-inline: 0;
  }
}
.entry__meta {
  font-size: 14px;
  font-size: 0.875rem;
  color: #505050;
  padding: 0;
}
html.dark-mode .entry__meta {
  color: #ddd;
}
.entry__meta dl {
  padding: 0;
}
.entry__meta dt {
  font-family: Cambria, Georgia, serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.3;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid-column;
}
.entry__meta button {
  margin-top: 6px;
  margin-top: 0.375rem;
}
@supports (margin-block: 1em) {
  .entry__meta button {
    margin-top: unset;
    -webkit-margin-before: 0.375rem;
    margin-block-start: 0.375rem;
  }
}
.entry__jump-links {
  margin-top: 0;
}
@supports (margin-block: 1em) {
  .entry__jump-links {
    margin-top: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}
.entry__jump {
  margin: 0;
}
.entry {
  /*&__content aside,
   &__footer {
     border-top: 1px solid $color-rule;
     @include rem( padding-top, $default-spacing );
   }*/
}
.entry__footer hr {
  display: none;
}
.entry--teaser .entry__title {
  width: auto;
}
@supports (margin-block: 1em) {
  .entry--teaser .entry__title {
    width: unset;
    inline-size: auto;
  }
}
.entry__thumbnail {
  margin: 0;
  margin-right: 1em;
  width: 100px;
  height: 100px;
  max-width: 100px;
  -o-object-fit: cover;
  object-fit: cover;
  position: relative;
  top: 0.25em;
}
@supports (margin-block: 1em) {
  .entry__thumbnail {
    width: unset;
    height: unset;
    margin-right: unset;
    top: unset;
    inline-size: 100px;
    block-size: 100px;
    max-inline-size: 100px;
    -webkit-margin-end: 1em;
    margin-inline-end: 1em;
    inset-block-start: 0.25em;
  }
}
.entry--teaser .entry__footer {
  border-top: 0;
  padding-top: 0;
}
@supports (margin-block: 1em) {
  .entry--teaser .entry__footer {
    border-top: unset;
    padding-top: unset;
    -webkit-border-before: 0;
    border-block-start: 0;
    -webkit-padding-before: 0;
    padding-block-start: 0;
  }
}
.entry__content > ul {
  margin-left: 1.2rem;
}
@supports (margin-inline: 1em) {
  .entry__content > ul {
    margin-left: unset;
    -webkit-margin-start: 1.2rem;
    margin-inline-start: 1.2rem;
  }
}
.entry__content > blockquote {
  padding: 0 1.5rem;
}
@supports (padding-block: 1em) {
  .entry__content > blockquote {
    padding: unset;
    padding-block: 0;
    padding-inline: 1.5rem;
  }
}
.entry__content hr {
  max-width: 220px;
  max-width: 13.75rem;
}
@supports (max-inline-size: 1em) {
  .entry__content hr {
    max-width: unset;
    max-inline-size: 13.75rem;
  }
}
.entry__related .entry:first-of-type {
  margin-top: 22px;
  margin-top: 1.375rem;
}
@supports (margin-block: 1em) {
  .entry__related .entry:first-of-type {
    margin-top: unset;
    -webkit-margin-before: 1.375rem;
    margin-block-start: 1.375rem;
  }
}
.entry__series {
  font-size: 14px;
  font-size: 0.875rem;
}
.entry--excerpt {
  content-visibility: auto;
  contain-intrinsic-height: auto 300px;
}
.entry--excerpt .entry__title {
  font-size: 48px;
  font-size: 3rem;
  text-decoration: none;
}
.entry--excerpt .entry__meta {
  display: none;
}
.entry--page {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 400px;
}
@supports (margin-block: 1em) {
  .entry--page {
    min-height: unset;
    min-block-size: 400px;
  }
}
.entry--page .entry__header,
.entry--page .entry__content {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}
.entry--page > .entry__meta {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
  border-top: 1px solid #ddd;
  margin-top: 22px;
  margin-top: 1.375rem;
  padding-top: 22px;
  padding-top: 1.375rem;
}
@supports (margin-block: 1em) {
  .entry--page > .entry__meta {
    border-top: unset;
    margin-top: unset;
    padding-top: unset;
    -webkit-border-before: 1px solid #ddd;
    border-block-start: 1px solid #ddd;
    -webkit-margin-before: 1.375rem;
    margin-block-start: 1.375rem;
    -webkit-padding-before: 1.375rem;
    padding-block-start: 1.375rem;
  }
}
.entry--page > * {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3;
}
.entry--teaser {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: top;
  -webkit-align-items: top;
  -ms-flex-align: top;
  align-items: top;
}
.entry--teaser + .entry--teaser {
  margin-top: 44px;
  margin-top: 2.75rem;
}
@supports (margin-block: 1em) {
  .entry--teaser + .entry--teaser {
    margin-top: unset;
    -webkit-margin-before: 2.75rem;
    margin-block-start: 2.75rem;
  }
}
.entry--teaser .entry__type {
  background-color: rgb(31.2, 104.8, 21.6);
  border-radius: 100%;
  width: 24px;
  height: 24px;
  padding: 10px;
}
@supports (margin-block: 1em) {
  .entry--teaser .entry__type {
    width: unset;
    height: unset;
    padding: unset;
    block-size: 24px;
    inline-size: 24px;
    padding-block: 10px;
    padding-inline: 10px;
  }
}
.entry--teaser .entry__type svg {
  width: 24px;
  max-height: 24px;
}
@supports (margin-block: 1em) {
  .entry--teaser .entry__type svg {
    width: unset;
    max-height: unset;
    max-block-size: 24px;
    inline-size: 24px;
  }
}
.entry--teaser .entry__type path {
  fill: #fff;
}
.entry--teaser .entry__details {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin: 15px;
  margin: 0 0 0 0.9375rem;
}
@supports (margin-block: 1em) {
  .entry--teaser .entry__details {
    margin: 0;
    -webkit-margin-start: 0.9375rem;
    margin-inline-start: 0.9375rem;
  }
}
.entry--teaser .entry__meta {
  font-size: 18px;
  font-size: 1.125rem;
  -webkit-column-count: 1;
  -moz-column-count: 1;
  column-count: 1;
  margin-top: 0;
}
@supports (margin-block: 1em) {
  .entry--teaser .entry__meta {
    margin-top: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}
.entry__related .entry--teaser .entry__meta {
  position: static;
}
.entry--teaser .entry__summary + .entry__meta {
  border-top: 1px solid #ddd;
  margin-top: 11px;
  margin-top: 0.6875rem;
  padding-top: 11px;
  padding-top: 0.6875rem;
  font-size: 13.5px;
  font-size: 0.84375rem;
  text-align: right;
}
@supports (margin-block: 1em) {
  .entry--teaser .entry__summary + .entry__meta {
    border-top: unset;
    padding-top: unset;
    margin-top: unset;
    -webkit-border-before: 1px solid #ddd;
    border-block-start: 1px solid #ddd;
    -webkit-margin-before: 0.6875rem;
    margin-block-start: 0.6875rem;
    -webkit-padding-before: 0.6875rem;
    padding-block-start: 0.6875rem;
  }
}

@supports ((-webkit-column-count: 2) or (-moz-column-count: 2) or (column-count: 2)) or (-moz-column-count: 2) {
  .entry__meta {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 22px;
    -moz-column-gap: 22px;
    column-gap: 22px;
    -webkit-column-gap: 1.375rem;
    -moz-column-gap: 1.375rem;
    column-gap: 1.375rem;
  }
  .entry__meta dd + dt {
    margin-top: 0;
  }
  @supports (margin-block: 1em) {
    .entry__meta dd + dt {
      margin-top: unset;
      -webkit-margin-before: 0;
      margin-block-start: 0;
    }
  }
  .entry__meta dd {
    padding-bottom: 22px;
    padding-bottom: 1.375rem;
  }
  @supports (margin-block: 1em) {
    .entry__meta dd {
      padding-bottom: unset;
      -webkit-padding-after: 1.375rem;
      padding-block-end: 1.375rem;
    }
  }
}
@media screen and (min-width: 60em) {
  .entry {
    position: relative;
  }
  .entry--page, .entry--excerpt {
    display: block;
    content-visibility: unset;
  }
  .entry--page > .entry__meta,
  .entry--page header > .entry__meta, .entry--excerpt > .entry__meta,
  .entry--excerpt header > .entry__meta {
    border-top: 0;
    border-left: 1px solid #ddd;
    padding: 0.2em 1em;
    margin-left: 1em;
    margin-top: 22px;
    margin-top: 1.375rem;
    width: 25%;
    position: absolute;
    left: 106%;
  }
  @supports (margin-block: 1em) {
    .entry--page > .entry__meta,
    .entry--page header > .entry__meta, .entry--excerpt > .entry__meta,
    .entry--excerpt header > .entry__meta {
      border-top: unset;
      border-left: unset;
      padding: unset;
      margin-left: unset;
      margin-top: unset;
      width: unset;
      left: unset;
      -webkit-border-before: 0;
      border-block-start: 0;
      -webkit-border-start: 1px solid #ddd;
      border-inline-start: 1px solid #ddd;
      padding-block: 0.2em;
      padding-inline: 1em;
      -webkit-margin-before: 1.375rem;
      margin-block-start: 1.375rem;
      -webkit-margin-start: 1em;
      margin-inline-start: 1em;
      inline-size: 25%;
      inset-inline-start: 106%;
    }
  }
  .entry--page > .entry__meta {
    margin-top: 0;
    top: 0;
    bottom: 0;
  }
  @supports (margin-block: 1em) {
    .entry--page > .entry__meta {
      margin-top: unset;
      top: unset;
      bottom: unset;
      -webkit-margin-before: 0;
      margin-block-start: 0;
      inset-block: 0;
    }
  }
  .entry--page > .entry__meta dl {
    position: -webkit-sticky;
    position: sticky;
    top: 5px;
  }
  @supports (margin-block: 1em) {
    .entry--page > .entry__meta dl {
      top: unset;
      inset-block-start: 5px;
    }
  }
  .entry--excerpt .entry__meta {
    display: block;
  }
  .entry__title {
    width: 134%;
  }
  @supports (margin-block: 1em) {
    .entry__title {
      width: unset;
      inline-size: 134%;
    }
  }
  .entry + .rule {
    position: relative;
    left: 68%;
    margin-left: -110px;
  }
  @supports (margin-block: 1em) {
    .entry + .rule {
      left: unset;
      margin-left: unset;
      inset-inline-start: 68%;
      -webkit-margin-start: -110px;
      margin-inline-start: -110px;
    }
  }
  .entry--with-hero .entry__content {
    position: relative;
    padding-left: 120px;
    padding-left: -webkit-calc(100px + 1rem);
    padding-left: calc(100px + 1rem);
    min-height: 120px;
  }
  @supports (margin-block: 1em) {
    .entry--with-hero .entry__content {
      padding-left: unset;
      min-height: unset;
      -webkit-padding-start: -webkit-calc(100px + 1rem);
      padding-inline-start: calc(100px + 1rem);
      min-block-size: 120px;
    }
  }
  .entry--with-hero .entry__content .entry__thumbnail {
    margin: 0;
    position: absolute;
    top: 0.25em;
    left: 0;
  }
  @supports (margin-block: 1em) {
    .entry--with-hero .entry__content .entry__thumbnail {
      top: unset;
      left: unset;
      inset-block-start: 0.25em;
      inset-inline-start: 0;
    }
  }
  @supports ((-webkit-column-count: 2) or (-moz-column-count: 2) or (column-count: 2)) or (-moz-column-count: 2) {
    .entry__meta {
      -webkit-column-count: 1;
      -moz-column-count: 1;
      column-count: 1;
    }
    .entry__meta dd + dt {
      margin-top: 22px;
      margin-top: 1.375rem;
    }
    @supports (margin-block: 1em) {
      .entry__meta dd + dt {
        margin-top: unset;
        -webkit-margin-before: 1.375rem;
        margin-block-start: 1.375rem;
      }
    }
    .entry__meta dd {
      padding-bottom: 0;
    }
    @supports (margin-block: 1em) {
      .entry__meta dd {
        padding-bottom: unset;
        -webkit-padding-after: 0;
        padding-block-end: 0;
      }
    }
  }
}
/*------------------------------------*\
Gist
\*------------------------------------*/
.gist {
  border: 1px solid #ddd;
  border-bottom: 0;
  border-radius: 3px 3px 0 0;
  font-size: 18px;
  font-size: 1.125rem;
  margin: 0;
  padding: 0.25em 0.5em;
}
@supports (margin-block: 1em) {
  .gist {
    border-bottom: unset;
    padding: unset;
    border-radius: unset;
    -webkit-border-after: 0;
    border-block-end: 0;
    border-start-start-radius: 3px;
    border-start-end-radius: 3px;
    padding-block: 0.25em;
    padding-inline: 0.5em;
  }
}

.gist_link {
  background: #2c2825;
  color: #fffcf4;
  border: 1px solid transparent;
  border-radius: 0 0 3px 3px;
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 0;
  padding: 0.25em 0.5em;
  text-align: right;
}
@supports (margin-block: 1em) {
  .gist_link {
    border-radius: unset;
    padding: unset;
    margin-top: unset;
    border-end-start-radius: 3px;
    border-end-end-radius: 3px;
    -webkit-margin-before: 0;
    margin-block-start: 0;
    padding-block: 0.25em;
    padding-inline: 0.5em;
  }
}
.gist_link a {
  color: #fffcf4;
  -webkit-text-decoration-color: #fffcf4;
  text-decoration-color: #fffcf4;
}

/*------------------------------------*\
		Rules
\*------------------------------------*/
.rule {
  max-width: 220px;
  max-width: 13.75rem;
}
@supports (max-inline-size: 1em) {
  .rule {
    max-width: unset;
    max-inline-size: 220px;
    max-inline-size: 13.75rem;
  }
}

@media screen and (min-width: 43.125em) {
  .rule--optional {
    display: none;
  }
}
/*------------------------------------*\
		Page
\*------------------------------------*/
.page__title {
  margin-bottom: 22px;
  margin-bottom: 1.375rem;
}
@supports (margin-block: 1em) {
  .page__title {
    margin-bottom: unset;
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
  }
}
.page__footer {
  border-top: 1px solid #ddd;
  padding-top: 22px;
  padding-top: 1.375rem;
}
@supports (margin-block: 1em) {
  .page__footer {
    border-top: unset;
    padding-top: unset;
    -webkit-border-before: 1px solid #ddd;
    border-block-start: 1px solid #ddd;
    -webkit-padding-before: 1.375rem;
    padding-block-start: 1.375rem;
  }
}

@media screen and (min-width: 43.125em) {
  @supports ((display: -webkit-flex) or (display: flex)) {
    body {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .alert,
    [role=banner] {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
      -ms-flex-order: 1;
      order: 1;
    }
    [role=navigation] {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
      -ms-flex-order: 2;
      order: 2;
    }
    [role=main] {
      -webkit-box-ordinal-group: 4;
      -webkit-order: 3;
      -ms-flex-order: 3;
      order: 3;
      -webkit-box-flex: 2;
      -webkit-flex: 2;
      -ms-flex: 2;
      flex: 2;
    }
    [role=contentinfo] {
      -webkit-box-ordinal-group: 5;
      -webkit-order: 4;
      -ms-flex-order: 4;
      order: 4;
    }
  }
}
/*------------------------------------*\
		Webmentions
\*------------------------------------*/
.webmentions {
  font-size: 16px;
  font-size: 1rem;
  margin-top: 11px;
  margin-top: 0.6875rem;
}
@supports (margin-block: 1em) {
  .webmentions {
    margin-top: unset;
    -webkit-margin-before: 0.6875rem;
    margin-block-start: 0.6875rem;
  }
}
.webmentions h2 {
  margin-top: 22px;
  margin-top: 1.375rem;
  margin-bottom: 11px;
  margin-bottom: 0.6875rem;
}
@supports (margin-block: 1em) {
  .webmentions h2 {
    margin-top: unset;
    margin-bottom: unset;
    margin-block: 1.375rem 0.6875rem;
  }
}
.webmentions__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.webmentions__item {
  clear: both;
  border-top: 1px solid #ddd;
  margin: 0;
  padding: 22px 22px 70px;
  padding: 1.375rem 0 1.375rem 4.375rem;
  min-height: 48px;
  min-height: 3rem;
  position: relative;
}
@supports (margin-block: 1em) {
  .webmentions__item {
    border-top: unset;
    padding: unset;
    min-height: unset;
    -webkit-border-before: 1px solid #ddd;
    border-block-start: 1px solid #ddd;
    padding-block: 1.375rem;
    padding-inline: 0;
    padding-inline: 4.375rem 0;
    min-block-size: 48;
  }
}
.webmentions__item:first-child {
  border-top: 0;
}
@supports (margin-block: 1em) {
  .webmentions__item:first-child {
    border-top: unset;
    -webkit-border-before: 0;
    border-block-start: 0;
  }
}

.webmention__author {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
}
.webmention__author__photo {
  background-color: #ddd;
  border-radius: 3px;
  display: block;
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
  position: absolute;
  top: 22px;
  top: 1.375rem;
  left: 0;
}
@supports (margin-block: 1em) {
  .webmention__author__photo {
    width: unset;
    height: unset;
    top: unset;
    left: unset;
    inline-size: 48px;
    inline-size: 3rem;
    block-size: 48px;
    block-size: 3rem;
    inset-block-start: 22;
    inset-inline-start: 0;
  }
}
.webmention__title, .webmention__content, .webmention__meta {
  margin: 0;
}
.webmention__meta {
  color: #505050;
  font-size: 14px;
  font-size: 0.875rem;
  text-align: right;
  text-align: end;
}
html.dark-mode .webmention__meta {
  color: #ddd;
}
.webmention--activity .webmention__author, .webmention--activity .webmention__title {
  display: inline;
}
.webmention--like, .webmention--repost {
  border: 0;
  display: inline;
  margin: 0 5px 0 0;
  padding: 0;
}
@supports (margin-block: 1em) {
  .webmention--like, .webmention--repost {
    margin: 0;
    -webkit-margin-end: 5px;
    margin-inline-end: 5px;
  }
}
.webmention--like .webmention__author, .webmention--repost .webmention__author {
  display: inline;
}
.webmention--like .webmention__author__photo, .webmention--repost .webmention__author__photo {
  border: 1px solid;
  border-radius: 50%;
  display: inline;
  max-width: 48px;
  margin: 0;
  position: static;
}
@supports (margin-block: 1em) {
  .webmention--like .webmention__author__photo, .webmention--repost .webmention__author__photo {
    max-width: unset;
    max-inline-size: 48px;
  }
}
.webmention--like .webmention__author .u-url, .webmention--repost .webmention__author .u-url {
  background-image: none !important;
  display: inline-block;
  width: 48px;
  height: 48px;
}

.webmentions__list[data-webmention-collection=likes], .webmentions__list[data-webmention-collection=reposts] {
  text-align: center;
}
.webmentions__list .webmention--like,
.webmentions__list .webmention--repost {
  margin-left: -0.5em;
  margin-right: -0.5em;
}
@supports (margin-block: 1em) {
  .webmentions__list .webmention--like,
  .webmentions__list .webmention--repost {
    margin-right: unset;
    margin-left: unset;
    margin-inline: -0.25em;
  }
}
.webmentions__list .webmention--like a.u-url img,
.webmentions__list .webmention--repost a.u-url img {
  -webkit-transition: border-width 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  transition: border-width 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, border-width 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, border-width 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  position: absolute;
}
.webmentions__list .webmention--like a.u-url:hover,
.webmentions__list .webmention--like a.u-url:focus,
.webmentions__list .webmention--repost a.u-url:hover,
.webmentions__list .webmention--repost a.u-url:focus {
  outline: none;
  position: relative;
}
.webmentions__list .webmention--like a.u-url:hover img,
.webmentions__list .webmention--like a.u-url:focus img,
.webmentions__list .webmention--repost a.u-url:hover img,
.webmentions__list .webmention--repost a.u-url:focus img {
  -webkit-transform: scale(1.25);
  -ms-transform: scale(1.25);
  transform: scale(1.25);
  border-width: 3px;
  z-index: 1;
}

/*------------------------------------*\
		Hero Shot
\*------------------------------------*/
.hero-shot {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@supports (margin-block: 1em) {
  .hero-shot {
    top: unset;
    left: unset;
    bottom: unset;
    right: unset;
    inset-block: 0;
    inset-inline: 0;
  }
}

/*------------------------------------*\
		Subsections
\*------------------------------------*/
.subsection__header {
  font-size: 18px;
  font-size: 1.125rem;
  text-align: center;
  text-transform: uppercase;
}
.subsection__header::before, .subsection__header::after {
  font-size: 0.75em;
  display: block;
}
.subsection__header::before {
  content: "✦ ✦ ✦";
  margin: 15px;
  margin: 0 0 0.9375rem;
}
@supports (margin-block: 1em) {
  .subsection__header::before {
    margin: 0;
    -webkit-margin-after: 0.9375rem;
    margin-block-end: 0.9375rem;
  }
}
.subsection__header::after {
  content: "✦ ✦ ✦";
  margin: 15px;
  margin: 0.9375rem 0 0;
}
@supports (margin-block: 1em) {
  .subsection__header::after {
    margin: 0;
    -webkit-margin-before: 0.9375rem;
    margin-block-start: 0.9375rem;
  }
}
.subsection__header b {
  white-space: nowrap;
}
@media screen and (min-width: 43.125em) {
  .subsection__header::before, .subsection__header::after {
    display: inline;
    position: relative;
    bottom: 0.125em;
    margin: 0;
  }
  @supports (margin-block: 1em) {
    .subsection__header::before, .subsection__header::after {
      bottom: unset;
      inset-block-end: 0.125em;
    }
  }
  .subsection__header::before {
    content: "✦ ✦ ✦  ";
  }
  .subsection__header::after {
    content: "  ✦ ✦ ✦";
  }
}

/*------------------------------------*\
		Pullquotes
\*------------------------------------*/
.quotable {
  display: block;
  font-size: 1.25em;
  margin: 33px 22px;
  margin: 2.0625rem 0 1.375rem;
  padding: 22px;
  padding: 1.375rem 0;
  border: solid #ddd;
  border-width: 2px 0;
  position: relative;
  margin-right: -25%;
}
@supports (margin-block: 1em) {
  .quotable {
    margin: unset;
    padding: unset;
    border-width: unset;
    margin-right: unset;
    margin-block: 2.0625rem 1.375rem;
    margin-inline: 0 -25%;
    padding-block: 1.375rem;
    padding-inline: 0;
    border-block-width: 2px;
    border-inline-width: 0;
  }
}
.quotable p::first-letter {
  text-transform: capitalize;
}
.quotable::before, .quotable::after {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  height: 0.9em;
  font-size: 2em;
}
@supports (margin-block: 1em) {
  .quotable::before, .quotable::after {
    left: unset;
    right: unset;
    height: unset;
    inset-inline: 0;
    inset-block-start: -0.5em;
    block-size: 0.9em;
  }
}
.quotable::before {
  content: "“";
}
.quotable::after {
  content: "”";
}

@media screen and (min-width: 43.125em) {
  .quotable {
    float: right;
    margin-left: 22px;
    margin-left: 1.375rem;
    width: 50%;
  }
  @supports (margin-block: 1em) {
    .quotable {
      margin-left: unset;
      width: unset;
      float: inline-end;
      -webkit-margin-start: 22;
      margin-inline-start: 22;
      inline-size: 50%;
    }
  }
}
/*------------------------------------*\
    Pagination
\*------------------------------------*/
.pagination {
  margin-bottom: 22px;
  margin-bottom: 1.375rem;
  text-align: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.pagination__pages {
  margin: 22px;
  margin: 0 1.375rem;
}
@supports (margin-block: 1em) {
  .pagination {
    margin-bottom: unset;
    -webkit-margin-after: 1.375rem;
    margin-block-end: 1.375rem;
  }
  .pagination__pages {
    margin: unset;
    margin-inline: 1.375rem;
  }
}

@media screen and (min-width: 43.125em) {
  .pagination {
    margin-left: 33%;
  }
  @supports (margin-block: 1em) {
    .pagination {
      margin-left: unset;
      -webkit-margin-start: 33%;
      margin-inline-start: 33%;
    }
  }
}
/*------------------------------------*\
		Share Links
\*------------------------------------*/
.social-links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
  gap: 0.5rem;
}
@supports (margin-block: 1em) {
  .social-links {
    margin: unset;
    margin-block: 0.5rem 0;
    margin-inline: 0;
  }
}
.social-links--share {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 0;
}
.social-links__item {
  margin: 0;
}

.social-link {
  background-color: #27831b;
  border-radius: 6px;
  border-radius: 0.375rem;
  display: inline-block;
  margin: 0 0.25em;
  margin-top: 11px;
  margin-top: 0.6875rem;
  padding: 4px 8px;
}
@supports (margin-block: 1em) {
  .social-link {
    margin: unset;
    margin-top: unset;
    padding: unset;
    margin-block: 0.6875rem 0;
    margin-inline: 0.25em;
    padding-block: 4px;
    padding-inline: 8px;
  }
}
.social-link:link, .social-link:visited, .social-link:hover, .social-link:focus, .social-link:active {
  color: #fff;
}
.social-link--facebook {
  background-color: #306199;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--facebook:hover, .social-link--facebook:focus, .social-link--facebook:active {
  background: rgb(38.4, 77.6, 122.4);
}
.social-link--facebook .social-link__icon {
  width: 21px;
  width: 1.3125rem;
  height: 21px;
  height: 1.3125rem;
  margin-top: 3px;
  margin-top: 0.1875rem;
}
@supports (margin-block: 1em) {
  .social-link--facebook .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.3125rem;
    block-size: 1.3125rem;
    margin-block: 0.1875rem;
  }
}
.social-link--linkedin {
  background-color: #007bb6;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--linkedin:hover, .social-link--linkedin:focus, .social-link--linkedin:active {
  background: rgb(0, 98.4, 145.6);
}
.social-link--linkedin .social-link__icon {
  width: 22px;
  width: 1.375rem;
  height: 22px;
  height: 1.375rem;
  margin-top: 3px;
  margin-top: 0.1875rem;
}
@supports (margin-block: 1em) {
  .social-link--linkedin .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.375rem;
    block-size: 1.375rem;
    margin-block: 0.1875rem;
  }
}
.social-link--pinterest {
  background-color: #b81621;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--pinterest:hover, .social-link--pinterest:focus, .social-link--pinterest:active {
  background: rgb(147.2, 17.6, 26.4);
}
.social-link--pinterest .social-link__icon {
  width: 22px;
  width: 1.375rem;
  height: 22px;
  height: 1.375rem;
  margin-top: 2px;
  margin-top: 0.125rem;
}
@supports (margin-block: 1em) {
  .social-link--pinterest .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.375rem;
    block-size: 1.375rem;
    margin-block: 0.125rem;
  }
}
.social-link--twitter {
  background-color: #26c4f1;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--twitter:hover, .social-link--twitter:focus, .social-link--twitter:active {
  background: rgb(13.5272727273, 166.1922077922, 209.6727272727);
}
.social-link--twitter .social-link__icon {
  width: 21px;
  width: 1.3125rem;
  height: 21px;
  height: 1.3125rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--twitter .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.3125rem;
    block-size: 1.3125rem;
    margin-block: 0.25rem;
  }
}
.social-link--hacker-news {
  background-color: #f60;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--hacker-news:hover, .social-link--hacker-news:focus, .social-link--hacker-news:active {
  background: rgb(204, 81.6, 0);
}
.social-link--hacker-news .social-link__icon {
  width: 23px;
  width: 1.4375rem;
  height: 23px;
  height: 1.4375rem;
  margin-top: 2px;
  margin-top: 0.125rem;
}
@supports (margin-block: 1em) {
  .social-link--hacker-news .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.4375rem;
    block-size: 1.4375rem;
    margin-block: 0.125rem;
  }
}
.social-link--notist {
  background-color: #000;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--notist:hover, .social-link--notist:focus, .social-link--notist:active {
  background: black;
}
.social-link--notist .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--notist .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--devto {
  background-color: #000;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--devto:hover, .social-link--devto:focus, .social-link--devto:active {
  background: black;
}
.social-link--devto .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--devto .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--discogs {
  background-color: #333;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--discogs:hover, .social-link--discogs:focus, .social-link--discogs:active {
  background: rgb(40.8, 40.8, 40.8);
}
.social-link--discogs .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--discogs .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--github {
  background-color: #24292f;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--github:hover, .social-link--github:focus, .social-link--github:active {
  background: rgb(28.8, 32.8, 37.6);
}
.social-link--github .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 3px;
  margin-top: 0.1875rem;
}
@supports (margin-block: 1em) {
  .social-link--github .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.1875rem;
  }
}
.social-link--instagram {
  background-color: #fa383e;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--instagram:hover, .social-link--instagram:focus, .social-link--instagram:active {
  background: rgb(238.8, 6, 13.2);
}
.social-link--instagram .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--instagram .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--mastodon {
  background-color: #5c4ee4;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--mastodon:hover, .social-link--mastodon:focus, .social-link--mastodon:active {
  background: rgb(49.2, 32.4, 212.4);
}
.social-link--mastodon .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--mastodon .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--lastfm {
  background-color: #b90000;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--lastfm:hover, .social-link--lastfm:focus, .social-link--lastfm:active {
  background: #940000;
}
.social-link--lastfm .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--lastfm .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--youtube {
  background-color: #fe0002;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--youtube:hover, .social-link--youtube:focus, .social-link--youtube:active {
  background: rgb(203.2, 0, 1.6);
}
.social-link--youtube .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--youtube .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--bandcamp {
  background-color: #1da0c3;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--bandcamp:hover, .social-link--bandcamp:focus, .social-link--bandcamp:active {
  background: rgb(23.2, 128, 156);
}
.social-link--bandcamp .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--bandcamp .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--polywork {
  background-color: #2f1193;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--polywork:hover, .social-link--polywork:focus, .social-link--polywork:active {
  background: rgb(37.6, 13.6, 117.6);
}
.social-link--polywork .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--polywork .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--imdb {
  background-color: #f6c700;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--imdb:hover, .social-link--imdb:focus, .social-link--imdb:active {
  background: rgb(196.8, 159.2, 0);
}
.social-link--imdb .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--imdb .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.social-link--imdb .social-link__icon path,
.social-link--imdb .social-link__icon circle {
  fill: #000;
}
.social-link--academiaedu {
  background-color: #000;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
.social-link--academiaedu:hover, .social-link--academiaedu:focus, .social-link--academiaedu:active {
  background: black;
}
.social-link--academiaedu .social-link__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@supports (margin-block: 1em) {
  .social-link--academiaedu .social-link__icon {
    width: unset;
    height: unset;
    margin-top: unset;
    inline-size: 1.25rem;
    block-size: 1.25rem;
    margin-block: 0.25rem;
  }
}
.entry__meta .social-link {
  display: inline-block;
  height: 80%;
  margin: 0;
  padding: 4px 6px;
  -webkit-transform: scale(0.75);
  -ms-transform: scale(0.75);
  transform: scale(0.75);
}
@supports (margin-block: 1em) {
  .entry__meta .social-link {
    padding: unset;
    padding-block: 4px;
    padding-inline: 6px;
  }
}
.social-link__icon {
  vertical-align: top;
  display: inline-block;
}
.social-link__icon path,
.social-link__icon circle {
  fill: #fff;
}
/*------------------------------------*\
		Promo
\*------------------------------------*/
.promo {
  background: rgb(184.6262948207, 216.975498008, 150.574501992);
  border: 1px solid rgb(175.5473705179, 212.0699501992, 137.1025498008);
  margin: 44px -19px;
  margin: 2.75rem -1.1875rem;
  padding: 22px;
  padding: 1.375rem;
}
@supports (margin-block: 1em) {
  .promo {
    margin: unset;
    padding: unset;
    margin-block: 2.75rem;
    margin-inline: -1.1875rem;
    padding-block: 1.375rem;
    padding-inline: 1.375rem;
  }
}
html.dark-mode .promo {
  background: rgb(31.2, 104.8, 21.6);
  border-color: rgb(29.64, 99.56, 20.52);
}
.promo a:link,
.promo a:visited {
  color: #14440e;
}
html.dark-mode .promo a:link,
html.dark-mode .promo a:visited {
  color: #23fe06;
}
.promo p:has(+ .social-links) {
  text-align: center;
}
.promo--image {
  padding-right: 154px;
  padding-right: 9.625rem;
  position: relative;
}
@supports (margin-block: 1em) {
  .promo--image {
    padding-right: unset;
    -webkit-padding-end: 9.625rem;
    padding-inline-end: 9.625rem;
  }
}
.promo__image {
  display: block;
  width: 110px;
  height: 170px;
  -webkit-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
  position: absolute;
  right: 22px;
  right: 1.375rem;
  top: 50%;
  margin-top: -85px;
}
@supports (margin-block: 1em) {
  .promo__image {
    margin-top: unset;
    right: unset;
    top: unset;
    width: unset;
    height: unset;
    block-size: 170px;
    inline-size: 110px;
    inset-inline-end: 1.375rem;
    inset-block-start: 50%;
    -webkit-margin-before: -85px;
    margin-block-start: -85px;
  }
}
.promo__copy {
  margin: 0;
}
.promo + hr {
  display: none;
}

@media screen and (min-width: 60em) {
  .promo {
    margin: 44px -22px;
    margin: 2.75rem -1.375rem;
  }
  @supports (margin-block: 1em) {
    .promo {
      margin: unset;
      margin-block: 2.75rem;
      margin-inline: -1.375rem;
    }
  }
}
/*------------------------------------*\
    Interviews
\*------------------------------------*/
.interview__attribution {
  font-weight: bold;
}

/*------------------------------------*\
	Buttons
\*------------------------------------*/
.book {
  margin-top: 0;
}
@supports (margin-block: 1em) {
  .book {
    margin-top: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}
.book + .book {
  margin-top: 22px;
  margin-top: 1.375rem;
}
@supports (margin-block: 1em) {
  .book + .book {
    margin-top: unset;
    -webkit-margin-before: 22px;
    margin-block-start: 22px;
    -webkit-margin-before: 1.375rem;
    margin-block-start: 1.375rem;
  }
}
.listing--grid .book {
  margin: 0;
}
.listing--grid .book .listing__item__title {
  height: 100%;
}
@supports (margin-block: 1em) {
  .listing--grid .book .listing__item__title {
    height: unset;
    block-size: 100%;
  }
}
.listing--grid .book .listing__item__title a {
  background: transparent;
  display: grid;
  grid-template-areas: "picture" "title";
  grid-template-rows: 200px 1fr;
  height: 100%;
}
@supports (margin-block: 1em) {
  .listing--grid .book .listing__item__title a {
    height: unset;
    block-size: 100%;
  }
}
.listing--grid .book .listing__item__title a:hover, .listing--grid .book .listing__item__title a:focus {
  border-bottom: 0;
}
@supports (margin-block: 1em) {
  .listing--grid .book .listing__item__title a:hover, .listing--grid .book .listing__item__title a:focus {
    border-bottom: unset;
    -webkit-border-after: 0;
    border-block-end: 0;
  }
}
.listing--grid .book .book__title {
  text-align: center;
}
.book__cover {
  grid-area: picture;
  align-self: center;
  justify-self: center;
  margin: 0;
}
.book__cover__image {
  max-height: 200px;
}
@supports (margin-block: 1em) {
  .book__cover__image {
    max-height: unset;
    max-block-size: 200px;
  }
}
.book__title {
  grid-area: title;
}

/*------------------------------------*\
		Search
\*------------------------------------*/
search {
  height: 0;
  display: block;
  margin: 0;
}

.form--search {
  width: 95vw;
}
@supports (margin-block: 1em) {
  .form--search {
    width: unset;
    inline-size: 95vw;
  }
}
.form--search [type=search] {
  font-size: 18px;
  font-size: 1.125rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid;
  border-radius: 3px;
  margin: 5px;
  margin: 0 0.3125rem 0 0;
  padding: 5px 10px;
  padding: 0.3125rem 0.625rem;
  width: 100%;
}
@supports (margin-block: 1em) {
  .form--search [type=search] {
    padding: unset;
    width: unset;
    margin: 0;
    -webkit-margin-end: 0.3125rem;
    margin-inline-end: 0.3125rem;
    padding-block: 0.3125rem;
    padding-inline: 0.625rem;
    inline-size: 100%;
  }
}
.form--search button {
  font-weight: bold;
  font-size: 14px;
  font-size: 0.875rem;
  padding: 7px 15px;
  padding: 0.4375rem 0.9375rem;
}
@supports (margin-block: 1em) {
  .form--search button {
    padding: unset;
    padding-block: 0.4375rem;
    padding-inline: 0.9375rem;
  }
}

.form-control--search {
  width: 70%;
}
@supports (margin-block: 1em) {
  .form-control--search {
    width: unset;
    inline-size: 70%;
  }
}

@supports ((display: -webkit-flex) or (display: flex)) {
  .form--search {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    gap: 22px;
    gap: 1.375rem;
  }
  @supports (margin-block: 1em) {
    .form--search {
      width: unset;
      inline-size: 100%;
    }
  }
}
@media screen and (max-width: 43.125em) {
  #search {
    display: block;
    background: none;
    border-width: 0;
    position: relative;
    width: auto;
    height: auto;
    padding: 0;
    margin-top: 1rem;
  }
  @supports (margin-block: 1em) {
    #search {
      width: unset;
      height: unset;
      margin-top: unset;
      inline-size: auto;
      block-size: auto;
      -webkit-margin-before: 1rem;
      margin-block-start: 1rem;
    }
  }
}
@media screen and (min-width: 43.125em) {
  .form--search {
    background: rgba(255, 255, 255, 0.9);
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    margin: 0;
    z-index: 1;
    width: 80vw;
  }
  @supports (margin-block: 1em) {
    .form--search {
      width: unset;
      inline-size: 80vw;
    }
  }
  html.dark-mode .form--search {
    background: rgba(69, 69, 69, 0.9);
  }
  .form--search button {
    font-size: 22px;
    font-size: 1.375rem;
    padding: 10px 15px;
    padding: 0.625rem 0.9375rem;
  }
  @supports (margin-block: 1em) {
    .form--search button {
      padding: unset;
      padding-block: 0.625rem;
      padding-inline: 0.9375rem;
    }
  }
  .form-control--search {
    margin: 5px;
    margin: 0 0.3125rem 0 0;
    width: 100%;
  }
  .form-control--search input[type=search] {
    font-size: 32px;
    font-size: 2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
  }
  @supports (margin-block: 1em) {
    .form-control--search {
      margin: unset;
      width: unset;
      margin: 0;
      -webkit-margin-end: 0.3125rem;
      margin-inline-end: 0.3125rem;
      inline-size: 100%;
    }
    .form-control--search input[type=search] {
      width: unset;
      inline-size: 100%;
    }
  }
  /*
  	// Better layout: Flexbox
  	@supports (display: flex) {

  			.form--search {
  				display: flex;
  				align-items: center;
  				justify-content: center;
  			}

  			[role=search] {
  					flex-direction: column;
  					width: 70%;

  					.form-control--search {
  							margin: 0;
  							width: auto;

  							input[type=search] {
  									@include rem( font-size, $font-size-h2 );

  									box-sizing: border-box;
  									@include rem( padding, 5 10 );
  									width: 100%;
  							}
  					}

  					button {
  							@include rem( font-size, $font-size-h2 );
  							@include rem( margin-top, $default-spacing );
  					}

  			} 

  	}
  	*/
}
/*------------------------------------*\
		Buttons
\*------------------------------------*/
@media screen and (min-width: 43.125em) {
  h1 + .alternate {
    font-size: 18px;
    font-size: 1.125rem;
    margin: 0;
    position: absolute;
    top: 24px;
    top: 1.5rem;
    right: 22px;
    right: 1.375rem;
  }
  @supports (margin-block: 1em) {
    h1 + .alternate {
      top: unset;
      right: unset;
      inset-block-start: 1.5rem;
      inset-inline-end: 1.375rem;
    }
  }
}
@media screen and (min-width: 60em) {
  h1 + .alternate {
    right: 0;
  }
  @supports (margin-block: 1em) {
    h1 + .alternate {
      right: unset;
      inset-inline-end: 0;
    }
  }
}
/*------------------------------------*\
    Scripts
\*------------------------------------*/
.script__stage-direction {
  font-style: italic;
}
.script__stage-direction::before {
  content: "[";
}
.script__stage-direction::after {
  content: "]";
}
.script__dialog {
  list-style: none;
  margin-left: 0;
}
@supports (margin-inline: 1em) {
  .script__dialog {
    margin-left: unset;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
  }
}
.script__item {
  margin-left: 0;
}
@supports (margin-inline: 1em) {
  .script__item {
    margin-left: unset;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
  }
}
.script__statement {
  font-style: normal;
  margin-top: 0;
  margin-left: 0;
  padding-left: 0;
}
@supports (margin-inline: 1em) {
  .script__statement {
    margin-top: unset;
    margin-left: unset;
    padding-left: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
    -webkit-padding-start: 0;
    padding-inline-start: 0;
  }
}
.script__statement * + * {
  margin-top: 0;
}
@supports (margin-inline: 1em) {
  .script__statement * + * {
    margin-top: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}
.script__speaker {
  display: inline;
  font-style: normal;
  font-weight: bold;
}
.script__speaker__description {
  font-style: normal;
  font-weight: normal;
}

/*------------------------------------*\
		Anchorable
\*------------------------------------*/
@-webkit-keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.anchorable {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  position: relative;
}
.anchorable__icon {
  vertical-align: top;
  display: inline-block;
  padding: 11px;
  padding: 0.6875rem;
  width: 15px;
  width: 0.9375rem;
  height: 15px;
  height: 0.9375rem;
}
@supports (margin-block: 1em) {
  .anchorable__icon {
    width: unset;
    height: unset;
    inline-size: 15px;
    inline-size: 0.9375rem;
    block-size: 15px;
    block-size: 0.9375rem;
  }
}
.anchorable__icon path {
  fill: #fffcf4;
  -webkit-transition: fill 0.5s;
  transition: fill 0.5s;
}
.anchorable__anchor__text {
  left: 0;
  bottom: 0;
}
@supports (margin-block: 1em) {
  .anchorable__anchor__text {
    left: unset;
    bottom: unset;
  }
}
.anchorable__anchor {
  background: #fff;
  text-decoration: none;
  line-height: 15px;
  line-height: 0.9375rem;
  border: 0;
  display: inline-block;
  margin: 0;
  padding: 0;
  position: absolute;
  left: -999em;
}
@supports (margin-block: 1em) {
  .anchorable__anchor {
    left: unset;
    inset-inline-start: -999em;
  }
}
.anchorable__anchor:hover path, .anchorable__anchor:focus path {
  fill: #2c2825;
  -webkit-transition: fill 0.5s;
  transition: fill 0.5s;
}
.anchorable:hover path, .anchorable:focus path {
  fill: #2c2825;
  -webkit-transition: fill 0.5s;
  transition: fill 0.5s;
}
.anchorable__alert {
  font-weight: normal;
  color: #505050;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 15px;
  line-height: 0.9375rem;
  display: block;
  margin: 0;
}
.anchorable__alert--fading {
  -webkit-animation: 2.2s linear 0s 1 fade-out;
  animation: 2.2s linear 0s 1 fade-out;
}

@supports (background-image: linear-gradient(black, white)) {
  .anchorable__anchor:link,
  .anchorable__anchor:visited,
  .anchorable__anchor:hover,
  .anchorable__anchor:focus,
  html.wf-active .anchorable__anchor:link,
  html.wf-active .anchorable__anchor:visited,
  html.wf-active .anchorable__anchor:hover,
  html.wf-active .anchorable__anchor:focus {
    background: #fffcf4;
  }
}
@media screen and (min-width: 43.125em) {
  .anchorable__anchor {
    top: 0;
    left: auto;
    margin-left: 5px;
    margin-left: 0.3125rem;
  }
  @supports (margin-block: 1em) {
    .anchorable__anchor {
      top: unset;
      left: unset;
      margin-left: unset;
      inset-block-start: 0;
      inset-inline-start: auto;
      -webkit-margin-start: 5px;
      margin-inline-start: 5px;
      -webkit-margin-start: 0.3125rem;
      margin-inline-start: 0.3125rem;
    }
  }
}
@media screen and (min-width: 60em) and (min-width: 64em) {
  .anchorable__anchor {
    left: auto;
    right: 100%;
    margin-left: 0;
    margin-right: 5px;
    margin-right: 0.3125rem;
  }
  @supports (margin-block: 1em) {
    .anchorable__anchor {
      left: unset;
      right: unset;
      margin-left: unset;
      margin-right: unset;
      inset-inline-start: auto;
      inset-inline-end: 100%;
      -webkit-margin-start: 0;
      margin-inline-start: 0;
      -webkit-margin-end: 5px;
      margin-inline-end: 5px;
      -webkit-margin-end: 0.3125rem;
      margin-inline-end: 0.3125rem;
    }
  }
}
/*------------------------------------*\
		Listing
\*------------------------------------*/
.media-controls p {
  margin-top: 6px;
  margin-top: 0.375rem;
}
@supports (margin-block: 1em) {
  .media-controls p {
    margin-top: unset;
    -webkit-margin-before: 0.375rem;
    margin-block-start: 0.375rem;
  }
}
.media-controls__buttons, .media-controls__speed {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.media-controls__button {
  border-color: inherit;
  cursor: pointer;
  margin: 0 0.25em 0 0;
}
@supports (margin-block: 1em) {
  .media-controls__button {
    margin: 0;
    -webkit-margin-end: 0.25em;
    margin-inline-end: 0.25em;
  }
}
.media-controls__button:hover, .media-controls__button:active, .media-controls__button:focus {
  color: #fff;
}
.media-controls__button:disabled, .media-controls__button:disabled:hover, .media-controls__button:disabled:active {
  background: #ddd;
  color: #505050;
  cursor: not-allowed;
}
.media-controls__button:before {
  content: "";
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.media-controls__button--play:before {
  width: 0;
  border: 0.5em solid transparent;
  border-left: 0.75em solid;
  border-right: 0;
}
@supports (margin-block: 1em) {
  .media-controls__button--play:before {
    border-left: unset;
    border-right: unset;
    width: unset;
    -webkit-border-start: 0.75em solid;
    border-inline-start: 0.75em solid;
    -webkit-border-end: 0;
    border-inline-end: 0;
    inline-size: 0;
  }
}
.media-controls__button--pause:before {
  width: 2px;
  border: 2px solid;
  height: 0.9em;
  line-height: 0;
  border-top-width: 0;
  border-bottom-width: 0;
}
@supports (margin-block: 1em) {
  .media-controls__button--pause:before {
    border-top-width: unset;
    border-bottom-width: unset;
    width: unset;
    height: unset;
    border-block-width: 0;
    inline-size: 2px;
    block-size: 0.9em;
  }
}
.media-controls__speed input {
  width: auto;
  margin: 0 0 0 0.5em;
}
@supports (margin-block: 1em) {
  .media-controls__speed input {
    margin: 0;
    -webkit-margin-start: 0.5em;
    margin-inline-start: 0.5em;
    width: unset;
    inline-size: auto;
  }
}

.collection__summary {
  margin-bottom: 22px;
  margin-bottom: 1.375rem;
}
.collection__summary p,
.collection__summary ul,
.collection__summary li {
  display: inline;
  margin: 0;
  padding: 0;
}
.collection__summary li:first-child::before {
  content: " ";
}
.collection__summary li::after {
  content: ", ";
}
.collection__summary li:last-child::after {
  content: "";
}
.collection__summary li:last-child::before {
  content: "and ";
}

/*------------------------------------*\
		Tanks
\*------------------------------------*/
.binomial {
  font-style: italic;
}

.tank ul {
  list-style: none;
  padding-left: 0;
}
@supports (margin-block: 1em) {
  .tank ul {
    padding-left: unset;
    -webkit-padding-start: 0;
    padding-inline-start: 0;
  }
}
.tank ul ul {
  list-style: disc;
}
.tank__specs, .tank__corals {
  padding: 0;
  width: 100%;
  max-width: 100%;
}
@supports (margin-block: 1em) {
  .tank__specs, .tank__corals {
    max-width: unset;
    width: unset;
    inline-size: 100%;
    max-inline-size: 100%;
  }
}
.tank__gallery {
  display: grid;
  grid-gap: 22px;
  grid-gap: 1.375rem;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
@supports (display: grid) {
  .tank figure + figure {
    margin: 0;
  }
}

@media screen and (min-width: 43.125em) {
  .layout-container--tank {
    max-width: 47em;
  }
  .layout-container--tank .layout-container__primary {
    width: auto;
    float: none;
  }
  @supports (margin-block: 1em) {
    .layout-container--tank {
      max-width: unset;
      max-inline-size: 47em;
    }
    .layout-container--tank .layout-container__primary {
      width: unset;
      inline-size: auto;
    }
  }
}
/*------------------------------------*\
		Lightbox
		TODO: swap for <dialog>
\*------------------------------------*/
.lightbox {
  display: none;
}

@media screen and (min-width: 43.125em) {
  .lightbox {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1024;
    background: #fff;
    border: 0;
    border: 3px solid;
    padding: 0;
    border-radius: 20px;
    overflow: hidden;
    display: none;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .lightbox[open] {
    display: block;
    opacity: 1;
  }
  .lightbox--fade, .lightbox--fade[open] {
    opacity: 0;
  }
  .lightbox__media {
    padding: 22px;
    padding: 1.375rem;
  }
  .lightbox__image {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 90vw;
    height: 90vh;
    min-width: 300px;
    min-height: 300px;
    max-width: 1080px;
    max-height: 80vh;
  }
  .lightbox__caption {
    background-color: rgba(44, 40, 37, 0.9);
    color: #fff;
    padding: 22px;
    padding: 1.375rem;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .lightbox__control {
    font-size: 32px;
    font-size: 2rem;
    position: absolute;
    top: 40%;
    border-color: #fff;
    padding: 0.5rem 1rem;
  }
  .lightbox__control--prev {
    left: 0;
    border-radius: 0 20px 20px 0;
    border-left-width: 0;
  }
  .lightbox__control--next {
    right: 0;
    border-radius: 20px 0 0 20px;
    border-right-width: 0;
  }
  .lightbox__control--close, .lightbox__control--close:hover, .lightbox__control--close:focus {
    background: #fff;
    color: #2c2825;
    border: 0;
    border-radius: 0 0 0 20px;
    margin: 0;
    padding: 0.25em 0.5em;
    top: 0;
    right: 0;
  }
}
#theme-switcher {
  position: fixed;
  top: 5px;
  right: 5px;
  z-index: 100;
  line-height: 0.5;
  padding: 8px;
  border: 1px solid #fff;
}
@supports (margin-block: 1em) {
  #theme-switcher {
    top: unset;
    right: unset;
    padding: unset;
    inset-block-start: 0.3125rem;
    inset-inline-end: 0.3125rem;
    padding-block: 0.5rem;
    padding-inline: 0.5rem;
  }
}
html.dark-mode #theme-switcher {
  border-color: transparent;
}
#theme-switcher svg {
  width: 20px;
  height: 20px;
}
@supports (inline-size: 1em) {
  #theme-switcher svg {
    width: unset;
    height: unset;
    inline-size: 20px;
    block-size: 20px;
  }
}
#theme-switcher path {
  fill: #fff;
}
html.dark-mode #theme-switcher path {
  fill: #2c2825;
}

announcement-banner {
  margin: 0;
}

.banner--hide announcement-banner,
announcement-banner[hidden] {
  display: none;
}

/* The close button will not be visible until the component is registered,
 * preventing ghost clicks on the button before the event listener is added.
 */
button[data-banner-close] {
  margin-top: 0;
  margin-block: 0;
}

announcement-banner:not(:defined) [data-banner-close] {
  opacity: 0;
  pointer-events: none;
}

/* Website Carbon Badge */
#wcb.carbonbadge,
#wcb.carbonbadge #wcb_a {
  --b1: #2c2825;
}

.dark-mode #wcb.carbonbadge {
  --b1: #fff;
}

#wcb.carbonbadge #wcb_g,
#wcb.carbonbadge #wcb_a {
  color: #2c2825;
}

.dark-mode #wcb.carbonbadge #wcb_2 {
  color: #fff;
  color: var(--b1);
}

/*------------------------------------*\
    $PAGES
  Page-specific styles
  (use sparingly)
\*------------------------------------*/
/*------------------------------------*\
    Homepage
\*------------------------------------*/
/*------------------------------------*\
    Notebook
\*------------------------------------*/
.notebook article.entry--link {
  font-size: 85%;
  margin-inline: auto;
  width: 80%;
}
.notebook article.entry--link .entry__title {
  font-size: 1.6em;
}

/*------------------------------------*\
		Speaking Engagements
\*------------------------------------*/
.speaking-engagements .listing--events {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 20px;
  margin: 1.25rem auto 0;
}
@supports (margin-block: 1em) {
  .speaking-engagements .listing--events {
    margin: unset;
    margin-block: 1.25rem 0;
    margin-inline: auto;
  }
}
@media screen and (min-width: 60em) {
  .speaking-engagements .listing--events {
    margin: 20px -80px;
    margin: 1.25rem -5rem 0;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .listing--events {
      margin: unset;
      margin-block: 1.25rem 0;
      margin-inline: -5rem;
    }
  }
}
.speaking-engagements .listing__item__meta {
  color: #fffcf4;
}
html.dark-mode .speaking-engagements .listing__item__meta {
  color: #fff;
}
.speaking-engagements .event {
  background: rgb(31.2, 104.8, 21.6);
  color: #fffcf4;
  text-shadow: 1px 1px 1px rgb(31.2, 104.8, 21.6);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px;
  padding: 1.25rem;
  margin: 20px;
  margin: 0 0 1.25rem 0;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  position: relative;
  overflow: hidden;
}
@supports (margin-block: 1em) {
  .speaking-engagements .event {
    margin: unset;
    margin-block: 0 1.25rem;
  }
}
html .speaking-engagements .event a {
  color: #fff;
  text-decoration: none;
}
.speaking-engagements .event .listing__item__title,
.speaking-engagements .event .listing__item__meta {
  position: relative;
  z-index: 1;
}
.speaking-engagements .event .listing__item__title {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.1;
  margin-bottom: 12px;
  margin-bottom: 0.75rem;
}
@supports (margin-block: 1em) {
  .speaking-engagements .event .listing__item__title {
    margin-bottom: unset;
    -webkit-margin-after: 0.75rem;
    margin-block-end: 0.75rem;
  }
}
.speaking-engagements .event--future {
  border-color: rgb(0, 121, 157);
  background: rgb(0, 121, 157);
  -webkit-box-shadow: inset 0 0 50px 7px rgb(0, 121, 157);
  box-shadow: inset 0 0 50px 7px rgb(0, 121, 157);
  text-shadow: 1px 1px 1px rgb(0, 72.6, 94.2);
}
.speaking-engagements .event--future .listing__item__title {
  font-size: 24px;
  font-size: 1.5rem;
}
.speaking-engagements .event__location-picture {
  background: transparent center center no-repeat;
  background-size: cover;
  -webkit-box-shadow: inset 0 0 50px 7px rgb(31.2, 104.8, 21.6);
  box-shadow: inset 0 0 50px 7px rgb(31.2, 104.8, 21.6);
  display: block;
  opacity: 0.35;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  -webkit-transition: opacity 0.35s ease-in-out, -webkit-transform 0.35s linear;
  transition: opacity 0.35s ease-in-out, -webkit-transform 0.35s linear;
  transition: opacity 0.35s ease-in-out, transform 0.35s linear;
  transition: opacity 0.35s ease-in-out, transform 0.35s linear, -webkit-transform 0.35s linear;
}
@supports (margin-block: 1em) {
  .speaking-engagements .event__location-picture {
    top: unset;
    right: unset;
    bottom: unset;
    left: unset;
    inset: 0;
  }
}
.speaking-engagements .event a:focus .event__location-picture, .speaking-engagements .event a:hover .event__location-picture {
  opacity: 0.05;
  -webkit-transform: scale(1.125);
  -ms-transform: scale(1.125);
  transform: scale(1.125);
}
html.dark-mode .speaking-engagements .event {
  background: rgb(24.96, 207.168, 0.832);
}
html.dark-mode .speaking-engagements .event a {
  text-shadow: 1px 1px 1px rgb(15.6, 129.48, 0.52);
}
html.dark-mode .speaking-engagements .event--future {
  border-color: #9ee6ff;
  background: rgb(75.4, 208.7113402062, 255);
}
@media screen and (min-width: 28.75em) {
  .speaking-engagements .event {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 -webkit-calc(50% - 0.625rem);
    -ms-flex: 0 0 calc(50% - 0.625rem);
    flex: 0 0 calc(50% - 0.625rem);
    margin-left: 1.25rem;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event {
      margin-left: unset;
      -webkit-margin-start: 1.25rem;
      margin-inline-start: 1.25rem;
    }
  }
  .speaking-engagements .event {
    /* Remove left margin for row starters */
  }
  .speaking-engagements .event:nth-child(odd) {
    margin-left: 0;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event:nth-child(odd) {
      margin-left: unset;
      -webkit-margin-start: 0;
      margin-inline-start: 0;
    }
  }
  .speaking-engagements .event--future:nth-child(odd) {
    margin-left: 1.25rem;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event--future:nth-child(odd) {
      margin-left: unset;
      -webkit-margin-start: 1.25rem;
      margin-inline-start: 1.25rem;
    }
  }
  .speaking-engagements .event--future:nth-child(even) {
    margin-left: 0;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event--future:nth-child(even) {
      margin-left: unset;
      -webkit-margin-start: 0;
      margin-inline-start: 0;
    }
  }
  .speaking-engagements .event--future:nth-last-child(n+1):first-child {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin-left: 0;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event--future:nth-last-child(n+1):first-child {
      margin-left: unset;
      -webkit-margin-start: 0;
      margin-inline-start: 0;
    }
  }
  .speaking-engagements .event--future:nth-last-child(n+1):first-child .listing__item__title {
    font-size: 36px;
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 43.125em) {
  .speaking-engagements .event {
    /* 1/3 width with a 20px gap (fudged) */
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 -webkit-calc(33.3333333333% - 0.875rem);
    -ms-flex: 0 0 calc(33.3333333333% - 0.875rem);
    flex: 0 0 calc(33.3333333333% - 0.875rem);
  }
  .speaking-engagements .event:nth-child(even), .speaking-engagements .event:nth-child(odd) {
    margin-left: 1.25rem;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event:nth-child(even), .speaking-engagements .event:nth-child(odd) {
      margin-left: unset;
      -webkit-margin-start: 1.25rem;
      margin-inline-start: 1.25rem;
    }
  }
  .speaking-engagements .event:nth-child(3n+1) {
    margin-left: 0;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event:nth-child(3n+1) {
      margin-left: unset;
      -webkit-margin-start: 0;
      margin-inline-start: 0;
    }
  }
  .speaking-engagements .event--future:nth-last-child(1):first-child, .speaking-engagements .event--future:nth-last-child(1):first-child ~ .event--future {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin-left: 0;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event--future:nth-last-child(1):first-child, .speaking-engagements .event--future:nth-last-child(1):first-child ~ .event--future {
      margin-left: unset;
      -webkit-margin-start: 0;
      margin-inline-start: 0;
    }
  }
  .speaking-engagements .event--future:nth-last-child(1):first-child .listing__item__title, .speaking-engagements .event--future:nth-last-child(1):first-child ~ .event--future .listing__item__title {
    font-size: 36px;
    font-size: 2.25rem;
  }
  .speaking-engagements .event--future:nth-child(3n+1) {
    margin-left: 1.25rem;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event--future:nth-child(3n+1) {
      margin-left: unset;
      -webkit-margin-start: 1.25rem;
      margin-inline-start: 1.25rem;
    }
  }
  .speaking-engagements .event--future:nth-last-child(n+2):first-child ~ .event--future:nth-child(3n) {
    margin-left: 0;
  }
  @supports (margin-block: 1em) {
    .speaking-engagements .event--future:nth-last-child(n+2):first-child ~ .event--future:nth-child(3n) {
      margin-left: unset;
      -webkit-margin-start: 0;
      margin-inline-start: 0;
    }
  }
  .speaking-engagements .event--future:nth-last-child(n+2):first-child, .speaking-engagements .event--future:nth-last-child(n+2):first-child + .event--future {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 -webkit-calc(50% - 0.625rem);
    -ms-flex: 0 0 calc(50% - 0.625rem);
    flex: 0 0 calc(50% - 0.625rem);
  }
  .speaking-engagements .event--future:nth-last-child(n+2):first-child .listing__item__title, .speaking-engagements .event--future:nth-last-child(n+2):first-child + .event--future .listing__item__title {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.speaking-engagements .listing--talks .entry--teaser .entry__type {
  display: none;
}
.speaking-engagements .listing--talks .entry--teaser .entry__details {
  -webkit-margin-start: 0;
  margin-inline-start: 0;
}

/*------------------------------------*\
		Speaking Engagements
\*------------------------------------*/
.publications .subsection__header {
  -webkit-margin-before: 60px;
  margin-block-start: 60px;
  -webkit-margin-before: 3.75rem;
  margin-block-start: 3.75rem;
}

/*------------------------------------*\
    Appearances
\*------------------------------------*/
.appearances .podcast__outlet {
  font-size: 14px;
  font-size: 0.875rem;
  text-transform: uppercase;
}
.appearances .podcast__title {
  margin-top: 0;
}
@supports (margin-block: 1em) {
  .appearances .podcast__title {
    margin-top: unset;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
}
.appearances .podcast__player, .appearances .podcast__embed {
  border: 0;
  height: 90px;
  max-width: 100%;
  overflow: hidden;
}
@supports (margin-block: 1em) {
  .appearances .podcast__player, .appearances .podcast__embed {
    height: unset;
    max-width: unset;
    block-size: 90px;
    max-inline-size: 100%;
  }
}

/*------------------------------------*\
    Tag Page
\*------------------------------------*/
body.tag-page .layout-container__primary {
  float: none;
  width: auto;
}
@supports (margin-block: 1em) {
  body.tag-page .layout-container__primary {
    width: unset;
    inline-size: auto;
  }
}