:root {
  --white: white;
  --grey-100: #f7f7f7;
  --grey-200: #dedede;
  --grey-300: #c4c4c4;
  --grey-400: #ababab;
  --grey-500: #919191;
  --grey-600: #787878;
  --grey-700: #5e5e5e;
  --grey-800: #454545;
  --grey-900: #2b2b2b;
  --black: black;
  --black-50-a: rgba(0, 0, 0, 0.05);
  --black-100-a: rgba(0, 0, 0, 0.1);
  --white-400-a: rgba(255, 255, 255, 0.4);
  --white-700-a: rgba(255, 255, 255, 0.7);
  --white-850-a: rgba(255, 255, 255, 0.85);
  --purple: purple;
  --blue: blue;
  --yellow: #fee267;
  --skyblue: #89cfeb;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-md: 1.125rem;
  --font-size-lg: 1.25rem;
  --font-size-xl: 1.563rem;
  --font-size-2xl: 1.953rem;
  --font-size-h2: 2.441rem;
  --font-size-h1: 3.052rem;
  --body-background: var(--white);
  --body-font-color: var(--grey-900);
  --body-font-color-alt: var(--white);
  --body-font-size: var(--font-size-md);
  --heading-font-color: var(--grey-800);
  --card-background: var(--white-850-a);
  --footer-background: var(--grey-200);
  --text-muted: var(--grey-700);
  --link-color: var(--blue);
  --link-color-alt: var(--purple);
  --footer-color: var(--grey-800);
  --sans-font-family: -apple-system, blinkmacsystemfont, segoe ui, roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", helvetica, arial, sans-serif, apple color emoji, segoe ui emoji, cursive;
  --serif-font-family: constantia, "Lucida Bright", lucidabright, "Lucida Serif", lucida, "DejaVu Serif", "Bitstream Vera Serif", "Liberation Serif", georgia, serif;
  --mono-font-family: "Source Code Pro", menlo, monaco, consolas, "Liberation Mono", "Courier New", monospace;
  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 3px;
  --border-radius-sm: 0.25rem;
  --border-radius-default: 1.25rem;
  --border-radius-circle: 50%;
  --space-sm-8n: -0.5rem;
  --space-sm-4n: -0.25rem;
  --space-sm-2n: -0.125rem;
  --space-0: 0;
  --space: 0.025rem;
  --space-sm-1: 0.06rem;
  --space-sm-2: 0.125rem;
  --space-sm-4: 0.25rem;
  --space-sm-6: 0.375rem;
  --space-sm-8: 0.5rem;
  --space-sm-10: 0.625rem;
  --space-sm-12: 0.75rem;
  --space-sm-14: 0.875rem;
  --space-lg-1n: -1rem;
  --space-lg-1: 1rem;
  --space-lg-1h: 1.5rem;
  --space-lg-2: 2rem;
  --space-lg-3: 3rem;
  --space-lg-4: 4rem;
  --space-lg-5: 5rem;
  --transition-default: all 0.2s ease;
  --line-length: 57ch;
  --w-breakpoint-xs: 36rem;
  --w-breakpoint-sm: 48rem;
  --w-breakpoint-md: 60rem; }

.img-responsive, .img-post, .img-accent, .img-full, .img-restricted {
  height: auto;
  object-fit: cover;
  object-position: center; }

.grid {
  display: grid;
  margin: var(--space-lg-3) var(--space-0);
  grid-template-columns: minmax(var(--space-lg-1h), 1fr) minmax(auto, var(--w-breakpoint-xs)) minmax(var(--space-lg-1h), 1fr);
  overflow: hidden; }
  @media all and (min-width: 48em) {
    .grid {
      margin: var(--space-lg-3) var(--space-0) var(--space-lg-5);
      grid-template-columns: minmax(var(--space-lg-1h), 1fr) minmax(auto, var(--w-breakpoint-sm)) minmax(var(--space-lg-1h), 1fr); } }
  @media all and (min-width: 64em) {
    .grid {
      grid-template-columns: minmax(var(--space-lg-1h), 1fr) minmax(auto, var(--w-breakpoint-md)) minmax(var(--space-lg-1h), 1fr); } }

p, .grid > *:not(figure):not(.hero), .tmpl-post article > *:not(figure):not(.hero), .grid-column-center {
  grid-column: 2 / auto; }

.hero, .grid-column-full {
  grid-column: 1 / 4; }

.footer__link, .post__content a:not(.direct-link), .post__prev--link,
.post__next--link, .underline-dashed {
  transition: var(--transition-default);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-thickness: var(--space-sm-1);
  text-underline-offset: var(--space-sm-2); }
  .footer__link:hover, .post__content a:hover:not(.direct-link), .post__prev--link:hover,
  .post__next--link:hover, .underline-dashed:hover {
    text-decoration-style: solid; }

* {
  box-sizing: border-box;
  margin: var(--space-0);
  padding: var(--space-0); }

html {
  scroll-behavior: smooth; }

::selection {
  background-color: var(--yellow);
  color: var(--body-font-color); }

body {
  width: 100vw;
  background-color: var(--body-background);
  color: var(--body-font-color);
  font-family: var(--sans-font-family);
  font-size: var(--body-font-size);
  line-height: 1.7;
  overflow-x: hidden; }

p {
  margin-bottom: var(--space-lg-1); }
  p:last-child {
    margin-bottom: var(--space-0); }

ul {
  list-style-type: none; }

hr {
  margin: var(--space-lg-2) var(--space-0); }

article {
  display: grid;
  margin: var(--space-lg-3) var(--space-0);
  grid-template-columns: minmax(var(--space-lg-1), 1fr) minmax(auto, var(--line-length)) minmax(var(--space-lg-1), 1fr);
  overflow: hidden; }

img,
video {
  max-width: 100%;
  height: auto; }

picture {
  display: block; }

a {
  color: var(--link-color); }
  a:visited {
    color: var(--link-color-alt); }

button {
  border: none;
  background: transparent; }
  button:hover {
    cursor: pointer; }

a:focus,
button:focus {
  outline: var(--border-width-medium) dashed var(--link-color-alt);
  outline-offset: var(--space-sm-4); }

a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none; }

a:focus-visible,
button:focus-visible {
  outline: var(--border-width-medium) dashed var(--link-color-alt);
  outline-offset: var(--space-sm-4); }

pre,
code {
  font-family: var(--mono-font-family);
  line-height: 1.5; }

pre {
  margin: var(--space) var(--space-0);
  padding: var(--space-lg-1);
  background: var(--body-background);
  font-size: var(--font-size-sm);
  line-height: 1.375;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  direction: ltr;
  word-break: normal;
  tab-size: 2;
  hyphens: none; }

pre[class*="language-"] {
  display: block;
  max-width: calc(100vw - var(--space-lg-3));
  margin: var(--space-lg-1) var(--space-0);
  padding: var(--space-lg-1);
  background-color: var(--body-font-color); }

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  margin: var(--space-lg-1) var(--space-0);
  font-family: var(--serif-font-family);
  font-weight: bold; }
  h1:focus,
  h2:focus,
  h3:focus,
  h4:focus,
  h5:focus,
  h6:focus,
  .h1:focus,
  .h2:focus,
  .h3:focus,
  .h4:focus,
  .h5:focus,
  .h6:focus {
    outline: var(--border-width-medium) dashed var(--link-color-alt);
    outline-offset: var(--space-sm-4); }

h1,
.h1 {
  margin-top: 0;
  font-size: var(--font-size-h1);
  font-size: clamp(1.953rem, 8.3vw - 2rem, 3.052rem);
  line-height: 1.1; }
  h1 > .direct-link,
  .h1 > .direct-link {
    display: none; }

h2,
.h2 {
  font-size: var(--font-size-h2);
  font-size: clamp(1.563rem, 8.3vw - 2rem, 2.441rem);
  line-height: 1.2; }

h3,
.h3 {
  font-size: var(--font-size-2xl);
  font-size: clamp(1.25rem, 8.3vw - 2rem, 1.953rem);
  line-height: 1.3; }

h4,
.h4 {
  font-size: var(--font-size-xl);
  line-height: 1.4; }

h5,
.h5 {
  font-size: var(--font-size-lg);
  line-height: 1.5; }

h6,
.h6 {
  font-size: var(--font-size-base);
  line-height: 1.6; }

.skip-link:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.skip-link {
  position: absolute;
  top: var(--space-lg-1h);
  left: var(--space-lg-1h);
  z-index: 99; }

.direct-link {
  position: relative;
  text-decoration: none; }
  .direct-link::after {
    display: inline-block;
    position: relative;
    top: var(--space-sm-2);
    width: var(--space-lg-1h);
    height: var(--space-lg-1h);
    margin-left: var(--space-sm-4);
    background-image: url("/assets/images/anchor.svg");
    background-size: var(--space-lg-1h) var(--space-lg-1h);
    content: " ";
    filter: brightness(150%); }
  .direct-link:hover {
    cursor: pointer; }
    .direct-link:hover::after {
      filter: brightness(0%); }

.dark-theme {
  --body-background: var(--grey-900);
  --body-font-color: var(--white);
  --body-font-color-alt: var(--black);
  --heading-font-color: var(--grey-100);
  --card-background: var(--black);
  --footer-background: var(--black);
  --text-muted: var(--grey-200);
  --link-color: var(--yellow);
  --link-color-alt: var(--skyblue);
  --footer-color: var(--grey-200); }
  .dark-theme img {
    filter: grayscale(1) brightness(0.8) contrast(1.2); }
  .dark-theme pre[class*="language-"] {
    margin-top: var(--space-lg-2);
    border: var(--border-width-thin) solid var(--white);
    background-color: var(--body-background); }
  .dark-theme .post-card:hover {
    box-shadow: 0 0 1rem var(--white-400-a); }
  .dark-theme .direct-link:hover::after {
    filter: brightness(500%); }
  .dark-theme.gradient-home {
    background-image: url("/assets/images/mesh-gradient-black.webp");
    background-repeat: no-repeat;
    background-size: contain; }

/*! purgecss ignore */
.no-webp .dark-theme.gradient-home {
  background-image: url("/assets/images/mesh-gradient-black.jpg");
  background-repeat: no-repeat;
  background-size: contain; }

.menu__items {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: var(--space-lg-1h);
  padding: var(--space-0) var(--space-lg-1h);
  list-style: none; }
  .menu__items > * + * {
    margin-left: var(--space-sm-12); }
    @media all and (min-width: 60em) {
      .menu__items > * + * {
        margin-left: var(--space-lg-2); } }
  @media all and (min-width: 36em) {
    .menu__items {
      margin-bottom: var(--space-0); } }

.menu__item {
  font-size: var(--font-size-sm);
  font-weight: 500;
  letter-spacing: var(--space-sm-1);
  text-transform: uppercase; }

.menu__link {
  position: relative;
  transition: var(--transition-default);
  color: var(--body-font-color);
  text-decoration: none; }
  .menu__link::after {
    position: absolute;
    bottom: 40%;
    left: var(--space-sm-2n);
    width: var(--space-0);
    height: var(--space-sm-2);
    transition: var(--transition-default);
    background: var(--body-font-color);
    content: "";
    z-index: -1; }
  .menu__link:hover::after {
    width: calc(100% + var(--space-sm-4)); }
  .menu__link:visited {
    color: var(--body-font-color); }

.menu__item--active a {
  position: relative; }
  .menu__item--active a::after {
    position: absolute;
    bottom: 42%;
    left: var(--space-sm-2n);
    width: calc(100% + var(--space-sm-4));
    height: var(--space-sm-2);
    transition: var(--transition-default);
    background: var(--body-font-color);
    content: "";
    z-index: -1; }

.toggle__theme--wrap {
  display: flex;
  position: absolute;
  top: var(--space-lg-2);
  right: var(--space-sm-8);
  align-items: center; }
  @media all and (min-width: 36em) {
    .toggle__theme--wrap {
      position: initial;
      margin-top: var(--space-sm-4); } }
  .toggle__theme--wrap:hover .toggle__theme--svg {
    fill: var(--grey-500); }

.toggle__theme--btn:hover {
  cursor: pointer; }

.toggle__theme--svg {
  transition: var(--transition-default);
  fill: var(--body-font-color); }

.pager {
  text-align: center; }

.pager__numbers > * + *,
.pager__items > * + * {
  margin-left: var(--space-sm-6); }

.pager__numbers {
  display: inline-block;
  margin: var(--space-0) var(--space-sm-6) var(--space-0) var(--space-sm-12); }

.pager__item {
  display: inline-block;
  margin-bottom: var(--space-sm-6);
  list-style-type: none;
  transition: var(--transition-default);
  font-size: var(--font-size-base); }

.pager__link {
  display: flex;
  border: var(--border-width-thin) solid var(--body-font-color);
  border-radius: var(--border-radius-default);
  color: var(--body-font-color);
  text-decoration: none; }
  .pager__link:hover {
    border-color: var(--link-color);
    color: var(--link-color); }

.pager__content {
  display: inline-block;
  min-width: 1.85rem;
  padding: var(--space-sm-2) var(--space-sm-10) var(--space-0);
  color: var(--body-font-color); }

.pager__current {
  border: var(--border-width-thin) solid var(--heading-font-color);
  border-radius: var(--border-radius-default);
  background: var(--heading-font-color); }
  .pager__current .pager__content {
    color: var(--body-font-color-alt); }

.btn {
  padding: var(--space-sm-8) var(--space-sm-12);
  transition: var(--transition-default);
  border: var(--border-width-medium) solid var(--body-font-color);
  border-radius: var(--border-radius-default);
  background-color: var(--body-font-color);
  color: var(--body-font-color-alt);
  letter-spacing: var(--space);
  text-decoration: none; }
  .btn:hover {
    border: var(--border-width-medium) solid var(--body-font-color);
    background-color: var(--body-font-color-alt);
    color: var(--body-font-color);
    cursor: pointer; }
  .btn:visited {
    background-color: var(--body-font-color);
    color: var(--body-font-color-alt); }

.btn-lg {
  padding: var(--space-sm-8) var(--space-lg-1h); }

.hero {
  position: relative;
  padding: var(--space-0) var(--space-lg-1h);
  overflow: hidden; }
  .hero picture {
    position: absolute;
    z-index: -1; }
  .hero svg {
    position: absolute;
    z-index: -1; }
  .hero h1 {
    max-width: var(--w-breakpoint-md);
    margin: var(--space-lg-4) auto var(--space-lg-2);
    margin: clamp(0rem, 33.3vw - 16rem, 4rem) auto 2rem;
    color: var(--heading-font-color);
    line-height: 1.3; }
  .hero .lead {
    max-width: var(--w-breakpoint-md);
    margin: 0 auto clamp(0rem, 33.3vw - 16rem, 4rem); }

.img-responsive {
  width: 100%;
  aspect-ratio: 16 / 9; }

.img-post {
  width: 90%;
  margin: 0 5%;
  aspect-ratio: 16 / 9; }

.img-accent {
  width: 90vw;
  max-height: 70vh;
  margin-bottom: clamp(2rem, 16.7vw - 6rem, 4rem);
  margin-left: 10vw;
  aspect-ratio: 3 / 1;
  box-shadow: -1.5rem 1.5rem var(--banner-border-color); }

.img-full {
  width: 100vw;
  max-height: 70vh;
  margin-bottom: clamp(2rem, 16.7vw - 6rem, 4rem);
  aspect-ratio: 2 / 1; }

.img-restricted {
  display: flex;
  align-self: center;
  width: var(--w-breakpoint-md);
  max-height: 70vh;
  margin: var(--space-0) auto clamp(2rem, 16.7vw - 6rem, 4rem);
  aspect-ratio: 2 / 1; }

figcaption {
  margin: 0 5%;
  font-size: var(--font-size-sm); }

.postlist {
  display: grid;
  margin: var(--space-lg-2) var(--space-0);
  padding: var(--space-0);
  grid-template-columns: repeat(1, 1fr);
  list-style: none;
  grid-column: 2 / auto;
  grid-auto-rows: 1fr;
  grid-column-gap: var(--space-lg-1h);
  /* stylelint-disable declaration-block-no-redundant-longhand-properties */
  grid-row-gap: 1.7rem;
  /* stylelint-enable declaration-block-no-redundant-longhand-properties */ }
  @media all and (min-width: 36em) {
    .postlist {
      grid-template-columns: repeat(2, 1fr); } }
  @media all and (min-width: 64em) {
    .postlist {
      grid-template-columns: repeat(3, 1fr); } }

.postlist__item {
  max-width: var(--line-length);
  transition: var(--transition-default);
  border-radius: var(--border-radius-default);
  background-color: var(--card-background);
  box-shadow: -1rem 0 2rem var(--black-100-a);
  overflow: hidden; }
  .postlist__item:hover {
    cursor: pointer;
    box-shadow: 0 10px 15px -3px var(--black-100-a), 0 -3px 6px -2px var(--black-50-a); }

.post-card {
  position: relative; }
  .post-card:hover .post-card__link,
  .post-card:hover .post-card__link:visited {
    color: var(--link-color);
    text-decoration: none; }

.post-card__link,
.post-card__link:visited {
  color: var(--heading-font-color);
  text-decoration: none; }

.post-card__link::after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ""; }

.post-card__link:focus-visible {
  outline: none; }
  .post-card__link:focus-visible::after {
    border: var(--border-width-medium) dashed var(--link-color-alt);
    border-radius: var(--border-radius-default); }

.post-card__image {
  display: flex;
  height: 10rem;
  filter: grayscale(1) brightness(1); }
  .post-card__image img {
    width: 100%;
    object-fit: cover; }

.post-card__content {
  padding: var(--space-lg-1h); }
  .post-card__content p:not(.post-card__title) {
    font-size: var(--font-size-base); }

.post-card__tags {
  margin-bottom: var(--space-lg-1); }

.post-card__title {
  margin: var(--space-sm-8) var(--space-0); }

.post-card__date-time {
  padding-top: var(--space-lg-1);
  border-top: var(--border-width-thin) solid var(--grey-200); }

.tags {
  grid-template-rows: min-content; }

.tag__items > * + *,
.post-card__tags > * + * {
  margin-left: var(--space-sm-6); }

.tag__items {
  align-content: flex-start; }

.tag__item {
  margin-bottom: var(--space-sm-6); }

.tag__link,
.post-card__tag {
  display: inline-block;
  padding: var(--space-sm-1) var(--space-sm-8);
  transition: var(--transition-default);
  border: var(--border-width-thin) solid var(--body-font-color);
  border-radius: var(--border-radius-default);
  color: var(--body-font-color);
  font-size: var(--font-size-sm);
  text-decoration: none;
  vertical-align: text-top; }
  .tag__link:visited,
  .post-card__tag:visited {
    color: var(--body-font-color); }
  .tag__link:hover,
  .post-card__tag:hover {
    border-color: var(--link-color);
    color: var(--link-color); }

.post-card__tag {
  font-size: var(--font-size-xs); }

header {
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  @media all and (min-width: 60em) {
    header {
      flex-direction: row; } }

.home {
  width: fit-content;
  margin: var(--space-lg-1h);
  padding: var(--space-sm-2) var(--space-sm-8) var(--space-sm-4) var(--space-sm-6);
  transition: var(--transition-default);
  border: var(--border-width-thick) solid var(--body-font-color);
  border-radius: var(--border-radius-sm);
  color: var(--body-font-color);
  font-family: var(--sans-font-family);
  font-size: var(--font-size-2xl);
  font-weight: normal;
  letter-spacing: var(--space);
  line-height: 1;
  text-decoration: none;
  font-variant-caps: small-caps; }
  .home:visited {
    color: inherit; }
  .home:hover {
    border-color: var(--link-color);
    color: var(--link-color); }

.footer {
  content-visibility: auto;
  contain-intrinsic-size: 750px;
  padding: var(--space-lg-1) var(--space-0);
  background-color: var(--footer-background);
  color: var(--footer-color);
  font-size: var(--font-size-sm); }

.footer__top {
  grid-column: 2 / auto;
  display: flex;
  flex-direction: column; }
  @media all and (min-width: 48em) {
    .footer__top {
      flex-direction: row; } }

.footer__top-left,
.footer__top-right {
  flex: 1 100%; }

.footer__top-left {
  /* if screen > 600px footer-top-right appears alongside footer-top-left getting 1/3rd of space */ }
  @media all and (min-width: 48em) {
    .footer__top-left {
      flex: 1 50%;
      padding: var(--space-lg-1) var(--space-lg-1) var(--space-lg-1) var(--space-0); } }

@media all and (min-width: 36em) {
  .footer__top-right {
    display: flex; } }

@media all and (min-width: 48em) {
  .footer__top-right {
    display: flex;
    flex: 1 50%;
    padding: var(--space-lg-1) var(--space-0) var(--space-lg-1) var(--space-lg-1); } }

.footer__logo {
  display: inline-block;
  margin: var(--space-lg-1) var(--space-0);
  border: var(--border-width-medium) solid var(--footer-color);
  color: var(--footer-color);
  font-size: var(--font-size-xl); }
  .footer__logo:hover {
    border: var(--border-width-medium) solid var(--link-color);
    color: var(--link-color); }

.footer__quick-links,
.footer__contact,
.footer__follow {
  margin-bottom: var(--space-lg-1h); }

@media all and (min-width: 36em) {
  .footer__quick-links-wrapper {
    flex: 1 40%; } }

.footer__quick-link-item {
  display: flex; }

@media all and (min-width: 36em) {
  .footer__contact-follow-wrapper {
    flex: 1 60%; } }

.footer__copyright {
  padding: var(--space-lg-1) var(--space-0);
  border-top: var(--border-width-thin) solid var(--footer-background);
  text-align: center; }

.footer__link {
  padding: var(--space-sm-6) var(--space-sm-6) var(--space-sm-6) var(--space-sm-2); }
  @media all and (min-width: 60em) {
    .footer__link {
      padding: var(--space-sm-2); } }

.footer__social-items {
  display: flex;
  flex-wrap: wrap; }

.footer__social-link {
  margin-right: var(--space-sm-8);
  padding: var(--space-sm-2) var(--space-sm-6) var(--space-0) var(--space-sm-6);
  transition: var(--transition-default);
  border: var(--border-width-medium) solid var(--text-muted);
  border-radius: var(--border-radius-circle);
  font-size: var(--font-size-xl); }
  .footer__social-link svg {
    transition: var(--transition-default);
    fill: var(--text-muted);
    color: var(--text-muted);
    stroke: var(--text-muted); }
  .footer__social-link:hover {
    border-color: var(--link-color); }
    .footer__social-link:hover svg {
      fill: var(--link-color);
      color: var(--link-color);
      stroke: var(--link-color); }

.tmpl-home {
  min-height: calc(100vh - 92px - 6rem - 55px); }
  .tmpl-home > :first-child {
    margin-bottom: var(--space-lg-3); }
  .tmpl-home p {
    max-width: var(--line-length); }

.gradient-home {
  background-image: url("/assets/images/mesh-gradient-white.webp");
  background-repeat: no-repeat;
  background-size: contain; }

/*! purgecss ignore */
.no-webp .gradient-home {
  background-image: url("/assets/images/mesh-gradient-white.jpg");
  background-repeat: no-repeat;
  background-size: contain; }

.post__header {
  flex-direction: column; }
  .post__header h2 {
    margin-top: var(--space-0); }

.post__content {
  max-width: var(--line-length); }
  .post__content > p:first-child::first-letter {
    margin-right: var(--space-sm-6);
    padding: var(--space-sm-2);
    float: left;
    font-size: 300%;
    font-weight: bold;
    line-height: 1; }
  .post__content h2,
  .post__content h3,
  .post__content h4,
  .post__content h5,
  .post__content h6 {
    display: inline-block; }
    .post__content h2:hover + .direct-link,
    .post__content h3:hover + .direct-link,
    .post__content h4:hover + .direct-link,
    .post__content h5:hover + .direct-link,
    .post__content h6:hover + .direct-link {
      filter: brightness(0%); }
  .post__content > p {
    margin-bottom: var(--space-lg-1); }
  .post__content > p + *:not(p)* {
    margin-top: var(--space-lg-2); }
  .post__content > *:not(p):not(.direct-link) + p {
    margin-top: var(--space-lg-2); }
  .post__content > p:last-child {
    margin-bottom: var(--space-0); }

.post__footer {
  content-visibility: auto;
  contain-intrinsic-size: 150px;
  padding-bottom: var(--space-lg-1); }

.post__next-prev {
  display: flex;
  flex-direction: column; }
  @media all and (min-width: 60em) {
    .post__next-prev {
      flex-direction: row;
      justify-content: space-between; } }

@media all and (min-width: 60em) {
  .post__next,
  .post__prev {
    width: 50%; } }

@media all and (min-width: 60em) {
  .post__prev {
    text-align: right; } }

.post__prev--label,
.post__next--label {
  font-size: var(--font-size-sm);
  font-weight: 500;
  letter-spacing: var(--space-sm-1);
  text-transform: uppercase; }
  .post__prev--label::after,
  .post__next--label::after {
    margin-left: var(--space-sm-4n);
    content: ":"; }
  @media all and (min-width: 60em) {
    .post__prev--label::after,
    .post__next--label::after {
      content: ""; } }

@media all and (min-width: 60em) {
  .post__next--label {
    margin-left: -0.5rem; } }

@media all and (min-width: 60em) {
  .post__prev--label {
    margin-right: var(--space-sm-8n); } }

.post__prev--icon,
.post__next--icon {
  display: none; }
  @media all and (min-width: 60em) {
    .post__prev--icon,
    .post__next--icon {
      display: inline;
      position: relative;
      top: var(--space-sm-8); } }

.post__prev--icon {
  left: var(--space-sm-4n); }

.post__next--icon {
  right: var(--space-sm-4n); }

@media all and (min-width: 60em) {
  .post__prev--link,
  .post__next--link {
    display: block; } }

.not-found h2 {
  margin-top: var(--space-lg-2); }
  .not-found h2:first-of-type {
    margin-top: var(--space-0); }

.not-found .direct-link {
  display: none; }

.mb-0 {
  margin-bottom: var(--space-0); }

.mb-0-5 {
  margin-bottom: var(--space); }

.mt-1 {
  margin-top: var(--space-lg-1); }

.mb-1 {
  margin-bottom: var(--space-lg-1); }

.ml-1h {
  margin-left: var(--space-lg-1h); }

.mr-1 {
  margin-right: var(--space-lg-1); }

.mb-2 {
  margin-bottom: var(--space-lg-2); }

@media all and (min-width: 48em) {
  .mb-lg-3 {
    margin-bottom: var(--space-lg-3); } }

@media all and (min-width: 60em) {
  .ml-md-auto {
    margin-left: auto; } }

@media all and (min-width: 48em) {
  .columns-2 {
    max-width: none;
    columns: 2;
    column-gap: var(--space-lg-2);
    orphans: 3; } }

.sr-only,
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.text-black {
  color: var(--body-font-color); }

.text-muted {
  color: var(--text-muted); }

.small-caps {
  font-variant-caps: small-caps; }

.font-bold {
  font-weight: bold; }

.font-xs {
  font-size: var(--font-size-xs); }

.font-sm {
  font-size: var(--font-size-sm); }

.display-flex {
  display: flex; }

.flex-wrap {
  flex-wrap: wrap; }

@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto; } }

@media (prefers-reduced-data: reduce) {
  img,
  video {
    display: none; } }

@media (prefers-color-scheme: dark) {
  :root {
    --body-background: var(--grey-900);
    --body-font-color: var(--white);
    --body-font-color-alt: var(--black);
    --heading-font-color: var(--grey-100);
    --card-background: var(--black);
    --footer-background: var(--black);
    --text-muted: var(--grey-200);
    --link-color: var(--yellow);
    --link-color-alt: var(--skyblue);
    --footer-color: var(--grey-200); }
  img {
    filter: grayscale(1) brightness(0.8) contrast(1.2); }
  pre[class*="language-"] {
    margin-top: var(--space-lg-2);
    border: var(--border-width-thin) solid var(--white);
    background-color: var(--body-background); }
  .post-card:hover {
    box-shadow: 0 0 1rem var(--white-400-a); }
  .direct-link:hover::after {
    filter: brightness(500%); }
  .gradient-home {
    background-image: url("/assets/images/mesh-gradient-black.webp");
    background-repeat: no-repeat;
    background-size: contain; }
  /*! purgecss ignore */
  .no-webp .gradient-home {
    background-image: url("/assets/images/mesh-gradient-black.jpg");
    background-repeat: no-repeat;
    background-size: contain; }
  .light-theme {
    --body-background: var(--white);
    --body-font-color: var(--grey-900);
    --body-font-color-alt: var(--white);
    --body-font-size: var(--font-size-md);
    --heading-font-color: var(--grey-800);
    --card-background: var(--white-850-a);
    --footer-background: var(--grey-200);
    --text-muted: var(--grey-700);
    --link-color: var(--blue);
    --link-color-alt: var(--purple);
    --footer-color: var(--grey-800); }
    .light-theme img {
      filter: grayscale(0); }
    .light-theme pre[class*="language-"] {
      margin-top: var(--space-lg-1);
      border: var(--border-width-thin) solid var(--black);
      background-color: var(--body-font-color); }
    .light-theme .post-card:hover {
      box-shadow: 0 10px 15px -3px var(--black-100-a), 0 -3px 6px -2px var(--black-50-a); }
    .light-theme .direct-link:hover::after {
      filter: brightness(0%); }
  .gradient-home.light-theme {
    background-image: url("/assets/images/mesh-gradient-white.webp");
    background-repeat: no-repeat;
    background-size: contain; }
  /*! purgecss ignore */
  .no-webp .gradient-home.light-theme {
    background-image: url("/assets/images/mesh-gradient-white.jpg");
    background-repeat: no-repeat;
    background-size: contain; } }

/*# sourceMappingURL=main.css.map */