    
    :root {
      --page-margin:        20px;
      --page-width:         876px; 
      --navbar-height:      34px; 
      --border-radius:      0;
      --baseline:           0.25rem;
      --gallery-gap:        0.25rem; 
      --transition:         all 0.24s ease-out;
      --body-font:          -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      --heading-font:       -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      --logo-font:          -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      --menu-font:          -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      --font-weight-normal: 400; 
      --font-weight-bold:   700; 
      --headings-weight:    700;
      --headings-transform: none;
      --line-height:        1.4;
      --letter-spacing:     -0.02em;
      --accent:             135, 54%, 72%;
      --background:         248, 11%, 15%;
      --color:              0,0%,100%;
      --highlight-color:    #FFA96B;
      --info-color:         #A8D8FF;
      --success-color:      #6DD18C;
      --warning-color:      #FF8789;
    }

    @media all and (min-width: 42.75em) {
      :root {
        --page-margin: 40px;
      }
    }
 *,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

article,
aside,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

li {
  list-style: none;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
}

button,
input,
select,
textarea {
  font: inherit;
}

address {
  font-style: normal;
}

::-moz-selection {
  background: hsla(var(--accent), var(--alpha, 1));
  color: hsla(var(--background), var(--alpha, 1));
}

::selection {
  background: hsla(var(--accent), var(--alpha, 1));
  color: hsla(var(--background), var(--alpha, 1));
}

html {
  font-size: clamp(1rem, 1rem + 0 * ((100vw - 20rem) / 50), 1rem);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--baseline) * 5);
}
html.no-scroll {
  overflow: hidden;
}

body {
  background: hsla(var(--background), var(--alpha, 1));
  color: hsla(var(--color), var(--alpha, 1));
  font-family: var(--body-font);
  font-variation-settings: "wght" var(--font-weight-normal);
  letter-spacing: var(--letter-spacing);
  line-height: var(--line-height);
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}

a {
  text-decoration: none;
}
a {
  color: hsla(var(--accent), var(--alpha, 1));
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
a:hover {
  color: hsla(var(--color), var(--alpha, 1));
  text-decoration: underline;
  text-decoration-thickness: 0.02em;
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
a:active {
  color: hsla(var(--color), var(--alpha, 1));
}
a:focus {
  outline: none;
}

.invert {
  color: hsla(var(--color), var(--alpha, 1));
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.invert:hover {
  color: hsla(var(--accent), var(--alpha, 1));
  text-decoration: underline;
  text-decoration-thickness: 0.02em;
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
.invert:active {
  color: hsla(var(--accent), var(--alpha, 1));
}
.invert:focus {
  outline: none;
}

p,
ul,
ol,
dl,
pre {
  margin-top: calc(var(--baseline) * 5);
}

blockquote,
figure,
hr {
  margin-top: calc(var(--baseline) * 8);
  margin-bottom: calc(var(--baseline) * 8);
}

pre,
table {
  margin-top: calc(var(--baseline) * 6);
  margin-bottom: calc(var(--baseline) * 7);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: hsla(var(--color), var(--alpha, 1));
  font-family: var(--heading-font);
  font-variation-settings: "wght" var(--headings-weight);
  -webkit-hyphens: manual;
      -ms-hyphens: manual;
          hyphens: manual;
  line-height: 1.3;
  margin-top: calc(var(--baseline) * 12);
  text-transform: var(--headings-transform);
}

h1,
.h1 {
  font-size: clamp(1.3808408252rem, 1.3808408252rem + 0.0920560555 * ((100vw - 20rem) / 50), 1.4728968807rem);
}

h2,
.h2 {
  font-size: clamp(1.2945382732rem, 1.2945382732rem + 0.086302552 * ((100vw - 20rem) / 50), 1.3808408252rem);
}

h3,
.h3 {
  font-size: clamp(1.2136296308rem, 1.2136296308rem + 0.0809086425 * ((100vw - 20rem) / 50), 1.2945382732rem);
}

h4,
.h4 {
  font-size: clamp(1.1377777785rem, 1.1377777785rem + 0.0758518523 * ((100vw - 20rem) / 50), 1.2136296308rem);
}

h5,
.h5 {
  font-size: clamp(1.066666667rem, 1.066666667rem + 0.0711111115 * ((100vw - 20rem) / 50), 1.1377777785rem);
}

h6,
.h6 {
  font-size: clamp(1rem, 1rem + 0.066666667 * ((100vw - 20rem) / 50), 1.066666667rem);
}

b,
strong {
  font-variation-settings: "wght" var(--font-weight-bold);
}

blockquote {
  border-top: 1px solid hsla(var(--accent), var(--alpha, 1));
  border-bottom: 1px solid hsla(var(--accent), var(--alpha, 1));
  padding: calc(var(--baseline) * 6);
  position: relative;
}
blockquote::before {
  content: ">";
  color: hsla(var(--accent), var(--alpha, 1));
  display: block;
  left: 0;
  position: absolute;
}
blockquote > :nth-child(1) {
  margin-top: 0;
}

ul,
ol {
  margin-left: 2ch;
}
ul > li,
ol > li {
  list-style: inherit;
  padding: 0 0 0 0;
  position: relative;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin-top: 0;
}

dl dt {
  font-variation-settings: "wght" var(--font-weight-bold);
}

code,
kbd {
  font-family: var(--monospace-font);
  background: hsla(var(--accent), var(--alpha, 0.2));
  color: hsla(var(--accent), var(--alpha, 1));
  padding: 1px 6px;
  margin: 0 2px;
  font-size: 0.9374999997rem;
}
code code,
code kbd,
kbd code,
kbd kbd {
  background: transparent;
  padding: 0;
  margin: 0;
}

pre {
  border: 1px solid hsla(var(--color), 0.1);
  border-radius: var(--border-radius);
  color: hsla(var(--accent), var(--alpha, 1));
  font-size: 0.9374999997rem;
  max-height: var(--pre-height);
  overflow: auto;
  padding: calc(var(--baseline) * 5);
  white-space: pre-wrap;
  word-wrap: break-word;
}
pre > code {
  background: transparent;
  font-size: inherit;
  padding: 0;
}

table {
  border: 1px dashed hsla(var(--accent), var(--alpha, 1));
  border-collapse: collapse;
  vertical-align: top;
  text-align: left;
  width: 100%;
}
table th,
table td {
  border: 1px dashed hsla(var(--accent), var(--alpha, 1));
  padding: calc(var(--baseline) * 2.5) calc(var(--baseline) * 4);
}
table th {
  font-variation-settings: "wght" var(--font-weight-bold);
  color: hsla(var(--accent), var(--alpha, 1));
}

figcaption {
  clear: both;
  color: var(--gray);
  font-size: 0.7241964329rem;
  margin: calc(var(--baseline) * 2.5) 0 0;
  text-align: center;
}

sub,
sup {
  font-size: 65%;
}

small {
  font-size: 0.8789062495rem;
}

hr,
.separator {
  background: none;
  border: none;
  height: auto;
  line-height: 1;
  max-width: none;
  position: relative;
  text-align: center;
}
hr::before,
.separator::before {
  content: "";
  font-size: 1.2136296308rem;
  font-variation-settings: "wght" var(--font-weight-bold);
  letter-spacing: 1.1377777785rem;
  padding-left: 1.1377777785rem;
}
hr:not(.separator--dots):not(.separator--dot)::after,
.separator:not(.separator--dots):not(.separator--dot)::after {
  border-top: 1px solid hsla(var(--color), 0.1);
  content: "";
  height: 1px;
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0;
}

.separator--dots::before {
  content: "···";
  color: hsla(var(--accent), var(--alpha, 1));
}
.separator--dot::before {
  content: "·";
  color: hsla(var(--accent), var(--alpha, 1));
}

.button-container {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.btn, [type=button],
[type=submit],
button,
a.btn {
  align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: hsla(var(--accent), var(--alpha, 1));
  border: 1px solid hsla(var(--accent), var(--alpha, 1));
  border-radius: 8;
  color: hsla(var(--background), 1);
  cursor: pointer;
  display: inline-flex;
  flex: 1;
  font: inherit;
  font-variation-settings: "wght" var(--font-weight-bold);
  justify-content: center;
  margin: 5px 0;
  outline: none;
  padding: 8px 18px;
  position: relative;
  text-align: center;
  text-decoration: none;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  /* variants */
}
@media all and (min-width: 42.75em) {
  .btn, [type=button],
  [type=submit],
  button,
  a.btn {
    flex: 0;
  }
}
.btn:hover, [type=button]:hover,
[type=submit]:hover,
button:hover,
a.btn:hover {
  --alpha: .8;
}
.btn--outline,
a.btn--outline {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: hsla(var(--accent), var(--alpha, 1));
}
.btn--outline:hover,
a.btn--outline:hover {
  -webkit-transform: none;
          transform: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn--link,
a.btn--link {
  background: none;
  border: none;
  color: hsla(var(--accent), var(--alpha, 1));
}

a.read-more {
  display: inline-flex;
  font-variation-settings: "wght" var(--font-weight-bold);
  margin: calc(var(--baseline) * 7) 0 calc(var(--baseline) * 5);
  max-width: 100%;
}

[type=button],
[type=submit],
button {
  -webkit-appearance: none;
  -moz-appearance: none;
}

::-webkit-input-placeholder {
  color: hsla(var(--accent), var(--alpha, 0.7));
}

::-moz-placeholder {
  color: hsla(var(--accent), var(--alpha, 0.7));
}

:-ms-input-placeholder {
  color: hsla(var(--accent), var(--alpha, 0.7));
}

::-ms-input-placeholder {
  color: hsla(var(--accent), var(--alpha, 0.7));
}

::placeholder {
  color: hsla(var(--accent), var(--alpha, 0.7));
}

input,
textarea,
select {
  background: transparent;
  color: hsla(var(--accent), var(--alpha, 1));
  border: 1px solid hsla(var(--accent), var(--alpha, 1));
  border-radius: 0;
  padding: 10px;
  margin: 5px 0;
  font: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input:focus,
input :active,
textarea:focus,
textarea :active,
select:focus,
select :active {
  border-color: hsla(var(--color), var(--alpha, 1));
  outline: 1px solid hsla(var(--color), var(--alpha, 1));
}
input:active,
textarea:active,
select:active {
  -webkit-box-shadow: none;
          box-shadow: none;
}

select {
  background: hsla(var(--background), var(--alpha, 1));
}
select option {
  background: hsla(var(--background), var(--alpha, 1));
}

input[type=checkbox], input[type=radio] {
  vertical-align: middle;
  padding: 10px;
  -webkit-box-shadow: inset 0 0 0 3px hsla(var(--background), var(--alpha, 1));
          box-shadow: inset 0 0 0 3px hsla(var(--background), var(--alpha, 1));
}
input[type=checkbox]:checked, input[type=radio]:checked {
  background: hsla(var(--accent), var(--alpha, 1));
}
input[type=radio] {
  border-radius: 50%;
}

.header {
  display: flex;
}
@media all and (max-width: 42.6875em) {
  .header {
    justify-content: space-between;
    gap: 10px;
  }
}
@media all and (min-width: 42.75em) {
  .header {
    flex-direction: column;
    position: relative;
  }
}
.header__logo {
  display: flex;
  flex: 1;
  margin-bottom: calc(var(--baseline) * 5);
}
.header__logo::after {
  content: "";
  background: repeating-linear-gradient(90deg, hsla(var(--accent), var(--alpha, 1)), hsla(var(--accent), var(--alpha, 1)) 2px, transparent 0, transparent 10px);
  display: block;
  width: 100%;
  right: 10px;
}
.header__logo a {
  flex: 0 0 auto;
  max-width: 100%;
  text-decoration: none;
}

.logo {
  align-items: center;
  background: hsla(var(--accent), var(--alpha, 1));
  color: hsla(var(--background), var(--alpha, 1)) !important;
  display: flex;
  height: var(--navbar-height);
  padding: 5px 10px;
  text-decoration: none;
}
.logo > img {
  height: inherit;
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
}

.navbar {
  position: relative;
}
@media all and (min-width: 42.75em) {
  .navbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: calc(var(--baseline) * 5);
  }
}
.navbar .navbar__menu {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media all and (max-width: 42.6875em) {
  .navbar .navbar__menu {
    display: none;
  }
}
.navbar .navbar__menu li {
  font-family: var(--menu-font);
  display: block;
  line-height: var(--line-height);
  font-variation-settings: "wght" var(--font-weight-normal);
  margin: 0;
  padding: 0;
  position: relative;
  width: auto;
}
.navbar .navbar__menu li a {
  color: hsla(var(--color), var(--alpha, 1));
  display: block;
  -webkit-transition: all 0.24s ease-out;
  transition: all 0.24s ease-out;
  text-decoration: underline;
  text-decoration-thickness: 0.02em;
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
.navbar .navbar__menu li a:active, .navbar .navbar__menu li a:focus, .navbar .navbar__menu li a:hover {
  color: hsla(var(--accent), var(--alpha, 1));
}
.navbar .navbar__menu li span {
  color: hsla(var(--color), var(--alpha, 1));
  cursor: default;
  display: block;
}
.navbar .navbar__menu > li {
  margin: 0 1.25rem calc(var(--baseline) * 2.5) 0;
}
.navbar .navbar__menu > li > [aria-haspopup=true]:not(a) {
  color: hsla(var(--accent), var(--alpha, 1));
}
.navbar .navbar__menu > li > [aria-haspopup=true]:not(a)::after {
  content: "";
  right: 0.25rem;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid hsla(var(--accent), var(--alpha, 1));
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.navbar .navbar__menu > li > [aria-haspopup=true] {
  padding: 0 1.25rem 0 0;
}
.navbar .navbar__menu > li > [aria-haspopup=true]::after {
  content: "";
  right: 0.25rem;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid hsla(var(--color), var(--alpha, 1));
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.navbar .navbar__menu > li:hover > [aria-haspopup=true] {
  color: hsla(var(--accent), var(--alpha, 1));
}
.navbar .navbar__menu > li:hover > [aria-haspopup=true]::after {
  border-top-color: hsla(var(--accent), var(--alpha, 1));
}
.navbar .has-submenu:active > .navbar__submenu,
.navbar .has-submenu:focus > .navbar__submenu,
.navbar .has-submenu:hover > .navbar__submenu {
  left: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  visibility: visible;
  margin-top: calc(var(--baseline) * 2);
}
.navbar .has-submenu:active > .navbar__submenu:before,
.navbar .has-submenu:focus > .navbar__submenu:before,
.navbar .has-submenu:hover > .navbar__submenu:before {
  content: "";
  height: calc(var(--baseline) * 3);
  left: 0;
  position: absolute;
  width: 100%;
  top: calc(var(--baseline) * -3);
}
.navbar .has-submenu:active > .navbar__submenu.is-right-submenu,
.navbar .has-submenu:focus > .navbar__submenu.is-right-submenu,
.navbar .has-submenu:hover > .navbar__submenu.is-right-submenu {
  left: auto;
  right: 0;
  -webkit-transform-origin: right top;
          transform-origin: right top;
}
.navbar .has-submenu .has-submenu:active > .navbar__submenu,
.navbar .has-submenu .has-submenu:focus > .navbar__submenu,
.navbar .has-submenu .has-submenu:hover > .navbar__submenu {
  top: 0;
  margin-top: 0;
}
.navbar .has-submenu .has-submenu:active > .navbar__submenu.is-right-submenu,
.navbar .has-submenu .has-submenu:focus > .navbar__submenu.is-right-submenu,
.navbar .has-submenu .has-submenu:hover > .navbar__submenu.is-right-submenu {
  top: 0;
  margin-top: 0;
}
.navbar .navbar__submenu {
  background: hsla(var(--background), var(--alpha, 1));
  -webkit-box-shadow: 0 10px rgba(34, 33, 41, 0.8), -10px 10px rgba(34, 33, 41, 0.8), 10px 10px rgba(34, 33, 41, 0.8);
          box-shadow: 0 10px rgba(34, 33, 41, 0.8), -10px 10px rgba(34, 33, 41, 0.8), 10px 10px rgba(34, 33, 41, 0.8);
  border-radius: var(--border-radius);
  border: 2px solid;
  left: -9999px;
  list-style-type: none;
  margin: 0;
  padding: 10px;
  position: absolute;
  visibility: hidden;
  white-space: nowrap;
  z-index: 1;
  opacity: 0;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transform-origin: 0 top;
          transform-origin: 0 top;
  -webkit-transition: opacity 0.15s, -webkit-transform 0.3s cubic-bezier(0.275, 1.375, 0.8, 1);
  transition: opacity 0.15s, -webkit-transform 0.3s cubic-bezier(0.275, 1.375, 0.8, 1);
  transition: opacity 0.15s, transform 0.3s cubic-bezier(0.275, 1.375, 0.8, 1);
  transition: opacity 0.15s, transform 0.3s cubic-bezier(0.275, 1.375, 0.8, 1), -webkit-transform 0.3s cubic-bezier(0.275, 1.375, 0.8, 1);
}
.navbar .navbar__submenu__submenu {
  z-index: 2;
}
.navbar .navbar__submenu li a,
.navbar .navbar__submenu li span[aria-haspopup=true] {
  padding: calc(var(--baseline) * 2);
  -webkit-transition: all 0.24s ease;
  transition: all 0.24s ease;
}
.navbar .navbar__submenu li a:active, .navbar .navbar__submenu li a:focus, .navbar .navbar__submenu li a:hover,
.navbar .navbar__submenu li span[aria-haspopup=true]:active,
.navbar .navbar__submenu li span[aria-haspopup=true]:focus,
.navbar .navbar__submenu li span[aria-haspopup=true]:hover {
  color: hsla(var(--accent), var(--alpha, 1));
}
.navbar .navbar__submenu li span {
  color: hsla(var(--color), var(--alpha, 1));
  padding: calc(var(--baseline) * 2);
}
.navbar .navbar__submenu li:hover > a, .navbar .navbar__submenu li:hover > span[aria-haspopup=true] {
  color: hsla(var(--accent), var(--alpha, 1));
}
.navbar .navbar__toggle {
  background: hsla(var(--background), var(--alpha, 1));
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 2px solid hsla(var(--accent), var(--alpha, 1));
  border-radius: var(--border-radius);
  color: hsla(var(--accent), var(--alpha, 1));
  cursor: pointer;
  display: block;
  line-height: 1;
  margin: 0;
  overflow: visible;
  padding: 7px 12px;
  position: relative;
  right: 0;
  text-transform: none;
  z-index: 2004;
}
@media all and (min-width: 42.75em) {
  .navbar .navbar__toggle {
    display: none;
  }
}

.navbar_mobile_overlay {
  background: hsla(var(--background), var(--alpha, 1));
  height: 100vh;
  left: 0;
  opacity: 1;
  overflow: auto;
  pointer-events: auto;
  position: fixed;
  top: 4.4rem;
  -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0, 0, 0.3, 1);
  width: 100%;
  z-index: 1001;
}
.navbar_mobile_overlay.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.navbar_mobile_overlay .navbar__menu {
  margin: 24px;
}
.navbar_mobile_overlay .navbar__menu li {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.navbar_mobile_overlay .navbar__menu li a {
  color: hsla(var(--color), var(--alpha, 1));
  display: block;
  padding: 10px 20px 10px 0;
  position: relative;
  text-decoration: underline;
  text-decoration-thickness: 0.02em;
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
.navbar_mobile_overlay .navbar__menu li a:active, .navbar_mobile_overlay .navbar__menu li a:focus, .navbar_mobile_overlay .navbar__menu li a:hover {
  color: hsla(var(--accent), var(--alpha, 1));
}
.navbar_mobile_overlay .navbar__menu li .is-separator {
  color: hsla(var(--accent), var(--alpha, 1));
  cursor: default;
  display: block;
  position: relative;
  padding: 10px 20px 10px 0;
}
.navbar_mobile_overlay .navbar__menu li [aria-haspopup=true]::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 4px 0 4px;
  border-color: hsla(var(--accent), var(--alpha, 1)) transparent transparent transparent;
  left: 0.5333333333rem;
  top: 12px;
  position: relative;
}
.navbar_mobile_overlay .navbar__submenu {
  margin: 0;
  padding: 0;
  visibility: hidden;
}
.navbar_mobile_overlay .navbar__submenu[aria-hidden=false] {
  visibility: visible;
}
.navbar_mobile_overlay .navbar__submenu_wrapper {
  height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: all 0.3s cubic-bezier(0.275, 1.375, 0.8, 1);
  transition: all 0.3s cubic-bezier(0.275, 1.375, 0.8, 1);
}
.navbar_mobile_overlay .navbar__submenu_wrapper.is-active {
  height: auto;
  opacity: 1;
}

.navbar_mobile_sidebar {
  background: hsla(var(--background), var(--alpha, 1));
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
  height: 100vh;
  left: 0;
  max-width: 400px;
  overflow: auto;
  position: fixed;
  top: 0;
  -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0, 0, 0.3, 1);
  width: 80%;
  z-index: 1001;
}
.navbar_mobile_sidebar.is-hidden {
  left: -400px;
}
.navbar_mobile_sidebar .navbar__menu {
  margin: 24px;
}
.navbar_mobile_sidebar .navbar__menu li {
  font-family: var(--menu-font);
  font-size: 16px;
  list-style: none;
  line-height: 1.3;
  margin: 0;
  padding: 0;
}
.navbar_mobile_sidebar .navbar__menu li a {
  color: hsla(var(--color), var(--alpha, 1));
  display: block;
  padding: 10px 20px 10px 0;
  position: relative;
  text-decoration: underline;
  text-decoration-thickness: 0.02em;
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
.navbar_mobile_sidebar .navbar__menu li a:active, .navbar_mobile_sidebar .navbar__menu li a:focus, .navbar_mobile_sidebar .navbar__menu li a:hover {
  color: hsla(var(--accent), var(--alpha, 1));
}
.navbar_mobile_sidebar .navbar__menu li .is-separator {
  color: hsla(var(--accent), var(--alpha, 1));
  cursor: default;
  display: block;
  position: relative;
  padding: 10px 20px 10px 0;
}
.navbar_mobile_sidebar .navbar__menu li [aria-haspopup=true]::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 4px 0 4px;
  border-color: hsla(var(--accent), var(--alpha, 1)) transparent transparent transparent;
  right: 0;
  top: 18px;
  position: absolute;
}
.navbar_mobile_sidebar .navbar__submenu {
  margin: 0 0 0 24px;
  padding: 0;
  visibility: hidden;
}
.navbar_mobile_sidebar .navbar__submenu[aria-hidden=false] {
  visibility: visible;
}
.navbar_mobile_sidebar .navbar__submenu_wrapper {
  height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: all 0.3s cubic-bezier(0.275, 1.375, 0.8, 1);
  transition: all 0.3s cubic-bezier(0.275, 1.375, 0.8, 1);
}
.navbar_mobile_sidebar .navbar__submenu_wrapper.is-active {
  height: auto;
  opacity: 1;
}
.navbar_mobile_sidebar__overlay {
  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  opacity: 1;
  pointer-events: auto;
  position: fixed;
  top: 0;
  -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0, 0, 0.3, 1);
  width: 100%;
  z-index: 10;
}
.navbar_mobile_sidebar__overlay.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.container {
  border-right: 1px solid hsla(var(--color), var(--alpha, 0.1));
  display: flex;
  flex-direction: column;
  padding: var(--page-margin);
  max-width: var(--page-width);
  min-height: 100vh;
}
.container--center {
  border-left: 1px solid hsla(var(--color), var(--alpha, 0.1));
  margin: 0 auto;
}

.content {
  display: flex;
  flex-direction: column;
}
.content ul:not(.post__toc ul) {
  list-style: none;
}
.content ul:not(.post__toc ul) li:not(:empty):before {
  content: "-";
  position: absolute;
  left: -20px;
  color: hsla(var(--accent), var(--alpha, 1));
}
.content ol:not(.post__toc ul) {
  list-style: none;
  counter-reset: li;
}
.content ol:not(.post__toc ul) > li {
  counter-increment: li;
}
.content ol:not(.post__toc ul) > li:before {
  content: counter(li);
  position: absolute;
  right: calc(100% + 10px);
  color: hsla(var(--accent), var(--alpha, 1));
  display: inline-block;
  text-align: right;
}
.content ol:not(.post__toc ul) > li > ol {
  margin-left: 2ch;
}
.content ol:not(.post__toc ul) > li > ol > li {
  counter-increment: li;
}
.content ol:not(.post__toc ul) > li > ol > li:before {
  content: counters(li, ".") " ";
}

.hero {
  margin-top: calc(var(--baseline) * 5);
}

.framed {
  border: 1px solid hsla(var(--accent), var(--alpha, 1));
  padding: calc(var(--baseline) * 5);
}
@media all and (min-width: 42.75em) {
  .framed {
    padding: calc(var(--baseline) * 7.5);
  }
}
.framed *:first-child {
  margin-top: 0;
}
.framed *:last-child {
  margin-bottom: 0;
}

.posts {
  width: 100%;
}

.post {
  width: 100%;
  text-align: left;
  margin: calc(var(--baseline) * 5) auto;
  padding: calc(var(--baseline) * 5) 0;
}
.post:not(:last-of-type) {
  border-bottom: 1px solid hsla(var(--color), var(--alpha, 0.1));
}
.post__content {
  margin-top: calc(var(--baseline) * 7.5);
}
.post__meta {
  --alpha: .7;
  margin-bottom: calc(var(--baseline) * 2.5);
  color: hsla(var(--accent), var(--alpha, 1));
}
.post__meta > *:not(:first-child)::before {
  content: "::";
  color: hsla(var(--accent), var(--alpha, 1));
  display: inline-block;
  margin-right: calc(var(--baseline) * 2);
}
.post__title {
  border-bottom: 3px dotted hsla(var(--accent), var(--alpha, 1));
  color: hsla(var(--accent), var(--alpha, 1));
  position: relative;
  margin: 0 0 calc(var(--baseline) * 4);
  padding-bottom: calc(var(--baseline) * 4);
}
@media all and (min-width: 42.75em) {
  .post__title {
    margin-top: calc(var(--baseline) * 10);
  }
}
.post__title:after {
  content: "";
  position: absolute;
  bottom: 2px;
  display: block;
  width: 100%;
  border-bottom: 3px dotted hsla(var(--accent), var(--alpha, 1));
}
.post__title a {
  text-decoration: none;
}
.post__tags {
  --alpha: .5;
  display: block;
}
.post__tags a {
  text-decoration: none;
}
.post__tags a::before {
  content: "#";
}
.post__tags a:hover {
  --alpha: .7;
}
.post__cover {
  border: 10px solid hsla(var(--accent), var(--alpha, 1));
  padding: calc(var(--baseline) * 2.5);
}
@media all and (min-width: 42.75em) {
  .post__cover {
    padding: calc(var(--baseline) * 5);
    border-width: 20px;
  }
}
.post__image {
  display: inline-block;
  background: transparent;
  margin: calc(var(--baseline) * 10) 0 calc(var(--baseline) * 5);
}
.post__image > img {
  display: inline-block;
}
.post__image--left {
  float: left;
  margin-top: calc(var(--baseline) * 6);
  margin-right: calc(var(--baseline) * 6);
  max-width: 40%;
}
.post__image--right {
  float: right;
  margin-top: calc(var(--baseline) * 6);
  margin-left: calc(var(--baseline) * 6);
  max-width: 40%;
}
.post__image--center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: calc(var(--baseline) * 10);
  text-align: center;
}
.post__image--wide, .post__image--full {
  display: block;
}
@media all and (min-width: 42.75em) {
  .post__image--wide, .post__image--full {
    margin-left: calc(-1 * var(--page-margin));
    margin-right: calc(-1 * var(--page-margin));
    margin-bottom: calc(var(--baseline) * 10);
    text-align: center;
  }
  .post__image--wide a,
  .post__image--wide img, .post__image--full a,
  .post__image--full img {
    display: block;
    height: auto;
    width: 100%;
  }
}
.post__image + .post__entry, .post__image + .post__content {
  margin-top: calc(var(--baseline) * 5);
}
.post__entry {
  margin-top: calc(var(--baseline) * 7.5);
}
.post__entry > :nth-child(1) {
  margin-top: 0;
}
.post__last-updated {
  color: hsla(var(--color), var(--alpha, 0.5));
  font-size: 0.8789062495rem;
  margin-top: calc(var(--baseline) * 5);
}
.post__share {
  display: flex;
  flex-wrap: wrap;
  gap: var(--baseline) calc(var(--baseline) * 6);
  margin-top: calc(var(--baseline) * 10);
}
.post__share > a {
  --alpha: .5;
  padding: 6px 0;
}
.post__share > a span {
  font-family: var(--menu-font);
  font-size: 0.8789062495rem;
  margin-left: 2px;
}
.post__share > a svg {
  --alpha: .7;
  fill: hsla(var(--accent), var(--alpha, 1));
  height: 18px;
  pointer-events: none;
  width: 18px;
  vertical-align: middle;
}
.post__share > a:hover {
  --alpha: 1;
  -webkit-transform: translate3d(0, -2px, 0);
          transform: translate3d(0, -2px, 0);
  text-decoration: none;
}
.post__comments {
  overflow: hidden;
}
.post__video, .post__iframe {
  display: block;
  margin-top: calc(var(--baseline) * 8);
  margin-bottom: calc(var(--baseline) * 8);
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}
.post__video::before, .post__iframe::before {
  display: block;
  content: "";
  padding-top: var(--embed-aspect-ratio);
}
.post__video iframe, .post__video video, .post__iframe iframe, .post__iframe video {
  border: none;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
}
.post__toc {
  margin: calc(var(--baseline) * 5) var(--baseline) calc(var(--baseline) * 8);
}
.post__toc h3 {
  font-size: 1rem;
  margin: 0;
}
.post__toc ul {
  counter-reset: item;
  list-style: decimal;
  margin: calc(var(--baseline) * 3) 0 0 3ch;
}
.post__toc ul li {
  counter-increment: item;
  padding: 0;
}
.post__toc ul ul {
  margin-top: 0;
}
.post__toc ul ul li {
  display: block;
}
.post__toc ul ul li:before {
  content: counters(item, ".") ". ";
  margin-left: -3ch;
}

.list {
  margin-top: calc(var(--baseline) * 10);
}

.banner--before-post {
  margin-top: calc(var(--baseline) * 5);
}
.banner--after-post {
  margin-bottom: calc(var(--baseline) * 10);
}

.page__title sup {
  color: hsla(var(--color), var(--alpha, 0.7));
  font-variation-settings: "wght" var(--font-weight-normal);
}
.page--author__header {
  background-color: hsla(var(--color), var(--alpha, 0.05));
  padding: calc(var(--baseline) * 5);
}
@media all and (min-width: 42.75em) {
  .page--author__header {
    padding: calc(var(--baseline) * 7.5);
  }
}
.page--author__top {
  align-items: center;
  display: flex;
  gap: 1rem;
}
.page--author__top h1 {
  margin: 0;
}
.page--author__avatar {
  border-radius: 50%;
  height: 3rem;
  width: 3rem;
}
.page--author__website {
  margin-top: calc(var(--baseline) * 5);
}
.page--error__title {
  color: hsla(var(--accent), var(--alpha, 1));
}

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

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

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

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

.msg {
  background-color: hsla(var(--color), var(--alpha, 0.05));
  border-left: 2px solid;
  font-size: 0.9374999997rem;
  padding: calc(var(--baseline) * 5);
  position: relative;
}
.msg--highlight {
  border-left-color: var(--highlight-color);
}
.msg--info {
  border-left-color: var(--info-color);
}
.msg--success {
  border-left-color: var(--success-color);
}
.msg--warning {
  border-left-color: var(--warning-color);
}

.dropcap:first-letter {
  color: hsla(var(--accent), var(--alpha, 1));
  float: left;
  font-size: 3.6355864383rem;
  line-height: 0.7;
  margin-right: 0.5rem;
  padding: calc(var(--baseline) * 2) calc(var(--baseline) * 2) calc(var(--baseline) * 5) 0;
}

.pec-wrapper {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.pec-overlay {
  align-items: center;
  border: 1px solid hsla(var(--accent), var(--alpha, 1));
  font-size: 14px;
  display: none;
  height: inherit;
  justify-content: center;
  line-height: 1.4;
  padding: 1rem;
  position: relative;
  text-align: center;
}
@media all and (min-width: 42.75em) {
  .pec-overlay {
    font-size: 16px;
    line-height: var(--line-height);
    padding: 1rem 2rem;
  }
}
.pec-overlay.is-active {
  display: flex;
}
.pec-overlay-inner p {
  margin: 0 0 1rem;
}

.facebook svg {
  fill: #0866FF;
}

.twitter svg {
  fill: #000000;
}

.instagram svg {
  fill: #000000;
}

.vimeo svg {
  fill: #1ab7ea;
}

.pinterest svg {
  fill: #bd081c;
}

.youtube svg {
  fill: #cd201f;
}

.linkedin svg {
  fill: #007bb6;
}

.buffer svg {
  fill: #333333;
}

.mix svg {
  fill: #fd8235;
}

.whatsapp svg {
  fill: #25D366;
}

.pagination {
  margin-top: calc(var(--baseline) * 12);
}
.pagination__title {
  color: hsla(var(--color), var(--alpha, 0.3));
  font-size: 0.7724761953rem;
  letter-spacing: 0.1em;
  margin: calc(var(--baseline) * 25) 0 calc(var(--baseline) * 6);
  position: relative;
  text-align: center;
  text-transform: uppercase;
}
.pagination__title::after {
  border-top: 1px solid hsla(var(--color), 0.1);
  content: "";
  height: 1px;
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0;
  z-index: -1;
}
.pagination__title > span {
  background: hsla(var(--background), var(--alpha, 1));
  padding: 5px 10px;
}
.pagination__buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row wrap;
  gap: 10px;
}
.pagination__buttons a {
  text-decoration: none;
}
.pagination .btn, .pagination [type=button],
.pagination [type=submit],
.pagination button {
  max-width: 100%;
}
@media all and (min-width: 42.75em) {
  .pagination .btn, .pagination [type=button],
  .pagination [type=submit],
  .pagination button {
    max-width: 49%;
  }
}
.pagination .btn__text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.pagination .btn.next .btn__icon, .pagination .next[type=button] .btn__icon,
.pagination .next[type=submit] .btn__icon,
.pagination button.next .btn__icon {
  margin-left: 8px;
}
.pagination .btn.previous .btn__icon, .pagination .previous[type=button] .btn__icon,
.pagination .previous[type=submit] .btn__icon,
.pagination button.previous .btn__icon {
  margin-right: 8px;
}

.footer {
  color: hsla(var(--color), var(--alpha, 0.5));
  padding: calc(var(--baseline) * 10) 0;
  flex-grow: 0;
}
.footer a {
  text-decoration: underline;
  text-decoration-thickness: 0.02em;
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
.footer a {
  color: hsla(var(--color), var(--alpha, 0.5));
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.footer a:hover {
  color: hsla(var(--color), var(--alpha, 1));
  text-decoration: underline;
  text-decoration-thickness: 0.02em;
  text-underline-offset: 0.15em;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
.footer a:active {
  color: hsla(var(--color), var(--alpha, 1));
}
.footer a:focus {
  outline: none;
}
.footer__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0;
  max-width: 100%;
  text-align: center;
}
.footer__copyright > :nth-child(1) {
  margin-top: 0;
}
.footer__social {
  margin-top: calc(var(--baseline) * 5);
}
.footer__social a {
  text-decoration: none !important;
}
.footer__social svg {
  fill: hsla(var(--color), var(--alpha, 0.5));
  height: 0.9374999997rem;
  margin: 0 0.2rem;
  -webkit-transition: all 0.12s linear 0s;
  transition: all 0.12s linear 0s;
  width: 0.9374999997rem;
}
.footer__social svg:hover {
  fill: hsla(var(--accent), var(--alpha, 1));
}

.gallery {
  margin: calc(var(--baseline) * 8) calc(var(--gallery-gap) * -1);
}
@media all and (min-width: 20em) {
  .gallery {
    display: flex;
    flex-wrap: wrap;
  }
}
@media all and (min-width: 42.75em) {
  .gallery-wrapper--wide, .gallery-wrapper--full {
    margin-left: calc(-1 * var(--page-margin));
    margin-right: calc(-1 * var(--page-margin));
  }
  .gallery-wrapper--wide .gallery, .gallery-wrapper--full .gallery {
    width: calc(100% + var(--gallery-gap) * 2);
  }
}
@media all and (min-width: 20em) {
  .gallery[data-columns="1"] .gallery__item {
    flex: 1 0 100%;
  }
}
@media all and (min-width: 30em) {
  .gallery[data-columns="2"] .gallery__item {
    flex: 1 0 50%;
  }
}
@media all and (min-width: 42.75em) {
  .gallery[data-columns="3"] .gallery__item {
    flex: 1 0 33.333%;
  }
}
@media all and (min-width: 56.25em) {
  .gallery[data-columns="4"] .gallery__item {
    flex: 0 1 25%;
  }
}
@media all and (min-width: 56.25em) {
  .gallery[data-columns="5"] .gallery__item {
    flex: 0 1 20%;
  }
}
@media all and (min-width: 56.25em) {
  .gallery[data-columns="6"] .gallery__item {
    flex: 0 1 16.666%;
  }
}
@media all and (min-width: 56.25em) {
  .gallery[data-columns="7"] .gallery__item {
    flex: 1 0 14.285%;
  }
}
@media all and (min-width: 56.25em) {
  .gallery[data-columns="8"] .gallery__item {
    flex: 1 0 12.5%;
  }
}
.gallery__item {
  margin: 0;
  padding: var(--gallery-gap);
  position: relative;
}
@media all and (min-width: 20em) {
  .gallery__item {
    flex: 1 0 50%;
  }
}
@media all and (min-width: 30em) {
  .gallery__item {
    flex: 1 0 33.333%;
  }
}
@media all and (min-width: 42.75em) {
  .gallery__item {
    flex: 1 0 25%;
  }
}
.gallery__item a {
  display: block;
  height: 100%;
  width: 100%;
}
.gallery__item a::after {
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.4)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
  bottom: var(--gallery-gap);
  content: "";
  display: block;
  opacity: 0;
  left: var(--gallery-gap);
  height: calc(100% - var(--gallery-gap) * 2);
  position: absolute;
  right: var(--gallery-gap);
  top: var(--gallery-gap);
  -webkit-transition: all 0.24s ease-out;
  transition: all 0.24s ease-out;
  width: calc(100% - var(--gallery-gap) * 2);
}
.gallery__item a:hover::after {
  opacity: 1;
}
.gallery__item img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.gallery__item figcaption {
  bottom: 1.2rem;
  color: var(--color);
  left: 50%;
  opacity: 0;
  position: absolute;
  text-align: center;
  -webkit-transform: translate(-50%, 1.2rem);
          transform: translate(-50%, 1.2rem);
  -webkit-transition: all 0.24s ease-out;
  transition: all 0.24s ease-out;
}
.gallery__item:hover figcaption {
  opacity: 1;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

.pswp--dark .pswp__bg {
  background: black;
}
.pswp--light .pswp__bg {
  background: var(--color);
}
.pswp--light .pswp__counter {
  color: hsla(var(--color), var(--alpha, 1));
}
.pswp--light .pswp__caption__center {
  color: hsla(var(--color), var(--alpha, 1));
}
.pswp .pswp__button {
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: none;
          transform: none;
} 
         img[loading] {
               opacity: 0;
         }

         img.is-loaded {
               opacity: 1;
               transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1); 
         }.flex-container {
  display: flex;
  flex-wrap: wrap;
}

.flex-container > div {
  width: 120px;
  height: 180px;
  margin: 3px;
  text-align: center;
  background-color: #1e1e1f;
}

.wordle {
  padding-top: 15px;
  visibility: hidden;
  &:hover {
    visibility: visible;
  }
}
.solution {
  visibility: visible;
}

.solution p {
  line-height: 1;
  letter-spacing: 1;
  padding: 0px;
  margin: 0px;
}

.answer {
  margin: 10px 0px 10px 0px;
}
