/*! 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: #FFF;
    --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:'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: 'Fira Sans', sans-serif;
    --font-secondary: 'Libre Baskerville', serif
}
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:6em;
    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:3em;
    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(90rem + 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:4em;
    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)
}
 