@media (prefers-color-scheme:dark) {
  :root {
    --color-primary:#e6e2d6;
    --color-accent:#e7a15a;
    --color-base:#e6e2d6;
    --color-light:#aaa;
    --color-border:#333;
    --color-bg:#0f1214;
    --color-code:#e6e2d6;
    --color-code-bg:#040505;
    --color-code-border:#1a1f23;
    --font-sans-serif:"TX-02",monospace;
    --font-serif:serif;
    --font-mono:"TX-02",monospace;
    --font-light:200;
    --font-normal:400;
    --font-bold:600;
    --font-heavy:700;
    --xlarge:1680px;
    --large:1280px;
    --medium:980px;
    --small:740px;
    --xsmall:480px;
    --height:4rem;
    --margin:2rem;
    --radius:0.5rem
  }
}
@media (prefers-color-scheme:light) {
  :root {
    --color-primary:#0f1214;
    --color-accent:#e7a15a;
    --color-base:#0f1214;
    --color-light:#666;
    --color-border:#ddd;
    --color-bg:#f8f8f8;
    --color-code:#0f1214;
    --color-code-bg:#ebebeb;
    --color-code-border:#f8f8f8;
    --font-sans-serif:"TX-02",monospace;
    --font-serif:serif;
    --font-mono:"TX-02",monospace;
    --font-light:200;
    --font-normal:400;
    --font-bold:600;
    --font-heavy:700;
    --xlarge:1680px;
    --large:1280px;
    --medium:980px;
    --small:740px;
    --xsmall:480px;
    --height:4rem;
    --margin:2rem;
    --radius:0.5rem
  }
}
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
big,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
ul,
var,
video {
  border:0;
  font:inherit;
  font-size:100%;
  margin:0;
  padding:0;
  vertical-align:baseline
}
body {
  line-height:1
}
ol,
ul {
  list-style:none
}
blockquote,
q {
  quotes:none
}
blockquote:after,
blockquote:before,
q:after,
q:before {
  content:"";
  content:none
}
img {
  max-width:100%
}
html {
  box-sizing:border-box;
  font-family:sans-serif;
  -ms-text-size-adjust:100%;
  -webkit-text-size-adjust:100%
}
*,
:after,
:before {
  box-sizing:inherit
}
a {
  background-color:transparent
}
a:active,
a:hover {
  outline:0
}
b,
strong {
  background-color:var(--color-base);
  color:var(--color-bg);
  font-weight:var(--font-bold)
}
strong>a {
  background-color:var(--color-bg)
}
dfn,
em,
i {
  font-style:italic
}
h1 {
  font-size:2em;
  margin:.67em 0
}
small {
  font-size:80%
}
div.block {
  border:2px inset var(--color-border);
  margin:40px 0;
  padding:24px 16px 0
}
div.block h1,
div.block h2,
div.block h3,
div.block h4,
div.block h5 {
  margin-top:0
}
sub,
sup {
  font-size:75%;
  line-height:0;
  position:relative;
  vertical-align:baseline
}
sup {
  top:-.5em
}
sub {
  bottom:-.25em
}
img {
  border:0
}
svg:not(:root) {
  overflow:hidden
}
mark {
  background-color:#fdffb6
}
code,
kbd,
pre,
samp {
  font-family:monospace,monospace;
  font-size:1em
}
button,
input,
optgroup,
select,
textarea {
  color:inherit;
  font:inherit;
  margin:0
}
button {
  border:none;
  overflow:visible
}
button,
select {
  text-transform:none
}
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance:button;
  cursor:pointer
}
button[disabled],
html input[disabled] {
  cursor:default
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border:0;
  padding:0
}
input {
  line-height:normal
}
input:focus {
  outline:none
}
input[type=checkbox],
input[type=radio] {
  box-sizing:border-box;
  padding:0
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height:auto
}
input[type=search] {
  -webkit-appearance:textfield;
  box-sizing:content-box
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance:none
}
legend {
  border:0;
  padding:0
}
textarea {
  overflow:auto
}
table {
  border-collapse:collapse;
  border-spacing:0
}
td,
th {
  padding:0
}
html {
  font-size:8px;
  overflow-y:scroll;
  -webkit-tap-highlight-color:rgba(0,0,0,0)
}
body,
html {
  overflow-x:hidden
}
body {
  background:#fff;
  color:var(--color-base);
  font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
  font-size:1.5rem;
  font-style:normal;
  letter-spacing:0;
  line-height:1.6em;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  -moz-font-feature-settings:"liga" on
}
::-moz-selection {
  background:var(--color-accent);
  text-shadow:none
}
::selection {
  background:var(--color-accent);
  text-shadow:none
}
hr {
  border:0;
  border-top:1px solid color(var(--color-border) l(10%));
  display:block;
  height:1px;
  margin:2.5em 0 3.5em;
  padding:0;
  position:relative;
  width:100%
}
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align:middle
}
blockquote,
p {
  margin:0 0 1.5em
}
blockquote {
  border-left:.5em solid var(--color-bg);
  margin:1.5em 0;
  padding:0 1.6em
}
blockquote p {
  font-size:1.2em;
  font-weight:var(--font-normal);
  margin:.8em 0
}
blockquote small {
  display:inline-block;
  font-size:.9em;
  margin:.8em 0 .8em 1.5em
}
blockquote small:before {
  content:"\2014 \00A0"
}
blockquote cite {
  font-weight:var(--font-bold)
}
blockquote cite a {
  font-weight:var(--font-normal)
}
a {
  color:var(--color-primary);
  line-height:1.6em
}
a,
a:hover {
  text-decoration:underline;
  -webkit-text-decoration-skip-ink:all;
  text-decoration-skip-ink:all;
  text-decoration-style:solid;
  text-decoration-thickness:2px;
  text-underline-offset:4px
}
a:hover {
  background-color:var(--color-primary);
  color:var(--color-bg);
  text-decoration-color:var(--color-primary)
}
del {
  text-decoration-thickness:2px
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height:1.4;
  margin-top:0;
  text-rendering:optimizeLegibility
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight:var(--font-heavy)
}
h1 {
  font-size:4.4rem;
  margin:0 0 .5em
}
@media (max-width:500px) {
  h1 {
    font-size:2.2rem
  }
}
h2 {
  font-size:3.8rem;
  margin:2em 0 .5em
}
@media (max-width:500px) {
  h2 {
    font-size:2rem
  }
}
h3 {
  font-size:3rem;
  margin:2em 0 .4em
}
@media (max-width:500px) {
  h3 {
    font-size:1.8rem
  }
}
h4 {
  font-size:2.6rem;
  margin:2em 0 .4em
}
@media (max-width:500px) {
  h4 {
    font-size:1.6rem
  }
}
h5 {
  font-size:2.2rem;
  margin:2em 0 .4em
}
@media (max-width:500px) {
  h5 {
    font-size:1.4rem
  }
}
h6 {
  font-size:2rem;
  margin:2em 0 .4em
}
@media (max-width:500px) {
  h6 {
    font-size:1.2rem
  }
}
#navigation {
  margin:0 0 42px
}
@media (max-width:500px) {
  ul.navigation {
    -moz-column-count:2;
    column-count:2
  }
}
@media (min-width:500px) {
  ul.navigation {
    -moz-column-count:3;
    column-count:3
  }
}
@media (min-width:700px) {
  ul.navigation {
    -moz-column-count:4;
    column-count:4
  }
}
nav.navigation>ul.navigation>li {
  display:block;
  margin-bottom:4px
}
nav.navigation>ul.navigation>li>a {
  display:block;
  font-size:1.9rem;
  line-height:25px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
nav.navigation>ul.navigation>li.active>a {
  background-color:var(--color-primary);
  color:var(--color-bg);
  text-decoration:underline;
  text-decoration-color:var(--color-primary);
  -webkit-text-decoration-skip-ink:all;
  text-decoration-skip-ink:all;
  text-decoration-style:solid;
  text-decoration-thickness:2px;
  text-underline-offset:4px
}
.kg-card {
  margin:3vw 0
}
.kg-embed-card {
  align-items:flex-start;
  display:flex;
  flex-direction:column;
  min-width:100%
}
.kg-image {
  width:100%
}
.kg-image,
.kg-image-no-width {
  max-width:100%
}
.kg-card figcaption {
  color:var(--color-base);
  font-size:1.3rem;
  font-weight:var(--font-bold);
  line-height:1.4em;
  padding:1.5rem;
  text-align:center
}
.kg-width-full,
.kg-width-wide {
  margin-left:0;
  max-width:720px;
  min-width:100%;
  position:relative
}
.kg-width-full figcaption {
  padding-left:0;
  padding-right:0;
  text-align:left
}
@media (max-width:800px) {
  .kg-width-full {
    width:100vw
  }
  .kg-width-full figcaption {
    padding-left:6vw
  }
}
.kg-gallery-container {
  margin-left:0;
  max-width:720px;
  min-width:100%
}
.kg-gallery-image>a:hover>img {
  transform:scale(1.2)
}
.kg-gallery-image img {
  transform:scale(1);
  transition:all .15s ease
}
.kg-gallery-card+.kg-gallery-card,
.kg-gallery-card+.kg-image-card.kg-width-wide,
.kg-image-card.kg-width-wide+.kg-gallery-card,
.kg-image-card.kg-width-wide+.kg-image-card.kg-width-wide {
  margin-top:calc(-7vw + .75em)
}
.kg-bookmark-card {
  margin:2vw 0
}
.kg-bookmark-container {
  color:var(--color-base);
  display:flex;
  min-height:148px;
  text-decoration:none
}
.kg-bookmark-container:hover {
  text-decoration:none
}
.kg-bookmark-content {
  align-items:flex-start;
  display:flex;
  flex-direction:column;
  flex-grow:1;
  justify-content:flex-start;
  padding:calc(var(--margin)*1.75) 0
}
.kg-bookmark-title {
  color:var(--color-base);
  font-size:100%;
  font-weight:var(--font-bold);
  line-height:1.5em
}
.kg-bookmark-container:hover .kg-bookmark-title {
  color:var(--color-primary);
  opacity:1
}
.kg-bookmark-description {
  display:-webkit-box;
  font-size:90%;
  font-weight:var(--font-normal);
  line-height:1.5em;
  margin-top:var(--margin);
  max-height:3em;
  overflow-y:hidden;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical
}
.kg-bookmark-thumbnail {
  max-height:100%;
  min-width:33%;
  position:relative
}
.kg-bookmark-thumbnail img {
  height:100%;
  left:0;
  -o-object-fit:cover;
  object-fit:cover;
  position:absolute;
  top:0;
  width:100%
}
.kg-bookmark-metadata {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  font-size:90%;
  font-weight:var(--font-normal);
  margin-top:var(--margin)
}
.kg-bookmark-icon {
  height:24px;
  margin-right:8px;
  width:24px
}
.kg-bookmark-author {
  line-height:1.5em
}
.kg-bookmark-author:before {
  content:"—";
  margin:0 6px
}
.kg-bookmark-publisher {
  line-height:1.5em;
  max-width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
@media (max-width:850px) {
  .kg-bookmark-card {
    margin:7vw 0
  }
}
@media (max-width:500px) {
  .kg-bookmark-container {
    flex-direction:column
  }
  .kg-bookmark-content {
    padding:var(--margin)
  }
  .kg-bookmark-thumbnail {
    min-height:22rem;
    order:1;
    width:100%
  }
  .kg-bookmark-content {
    order:2
  }
}
dl,
ol,
ul {
  margin:0 0 calc(var(--margin)*1.5) 0
}
ol ol,
ol ul,
ul ol,
ul ul {
  margin:.4em 0 1em 16px
}
ol {
  list-style:decimal
}
ol,
ul {
  max-width:100%
}
li {
  line-height:1.6em;
  margin:.6em 0;
  padding-left:0
}
ul {
  list-style-type:square
}
ul.post-entries {
  list-style-type:none
}
dt {
  display:block;
  font-weight:var(--font-bold);
  margin:0 0 calc(var(--margin)*.5) 0
}
dd {
  margin-left:var(--margin)
}
.post-content-body table {
  border-collapse:separate;
  font-size:.8em;
  margin:0 0 var(--margin) 0;
  width:100%
}
.post-content-body th {
  color:var(--color-base);
  font-size:.9em;
  font-weight:var(--font-bold);
  padding:0 .7em .4em;
  text-align:left
}
.post-content-body td {
  border-left-width:0;
  border-top-width:0;
  padding:.4em .7em
}
.post-content-body td:first-child {
  border-left-width:1px
}
.post-content-body tbody tr {
  border:1px solid var(--color-border);
  border-left:0;
  border-right:0
}
.post-content-body tbody tr:first-child td {
  border-top-width:1px
}
.post-content-body tbody tr:nth-child(odd) {
  background-color:var(--color-bg)
}
.post-content-body tbody td {
  border-bottom:1px solid var(--color-border);
  border-left-width:1px;
  border-left:0 solid var(--color-border);
  border-right:1px solid var(--color-border);
  border-top-width:1px;
  border-top:0 solid var(--color-border)
}
.post-content-body tfoot {
  border-width:0
}
form {
  margin:0 0 var(--margin) 0
}
fieldset {
  border:0;
  margin:0;
  padding:0
}
label {
  color:var(--color-primary);
  display:block;
  font-size:.9em;
  font-weight:var(--font-bold);
  margin:0 0 calc(var(--margin)*.5) 0
}
input[type=email],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
  background:var(--color-bg);
  border:none;
  border:1px solid var(--color-border);
  border-radius:var(--radius);
  color:inherit;
  display:block;
  outline:0;
  padding:0 .6em;
  text-decoration:none;
  width:100%
}
input[type=email]:invalid,
input[type=password]:invalid,
input[type=search]:invalid,
input[type=tel]:invalid,
input[type=text]:invalid,
input[type=url]:invalid,
select:invalid,
textarea:invalid {
  box-shadow:none
}
input[type=email]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
  border-color:var(--color-primary);
  box-shadow:0 0 0 1px var(--color-primary)
}
select {
  height:var(--height);
  padding-right:var(--height);
  text-overflow:ellipsis
}
select option {
  background:var(--color-bg);
  color:var(--color-primary)
}
select:focus::-ms-value {
  background-color:transparent
}
select::-ms-expand {
  display:none
}
input[type=email],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select {
  height:var(--height)
}
textarea {
  padding:.3em .6em;
  resize:vertical
}
input[type=checkbox],
input[type=radio] {
  display:block;
  margin-right:-2em;
  opacity:0;
  width:1em;
  z-index:-1
}
input[type=checkbox]+label,
input[type=radio]+label {
  align-items:center;
  color:var(--color-base);
  cursor:pointer;
  display:flex;
  font-size:1em;
  font-weight:var(--font-normal);
  padding-left:calc(var(--height)*.6 + .75em);
  padding-right:2rem;
  position:relative;
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none
}
input[type=checkbox]+label:before,
input[type=radio]+label:before {
  background:var(--color-bg);
  border:1px solid var(--color-border);
  border-radius:var(--radius);
  content:"";
  display:inline-block;
  height:calc(var(--height)*.6);
  line-height:calc(var(--height)*.56);
  margin-right:1rem;
  text-align:center;
  width:calc(var(--height)*.6)
}
input[type=checkbox]:checked+label:before,
input[type=radio]:checked+label:before {
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:var(--color-bg);
  content:"✓"
}
input[type=checkbox]:focus+label:before,
input[type=radio]:focus+label:before {
  border-color:var(--color-primary);
  box-shadow:0 0 0 1px var(--color-primary)
}
input[type=checkbox]+label:before {
  border-radius:var(--radius)
}
input[type=radio]+label:before {
  border-radius:100%
}
.button,
button,
input[type=button],
input[type=checkbox],
input[type=reset],
input[type=submit] {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  border:0;
  border-radius:var(--radius);
  cursor:pointer;
  display:inline-block;
  font-family:var(--font-sans-serif);
  font-size:1.8rem;
  font-weight:var(--font-normal);
  height:var(--height);
  line-height:var(--height);
  padding:0 2rem;
  text-align:center;
  text-decoration:none;
  transition:.4s ease;
  white-space:nowrap
}
input[type=checkbox] {
  height:2rem;
  margin-right:0;
  width:2rem
}
.button.fit,
button.fit,
input[type=button].fit,
input[type=reset].fit,
input[type=submit].fit {
  width:100%
}
.button.small,
button.small,
input[type=button].small,
input[type=reset].small,
input[type=submit].small {
  font-size:1.2rem;
  height:calc(var(--height)*.9);
  line-height:calc(var(--height)*.9);
  padding:0 1.5rem
}
.button.large,
button.large,
input[type=button].large,
input[type=reset].large,
input[type=submit].large {
  font-size:1.6rem;
  height:calc(var(--height)*1.14);
  line-height:calc(var(--height)*1.14);
  padding:0 3rem
}
.button.disabled,
.button:disabled,
button.disabled,
button:disabled,
input[type=button].disabled,
input[type=button]:disabled,
input[type=checkbox].disabled,
input[type=checkbox]:disabled,
input[type=reset].disabled,
input[type=reset]:disabled,
input[type=submit].disabled,
input[type=submit]:disabled {
  opacity:.4;
  pointer-events:none
}
.button,
button,
input[type=button],
input[type=checkbox],
input[type=reset],
input[type=submit] {
  background-color:transparent;
  box-shadow:inset 0 0 0 2px var(--color-primary);
  color:var(--color-primary)!important
}
.button:hover,
button:hover,
input[type=button]:hover,
input[type=checkbox]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  box-shadow:inset 0 0 0 2px var(--color-primary);
  color:var(--color-bg)!important;
  text-decoration:none;
  transition:.2s ease
}
.button.primary,
button.primary,
input[type=button].primary,
input[type=reset].primary,
input[type=submit].primary {
  background-color:var(--color-primary);
  box-shadow:none;
  color:#fff!important
}
.button.primary:hover,
button.primary:hover,
input[type=button].primary:hover,
input[type=reset].primary:hover,
input[type=submit].primary:hover {
  background-color:color(var(--color-primary) l(-10%))
}
.transition-fade {
  animation:slideUp .9s cubic-bezier(.075,.82,.165,1) forwards;
  opacity:1;
  transform:translate3d(0,4vh,0);
  transition:.25s
}
html.is-animating .transition-fade {
  opacity:0
}
@keyframes slideUp {
  0% {
    transform:translate3d(0,4vh,0)
  }
  to {
    transform:translateZ(0)
  }
}
.chroma .lntd {
  border:0;
  margin:0;
  padding:0;
  vertical-align:top
}
.chroma .lntable {
  border:0;
  border-spacing:0;
  display:block;
  margin:0;
  overflow:auto;
  padding:0;
  width:auto
}
.chroma .hl {
  background-color:#ffc;
  display:block;
  width:100%
}
.chroma .ln,
.chroma .lnt {
  color:#7f7f7f;
  margin-right:.4em;
  padding:0 .4em
}
.chroma .bp,
.chroma .fm,
.chroma .k,
.chroma .kc,
.chroma .kd,
.chroma .kn,
.chroma .kp,
.chroma .kr,
.chroma .kt,
.chroma .n,
.chroma .na,
.chroma .nb,
.chroma .nc,
.chroma .nd,
.chroma .ne,
.chroma .nf,
.chroma .ni,
.chroma .nl,
.chroma .nn,
.chroma .no,
.chroma .nt,
.chroma .nv,
.chroma .nx,
.chroma .py,
.chroma .vc,
.chroma .vg,
.chroma .vi,
.chroma .vm {
  color:var(--color-base)
}
.chroma .dl,
.chroma .s,
.chroma .s2,
.chroma .sa,
.chroma .sb,
.chroma .sc,
.chroma .sd,
.chroma .se {
  background-color:var(--color-bg);
  color:#999
}
.chroma .se {
  font-weight:700
}
.chroma .sh,
.chroma .si {
  background-color:var(--color-bg);
  color:#999
}
.chroma .si {
  font-weight:700
}
.chroma .s1,
.chroma .sr,
.chroma .ss,
.chroma .sx {
  background-color:var(--color-bg);
  color:#999
}
.chroma .il,
.chroma .m,
.chroma .mb,
.chroma .mf,
.chroma .mh,
.chroma .mi,
.chroma .mo {
  color:#999
}
.chroma .c,
.chroma .c1,
.chroma .ch,
.chroma .cm,
.chroma .cs {
  color:#5c6773
}
.chroma .ge {
  background-color:var(--color-bg);
  color:#5c6773
}

/*!
  * driveway - pure CSS masonry layout aid
  *
  * @license MIT
  * @author jh3y
*/
.dw {
  -moz-column-gap:0;
  column-gap:0;
  position:relative
}
.dw,
.dw * {
  box-sizing:border-box
}
.dw__focus-curtain {
  background-color:#000;
  bottom:0;
  display:none;
  left:0;
  opacity:.75;
  position:fixed;
  right:0;
  top:0;
  z-index:2
}
@media (min-width:768px) {
  .dw {
    -moz-column-count:2;
    column-count:2
  }
}
@media (min-width:992px) {
  .dw {
    -moz-column-count:4;
    column-count:4
  }
}
.dw-panel {
  margin:0;
  padding:5px
}
.dw-panel--focus {
  position:relative
}
.dw-panel--focus:hover {
  z-index:3
}
.dw-panel--focus:hover~.dw__focus-curtain {
  display:block
}
.dw-panel--pulse {
  perspective:1000px;
  transform-style:preserve-3d;
  transition:transform .25s ease 0s
}
.dw-panel--pulse:hover {
  transform:scale(1.02)
}
.dw-panel__content {
  border-radius:10px;
  overflow:hidden;
  padding:20px;
  width:100%
}
@media (min-width:768px) {
  .dw-panel {
    page-break-inside:avoid;
    -moz-column-break-inside:avoid;
    break-inside:avoid
  }
}
.dw-flip {
  perspective:1000px
}
.dw-flip:hover .dw-flip__content {
  transform:rotateY(180deg)
}
.dw-flip--sm {
  height:200px
}
.dw-flip--md {
  height:300px
}
.dw-flip--lg {
  height:400px
}
.dw-flip__panel {
  backface-visibility:hidden;
  border-radius:10px;
  height:100%;
  left:0;
  overflow:visible;
  padding:20px;
  position:absolute;
  top:0;
  width:100%
}
.dw-flip__panel--front {
  transform:rotateY(0deg);
  z-index:2
}
.dw-flip__panel--back {
  transform:rotateY(180deg)
}
.dw-flip__content {
  height:100%;
  overflow:visible;
  position:relative;
  transform-style:preserve-3d;
  transition:.25s
}
.dw-cluster {
  display:flex;
  padding:0
}
@media (max-width:430px) {
  .dw-cluster--vertical {
    flex-direction:column
  }
}
.dw-cluster--horizontal {
  flex-direction:column
}
.dw-cluster__segment {
  display:flex;
  flex:1 1 auto
}
.dw-cluster__segment--row {
  display:flex
}
@media (max-width:430px) {
  .dw-cluster__segment--row {
    flex-direction:column
  }
}
.dw-cluster__segment--col {
  flex-direction:column
}
@media (min-width:430px) {
  .dw-cluster__segment--half {
    flex-basis:50%
  }
  .dw-cluster__segment--quart {
    flex-basis:25%
  }
}
.post-content-body iframe.vimeo-embed {
  border-radius:16px;
  height:444px;
  margin:1.5em 0 3em;
  width:100%
}
body {
  background:var(--color-bg);
  font-family:var(--font-sans-serif);
  font-weight:var(--font-normal)
}
.img {
  background-position:50%;
  background-size:cover;
  border-radius:100%;
  display:block;
  height:100%;
  width:100%
}
.hidden {
  position:absolute;
  text-indent:-9999px;
  visibility:hidden
}
.site-wrapper {
  min-height:100vh;
  padding:3vw
}
@media (max-width:850px) {
  .site-wrapper {
    padding:6vw
  }
}
.page-head {
  align-items:flex-start;
  display:flex;
  flex-direction:column;
  justify-content:left;
  margin:0;
  padding:6vw 0;
  text-align:left
}
.error-head {
  height:75vh
}
.error-head h1 {
  font-size:7rem;
  font-weight:var(--font-heavy);
  letter-spacing:10px;
  line-height:1.1em;
  margin:0
}
.error-head p {
  color:color(var(--color-base) l(50%));
  font-size:1.4rem;
  letter-spacing:1px;
  margin:2vw 0 3vw;
  text-transform:uppercase
}
.error-link {
  font-size:1.5rem;
  margin-top:1rem;
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:3px
}
.page-head-title {
  color:var(--color-base);
  font-family:var(--font-mono);
  font-weight:var(--font-normal);
  margin:0 0 3vw -6px;
  text-align:left
}
@media (max-width:500px) {
  .page-head-title {
    font-size:2rem
  }
}
.page-head-description {
  color:var(--color-base);
  font-size:2rem;
  font-weight:var(--font-normal);
  line-height:1.6em;
  margin:0 0 3vw;
  text-align:left
}
@media (max-width:500px) {
  .page-head-description {
    font-size:1.8rem
  }
}
.page-head-logo {
  margin:-2vw 0 2vw;
  width:100%;
  z-index:-10
}
.page-head-logo>pre {
  color:var(--color-base);
  font-family:var(--font-mono);
  font-size:2rem;
  line-height:2.4rem
}
@media (max-width:500px) {
  .page-head-logo>pre {
    font-size:1.1rem;
    line-height:1.3rem
  }
}
.page-head-logo>img {
  min-width:100%;
  width:100%
}
.supportme {
  animation:bg-blink-animation .9s infinite;
  -webkit-animation:bg-blink-animation .9s infinite;
  -moz-animation:bg-blink-animation .9s infinite;
  -o-animation:bg-blink-animation .9s infinite;
  border:2px solid var(--color-accent);
  display:block;
  font-size:1.7rem;
  padding:14px 16px
}
.site-foot {
  font-family:var(--font-mono);
  font-size:1.4rem;
  font-weight:var(--font-normal);
  margin:3vw 0 1vw;
  max-width:720px;
  text-align:left
}
.site-foot a {
  display:inline-block;
  margin:0 0 6px
}
.site-foot hr {
  border-bottom:2px solid var(--color-border);
  margin:42px 0;
  width:100%
}
.site-foot .footer-columns {
  display:flex;
  flex-wrap:wrap-reverse;
  width:100%
}
.site-foot .footer-columns #footer-links {
  margin-right:24px
}
.site-foot .footer-columns #qrcode>div {
  margin-left:10px;
  @media (max-width:412px) {
    margin-left:0
  }
}
.site-head {
  font-size:1.65rem;
  max-width:720px
}
.site-head-container {
  align-items:center;
  border-bottom:2px solid var(--color-border);
  display:block;
  grid-template-columns:1fr auto 1fr
}
.site-head li {
  display:block;
  margin:0;
  padding:0
}
.site-head-center {
  display:flex;
  justify-content:left;
  width:100%
}
.site-head-logo {
  color:var(--color-base);
  display:block;
  flex-shrink:0;
  font-size:3.1rem;
  font-weight:var(--font-heavy);
  letter-spacing:1px;
  line-height:1em;
  margin:7px 12px 24px 0;
  padding:0;
  text-decoration:none;
  text-transform:uppercase
}
.site-head-logo:hover {
  background:transparent;
  color:var(--color-accent);
  text-decoration:none
}
.site-head-logo svg {
  display:block;
  height:82px;
  width:82px
}
.site-main {
  max-width:720px
}
@media (max-width:850px) {
  .site-head {
    padding:0
  }
  .site-head-container {
    background:hsla(0,0%,100%,0);
    display:block
  }
  .site-head-center {
    display:flex;
    justify-content:left;
    order:1;
    position:static;
    z-index:auto
  }
}
.post-feed {
  display:block
}
.post-pagination {
  display:block;
  margin:6vw 0 0
}
.post-pagination>.pagination {
  font-size:1.6rem
}
.post-card {
  background:linear-gradient(135deg,#1f1f1f,#111) 50%;
  background-size:cover;
  counter-increment:posts;
  display:flex;
  flex:1 1 50%;
  height:35vw;
  overflow:hidden;
  position:relative
}
@media (max-width:700px) {
  .post-card {
    flex:1 1 100%;
    height:70vw
  }
}
.post-card-large {
  flex:1 1 100%
}
.post-card-link {
  display:block;
  flex:1 1 auto
}
.post-card-content {
  align-items:center;
  background:rgba(0,0,0,.3);
  bottom:0;
  color:#fff;
  display:flex;
  flex:1 1 auto;
  justify-content:center;
  left:0;
  opacity:1;
  position:absolute;
  right:0;
  top:0;
  transition:opacity .5s cubic-bezier(.33,0,.2,1)
}
.post-card.with-image .post-card-content {
  opacity:0
}
@media (max-width:700px) {
  .post-card.with-image .post-card-content {
    opacity:1
  }
}
.post-card-link:hover .post-card-content {
  opacity:1;
  transition:opacity .3s cubic-bezier(.33,0,.2,1)
}
.post-card-title {
  display:inline-block;
  font-size:3.4rem;
  margin:0;
  max-width:70%;
  text-align:center;
  transition:all .3s cubic-bezier(.33,0,.2,1)
}
.post-card.no-image:before {
  bottom:-.15em;
  color:rgba(0,0,0,.2);
  content:counter(posts);
  display:block;
  font-size:28vw;
  font-weight:var(--font-heavy);
  letter-spacing:-.1em;
  line-height:1em;
  position:absolute;
  right:5vw
}
.post-card.no-image .post-card-content {
  align-items:flex-start;
  justify-content:flex-start;
  padding:4vw
}
.post-card.no-image .post-card-title {
  font-size:5rem;
  line-height:1.15em;
  text-align:left
}
.post-card.no-image:hover .post-card-title {
  text-decoration:underline
}
@media (max-width:1200px) {
  .post-card.no-image .post-card-title {
    font-size:3.4rem
  }
}
@media (max-width:700px) {
  .post-card.no-image:before {
    font-size:50vw
  }
}
.post-entries {
  list-style:none;
  padding-left:0
}
.post-entries>.post-entry {
  font-size:2rem;
  margin-bottom:4vw;
  padding-left:0
}
.post-entries>.post-entry>a {
  font-family:var(--font-mono);
  font-size:2.4rem;
  font-weight:var(--font-normal)
}
.post-entries>.post-entry>a>.post-entry-date {
  display:block;
  float:right;
  font-family:var(--font-mono);
  font-size:1.4rem;
  font-weight:var(--font-normal);
  right:0
}
.post-entries>.post-entry>a>.post-entry-cover {
  margin:8px 0
}
.post-entries>.post-entry>a>.post-entry-cover>img {
  filter:grayscale(100%);
  transition:all .5s linear
}
.post-entries>.post-entry>a:hover>.post-entry-cover>img {
  filter:grayscale(0);
  transition:all 1s linear
}
.post-entries>.post-entry>.post-entry-excerpt {
  color:var(--color-light);
  font-size:1.6rem
}
.post-content {
  margin:0;
  max-width:720px;
  padding:6vw 0 0
}
.post-content-header {
  align-items:flex-start;
  display:flex;
  flex-direction:column
}
.post-content-title {
  color:var(--color-base);
  font-family:var(--font-mono);
  font-weight:var(--font-normal);
  margin:0 0 4vw;
  text-align:left
}
@keyframes blink-animation {
  to {
    opacity:0
  }
}
@keyframes bg-blink-animation {
  to {
    border:2px solid transparent
  }
}
.post-content-title:after {
  animation:blink-animation .9s infinite;
  -webkit-animation:blink-animation .9s infinite;
  -moz-animation:blink-animation .9s infinite;
  -o-animation:blink-animation .9s infinite;
  content:"█";
  padding-left:2px
}
.post-content-excerpt {
  color:var(--color-base);
  font-size:2.2rem;
  line-height:1.6em;
  margin:-2vw 0 3vw;
  text-align:left
}
@media (max-width:500px) {
  .post-content-excerpt {
    font-size:1.8rem
  }
}
.post-content-image {
  margin:4vw 0;
  position:relative;
  width:100%
}
.post-content-body {
  font-size:1.9rem;
  line-height:1.65em
}
@media (max-width:500px) {
  .post-content-body {
    font-size:1.7rem
  }
}
.post-content-body h1,
.post-content-body h2,
.post-content-body h3,
.post-content-body h4,
.post-content-body h5,
.post-content-body h6 {
  color:var(--color-base);
  font-family:var(--font-mono);
  font-weight:var(--font-normal)
}
.post-content-body li {
  word-break:break-word
}
.post-content-body li p {
  margin:0
}
.post-content-body iframe {
  margin:0 auto
}
.post-content-body blockquote {
  border-left:3px solid var(--color-primary);
  margin:0 0 1.5em;
  padding:0 1.5em
}
.post-content-body blockquote p {
  color:inherit;
  font-size:inherit;
  font-style:italic;
  line-height:inherit;
  margin:0 0 1em
}
.post-content-body blockquote p:last-child {
  margin-bottom:0
}
.block>p>a>code,
.block>p>code,
.post-content-body>code,
.post-content-body>p>a>code,
.post-content-body>p>code,
ul>li>a>code,
ul>li>code {
  border:2px solid var(--color-code);
  color:var(--color-code);
  font-family:var(--font-mono);
  font-weight:var(--font-normal);
  padding:2px 4px
}
.post-content-body p code {
  word-break:normal
}
.post-content-body pre {
  background:var(--color-code-bg);
  border:2px inset var(--color-code-border);
  color:var(--color-code);
  line-height:2.4rem;
  margin:1.5em 0 3em;
  max-width:100%;
  overflow-x:auto;
  padding:10px
}
.post-content-body div.nocode pre {
  background:transparent;
  border:0;
  color:var(--color-base)
}
.post-content-body pre code {
  background:transparent;
  font-size:inherit;
  line-height:inherit;
  padding:0
}
.post-content-body pre code :not(span) {
  color:inherit
}
.post-content-body .fluid-width-video-wrapper {
  margin:1.5em 0 3em
}
.post-content-body hr {
  border-bottom:1px solid color(var(--color-border));
  height:1px;
  margin:4vw 0;
  width:100%
}
.post-meta {
  border-top:2px solid var(--color-border);
  display:block;
  font-family:var(--font-mono);
  font-size:1.8rem;
  font-weight:var(--font-normal);
  margin-top:42px;
  padding-top:42px
}
.post-meta-range-item {
  margin:0 2px
}
.footnotes-sep {
  margin-bottom:30px
}
.footnotes {
  font-size:1.5rem
}
.footnotes p {
  margin:0
}
.footnote-backref {
  box-shadow:none!important;
  color:var(--color-primary)!important;
  font-size:1.2rem;
  font-weight:var(--font-bold);
  text-decoration:none!important
}
.author-meta {
  color:var(--color-base);
  justify-content:center;
  margin-bottom:10px
}
.author-links,
.author-meta {
  align-items:center;
  display:flex
}
.author-links {
  margin-top:20px
}
.author-links a {
  color:var(--color-base);
  display:block;
  margin:0;
  padding:0 12px
}
.author-links a:hover {
  text-decoration:none
}
.author-links .divider {
  display:inline-block;
  margin:0 3px
}
.page-template .post-content-body h1,
.page-template .post-content-body h2,
.page-template .post-content-body h3 {
  text-align:left
}
aside#toc {
  border-bottom:10px solid var(--color-border);
  font-size:1.8rem;
  margin:40px 0;
  padding:0 16px 22px
}
aside#toc>nav#TableOfContents>ul {
  margin:0
}
@media (prefers-color-scheme:dark) {
  #qrcode>.qrcode-light {
    display:none
  }
}
@media (prefers-color-scheme:light) {
  #qrcode>.qrcode-dark {
    display:none
  }
}
.badges {
  margin:32px 0 0
}
.openbsd {
  height:34px;
  width:100px
}
.square-badge {
  height:34px;
  width:34px
}
@font-face {
  font-family:TX-02;
  font-stretch:normal;
  font-style:normal;
  font-weight:400;
  src:url(../fonts/TX-02-Regular.woff2) format("woff2")
}
@font-face {
  font-family:TX-02;
  font-stretch:normal;
  font-style:normal;
  font-weight:700;
  src:url(../fonts/TX-02-Bold.woff2) format("woff2")
}
@font-face {
  font-family:TX-02;
  font-stretch:normal;
  font-style:italic;
  font-weight:700;
  src:url(../fonts/TX-02-Bold-Oblique.woff2) format("woff2")
}
@font-face {
  font-family:TX-02;
  font-stretch:normal;
  font-style:italic;
  font-weight:400;
  src:url(../fonts/TX-02-Oblique.woff2) format("woff2")
}
