/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

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

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

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

[hidden], template {
    display: none
}

a {
    background: 0 0
}

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

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

b, strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

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

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

small {
    font-size: 80%
}

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

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

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

figure {
    margin: 1em 40px
}

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

pre {
    overflow: auto
}

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

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

button {
    overflow: visible
}

button, select {
    text-transform: none
}

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

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

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

input {
    line-height: normal
}

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

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

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

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

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

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

td, th {
    padding: 0
}

:root {
    --color-background-main: #BBBBBB;
    --color-background-secondary: #F7F8FA;
    --color-background-contrast: #E1E3E6;
    --color-background-overlay: rgba(37, 40, 43, 0.9);
    --color-content-lead: #000;
    --color-content-main: #222426;
    --color-content-secondary: #73777D
}

.theme-dark:root {
    --color-background-main: #222426;
    --color-background-secondary: #1D1F20;
    --color-background-contrast: #3B3D40;
    --color-background-overlay: rgba(9, 10, 13, 0.9);
    --color-content-lead: #FFF;
    --color-content-main: #E1E3E6;
    --color-content-secondary: #909499
}

@media (prefers-color-scheme: dark) {
    html:not(.theme-light):root {
        --color-background-main: #222426;
        --color-background-secondary: #1D1F20;
        --color-background-contrast: #3B3D40;
        --color-background-overlay: rgba(9, 10, 13, 0.9);
        --color-content-lead: #FFF;
        --color-content-main: #E1E3E6;
        --color-content-secondary: #909499
    }
}

@font-face {
      font-family: 'VT323';
      font-style: normal;
      font-weight: 400;
      src: url("https://fonts.gstatic.com/s/vt323/v8/7Q1rZvTW5uVJ9sDYHxOiUc.woff2") format("woff2");
  }

  @font-face {
      font-family: 'JetBrains Mono';
      font-style: normal;
      font-weight: 400;
      src: url("https://fonts.gstatic.com/s/jetbrainsmono/v13/L0X5DFXLrV9HOXGvYUsKkO7m.woff2") format("woff2");
  }

@font-face {
    font-family: 'Libre Baskerville';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: local("Libre Baskerville Italic"), local("LibreBaskerville-Italic"), url(https://fonts.gstatic.com/s/librebaskerville/v7/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWx8QDO-WyrubOA.woff2) format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: 'Libre Baskerville';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: local("Libre Baskerville Italic"), local("LibreBaskerville-Italic"), url(https://fonts.gstatic.com/s/librebaskerville/v7/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWxEQDO-Wyrs.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: 'Libre Baskerville';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local("Libre Baskerville"), local("LibreBaskerville-Regular"), url(https://fonts.gstatic.com/s/librebaskerville/v7/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNXaxMaC82U-ro.woff2) format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: 'Libre Baskerville';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local("Libre Baskerville"), local("LibreBaskerville-Regular"), url(https://fonts.gstatic.com/s/librebaskerville/v7/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNZaxMaC82U.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: 'Libre Baskerville';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local("Libre Baskerville Bold"), local("LibreBaskerville-Bold"), url(https://fonts.gstatic.com/s/librebaskerville/v7/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY5KcC-wLOjAUw.woff2) format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: 'Libre Baskerville';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local("Libre Baskerville Bold"), local("LibreBaskerville-Bold"), url(https://fonts.gstatic.com/s/librebaskerville/v7/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY3KcC-wLOj.woff2) format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 400;
    src: url("../font/fira-sans-v8-latin-regular.eot");
    src: local("Fira Sans Regular"), local("FiraSans-Regular"), url("../font/fira-sans-v8-latin-regular.eot?#iefix") format("embedded-opentype"), url("../font/fira-sans-v8-latin-regular.woff2") format("woff2"), url("../font/fira-sans-v8-latin-regular.woff") format("woff"), url("../font/fira-sans-v8-latin-regular.ttf") format("truetype"), url("../font/fira-sans-v8-latin-regular.svg#FiraSans") format("svg")
}

@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 500;
    src: url("../font/fira-sans-v8-latin-500.eot");
    src: local("Fira Sans Medium"), local("FiraSans-Medium"), url("../font/fira-sans-v8-latin-500.eot?#iefix") format("embedded-opentype"), url("../font/fira-sans-v8-latin-500.woff2") format("woff2"), url("../font/fira-sans-v8-latin-500.woff") format("woff"), url("../font/fira-sans-v8-latin-500.ttf") format("truetype"), url("../font/fira-sans-v8-latin-500.svg#FiraSans") format("svg")
}

@font-face {
    font-family: 'Fira Sans';
    font-style: normal;
    font-weight: 700;
    src: url("../font/fira-sans-v8-latin-700.eot");
    src: local("Fira Sans Bold"), local("FiraSans-Bold"), url("../font/fira-sans-v8-latin-700.eot?#iefix") format("embedded-opentype"), url("../font/fira-sans-v8-latin-700.woff2") format("woff2"), url("../font/fira-sans-v8-latin-700.woff") format("woff"), url("../font/fira-sans-v8-latin-700.ttf") format("truetype"), url("../font/fira-sans-v8-latin-700.svg#FiraSans") format("svg")
}

.hljs {
    color: var(--color-content-main);
    background: var(--color-background-main)
}

.hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-section, .hljs-link {
    color: var(--color-content-lead)
}

.hljs-string, .hljs-title, .hljs-name, .hljs-type, .hljs-attribute, .hljs-symbol, .hljs-bullet, .hljs-built_in, .hljs-addition, .hljs-variable, .hljs-template-tag, .hljs-template-variable {
    color: var(--ghost-accent-color)
}

.hljs-comment, .hljs-quote, .hljs-deletion, .hljs-meta {
    color: var(--color-content-secondary)
}

.hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-title, .hljs-section, .hljs-doctag, .hljs-type, .hljs-name, .hljs-strong {
    font-weight: bold
}

.hljs-emphasis {
    font-style: italic
}

:root {
    --font-primary: 'JetBrains Mono', monospace;
    --font-secondary: 'JetBrains Mono', monospace;
}

html {
    font-size: 62.5%;
    overflow-x: hidden
}

.menu-active body, html.menu-active {
    overflow-y: hidden
}

body {
    font-family: var(--font-primary);
    font-size: 1em;
    line-height: 1.75em;
    font-weight: 400;
    color: var(--color-content-main);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    background: var(--color-background-main)
}

button, input, select, textarea {
    transition: all ease-out 0.2s
}

.post-content {
    font-size: 1.75em;
    line-height: 2em
}

.post-content a:not([class]) {
    color: inherit;
    text-decoration: none;
    font-weight: 400;
    box-shadow: inset 0 -2px 0 var(--ghost-accent-color);
    transition: all ease-out 0.1s
}

.post-content a:not([class]):focus, .post-content a:not([class]):hover {
    box-shadow: inset 0 -3px 0 var(--ghost-accent-color)
}

.post-content h1, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 {
    line-height: 1.25em;
    margin: 0 0 4rem;
    text-rendering: optimizeLegibility;
    color: var(--color-content-lead)
}

.post-content h1 {
    font-size: 4rem;
    text-indent: -1px
}

.post-content h2 {
    font-size: 3rem;
    text-indent: -1px
}

.post-content h3 {
    font-size: 2.4rem
}

.post-content h4 {
    font-size: 2rem
}

.post-content h5, .post-content h6 {
    font-size: 2rem;
    font-weight: 500
}

.post-content h1 a, .post-content h2 a, .post-content h3 a, .post-content h4 a, .post-content h5 a, .post-content h6 a {
    font-weight: inherit
}

.post-content p {
    font-family: var(--font-secondary);
    margin: 0 0 4rem
}

.post-content ol, .post-content ul {
    font-family: var(--font-secondary);
    margin: 0 0 4rem;
    padding-left: 2em;
    box-sizing: border-box
}

.post-content ol {
    list-style-type: none;
    counter-reset: item
}

.post-content li {
    position: relative
}

.post-content li::marker {
    color: transparent
}

.post-content ol>li:before, .post-content ul>li:before {
    position: absolute;
    width: 1.5em;
    margin-left: -2em;
    font-size: 1em;
    font-weight: 500;
    line-height: 2em;
    text-align: right;
    color: var(--ghost-accent-color);
    font-family: var(--font-primary)
}

.post-content ul>li:before {
    margin-top: -1px;
    content: '—' !important
}

.post-content ol>li:before {
    content: counter(item) ". " !important;
    counter-increment: item
}

.post-content ol ol, .post-content ol ul, .post-content ul ol, .post-content ul ul {
    padding-left: 30px;
    margin: 15px 0
}

.post-content hr {
    display: block;
    height: 1px;
    margin: 0 0 4rem;
    padding: 0;
    background: var(--color-background-contrast);
    border: 0
}

.post-content blockquote {
    font-family: var(--font-secondary);
    margin: 0 0 4rem;
    padding: 0.25em 1em;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-left: 0.25em solid var(--ghost-accent-color);
    font-style: italic;
    font-weight: 400
}

.post-content blockquote * {
    margin: 0 0 1em;
    font-family: inherit;
    color: inherit
}

.post-content blockquote *:first-child {
    margin-top: 0
}

.post-content blockquote *:last-child {
    margin-bottom: 0
}

.post-content em, .post-content i {
    font-style: italic
}

.post-content b, .post-content strong {
    font-weight: 700;
    color: var(--color-content-lead)
}

.post-content small {
    font-size: 0.9em
}

.post-content dl {
    font-family: var(--font-secondary);
    margin: 0 0 4rem;
    padding-left: 30px
}

.post-content dl dt {
    font-weight: 500;
    font-size: 0.75em;
    line-height: 1.25em;
    font-weight: 700;
    margin-bottom: 0.33334em;
    font-family: var(--font-primary)
}

.post-content dl dt:before {
    content: '';
    position: absolute;
    width: 1em;
    height: 2px;
    margin-left: -30px;
    margin-top: 0.5em;
    background: var(--ghost-accent-color)
}

.post-content dl dd {
    margin-left: 0;
    margin-bottom: 1em
}

.post-content mark {
    background-color: #FFC336
}

.post-content code, .post-content tt {
    position: relative;
    margin: 0 1px;
    padding: 4px 8px;
    font-family: monospace, sans-serif;
    font-size: 0.75em;
    background: var(--color-background-secondary);
    border: 1px solid var(--color-background-contrast);
    top: -2px;
    white-space: pre-wrap
}

.post-content pre {
    position: relative;
    margin: 0 0 4rem;
    padding: 1em;
    overflow: hidden;
    font-family: monospace, sans-serif;
    white-space: pre;
    background: var(--color-background-secondary);
    border: 1px solid var(--color-background-contrast);
    box-sizing: border-box
}

.post-content pre .lines {
    position: absolute;
    width: 2.66667em;
    height: 100%;
    left: 0;
    top: 0;
    padding: 1.33334em 0;
    border-right: 1px solid var(--color-background-contrast);
    color: var(--color-content-secondary);
    font-size: 0.75em;
    line-height: 2em;
    text-align: right;
    box-sizing: border-box;
    background: var(--color-background-secondary);
    user-select: none;
    -webkit-user-select: none
}

.post-content pre .lines .line {
    display: block;
    padding-right: 0.33334em
}

.post-content pre code, .post-content pre tt {
    display: block;
    position: static;
    top: auto;
    margin: -1.33334em -1.33334em -1.33334em 1.33334em;
    padding: 1.33334em;
    overflow-x: auto;
    font-size: 0.75em;
    line-height: 2em;
    white-space: pre;
    background: transparent;
    border: none;
    vertical-align: inherit
}

.post-content pre code.language-text {
    margin-left: -1.33334em
}

.post-content kbd {
    display: inline-block;
    margin-bottom: 0.5em;
    padding: 1px 8px;
    border: 1px solid var(--color-background-contrast);
    text-shadow: 0 1px 0 white;
    font-size: 0.9em;
    font-weight: bold;
    background: var(--color-background-secondary);
    border-radius: 4px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 0 white inset
}

.post-content table {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 0 4rem;
    border: 1px solid var(--color-background-contrast);
    background: var(--color-background-secondary)
}

@media (max-width: 640px) {
    .post-content table {
        display: block;
        border: none;
        overflow-x: auto;
        box-shadow: inset 0 0 0 1px var(--color-background-contrast)
    }
}

.post-content table td, .post-content table th {
    position: relative;
    padding: 1.5rem;
    font-size: 0.75em;
    line-height: 1.33334em;
    border: 1px solid var(--color-background-contrast)
}

.post-content table th {
    text-align: left;
    font-weight: 500;
    letter-spacing: 1px;
    font-size: 0.75em;
    line-height: 1.33334em;
    color: var(--color-content-secondary)
}

.post-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 0 4rem
}

.post-content .fluid-width-video-wrapper {
    margin: 0 0 4rem
}

.post-content form p {
    margin: 0 0 2rem
}

.post-content form fieldset {
    border: 0;
    margin: 0;
    padding: 0
}

.post-content label {
    display: block;
    margin-bottom: 0.5rem;
    font-family: var(--font-primary);
    font-weight: 500;
    color: var(--color-content-main)
}

.post-content select, .post-content textarea, .post-content input[type="url"], .post-content input[type="tel"], .post-content input[type="text"], .post-content input[type="email"], .post-content input[type="month"], .post-content input[type="number"], .post-content input[type="search"], .post-content input[type="password"] {
    width: 100%;
    height: auto;
    padding: 1rem;
    box-sizing: border-box;
    transition: all ease-out 0.1s;
    outline: none;
    box-shadow: none;
    -webkit-appearance: normal;
    appearance: normal;
    border-radius: 0;
    color: var(--color-content-main);
    border: 1px solid var(--color-content-secondary);
    background: transparent
}

.post-content select:hover, .post-content textarea:hover, .post-content input[type="url"]:hover, .post-content input[type="tel"]:hover, .post-content input[type="text"]:hover, .post-content input[type="email"]:hover, .post-content input[type="month"]:hover, .post-content input[type="number"]:hover, .post-content input[type="search"]:hover, .post-content input[type="password"]:hover {
    border-color: var(--ghost-accent-color)
}

.post-content select:focus, .post-content textarea:focus, .post-content input[type="url"]:focus, .post-content input[type="tel"]:focus, .post-content input[type="text"]:focus, .post-content input[type="email"]:focus, .post-content input[type="month"]:focus, .post-content input[type="number"]:focus, .post-content input[type="search"]:focus, .post-content input[type="password"]:focus {
    box-shadow: inset 0 0 0 1px var(--ghost-accent-color);
    border-color: var(--ghost-accent-color)
}

.post-content input[type="reset"], .post-content input[type="submit"], .post-content input[type="button"], .post-content a.kg-btn, .post-content .button {
    display: block;
    padding: 1rem;
    border: 0;
    border-radius: 4rem;
    box-sizing: border-box;
    -webkit-appearance: normal;
    appearance: normal;
    transition: all ease-out 0.1s;
    background: var(--ghost-accent-color);
    font-weight: 600;
    color: white;
    text-decoration: none;
    text-align: center;
    cursor: pointer
}

.post-content figure figcaption {
    position: relative;
    color: var(--color-content-secondary);
    max-width: calc(64rem + 8vw);
    margin: auto;
    font-size: 0.75em;
    line-height: 2em;
    padding: 2rem 0
}

.post-content figure figcaption:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 8rem;
    height: 1px;
    background: var(--color-background-contrast)
}

.post-content figure figcaption a {
    box-shadow: inset 0 -1px 0 var(--color-background-contrast)
}

.post-content figure figcaption a:focus, .post-content figure figcaption a:hover {
    box-shadow: inset 0 -2px 0 var(--color-background-contrast)
}

.post-content .kg-card {
    margin: 0 0 4rem
}

.post-content .kg-file-card .kg-file-card-container {
    padding: 2.5rem;
    background: var(--color-background-secondary);
    border: 1px solid var(--color-background-contrast)
}

.post-content .kg-file-card .kg-file-card-container .kg-file-card-contents {
    margin: 0
}

.post-content .kg-file-card .kg-file-card-container .kg-file-card-contents .kg-file-card-title {
    font-size: 2rem;
    line-height: 1.25em
}

.post-content .kg-file-card .kg-file-card-container .kg-file-card-contents .kg-file-card-caption {
    margin: 0.25rem 0 0;
    font-size: 0.9em;
    line-height: 1.25em;
    opacity: inherit;
    color: var(--color-content-secondary)
}

.post-content .kg-file-card .kg-file-card-container .kg-file-card-contents .kg-file-card-metadata {
    margin: 1.5rem 0 0
}

.post-content .kg-file-card .kg-file-card-container .kg-file-card-contents .kg-file-card-metadata .kg-file-card-filename {
    display: inline-block;
    line-height: inherit
}

.post-content .kg-file-card .kg-file-card-container .kg-file-card-contents .kg-file-card-metadata .kg-file-card-filesize {
    display: inline-block;
    font-size: 0.9em;
    line-height: inherit;
    opacity: inherit;
    color: var(--color-content-secondary)
}

.post-content .kg-image-card {
    max-width: none !important
}

.post-content .kg-image-card.kg-width-wide {
    max-width: calc(72rem + 24vw) !important;
    min-width: 100%;
    width: calc(100vw - 4rem)
}

.post-content .kg-image-card.kg-width-wide figcaption {
    padding-left: 6rem;
    padding-right: 6rem
}

@media only screen and (max-width: 640px) {
    .post-content .kg-image-card.kg-width-wide figcaption {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

.post-content .kg-image-card.kg-width-wide figcaption:after {
    margin-left: 6rem
}

@media only screen and (max-width: 640px) {
    .post-content .kg-image-card.kg-width-wide figcaption:after {
        margin-left: 2rem
    }
}

.post-content .kg-image-card.kg-width-full {
    max-width: none;
    width: 100vw;
    margin-top: 2em
}

.post-content .kg-image-card.kg-width-full figcaption {
    padding-left: 8rem;
    padding-right: 8rem
}

@media only screen and (max-width: 640px) {
    .post-content .kg-image-card.kg-width-full figcaption {
        padding-left: 4rem;
        padding-right: 4rem
    }
}

.post-content .kg-image-card.kg-width-full figcaption:after {
    margin-left: 8rem
}

@media only screen and (max-width: 640px) {
    .post-content .kg-image-card.kg-width-full figcaption:after {
        margin-left: 4rem
    }
}

.post-content .kg-image-card .kg-image {
    margin: 0 auto
}

.post-content .kg-image-card .kg-image-full+figcaption {
    margin-bottom: 1.33334em
}

.post-content .kg-gallery-card {
    max-width: calc(72rem + 24vw) !important;
    min-width: 100%;
    width: calc(100vw - 4rem)
}

.post-content .kg-gallery-card figcaption {
    padding-left: 6rem;
    padding-right: 6rem
}

@media only screen and (max-width: 640px) {
    .post-content .kg-gallery-card figcaption {
        padding-left: 2rem;
        padding-right: 2rem
    }
}

.post-content .kg-gallery-card figcaption:after {
    margin-left: 6rem
}

@media only screen and (max-width: 640px) {
    .post-content .kg-gallery-card figcaption:after {
        margin-left: 2rem
    }
}

.post-content .kg-gallery-container {
    display: flex;
    flex-direction: column
}

.post-content .kg-gallery-row {
    display: flex;
    flex-direction: row;
    justify-content: center
}

.post-content .kg-gallery-image img {
    display: block;
    margin: 0;
    width: 100%;
    height: 100%
}

.post-content .kg-gallery-row:not(:first-of-type) {
    margin: 0.75em 0 0
}

.post-content .kg-gallery-image:not(:first-of-type) {
    margin: 0 0 0 0.75em
}

.post-content .kg-embed-card {
    margin: 0 0 4rem
}

.post-content .kg-embed-card>* {
    margin-left: auto;
    margin-right: auto
}

.post-content .kg-code-card {
    min-width: 100%
}

.post-content .kg-code-card pre {
    margin: 0
}

.post-content .kg-bookmark-card {
    width: 100%
}

.post-content .kg-bookmark-card a.kg-bookmark-container, .post-content .kg-bookmark-card a.kg-bookmark-container:hover {
    display: flex;
    text-decoration: none;
    min-height: 8em;
    background: var(--color-background-secondary);
    border: 1px solid var(--color-background-contrast);
    border-radius: 0;
    box-shadow: none !important;
    overflow: hidden
}

.post-content .kg-bookmark-content {
    text-rendering: optimizeLegibility;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    align-items: flex-start;
    justify-content: start;
    padding: 1.5em;
    color: var(--color-content-secondary)
}

.post-content .kg-bookmark-title {
    color: var(--color-content-main);
    font-size: 0.75em;
    line-height: 1.66667em;
    font-weight: 700;
    letter-spacing: 0.5px
}

.post-content .kg-bookmark-description {
    display: -webkit-box;
    font-size: 0.75em;
    line-height: 1.66667em;
    font-weight: 400;
    margin-top: 0.33334em;
    max-height: 3.33334em;
    overflow-y: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

.post-content .kg-bookmark-thumbnail {
    position: relative;
    min-width: 33%;
    max-height: 100%
}

.post-content .kg-bookmark-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.post-content .kg-bookmark-metadata {
    text-rendering: optimizeLegibility;
    display: flex;
    align-items: center;
    font-size: 0.75em;
    line-height: 1.66667em;
    color: var(--color-content-main);
    font-weight: 400;
    margin-top: 1em;
    flex-wrap: wrap
}

.post-content .kg-bookmark-icon {
    width: 1.33334em;
    margin: 0 0.75em 0 0
}

.post-content .kg-bookmark-author:after {
    content: "•";
    margin: 0 0.33334em
}

.post-content .kg-bookmark-publisher {
    color: var(--ghost-accent-color)
}

@media (max-width: 640px) {
    .post-content .kg-bookmark-container {
        flex-direction: column
    }

    .post-content .kg-bookmark-thumbnail {
        order: 1;
        width: 100%;
        min-height: 160px
    }

    .post-content .kg-bookmark-thumbnail img {
        border-radius: 3px 3px 0 0
    }

    .post-content .kg-bookmark-content {
        order: 2
    }
}

.post-content .kg-toggle-card {
    background: var(--color-background-secondary);
    box-shadow: inset 0 0 0 1px var(--color-background-contrast);
    border-radius: 3px;
    padding: 2.5rem
}

.post-content .kg-toggle-card+.kg-toggle-card {
    margin-top: calc(-4rem - 1px)
}

.post-content .kg-toggle-card .kg-toggle-content p, .post-content .kg-toggle-card .kg-toggle-content ol, .post-content .kg-toggle-card .kg-toggle-content ul {
    font-size: inherit;
    line-height: inherit;
    margin-top: 1rem
}

.clear {
    clear: both
}

.hidden {
    display: none
}

.icon {
    display: flex;
    width: 1em;
    height: 1em;
    font-style: normal
}

.icon svg {
    display: block;
    width: 1em;
    height: 1em;
    margin: auto
}

@keyframes fadein {
    0% {
        opacity: 0.2
    }

    100% {
        opacity: 0.9
    }
}

.avatar {
    position: relative;
    overflow: hidden;
    margin: 0;
    background: var(--color-background-contrast);
    box-sizing: border-box
}

.avatar:after, .avatar:before {
    content: '';
    position: absolute;
    z-index: 1;
    width: 50%;
    height: 50%;
    bottom: 32.5%;
    left: 25%;
    border-radius: 100%;
    background: var(--color-background-secondary);
    box-sizing: border-box
}

.avatar:after {
    width: 80%;
    bottom: -25%;
    left: 10%
}

#announcement-bar-root {
    position: relative;
    z-index: 9999
}

.viewport {
    position: relative
}

.blog-header {
    position: relative;
    padding-top: calc(16rem + 4vw)
}

.blog-header.has-cover {
    padding-top: calc(24rem + 8vw);
    color: white;
    background: black;
    overflow: hidden;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1)
}

.blog-header.has-cover:after {
    display: none
}

.blog-header .blog-box {
    position: relative;
    z-index: 10;
    padding-bottom: calc(4rem + 2vw);
    text-align: center;
    border-bottom: 1px solid var(--color-background-contrast)
}

.blog-header.has-cover .blog-box {
    border: none;
    padding-bottom: calc(8rem + 4vw)
}

.blog-cover {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 5;
    background: no-repeat scroll center center / cover #000;
    animation: 0.5s ease-in forwards fadein;
    display: flex;
    align-items: center
}

.blog-cover:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 66.666%;
    left: 0;
    bottom: 0;
    z-index: 8;
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.333) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.333) 100%)
}

.blog-cover img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    z-index: 6;
    object-fit: cover
}

.blog-name {
    display: block;
    margin: 0;
    padding: 0;
    font-weight: 700;
    font-size: 4em;
    line-height: 1em;
    text-decoration: none;
    color: var(--color-content-lead)
}

.has-cover .blog-name {
    color: white
}

.blog-description {
    font-family: var(--font-secondary);
    display: block;
    margin-top: 1rem;
    padding: 0;
    font-size: 2em;
    line-height: 1.33334em;
    color: var(--color-content-secondary)
}

.has-cover .blog-description {
    color: white
}

.archive {
    position: relative;
    z-index: 10
}

.archive.archive-box {
    padding-bottom: calc(4rem + 2vw);
    border-bottom: 1px solid var(--color-background-contrast)
}

.archive .archive-info {
    display: flex;
    margin-bottom: 2rem;
    font-size: 2em;
    line-height: 1em
}

.archive .archive-info .archive-type {
    color: var(--ghost-accent-color)
}

.archive .archive-info .archive-count {
    position: relative;
    margin-left: 3.5rem;
    color: var(--color-content-secondary)
}

.archive .archive-info .archive-count:after {
    content: '';
    position: absolute;
    left: -2.5rem;
    top: 50%;
    width: 1.5rem;
    height: 2px;
    background: var(--color-background-contrast)
}

.archive .archive-title {
    font-size: 4em;
    line-height: 1em;
    margin: 1rem 0;
    color: var(--color-content-lead)
}

.archive .archive-description {
    display: block;
    font-size: 2em;
    line-height: 1.5em;
    margin: 1rem 0;
    font-family: var(--font-secondary);
    color: var(--color-content-secondary)
}

.archive .archive-links {
    display: flex;
    gap: 1.5rem;
    font-size: 2em;
    line-height: 1.5em;
    margin-top: 1rem
}

.archive .archive-links a span {
    display: none
}

.archive a {
    color: var(--ghost-accent-color);
    transition: color linear 0.1s
}

.archive a:focus, .archive a:hover {
    opacity: 0.92
}

.archive.archive-author {
    padding-left: 16rem
}

@media only screen and (max-width: 640px) {
    .archive.archive-author {
        padding-left: 0;
        padding-right: 10rem
    }
}

.archive.archive-author .archive-avatar {
    position: absolute;
    top: 0;
    left: 2rem;
    width: 10rem;
    height: 10rem;
    margin: 0;
    border-radius: 8rem;
    overflow: hidden
}

@media only screen and (max-width: 640px) {
    .archive.archive-author .archive-avatar {
        left: auto;
        right: 0;
        top: 2rem;
        width: 8rem;
        height: 8rem
    }
}

.archive.archive-author .archive-avatar img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.archive .archive-taglist {
    display: block;
    margin: 2rem 0 1rem;
    max-width: none;
    float: none
}

.has-cover .archive.archive-box {
    border: none
}

.has-cover .archive .archive-info span {
    color: white
}

.has-cover .archive .archive-title {
    color: white
}

.has-cover .archive .archive-description {
    color: rgba(255, 255, 255, 0.8)
}

.has-cover .archive a {
    color: rgba(255, 255, 255, 0.8)
}

.has-cover .archive a:focus, .has-cover .archive a:hover {
    color: white
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    position: relative;
    padding-right: 0
}

.inner {
    max-width: calc(64rem + 8vw);
    margin: 0 auto;
    padding: 0 8rem
}

@media only screen and (max-width: 640px) {
    .inner {
        padding: 0 4rem
    }
}

.nav-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 400;
    transition: all ease-out 0.3s
}

@media only screen and (max-width: 640px) {
    .nav-header {
        transform: translate3d(0, -100%, 0)
    }
}

.menu-active .nav-header {
    transform: translate3d(0, 0, 0)
}

.nav-close {
    position: fixed;
    z-index: 350;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
    background: var(--color-background-overlay)
}

@media only screen and (max-width: 640px) {
    .menu-active .nav-close {
        display: block
    }
}

.nav-header .nav-wrapper-control {
    position: absolute;
    z-index: 500;
    left: 0;
    top: 100%;
    width: 100%;
    cursor: pointer;
    display: none;
    color: var(--color-content-secondary);
    border-top: 1px solid transparent;
    box-sizing: border-box;
    transition: all linear 0.1s
}

@media only screen and (max-width: 640px) {
    .nav-header .nav-wrapper-control {
        display: block
    }
}

.nav-header .nav-wrapper-control .inner {
    display: flex;
    justify-content: space-between
}

.nav-header .nav-wrapper-control a {
    position: relative;
    display: flex;
    padding: 2rem 0;
    font-size: 2em;
    line-height: 2rem;
    color: inherit;
    transition: all ease-out 0.1s;
    gap: 1em
}

.nav-header .nav-wrapper-control a:focus, .nav-header .nav-wrapper-control a:hover {
    color: var(--color-content-main)
}

.cover-active .nav-header .nav-wrapper-control {
    color: white
}

.menu-active .nav-header .nav-wrapper-control {
    background: #222426;
    color: var(--color-content-secondary);
    border-color: #3B3D40
}

@supports (-webkit-backdrop-filter: blur(2rem)) {
    .menu-active .nav-header .nav-wrapper-control {
        background: rgba(34, 36, 38, 0.9);
        -webkit-backdrop-filter: blur(2rem)
    }
}

.menu-active .nav-header .nav-wrapper-control a:focus, .menu-active .nav-header .nav-wrapper-control a:hover {
    color: var(--color-content-main-dark)
}

.nav-header .nav-wrapper {
    display: flex;
    max-height: calc(100vh - 6rem);
    padding: 2rem 4rem;
    overflow-y: auto
}

@media only screen and (max-width: 640px) {
    .nav-header .nav-wrapper {
        background: #222426;
        flex-direction: column
    }

    @supports (-webkit-backdrop-filter: blur(2rem)) {
        .nav-header .nav-wrapper {
            background: rgba(34, 36, 38, 0.9);
            -webkit-backdrop-filter: blur(2rem)
        }
    }

    .nav-header .nav-wrapper .nav-search {
        display: none
    }
}

.nav-header .logo {
    margin-right: 3rem
}

@media only screen and (max-width: 640px) {
    .nav-header .logo {
        display: none
    }
}

.nav-header .logo a {
    display: block;
    height: 4rem;
    padding: 0
}

.nav-header .logo a img {
    display: block;
    width: auto;
    height: 4rem
}

.nav-header ul {
    position: relative;
    display: flex;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    list-style: none
}

@media only screen and (max-width: 640px) {
    .nav-header ul {
        flex-direction: column;
        flex-shrink: 0;
        padding: 2rem 0
    }
}

.nav-header li {
    position: relative;
    margin-right: 3rem
}

.nav-header li.active a:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 3px;
    left: 0;
    top: 0;
    padding: 0 1rem;
    margin-left: -1rem;
    margin-top: -2rem;
    background: var(--ghost-accent-color)
}

@media only screen and (max-width: 640px) {
    .nav-header li.active a:before {
        left: 0;
        top: 50%;
        width: 1.5rem;
        height: 2px;
        margin-left: 6px;
        margin-top: -1px;
        border-radius: 2px;
        padding: 0
    }
}

.nav-header li a {
    cursor: pointer;
    color: var(--color-content-main);
    font-weight: 500
}

@media only screen and (max-width: 640px) {
    .nav-header li a {
        color: white
    }
}

@media only screen and (max-width: 640px) {
    .nav-header li a {
        font-size: 2em;
        padding-left: 4rem
    }

    .nav-header li a:before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        width: 1.5rem;
        height: 2px;
        margin-left: 6px;
        margin-top: -1px;
        border-radius: 2px;
        background: #3B3D40
    }
}

.nav-header a {
    display: block;
    padding: 1rem 0;
    font-size: 1.6em;
    line-height: 2rem;
    color: var(--color-content-secondary);
    white-space: nowrap;
    text-overflow: ellipsis;
    text-decoration: none;
    font-weight: 400;
    cursor: pointer;
    transition: color linear 0.1s
}

.nav-header a:focus, .nav-header a:hover {
    color: var(--color-content-main)
}

@media only screen and (max-width: 640px) {
    .nav-header a:focus, .nav-header a:hover {
        color: #C4C7CC
    }
}

.nav-header:last-child {
    margin-right: 0
}

.nav-search a {
    font-size: 1.75em
}

.nav-search span {
    display: none
}

.cover-active .nav-wrapper-control a {
    color: rgba(255, 255, 255, 0.8)
}

.cover-active .nav-wrapper-control a:focus, .cover-active .nav-wrapper-control a:hover {
    color: white
}

@media only screen and (min-width: 640px) {
    .cover-active .nav-header a {
        color: rgba(255, 255, 255, 0.8);
        border-color: rgba(255, 255, 255, 0.8)
    }
}

@media only screen and (min-width: 640px) {
    .cover-active .nav-header a:focus, .cover-active .nav-header a:hover {
        color: white;
        border-color: white
    }
}

@media only screen and (min-width: 640px) {
    .cover-active.active a {
        color: white
    }
}

.progress-container {
    position: fixed;
    width: 100%;
    height: 4px;
    left: 0;
    top: 0;
    z-index: 1000;
    background: transparent;
    transition: all ease-out 0.2s
}

.progress-container.complete {
    transform: translateY(-3px)
}

.progress-bar {
    display: block;
    width: 0;
    height: 3px;
    background: var(--ghost-accent-color)
}

.nav-footer {
    position: relative;
    z-index: 20;
    padding-top: calc(12rem + 8vw);
    padding-bottom: 12rem;
    margin-top: auto;
    font-size: 1.6em;
    line-height: 2rem;
    color: var(--color-content-secondary)
}

.nav-footer .inner {
    max-width: none;
    padding: 0 4rem
}

.nav-footer a {
    display: inline-block;
    color: var(--color-content-secondary);
    text-decoration: none;
    font-weight: 400;
    cursor: pointer
}

.nav-footer a:focus, .nav-footer a:hover {
    color: var(--color-content-main)
}

.nav-footer .nav-wrapper {
    display: flex;
    flex-wrap: wrap;
    padding: 0 4rem;
    gap: 3rem
}

@media only screen and (max-width: 640px) {
    .nav-footer .nav-wrapper {
        flex-direction: column;
        text-align: center
    }
}

.nav-footer ul {
    position: relative;
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 3rem
}

@media only screen and (max-width: 640px) {
    .nav-footer ul {
        justify-content: center
    }
}

.nav-footer ul:last-child {
    justify-content: flex-end
}

@media only screen and (min-width: 640px) {
    .nav-footer ul:before {
        content: '•'
    }
}

.nav-footer li {
    position: relative
}

.nav-footer li.active a {
    color: var(--color-content-main);
    font-weight: 500
}

.nav-footer li a {
    display: block;
    margin: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-decoration: none;
    font-weight: 400;
    cursor: pointer
}

.nav-copy {
    display: flex;
    justify-content: center;
    white-space: nowrap;
    gap: 1rem
}

.nav-credits {
    flex-shrink: 0;
    display: block;
    margin-left: auto
}

@media only screen and (max-width: 640px) {
    .nav-credits {
        margin-right: auto
    }
}

.nav-credits a {
    color: inherit;
    text-decoration: none;
    font-weight: 500
}

.theme-icon {
    position: relative;
    top: -1px;
    display: inline-block;
    vertical-align: middle;
    width: 1.25em;
    height: 1.25em;
    border: 1px solid var(--color-content-secondary);
    box-sizing: border-box;
    margin: 0 0.75rem 0 .25rem;
    border-radius: 2rem;
    overflow: hidden;
    transition: linear 0.2s background-color
}

.theme-icon:after {
    content: '';
    position: absolute;
    left: 50%;
    width: 100%;
    height: 100%;
    background: var(--color-content-secondary);
    transition: linear 0.2s all
}

.theme-dark .theme-icon {
    border: 0;
    background: #EB3
}

.theme-dark .theme-icon:after {
    left: -25%;
    border-radius: 2rem;
    background: #229
}

.theme-light .theme-icon {
    border: 0;
    background: #6BF
}

.theme-light .theme-icon:after {
    left: 20%;
    top: 20%;
    width: 60%;
    height: 60%;
    border-radius: 2rem;
    background: #FF3
}

.container {
    position: relative
}

.container .post .post-box {
    padding-top: calc(4rem + 2vw);
    padding-bottom: calc(4rem + 2vw);
    border-bottom: 1px solid var(--color-background-contrast)
}

.container #results .post:first-child .post-box {
    border-top: 1px solid var(--color-background-contrast)
}

.post-feature {
    display: flex;
    position: absolute;
    justify-content: center;
    width: 2em;
    margin-left: -2em;
    font-size: 2em;
    height: 2.4em;
    line-height: 2.4em;
    color: var(--ghost-accent-color)
}

.container .post.featured .inner {
    position: relative
}

.container .post.featured .inner:after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    width: calc(100% - 4rem);
    height: calc(100% - 2rem);
    background: var(--ghost-accent-color);
    opacity: 0.1;
    border-radius: 8px;
    margin-left: -6rem;
    margin-top: 1rem
}

@media only screen and (max-width: 640px) {
    .container .post.featured .inner:after {
        width: 100%
    }
}

@media only screen and (max-width: 640px) {
    .container .post.featured .inner:after {
        margin-left: -4rem
    }
}

.post-header {
    position: relative;
    padding: calc(16rem + 4vw) 0 calc(2rem + 2vw)
}

.post-header.has-cover {
    padding: calc(16rem + 8vw) 0 calc(4rem + 6vw);
    margin-bottom: calc(4rem + 2vw);
    background: black;
    overflow: hidden;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1)
}

.post-cover {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 5;
    background: no-repeat scroll center center / cover #000;
    animation: 0.5s ease-in forwards fadein;
    display: flex;
    align-items: center
}

.post-cover img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    z-index: 6;
    object-fit: cover
}

.post-cover:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 66.666%;
    left: 0;
    bottom: 0;
    z-index: 8;
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.333) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.333) 100%)
}

.post {
    position: relative;
    z-index: 10
}

.post-info {
    position: relative;
    z-index: 10;
    display: flex;
    margin-bottom: 2rem;
    font-size: 2em;
    line-height: 1em
}

.post-info .post-type {
    color: var(--ghost-accent-color)
}

.post-info .post-count {
    position: relative;
    margin-left: 3.5rem;
    color: var(--color-content-secondary)
}

.post-info .post-count:after {
    content: '';
    position: absolute;
    left: -2.5rem;
    top: 50%;
    width: 1.5rem;
    height: 2px;
    background: var(--color-background-contrast)
}

.has-cover .post-info .post-count {
    color: white
}

.has-cover .post-info .post-count:after {
    background: white
}

.has-cover .post-info .post-type {
    color: white
}

.post-title {
    position: relative;
    z-index: 10;
    margin: 0 0 2rem;
    font-size: 3em;
    line-height: 1.25em;
    font-weight: 700;
    text-indent: -1px;
    color: var(--color-content-lead)
}

@media only screen and (max-width: 480px) {
    .post-title {
        -webkit-hyphens: auto;
        hyphens: auto
    }
}

.post-title a {
    text-decoration: none;
    color: inherit;
    font-weight: inherit
}

/* .post-header .post-title {
    margin: 0 0 4rem;
    font-size: 6em;
    line-height: 1.25em
} */

.has-cover .post-title {
    color: white
}

.post-meta {
    font-weight: 400;
    font-size: 1.6em;
    line-height: 2rem;
    color: var(--color-content-secondary)
}

.post-meta a {
    display: inline-block;
    text-decoration: none;
    color: inherit
}

.post-meta a:focus, .post-meta a:hover {
    text-decoration: underline
}

.post-header .post-meta {
    position: relative;
    padding-bottom: 4rem;
    z-index: 10
}

.post-header .post-meta:after {
    clear: both;
    content: '';
    display: table
}

.post-header .post-meta:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 8rem;
    height: 1px;
    background: var(--color-background-contrast)
}

.post-header .post-meta .post-meta-avatars {
    float: left;
    margin-right: 1rem
}

.post-header .post-meta .post-meta-avatars:after {
    clear: both;
    content: '';
    display: table
}

.post-header .post-meta .post-meta-avatars .post-meta-avatar {
    position: relative;
    z-index: 1;
    float: left;
    display: block;
    vertical-align: top;
    width: 4rem;
    height: 4rem;
    margin: 0;
    margin-right: -1rem;
    border-radius: 100%;
    border: 2px solid var(--color-background-contrast);
    box-sizing: border-box;
    overflow: hidden
}

.post-header .post-meta .post-meta-avatars .post-meta-avatar:last-child {
    margin-right: 0
}

.post-header .post-meta .post-meta-avatars .post-meta-avatar a {
    height: 100%
}

.post-header .post-meta .post-meta-avatars .post-meta-avatar img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.post-header .post-meta .post-meta-author {
    color: var(--color-content-main);
    font-weight: 500;
    margin: 0
}

.has-cover .post-meta {
    color: rgba(255, 255, 255, 0.8);
    padding: 0
}

.has-cover .post-meta:before {
    display: none
}

.has-cover .post-meta .post-meta-avatars .post-meta-avatar {
    border-color: white
}

.has-cover .post-meta .post-meta-author {
    color: white
}

.post-excerpt {
    margin: 1em 0 0;
    font-family: var(--font-secondary);
    font-size: 1.75em;
    line-height: 2em
}

.post-content {
    display: flex;
    flex-direction: column;
    align-items: center
}

.post-content>* {
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box
}

.post-content>*:last-child {
    margin-bottom: 0
}

.post-content>*:first-child {
    margin-top: 0
}

.post-footer {
    margin: 12rem 0 6rem
}

.post-footer:after {
    clear: both;
    content: '';
    display: table
}

.post-info-label {
    margin-right: 0.75em;
    font-size: 1.6em;
    line-height: 3rem;
    font-weight: 400;
    color: var(--color-content-secondary)
}

.post-share {
    position: relative;
    max-width: 33.33333%;
    float: right;
    display: flex;
    gap: 1rem
}

@media only screen and (max-width: 640px) {
    .post-share {
        max-width: none;
        float: none;
        margin-bottom: 2rem
    }
}

.post-share-button, .post-share a {
    display: flex;
    width: 3rem;
    height: 3rem;
    padding: 0;
    background: var(--color-background-contrast);
    border: 0;
    color: var(--color-content-main);
    font-size: 1.6em;
    line-height: 3rem;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border-radius: 2em;
    transition: all ease 0.2s
}

@media only screen and (max-width: 640px) {
    .post-share-button, .post-share a {
        margin-left: 0;
        margin-right: 0.66667em
    }
}

.post-share-button:focus, .post-share-button:hover, .post-share a:focus, .post-share a:hover {
    background: var(--ghost-accent-color);
    color: var(--color-background-main)
}

.post-tags {
    position: relative;
    max-width: 66.66666%;
    float: left;
    display: flex;
    flex-wrap: wrap
}

@media only screen and (max-width: 640px) {
    .post-tags {
        max-width: none;
        float: none;
        margin-bottom: 2rem
    }
}

.post-tags a {
    display: inline-block;
    margin-right: 0.5em;
    margin-bottom: 0.5em;
    padding: 0 1.5rem;
    background: var(--color-background-contrast);
    color: var(--color-content-main);
    border: 0;
    font-size: 1.6em;
    font-weight: 500;
    line-height: 3rem;
    text-align: center;
    text-decoration: none;
    border-radius: 2em;
    transition: all ease 0.2s;
    box-sizing: border-box;
    white-space: nowrap
}

.post-tags a:focus, .post-tags a:hover {
    background: var(--ghost-accent-color);
    color: var(--color-background-main)
}

.post-comments {
    position: relative;
    padding: 4rem;
    text-align: center;
    background: var(--color-background-secondary);
    border: 1px solid var(--color-background-contrast);
    border-top: 1px solid var(--color-background-contrast);
    border-bottom: 1px solid var(--color-background-contrast);
    box-sizing: border-box
}

@media only screen and (max-width: 640px) {
    .post-comments {
        padding-left: 0;
        padding-right: 0;
        background: transparent;
        border-left: 0;
        border-right: 0
    }
}

.gh-post-upgrade-cta .gh-post-upgrade-cta-content .gh-btn {
    padding: 1rem 2rem;
    border-radius: 0.5rem;
    font-weight: 700;
    color: white !important;
    background: #222426 !important;
    transition: all ease-out 0.2s
}

.gh-post-upgrade-cta .gh-post-upgrade-cta-content .gh-btn:focus, .gh-post-upgrade-cta .gh-post-upgrade-cta-content .gh-btn:hover {
    opacity: inherit;
    background: black !important
}

.post-nav {
    position: relative;
    margin-top: -1px;
    border-top: 1px solid var(--color-background-contrast);
    border-bottom: 1px solid var(--color-background-contrast)
}

.post-nav:after {
    position: absolute;
    content: '';
    width: 1px;
    height: 100%;
    left: 50%;
    top: 0;
    background: var(--color-background-contrast);
    z-index: 2
}

@media only screen and (max-width: 640px) {
    .post-nav:after {
        display: none
    }
}

.post-nav-next, .post-nav-prev {
    text-decoration: none;
    color: inherit;
    display: block;
    width: 50%
}

@media only screen and (max-width: 640px) {
    .post-nav-next, .post-nav-prev {
        display: block;
        width: 100%
    }
}

.post-nav-next:focus, .post-nav-next:hover, .post-nav-prev:focus, .post-nav-prev:hover {
    color: inherit
}

.post-nav-next:focus i, .post-nav-next:hover i, .post-nav-prev:focus i, .post-nav-prev:hover i {
    color: var(--ghost-accent-color)
}

.post-nav-next {
    float: left
}

.post-nav-next .post-nav-teaser {
    padding-right: 3rem
}

@media only screen and (max-width: 640px) {
    .post-nav-next .post-nav-teaser {
        padding-right: 0
    }
}

.post-nav-prev {
    float: right;
    text-align: right
}

.post-nav-prev .post-nav-teaser {
    padding-left: 3rem
}

@media only screen and (max-width: 640px) {
    .post-nav-prev .post-nav-teaser {
        padding-left: 0
    }
}

.post-nav-teaser {
    position: relative;
    padding: 2rem 0;
    min-height: 8rem
}

@media only screen and (max-width: 640px) {
    .post-nav-teaser {
        min-height: 4em;
        padding: 2em 0
    }

    .post-nav-teaser:after {
        position: absolute;
        content: '';
        width: 100%;
        height: 1px;
        left: 0;
        bottom: 0;
        margin-bottom: -1px;
        background: var(--color-background-contrast);
        z-index: 2
    }
}

.post-nav i {
    position: absolute;
    width: 3rem;
    height: 3rem;
    font-size: 3rem;
    line-height: 3rem;
    text-align: center;
    transition: all ease-out 0.2s;
    color: var(--color-background-contrast)
}

.post-nav-next i {
    left: 0;
    margin-left: -4rem
}

.post-nav-prev i {
    right: 0;
    margin-right: -4rem
}

.post-nav-title {
    margin: 0 0 0.5rem;
    padding: 0;
    font-size: 2em;
    line-height: 3rem;
    color: inherit;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--color-content-lead)
}

.post-nav-excerpt {
    height: 5rem;
    margin: 0 0 1rem;
    font-family: var(--font-secondary);
    font-size: 1.5em;
    line-height: 2.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis
}

.post-nav-meta {
    margin: 0;
    font-size: 1.6em;
    line-height: 2rem;
    color: var(--color-content-secondary)
}

.pagination {
    position: relative;
    margin: 0
}

.pagination .pagination-box {
    padding-top: calc(2rem + 1vw);
    padding-bottom: calc(2rem + 1vw)
}

.pagination .pagination-box:after {
    clear: both;
    content: '';
    display: table
}

.pagination a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    height: 4rem;
    margin: -1px 0;
    padding: 0 2rem;
    z-index: 100;
    border: 1px solid var(--color-background-contrast);
    font-size: 1.6em;
    line-height: 4rem;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    color: var(--color-content-secondary);
    transition: all ease 0.2s;
    border-radius: 4rem;
    box-sizing: border-box
}

.pagination a:focus, .pagination a:hover {
    color: var(--color-content-main);
    border-color: var(--ghost-accent-color)
}

.pagination .pagination-prev {
    float: right;
    padding-right: 1.75rem
}

.pagination .pagination-next {
    float: left;
    padding-left: 1.75rem
}

@media only screen and (max-width: 480px) {
    .pagination .pagination-label {
        display: none
    }
}

.pagination a i {
    font-size: 1.33334em;
    line-height: 0.75em
}

.pagination .pagination-info {
    position: absolute;
    width: 100%;
    font-size: 1.6em;
    line-height: 4rem;
    height: 4rem;
    left: 0;
    z-index: 50;
    display: block;
    text-align: center;
    color: var(--color-content-secondary)
}

.extra-pagination {
    display: none
}

.paged .extra-pagination {
    display: block
}

.paged .extra-pagination .pagination-box {
    border-bottom: 1px solid var(--color-background-contrast)
}