:root {
 --blue:#3eb0ef;
 --green:#a4d037;
 --purple:#ad26b4;
 --yellow:#fecd35;
 --red:#f05230;
 --darkgrey:#15171a;
 --midgrey:#738a94;
 --lightgrey:#c5d2d9;
 --whitegrey:#e5eff5;
 --pink:#fa3a57;
 --brown:#a3821a;
 --darkmode:#1a1c20
}
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
big,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
ul,
var,
video {
 margin:0;
 padding:0;
 border:0;
 font:inherit;
 font-size:100%;
 vertical-align:baseline
}
body {
 line-height:1
}
ol,
ul {
 list-style:none
}
blockquote,
q {
 quotes:none
}
blockquote:after,
blockquote:before,
q:after,
q:before {
 content:"";
 content:none
}
img {
 max-width:100%
}
html {
 box-sizing:border-box;
 font-family:sans-serif;
 -ms-text-size-adjust:100%;
 -webkit-text-size-adjust:100%
}
*,
:after,
:before {
 box-sizing:inherit
}
a {
 background-color:transparent
}
a:active,
a:hover {
 outline:0
}
b,
strong {
 font-weight:700
}
dfn,
em,
i {
 font-style:italic
}
h1 {
 margin:.67em 0;
 font-size:2em
}
small {
 font-size:80%
}
sub,
sup {
 position:relative;
 font-size:75%;
 line-height:0;
 vertical-align:baseline
}
sup {
 top:-.5em
}
sub {
 bottom:-.25em
}
img {
 border:0
}
svg:not(:root) {
 overflow:hidden
}
mark {
 background-color:#fdffb6
}
code,
kbd,
pre,
samp {
 font-family:monospace,monospace;
 font-size:1em
}
button,
input,
optgroup,
select,
textarea {
 margin:0;
 color:inherit;
 font:inherit
}
button {
 overflow:visible;
 border:none
}
button,
select {
 text-transform:none
}
button,
html input[type=button],
input[type=reset],
input[type=submit] {
 cursor:pointer;
 -webkit-appearance:button
}
button[disabled],
html input[disabled] {
 cursor:default
}
button::-moz-focus-inner,
input::-moz-focus-inner {
 padding:0;
 border:0
}
input {
 line-height:normal
}
input:focus {
 outline:none
}
input[type=checkbox],
input[type=radio] {
 box-sizing:border-box;
 padding:0
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
 height:auto
}
input[type=search] {
 box-sizing:content-box;
 -webkit-appearance:textfield
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
 -webkit-appearance:none
}
legend {
 padding:0;
 border:0
}
textarea {
 overflow:auto
}
table {
 border-spacing:0;
 border-collapse:collapse
}
td,
th {
 padding:0
}
html {
 overflow-y:scroll;
 font-size:62.5%;
 -webkit-tap-highlight-color:rgba(0,0,0,0)
}
body,
html {
 overflow-x:hidden
}
body {
 color:#303a3e;
 font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
 font-size:1.6rem;
 line-height:1.6em;
 font-weight:400;
 font-style:normal;
 letter-spacing:0;
 text-rendering:optimizeLegibility;
 -webkit-font-smoothing:antialiased;
 -moz-osx-font-smoothing:grayscale;
 -moz-font-feature-settings:"liga" on
}
::-moz-selection {
 text-shadow:none;
 background:#cbeafb
}
::selection {
 text-shadow:none;
 background:#cbeafb
}
hr {
 position:relative;
 display:block;
 width:100%;
 margin:2.5em 0 3.5em;
 padding:0;
 height:1px;
 border:0;
 border-top:1px solid #e4eaed
}
audio,
canvas,
iframe,
img,
svg,
video {
 vertical-align:middle
}
fieldset {
 margin:0;
 padding:0;
 border:0
}
textarea {
 resize:vertical
}
blockquote,
dl,
ol,
p,
ul {
 margin:0 0 1.5em
}
ol,
ul {
 padding-left:1.3em;
 padding-right:1.5em
}
ol ol,
ol ul,
ul ol,
ul ul {
 margin:.5em 0 1em
}
ul {
 list-style:disc
}
ol {
 list-style:decimal
}
ol,
ul {
 max-width:100%
}
li {
 margin:.5em 0;
 padding-left:.3em;
 line-height:1.6em
}
dt {
 float:left;
 margin:0 20px 0 0;
 width:120px;
 color:var(--darkgrey);
 font-weight:500;
 text-align:right
}
dd {
 margin:0 0 5px;
 text-align:left
}
blockquote {
 margin:1.5em 0;
 padding:0 1.6em;
 border-left:.5em solid var(--whitegrey)
}
blockquote p {
 margin:.8em 0;
 font-size:1.2em;
 font-weight:300
}
blockquote small {
 display:inline-block;
 margin:.8em 0 .8em 1.5em;
 font-size:.9em;
 opacity:.8
}
blockquote small:before {
 content:"\2014 \00A0"
}
blockquote cite {
 font-weight:700
}
blockquote cite a {
 font-weight:400
}
a {
 color:#26a6ed;
 text-decoration:none
}
a:hover {
 text-decoration:underline
}
h1,
h2,
h3,
h4,
h5,
h6 {
 margin-top:0;
 line-height:1.15;
 font-weight:600;
 text-rendering:optimizeLegibility
}
h1 {
 margin:0 0 .5em;
 font-size:5.5rem;
 font-weight:600
}
@media (max-width:500px) {
 h1 {
  font-size:2.2rem
 }
}
h2 {
 margin:1.5em 0 .5em;
 font-size:2.2rem
}
@media (max-width:500px) {
 h2 {
  font-size:1.8rem
 }
}
h3 {
 margin:1.5em 0 .5em;
 font-size:1.8rem;
 font-weight:500
}
@media (max-width:500px) {
 h3 {
  font-size:1.7rem
 }
}
h4 {
 margin:1.5em 0 .5em;
 font-size:1.6rem;
 font-weight:500
}
h5,
h6 {
 margin:1.5em 0 .5em;
 font-size:1.4rem;
 font-weight:500
}
body {
 background:#fff
}
.img {
 display:block;
 width:100%;
 height:100%;
 background-position:50%;
 background-size:cover;
 border-radius:100%
}
.hidden {
 visibility:hidden;
 position:absolute;
 text-indent:-9999px
}
.site-wrapper {
 display:flex;
 flex-direction:column;
 min-height:100vh
}
.site-main {
 z-index:100;
 flex-grow:1
}
.outer {
 position:relative;
 padding:0 5vw
}
.inner {
 margin:0 auto;
 max-width:1040px;
 width:100%
}
@media (min-width:900px) {
 .author-template .post-feed,
 .home-template .post-feed,
 .tag-template .post-feed {
  padding:80px 0 5vw;
  border-top-left-radius:3px;
  border-top-right-radius:3px
 }
 .home-template .site-nav {
  position:relative
 }
}
.site-header-background {
 position:relative;
 margin-top:64px;
 padding-bottom:12px;
 color:#fff;
 background:#0a0b0c no-repeat 50%;
 background-size:cover
}
.site-header-background:before {
 bottom:0;
 background:rgba(0,0,0,.18)
}
.site-header-background:after,
.site-header-background:before {
 content:"";
 position:absolute;
 top:0;
 right:0;
 left:0;
 z-index:10;
 display:block
}
.site-header-background:after {
 bottom:auto;
 height:140px;
 background:linear-gradient(rgba(0,0,0,.15),transparent)
}
.site-header-background.no-image:after,
.site-header-background.no-image:before {
 display:none
}
.site-header-content {
 z-index:100;
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-items:center;
 padding:6vw 3vw;
 min-height:200px;
 max-height:340px
}
.site-title {
 z-index:10;
 margin:0 0 0 -2px;
 padding:0;
 font-size:5rem;
 line-height:1em;
 font-weight:600
}
.site-logo {
 max-height:55px
}
.site-description {
 z-index:10;
 margin:0;
 padding:5px 0;
 font-size:2.1rem;
 line-height:1.4em;
 font-weight:400;
 opacity:.8
}
.site-home-header {
 z-index:1000
}
.site-home-header .site-header-background {
 margin-top:0
}
.site-home-header .site-header-content {
 padding:5vw 3vw 6vw
}
.site-home-header .site-title {
 font-size:5.5rem;
 text-align:center
}
.site-home-header .site-description {
 font-size:2.2rem;
 font-weight:300;
 text-align:center
}
.site-archive-header .site-header-content {
 position:relative;
 align-items:stretch;
 padding:12vw 0 20px;
 min-height:200px;
 max-height:600px
}
.site-archive-header .no-image {
 padding-top:0;
 padding-bottom:0;
 color:var(--darkgrey);
 background:#fff;
 opacity:1
}
.site-archive-header .no-image .site-description {
 color:var(--midgrey);
 opacity:1
}
.site-archive-header .no-image .site-header-content {
 padding:5vw 0 10px;
 border-bottom:1px solid #eaeff1
}
@media (max-width:900px) {
 .site-header-content {
  padding-bottom:9vw
 }
}
@media (max-width:500px) {
 .site-home-header .site-title {
  font-size:4.2rem
 }
 .site-home-header .site-description {
  font-size:1.8rem
 }
 .site-archive-header .site-header-content {
  flex-direction:column;
  align-items:center;
  min-height:unset
 }
 .site-archive-header .site-title {
  font-size:4.2rem;
  text-align:center
 }
 .site-archive-header .no-image .site-header-content {
  padding:12vw 0 20px
 }
}
.site-nav-main {
 position:fixed;
 top:0;
 right:0;
 left:0;
 z-index:1000;
 background:#0a0b0c
}
.site-nav {
 position:relative;
 z-index:100;
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 overflow:hidden;
 height:64px;
 font-size:1.3rem
}
.site-nav-left-wrapper {
 position:relative;
 flex:1 0 auto;
 display:flex
}
.site-header-background:not(.responsive-header-img) .site-nav-left-wrapper:after,
.site-nav-main .site-nav-left-wrapper:after {
 content:"";
 position:absolute;
 top:0;
 z-index:1000;
 width:40px;
 height:100%;
 right:0;
 background:linear-gradient(90deg,rgba(10,11,12,0) 0,#0a0b0c)
}
.site-nav-left {
 flex:1 0 auto;
 display:flex;
 align-items:center;
 overflow-x:auto;
 overflow-y:hidden;
 -webkit-overflow-scrolling:touch;
 margin-right:10px;
 padding:10px 0 80px;
 font-weight:500;
 letter-spacing:.2px;
 text-transform:uppercase;
 white-space:nowrap;
 -ms-overflow-scrolling:touch
}
.site-nav-left .nav li:last-of-type {
 padding-right:20px
}
.site-nav-logo {
 position:relative;
 z-index:100;
 flex-shrink:0;
 display:inline-block;
 margin-right:32px;
 padding:12px 0;
 color:#fff;
 font-size:1.7rem;
 line-height:1.8rem;
 font-weight:700;
 letter-spacing:-.5px;
 text-transform:none
}
.site-nav-logo:hover {
 text-decoration:none
}
.site-nav-logo img {
 display:block;
 width:auto;
 height:21px
}
.site-home-header .site-nav-logo {
 display:none
}
.site-nav-content {
 position:relative;
 align-self:flex-start
}
.nav {
 position:absolute;
 z-index:1000;
 display:flex;
 margin:0 0 0 -12px;
 padding:0;
 list-style:none;
 transition:all 1s cubic-bezier(.19,1,.22,1)
}
.nav li {
 display:block;
 margin:0;
 padding:0
}
.nav li a {
 position:relative;
 display:block;
 padding:12px;
 color:#fff;
 opacity:.8;
 transition:opacity .35s ease-in-out
}
.nav li a:hover {
 text-decoration:none;
 opacity:1
}
.nav li a:before {
 content:"";
 position:absolute;
 right:100%;
 bottom:8px;
 left:12px;
 height:1px;
 background:#fff;
 opacity:.25;
 transition:all .35s ease-in-out
}
.nav li a:hover:before {
 right:12px;
 opacity:.5
}
.nav-post-title-active .nav {
 visibility:hidden;
 opacity:0;
 transform:translateY(-175%)
}
.nav-post-title {
 visibility:hidden;
 position:absolute;
 top:9px;
 color:#fff;
 font-size:1.7rem;
 font-weight:400;
 text-transform:none;
 opacity:0;
 transition:all 1s cubic-bezier(.19,1,.22,1);
 transform:translateY(175%)
}
.nav-post-title.dash {
 left:-25px
}
.nav-post-title.dash:before {
 content:"– ";
 opacity:.5
}
.nav-post-title-active .nav-post-title {
 visibility:visible;
 opacity:1;
 transform:translateY(0)
}
.site-nav-right {
 flex:0 1 auto;
 display:flex;
 justify-content:flex-end;
 align-items:center;
 padding:10px 0;
 height:64px
}
.site-nav-right .nav {
 position:relative;
 margin:0
}
.site-nav-right .nav a {
 white-space:nowrap
}
.site-nav-right .nav a:before {
 display:none
}
.site-nav-right .nav li:last-of-type a {
 margin-right:-12px
}
.social-links {
 flex-shrink:0;
 display:flex;
 align-items:center
}
.social-link {
 display:inline-block;
 margin:0;
 padding:10px;
 opacity:.8
}
.social-link:hover {
 opacity:1
}
.social-link svg {
 height:1.8rem;
 fill:#fff
}
.social-link-fb svg,
.social-link-wb svg {
 height:1.6rem
}
.social-link-wb svg path {
 stroke:#fff
}
.social-link-rss svg {
 height:1.9rem
}
.subscribe-button {
 display:block;
 margin:0 0 0 10px;
 padding:4px 10px;
 border:1px solid #fff;
 color:#fff;
 line-height:1em;
 border-radius:10px;
 opacity:.8
}
.subscribe-button:hover {
 text-decoration:none;
 opacity:1
}
.site-nav-right .nav+.subscribe-button {
 margin-left:24px
}
.rss-button {
 padding:10px 8px;
 opacity:.8
}
.rss-button:hover {
 opacity:1
}
.rss-button svg {
 margin-bottom:1px;
 height:2.1rem;
 fill:#fff
}
.home-template .site-nav-main {
 z-index:100
}
.home-template .site-nav-main .site-nav {
 opacity:0;
 transition:all .5s cubic-bezier(.19,1,.22,1) 0s
}
.home-template .site-nav-main .fixed-nav-active {
 opacity:1;
 transition:all .5s cubic-bezier(.19,1,.22,1) .05s
}
@media (max-width:700px) {
 .site-home-header .site-nav {
  margin-left:-5vw
 }
 .site-nav-main {
  padding-right:0;
  padding-left:0
 }
 .site-nav-left {
  margin-right:0;
  padding-left:5vw
 }
 .site-nav-right {
  display:none
 }
}
.posts {
 overflow-x:hidden
}
.post-feed {
 flex-wrap:wrap;
 margin:0 -20px;
 padding:80px 0 0;
 background:#fff
}
.post-card,
.post-feed {
 position:relative;
 display:flex
}
.post-card {
 flex:1 1 301px;
 flex-direction:column;
 overflow:hidden;
 margin:0 0 40px;
 padding:0 20px 40px;
 min-height:220px;
 border-bottom:1px solid #eaeff1;
 background-size:cover
}
.post-card-image-link {
 position:relative;
 display:block;
 overflow:hidden;
 border-radius:3px
}
.post-card-image {
 width:100%;
 height:200px;
 background:var(--lightgrey) no-repeat 50%;
 -o-object-fit:cover;
 object-fit:cover
}
.post-card-content-link {
 position:relative;
 display:block;
 color:var(--darkgrey)
}
.post-card-content-link:hover {
 text-decoration:none
}
.post-card-header {
 margin:15px 0 0
}
.post-feed .no-image .post-card-content-link {
 padding:0
}
.no-image .post-card-header {
 margin-top:0
}
.post-card-primary-tag {
 margin:0 0 .2em;
 color:var(--blue);
 font-size:1.2rem;
 font-weight:500;
 letter-spacing:.2px;
 text-transform:uppercase
}
.post-card-title {
 margin:0 0 .4em;
 line-height:1.15em;
 transition:color .2s ease-in-out
}
.no-image .post-card-title {
 margin-top:0
}
.post-card-content {
 flex-grow:1;
 display:flex;
 flex-direction:column
}
.post-card-excerpt {
 max-width:56em;
 color:var(--midgrey);
 font-family:Georgia,serif
}
.post-card-excerpt p {
 margin-bottom:1em
}
.post-card-meta {
 display:flex;
 align-items:flex-start;
 padding:0
}
.author-profile-image,
.avatar-wrapper {
 display:block;
 width:100%;
 height:100%;
 background:#e4eaed;
 border-radius:100%;
 -o-object-fit:cover;
 object-fit:cover
}
.post-card-meta .avatar-wrapper,
.post-card-meta .profile-image-wrapper {
 position:relative
}
.author-list {
 display:flex;
 flex-wrap:wrap;
 margin:0 0 0 4px;
 padding:0;
 list-style:none
}
.author-list-item {
 position:relative;
 flex-shrink:0;
 margin:0;
 padding:0
}
.static-avatar {
 display:block;
 overflow:hidden;
 margin:0 0 0 -6px;
 width:34px;
 height:34px;
 border:2px solid #fff;
 border-radius:100%
}
.author-name-tooltip {
 position:absolute;
 bottom:105%;
 z-index:999;
 display:block;
 padding:2px 8px;
 color:#fff;
 font-size:1.2rem;
 letter-spacing:.2px;
 white-space:nowrap;
 background:var(--darkgrey);
 border-radius:3px;
 box-shadow:0 12px 26px rgba(39,44,49,.08),1px 3px 8px rgba(39,44,49,.03);
 opacity:0;
 transition:all .35s cubic-bezier(.4,.01,.165,.99);
 transform:translateY(6px);
 pointer-events:none
}
.author-list-item:hover .author-name-tooltip {
 opacity:1;
 transform:translateY(0)
}
@media (max-width:700px) {
 .author-name-tooltip {
  display:none
 }
}
.post-card-byline-content {
 flex:1 1 50%;
 display:flex;
 flex-direction:column;
 margin:2px 0 0 6px;
 color:#90a2aa;
 font-size:1.2rem;
 line-height:1.4em;
 font-weight:400;
 letter-spacing:.2px;
 text-transform:uppercase
}
.post-card-byline-content span {
 margin:0
}
.post-card-byline-content a {
 color:#434952;
 font-weight:600
}
.post-card-byline-date {
 font-size:1.2rem
}
.post-card-byline-date .bull {
 display:inline-block;
 margin:0 4px;
 opacity:.6
}
.single-author-byline {
 display:flex;
 flex-direction:column;
 margin-left:5px;
 color:#5c7078;
 font-size:1.3rem;
 line-height:1.4em;
 font-weight:500
}
.single-author {
 display:flex;
 align-items:center
}
.single-author .static-avatar {
 margin-left:-2px
}
.single-author-name {
 display:inline-block
}
@media (min-width:795px) {
 .post-card-large {
  flex:1 1 100%;
  flex-direction:row;
  padding-bottom:40px;
  min-height:280px;
  border-top:0
 }
 .post-card-large:hover {
  border-bottom-color:#e4eaed
 }
 .post-card-large:not(.no-image) .post-card-header {
  margin-top:0
 }
 .post-card-large .post-card-image-link {
  position:relative;
  flex:1 1 auto;
  margin-bottom:0;
  min-height:380px
 }
 .post-card-large .post-card-image {
  position:absolute;
  width:100%;
  height:100%
 }
 .post-card-large .post-card-content {
  flex:0 1 361px;
  justify-content:center
 }
 .post-card-large .post-card-title {
  margin-top:0;
  font-size:3.2rem
 }
 .post-card-large .post-card-content-link,
 .post-card-large .post-card-meta {
  padding:0 0 0 40px
 }
 .post-card-large .post-card-excerpt p {
  margin-bottom:1.5em;
  font-size:1.8rem;
  line-height:1.5em
 }
}
@media (max-width:1170px) {
 .post-card {
  margin-bottom:5vw
 }
}
@media (max-width:650px) {
 .post-card {
  margin-bottom:5vw
 }
}
@media (max-width:500px) {
 .post-card-title {
  font-size:1.9rem
 }
 .post-card-excerpt {
  font-size:1.6rem
 }
}
.page-template .site-main,
.post-template .site-main {
 margin-top:64px;
 padding-bottom:4vw;
 background:#fff
}
.post-full-header {
 position:relative;
 margin:0 auto;
 padding:70px 170px 50px;
 border-top-left-radius:3px;
 border-top-right-radius:3px
}
.post-full-tags {
 display:flex;
 justify-content:flex-start;
 align-items:center;
 color:var(--midgrey);
 font-size:1.3rem;
 line-height:1.4em;
 font-weight:600;
 text-transform:uppercase
}
.post-full-meta-date {
 color:var(--midgrey);
 font-size:1.2rem;
 font-weight:400
}
@media (max-width:1170px) {
 .post-full-header {
  padding:60px 11vw 50px
 }
}
@media (max-width:800px) {
 .post-full-header {
  padding-right:5vw;
  padding-left:5vw
 }
}
@media (max-width:500px) {
 .post-full-header {
  padding:20px 0 35px
 }
}
.post-full-title {
 margin:0 0 .2em;
 color:#0a0b0c
}
.post-full-custom-excerpt {
 margin:20px 0 0;
 color:var(--midgrey);
 font-family:Georgia,serif;
 font-size:2.3rem;
 line-height:1.4em;
 font-weight:300
}
.date-divider {
 display:inline-block;
 margin:0 6px 1px;
 font-weight:300
}
.post-full-image {
 display:flex;
 flex-direction:column;
 align-items:center;
 overflow:hidden;
 margin:25px 0 50px;
 background:#e4eaed;
 border-radius:3px
}
.post-full-image img {
 max-width:1040px;
 width:100%;
 height:auto
}
.post-full-content {
 position:relative;
 margin:0 auto;
 padding:0 170px 6vw;
 min-height:230px;
 font-family:Georgia,serif;
 font-size:2rem;
 line-height:1.6em;
 background:#fff
}
@media (max-width:1170px) {
 .post-full-content {
  padding:0 11vw
 }
}
@media (max-width:800px) {
 .post-full-content {
  padding:0 5vw;
  font-size:1.8rem
 }
}
@media (max-width:500px) {
 .post-full-custom-excerpt {
  font-size:1.9rem;
  line-height:1.5em
 }
}
.no-image .post-full-content {
 padding-top:0
}
.no-image .post-full-content:after,
.no-image .post-full-content:before {
 display:none
}
.footnotes,
.post-full-comments,
.post-full-content blockquote,
.post-full-content dl,
.post-full-content h1,
.post-full-content h2,
.post-full-content h3,
.post-full-content h4,
.post-full-content h5,
.post-full-content h6,
.post-full-content ol,
.post-full-content p,
.post-full-content pre,
.post-full-content ul {
 margin:0 0 1.5em;
 min-width:100%
}
@media (max-width:500px) {
 .footnotes,
 .post-full-comments,
 .post-full-content dl,
 .post-full-content ol,
 .post-full-content p,
 .post-full-content pre,
 .post-full-content ul {
  margin-bottom:1.28em
 }
}
.post-full-content li {
 word-break:break-word
}
.post-full-content li p {
 margin:0
}
.post-full-content a {
 color:var(--darkgrey);
 word-break:break-word;
 box-shadow:var(--darkgrey) 0 -1px 0 inset;
 transition:all .2s ease-in-out
}
.post-full-content a:hover {
 color:var(--blue);
 text-decoration:none;
 box-shadow:var(--blue) 0 -1px 0 inset
}
.post-full-content em,
.post-full-content strong {
 color:#0a0b0c
}
.post-full-content small {
 display:inline-block;
 line-height:1.6em
}
.post-full-content li:first-child {
 margin-top:0
}
.post-full-content img,
.post-full-content video {
 display:block;
 margin:1.5em auto;
 max-width:1040px;
 height:auto
}
@media (max-width:1040px) {
 .post-full-content img,
 .post-full-content video {
  width:100%
 }
}
.post-full-content img[src$="#full"] {
 max-width:none;
 width:100vw
}
.post-full-content img+br+small {
 display:block;
 margin-top:-3em;
 margin-bottom:1.5em;
 text-align:center
}
.post-full-content iframe {
 margin:0 auto!important
}
.post-full-content blockquote {
 margin:0 0 1.5em;
 padding:0 1.5em;
 border-left:3px solid #3eb0ef
}
@media (max-width:500px) {
 .post-full-content blockquote {
  padding:0 1.3em
 }
}
.post-full-content blockquote p {
 margin:0 0 1em;
 color:inherit;
 font-size:inherit;
 line-height:inherit;
 font-style:italic
}
.post-full-content blockquote p:last-child {
 margin-bottom:0
}
.post-full-content code {
 padding:0 5px 2px;
 font-size:.8em;
 line-height:1em;
 font-weight:400!important;
 background:var(--whitegrey);
 border-radius:3px
}
.post-full-content p code {
 word-break:break-all
}
.post-full-content pre {
 overflow-x:auto;
 margin:1.5em 0 3em;
 padding:20px;
 max-width:100%;
 border:1px solid #000;
 color:var(--whitegrey);
 font-size:1.4rem;
 line-height:1.5em;
 background:#0e1012;
 border-radius:5px
}
.post-full-content pre ::-moz-selection {
 color:#3b474d
}
.post-full-content pre ::selection {
 color:#3b474d
}
.post-full-content pre code {
 padding:0;
 font-size:inherit;
 line-height:inherit;
 background:transparent
}
.post-full-content pre code :not(span) {
 color:inherit
}
.post-full-content .fluid-width-video-wrapper {
 margin:1.5em 0 3em
}
.post-full-content hr {
 margin:2em 0
}
.post-full-content hr:after {
 content:"";
 position:absolute;
 top:-15px;
 left:50%;
 display:block;
 margin-left:-10px;
 width:1px;
 height:30px;
 background:#e4eaed;
 box-shadow:0 0 0 5px #fff;
 transform:rotate(45deg)
}
.post-full-content hr+p {
 margin-top:1.2em
}
.post-full-content [id] {
 scroll-margin-top:110px
}
.post-full-content h1,
.post-full-content h2,
.post-full-content h3,
.post-full-content h4,
.post-full-content h5,
.post-full-content h6 {
 color:#0a0b0c;
 font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif
}
.post-full-content h1 {
 margin:.5em 0 .4em;
 font-size:4.2rem;
 line-height:1.25em;
 font-weight:600
}
.post-full-content p+h1 {
 margin-top:.8em
}
@media (max-width:800px) {
 .post-full-content h1 {
  font-size:3.2rem;
  line-height:1.25em
 }
}
.post-full-content h2 {
 margin:.5em 0 .4em;
 font-size:3.2rem;
 line-height:1.25em;
 font-weight:600
}
.post-full-content p+h2 {
 margin-top:.8em
}
@media (max-width:800px) {
 .post-full-content h2 {
  margin-bottom:.3em;
  font-size:2.8rem;
  line-height:1.25em
 }
}
.post-full-content h3 {
 margin:.5em 0 .2em;
 font-size:2.5rem;
 line-height:1.3em;
 font-weight:600
}
.post-full-content h2+h3 {
 margin-top:.7em
}
@media (max-width:800px) {
 .post-full-content h3 {
  margin-bottom:.3em;
  font-size:2.4rem;
  line-height:1.3em
 }
}
.post-full-content h4 {
 margin:.5em 0 .2em;
 font-size:2.5rem;
 font-weight:600
}
.post-full-content h2+h4 {
 margin-top:.7em
}
.post-full-content h3+h4 {
 margin-top:0
}
@media (max-width:800px) {
 .post-full-content h4 {
  margin-bottom:.3em;
  font-size:2.4rem;
  line-height:1.3em
 }
}
.post-full-content h5 {
 display:block;
 margin:.5em 0;
 padding:.4em 1em .9em;
 border:0;
 color:var(--blue);
 font-family:Georgia,serif;
 font-size:3.2rem;
 line-height:1.35em;
 text-align:center
}
@media (min-width:1180px) {
 .post-full-content h5 {
  max-width:1060px;
  width:100vw
 }
}
@media (max-width:800px) {
 .post-full-content h5 {
  margin-bottom:1em;
  margin-left:1.3em;
  padding:0 0 .5em;
  font-size:2.4rem;
  text-align:initial
 }
}
.post-full-content h6 {
 margin:.5em 0 .2em;
 font-size:2rem;
 font-weight:700
}
@media (max-width:800px) {
 .post-full-content h6 {
  font-size:1.8rem;
  line-height:1.4em
 }
}
.footnotes-sep {
 margin-bottom:30px
}
.footnotes {
 font-size:1.5rem
}
.footnotes p {
 margin:0
}
.footnote-backref {
 color:var(--blue)!important;
 font-size:1.2rem;
 font-weight:700;
 text-decoration:none!important;
 box-shadow:none!important
}
@media (max-width:1170px) {
 .post-full-image {
  margin:25px -6vw 50px;
  border-radius:0
 }
 .post-full-image img {
  max-width:1170px
 }
}
@media (max-width:700px) {
 .post-full-image {
  margin:25px -5vw
 }
}
@media (max-width:500px) {
 .post-full-meta {
  font-size:1.2rem;
  line-height:1.3em
 }
 .post-full-title {
  margin-top:.2em;
  font-size:4.2rem;
  line-height:1.05em
 }
 .post-full-image {
  margin-top:5px;
  margin-bottom:5vw
 }
 .post-full-content {
  padding:0
 }
 .post-full-content:after,
 .post-full-content:before {
  display:none
 }
}
.post-full-content table {
 display:inline-block;
 overflow-x:auto;
 margin:.5em 0 2.5em;
 max-width:100%;
 width:auto;
 border-spacing:0;
 border-collapse:collapse;
 font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
 font-size:1.6rem;
 white-space:nowrap;
 vertical-align:top;
 -webkit-overflow-scrolling:touch;
 background:radial-gradient(ellipse at left,rgba(0,0,0,.2) 0,transparent 75%) 0,radial-gradient(ellipse at right,rgba(0,0,0,.2) 0,transparent 75%) 100%;
 background-attachment:scroll,scroll;
 background-size:10px 100%,10px 100%;
 background-repeat:no-repeat
}
.post-full-content table td:first-child {
 background-image:linear-gradient(90deg,#fff 50%,hsla(0,0%,100%,0));
 background-size:20px 100%;
 background-repeat:no-repeat
}
.post-full-content table td:last-child {
 background-image:linear-gradient(270deg,#fff 50%,hsla(0,0%,100%,0));
 background-position:100% 0;
 background-size:20px 100%;
 background-repeat:no-repeat
}
.post-full-content table th {
 color:var(--darkgrey);
 font-size:1.2rem;
 font-weight:700;
 letter-spacing:.2px;
 text-align:left;
 text-transform:uppercase;
 background-color:#f4f8fb
}
.post-full-content table td,
.post-full-content table th {
 padding:6px 12px;
 border:1px solid #e2ecf3
}
.post-full-byline {
 display:flex;
 justify-content:space-between;
 margin:35px 0 0;
 padding-top:15px;
 border-top:1px solid #e4eaed
}
.post-full-byline-content {
 flex-grow:1;
 display:flex;
 align-items:flex-start
}
.post-full-byline-content .author-list {
 justify-content:flex-start;
 padding:0 12px 0 0
}
.post-full-byline-meta {
 margin:2px 0 0;
 color:#90a2aa;
 font-size:1.2rem;
 line-height:1.2em;
 letter-spacing:.2px;
 text-transform:uppercase
}
.post-full-byline-meta h4 {
 margin:0 0 3px;
 font-size:1.3rem;
 line-height:1.4em;
 font-weight:500
}
.post-full-byline-meta h4 a {
 color:#2c3036
}
.post-full-byline-meta h4 a:hover {
 color:var(--darkgrey)
}
.post-full-byline-meta .bull {
 display:inline-block;
 margin:0 4px;
 opacity:.6
}
.author-avatar {
 display:block;
 overflow:hidden;
 margin:0 -4px;
 width:40px;
 height:40px;
 border:2px solid #fff;
 border-radius:100%;
 transition:all .5s cubic-bezier(.4,.01,.165,.99) .7s
}
.author-list-item .author-card {
 position:absolute;
 bottom:130%;
 left:50%;
 z-index:600;
 display:flex;
 justify-content:space-between;
 margin-left:-200px;
 width:400px;
 font-size:1.4rem;
 line-height:1.5em;
 background:#fff;
 border-radius:3px;
 box-shadow:0 12px 26px rgba(39,44,49,.08),1px 3px 8px rgba(39,44,49,.06);
 opacity:0;
 transition:all .35s cubic-bezier(.4,.01,.165,.99);
 transform:scale(.98) translateY(15px);
 pointer-events:none
}
.author-list-item .author-card:before {
 content:"";
 position:absolute;
 top:100%;
 left:50%;
 display:block;
 margin-left:-8px;
 width:0;
 height:0;
 border-top:8px solid #fff;
 border-right:8px solid transparent;
 border-left:8px solid transparent
}
.author-list-item .author-card.hovered {
 opacity:1;
 transform:scale(1) translateY(0);
 pointer-events:auto
}
.author-card {
 padding:20px 20px 22px
}
.author-card .author-info {
 flex:1 1 auto;
 padding:0 0 0 20px
}
.author-card .author-info h2 {
 margin:8px 0 0;
 font-size:1.6rem
}
.author-card .author-info p {
 margin:4px 0 0;
 color:#5c7078
}
.author-card .author-info .bio h2 {
 margin-top:0
}
.author-card .author-info .bio p {
 margin-top:.8em
}
.author-card .author-profile-image {
 flex:0 0 60px;
 margin:0;
 width:60px;
 height:60px;
 border:none
}
.basic-info .avatar-wrapper {
 position:relative;
 margin:0;
 width:60px;
 height:60px;
 border:none;
 background:rgba(229,239,245,.1)
}
.basic-info .avatar-wrapper svg {
 margin:0;
 width:60px;
 height:60px;
 opacity:.15
}
@media (max-width:1170px) {
 .author-list-item .author-card {
  margin-left:-50px;
  width:430px
 }
 .author-list-item .author-card:before {
  left:50px
 }
}
@media (max-width:650px) {
 .author-list-item .author-card {
  display:none
 }
}
@media (max-width:500px) {
 .author-avatar {
  width:36px;
  height:36px
 }
 .post-full-byline {
  margin-top:20px
 }
 .post-full-byline-meta {
  font-size:1.2rem
 }
 .post-full-byline-meta h4 {
  margin-bottom:2px;
  font-size:1.2rem
 }
}
.subscribe-form {
 margin:1.5em 0;
 padding:6.5vw 7vw 8vw;
 border:1px solid #e4eaed;
 text-align:center;
 background:linear-gradient(#fbfdfe,#f4f8fb);
 border-radius:3px
}
.subscribe-form-title {
 margin:0 0 3px;
 padding:0;
 color:var(--darkgrey);
 font-size:3.5rem;
 line-height:1;
 font-weight:600
}
.subscribe-form-description {
 margin-bottom:.2em 0 1em;
 color:var(--midgrey);
 font-size:2.1rem;
 line-height:1.55em
}
.subscribe-form form {
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-items:center;
 margin:0 auto;
 max-width:460px
}
.subscribe-form .form-group {
 align-self:stretch;
 display:flex
}
.subscribe-email {
 display:block;
 padding:10px;
 width:100%;
 border:1px solid #dbe3e7;
 color:var(--midgrey);
 font-size:1.8rem;
 line-height:1em;
 font-weight:400;
 -webkit-user-select:text;
 -moz-user-select:text;
 -ms-user-select:text;
 user-select:text;
 border-radius:5px;
 transition:border-color .15s linear;
 -webkit-appearance:none
}
.subscribe-form button {
 position:relative;
 display:inline-block;
 margin:0 0 0 10px;
 padding:0 20px;
 height:43px;
 outline:none;
 color:#fff;
 font-size:1.5rem;
 line-height:39px;
 font-weight:400;
 text-align:center;
 background:linear-gradient(#50b6ef,#299fe0 60%,#299fe0 90%,#37a5e2);
 border-radius:5px;
 -webkit-font-smoothing:subpixel-antialiased
}
.subscribe-form button:active,
.subscribe-form button:focus {
 background:#209bdf
}
.subscribe-form .button-loader,
.subscribe-form .message-error,
.subscribe-form .message-success {
 display:none
}
.subscribe-form .loading .button-content {
 visibility:hidden
}
.subscribe-form .loading .button-loader {
 position:absolute;
 top:0;
 left:50%;
 display:inline-block;
 margin-left:-19px;
 transform:scale(.7)
}
.subscribe-form .button-loader svg path,
.subscribe-form .button-loader svg rect {
 fill:#fff
}
.subscribe-form .error .message-error,
.subscribe-form .invalid .message-error,
.subscribe-form .success .message-success {
 margin:1em auto 0;
 max-width:400px;
 color:var(--red);
 font-size:1.6rem;
 line-height:1.5em;
 text-align:center
}
.subscribe-form .success .message-success {
 display:block;
 color:#96c02d
}
.subscribe-form .error .message-error,
.subscribe-form .invalid .message-error {
 display:block
}
@media (max-width:650px) {
 .subscribe-form-title {
  font-size:2.4rem
 }
 .subscribe-form-description {
  font-size:1.6rem
 }
}
@media (max-width:500px) {
 .subscribe-form form {
  flex-direction:column
 }
 .subscribe-form .form-group {
  flex-direction:column;
  width:100%
 }
 .subscribe-form button {
  margin:10px 0 0;
  width:100%
 }
}
.post-full-comments {
 margin:0 auto;
 max-width:840px
}
.read-next {
 border-bottom:1px solid hsla(0,0%,100%,.1);
 background:#0a0b0c
}
.read-next-feed {
 display:flex;
 flex-wrap:wrap;
 margin:0 -25px;
 padding:60px 0 0
}
.read-next .post-card {
 padding-bottom:0;
 border-bottom:none
}
.read-next .post-card:after {
 display:none
}
.read-next .post-card-primary-tag {
 color:#fff;
 opacity:.6
}
.read-next .post-card-title {
 color:#fff;
 opacity:.8;
 transition:all .2s ease-in-out
}
.read-next .post-card:hover .post-card-image {
 opacity:1
}
.read-next .post-card-excerpt {
 color:hsla(0,0%,100%,.6)
}
.read-next .static-avatar {
 border-color:#000
}
.read-next .post-card-byline-content {
 color:hsla(0,0%,100%,.6)
}
.read-next .post-card-byline-content a {
 color:hsla(0,0%,100%,.8)
}
.read-next-card {
 position:relative;
 flex:0 1 326px;
 display:flex;
 flex-direction:column;
 overflow:hidden;
 margin:0 25px 50px;
 padding:25px;
 background:linear-gradient(#1a1c20,#0a0b0c);
 border-radius:3px
}
.read-next-card a {
 transition:all .2s ease-in-out
}
.read-next-card a:hover {
 text-decoration:none
}
.read-next-card-header h3 {
 margin:0;
 color:hsla(0,0%,100%,.6);
 font-size:1.2rem;
 line-height:1em;
 font-weight:300;
 letter-spacing:.4px;
 text-transform:uppercase
}
.read-next-card-header h3 a {
 color:#fff;
 font-weight:500;
 text-decoration:none;
 opacity:.8
}
.read-next-card-header h3 a:hover {
 opacity:1
}
.read-next-card-content {
 font-size:1.7rem
}
.read-next-card-content ul {
 display:flex;
 flex-direction:column;
 margin:0;
 padding:0;
 list-style:none
}
.read-next-card-content li {
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 margin:0;
 padding:20px 0;
 border-bottom:hsla(0,0%,100%,.1)
}
.read-next-card-content li:last-of-type {
 padding-bottom:5px;
 border:none
}
.read-next-card-content h4 {
 margin:0;
 font-size:1.6rem;
 line-height:1.35em;
 font-weight:600
}
.read-next-card-content li a {
 display:block;
 color:#fff;
 opacity:.8
}
.read-next-card-content li a:hover {
 opacity:1
}
.read-next-card-excerpt {
 overflow:hidden;
 max-width:100%;
 font-size:1.4rem;
 line-height:1.2em;
 text-overflow:ellipsis
}
.read-next-card-meta {
 margin-top:2px;
 font-size:1.2rem;
 line-height:1.4em;
 font-weight:400
}
.read-next-card-meta p {
 margin:0;
 color:hsla(0,0%,100%,.6)
}
.read-next-card-footer {
 position:relative;
 margin:40px 0 5px
}
.read-next-card-footer a {
 padding:7px 12px 8px 14px;
 border:1px solid hsla(0,0%,100%,.6);
 color:hsla(0,0%,100%,.6);
 font-size:1.3rem;
 border-radius:999px;
 transition:all .35s ease-in-out
}
.read-next-card-footer a:hover {
 border-color:var(--yellow);
 color:var(--yellow);
 text-decoration:none
}
@media (max-width:1170px) {
 .read-next-card {
  flex:1 1 261px;
  margin-bottom:5vw
 }
}
@media (max-width:650px) {
 .read-next-feed {
  flex-direction:column;
  padding:25px 0 0
 }
 .read-next-card {
  flex:1 1 auto;
  margin:0 25px;
  padding:0;
  background:none
 }
 .read-next .post-card {
  flex:1 1 auto;
  margin:25px;
  padding:25px 0 0;
  border-bottom:1px solid hsla(0,0%,100%,.1)
 }
}
.post-content {
 display:flex;
 flex-direction:column;
 align-items:center
}
.post-full-content .kg-image {
 margin:0 auto;
 max-width:100%
}
.post-full-image+.post-full-content .kg-content :first-child .kg-image {
 width:100%
}
.post-full-content .kg-width-wide .kg-image {
 max-width:1040px
}
.post-full-content .kg-width-full .kg-image {
 max-width:100vw
}
.post-full-content figure {
 margin:.8em 0 2.3em
}
.post-full-content h1+figure,
.post-full-content h2+figure,
.post-full-content h3+figure,
.post-full-content h4+figure {
 margin-top:2em
}
.post-full-content figure img {
 margin:0
}
.post-full-content figcaption {
 margin:1em auto 0;
 color:#5c7078;
 font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
 font-size:75%;
 line-height:1.5em;
 text-align:center;
 max-width:1040px
}
.kg-width-full figcaption {
 padding:0 1.5em
}
.kg-embed-card {
 display:flex;
 flex-direction:column;
 align-items:center;
 width:100%
}
.kg-embed-card .fluid-width-video-wrapper {
 margin:0
}
@media (max-width:1040px) {
 .post-full-content .kg-width-full .kg-image {
  width:100vw
 }
}
.kg-gallery-container {
 display:flex;
 flex-direction:column;
 max-width:1040px;
 width:100vw
}
.kg-gallery-row {
 display:flex;
 flex-direction:row;
 justify-content:center
}
.kg-gallery-image img {
 display:block;
 margin:0;
 width:100%;
 height:100%
}
.kg-gallery-row:not(:first-of-type) {
 margin:.75em 0 0
}
.kg-gallery-image:not(:first-of-type) {
 margin:0 0 0 .75em
}
.kg-gallery-card+.kg-gallery-card,
.kg-gallery-card+.kg-image-card.kg-width-wide,
.kg-image-card.kg-width-wide+.kg-gallery-card,
.kg-image-card.kg-width-wide+.kg-image-card.kg-width-wide {
 margin:-2.25em 0 3em
}
.kg-code-card {
 width:100%
}
.kg-code-card pre {
 margin:0
}
.kg-bookmark-card {
 width:100%
}
.kg-card+.kg-bookmark-card {
 margin-top:0
}
.post-full-content .kg-bookmark-container {
 display:flex;
 min-height:148px;
 font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
 border-radius:3px
}
.post-full-content .kg-bookmark-container,
.post-full-content .kg-bookmark-container:hover {
 color:var(--darkgrey);
 text-decoration:none;
 box-shadow:0 2px 5px -1px rgba(0,0,0,.15),0 0 1px rgba(0,0,0,.09)
}
.kg-bookmark-content {
 flex-grow:1;
 display:flex;
 flex-direction:column;
 justify-content:flex-start;
 align-items:flex-start;
 padding:20px
}
.kg-bookmark-title {
 color:#303a3e;
 font-size:1.6rem;
 line-height:1.5em;
 font-weight:600;
 transition:color .2s ease-in-out
}
.post-full-content .kg-bookmark-container:hover .kg-bookmark-title {
 color:var(--blue)
}
.kg-bookmark-description {
 display:-webkit-box;
 overflow-y:hidden;
 margin-top:12px;
 max-height:48px;
 color:#5c7078;
 font-size:1.5rem;
 line-height:1.5em;
 font-weight:400;
 -webkit-line-clamp:2;
 -webkit-box-orient:vertical
}
.kg-bookmark-thumbnail {
 position:relative;
 min-width:33%;
 max-height:100%
}
.kg-bookmark-thumbnail img {
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
 border-radius:0 3px 3px 0;
 -o-object-fit:cover;
 object-fit:cover
}
.kg-bookmark-metadata {
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 margin-top:14px;
 color:var(--darkgrey);
 font-size:1.5rem;
 font-weight:500
}
.post-full-content .kg-bookmark-icon {
 margin-right:8px;
 width:22px;
 height:22px
}
.kg-bookmark-author {
 line-height:1.5em
}
.kg-bookmark-author:after {
 content:"•";
 margin:0 6px
}
.kg-bookmark-publisher {
 overflow:hidden;
 max-width:240px;
 line-height:1.5em;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:#5c7078;
 font-weight:400
}
@media (max-width:800px) {
 .post-full-content figure {
  margin:.2em 0 1.3em
 }
 .post-full-content h1+figure,
 .post-full-content h2+figure,
 .post-full-content h3+figure,
 .post-full-content h4+figure {
  margin-top:.9em
 }
}
@media (max-width:500px) {
 .post-full-content .kg-width-full,
 .post-full-content .kg-width-wide {
  margin-right:-5vw;
  margin-left:-5vw
 }
 .post-full-content figcaption {
  margin-bottom:.4em
 }
 .post-full-content .kg-bookmark-container {
  flex-direction:column
 }
 .kg-bookmark-description,
 .kg-bookmark-metadata,
 .kg-bookmark-title {
  font-size:1.4rem;
  line-height:1.5em
 }
 .post-full-content .kg-bookmark-icon {
  width:18px;
  height:18px
 }
 .kg-bookmark-thumbnail {
  order:1;
  min-height:160px;
  width:100%
 }
 .kg-bookmark-thumbnail img {
  border-radius:3px 3px 0 0
 }
 .kg-bookmark-content {
  order:2
 }
}
.author-header {
 display:flex;
 flex-direction:row;
 justify-content:flex-start;
 align-items:flex-start;
 padding:10vw 0 10px
}
.site-archive-header .author-header {
 align-items:center
}
.site-archive-header .no-image .author-header {
 padding-bottom:20px
}
.author-header-content {
 display:flex;
 flex-direction:column;
 justify-content:center;
 margin:5px 0 0 30px
}
.site-header-content .author-profile-image {
 z-index:10;
 flex-shrink:0;
 margin:-4px 0 0;
 width:110px;
 height:110px;
 box-shadow:0 0 0 6px hsla(0,0%,100%,.1)
}
.author-header-content .author-bio {
 z-index:10;
 flex-shrink:0;
 margin:6px 0 0;
 max-width:46em;
 font-size:2rem;
 line-height:1.3em;
 font-weight:400;
 opacity:.8
}
.author-header-content .author-meta {
 z-index:10;
 flex-shrink:0;
 display:flex;
 align-items:center;
 margin:0 0 0 1px;
 font-size:1.2rem;
 font-weight:400;
 letter-spacing:.2px;
 text-transform:uppercase;
 white-space:nowrap
}
.author-header-content .social-link:first-of-type {
 padding-left:4px
}
.no-image .author-header-content .author-bio,
.no-image .author-header-content .author-meta {
 color:var(--midgrey);
 opacity:1
}
.author-social-link a {
 color:#fff;
 font-weight:600
}
.no-image .author-social-link a {
 color:var(--darkgrey)
}
.author-social-link a:hover {
 opacity:1
}
.author-social-link {
 display:inline-block;
 margin:0;
 padding:6px 0
}
.author-location+.author-stats:before,
.author-social-link+.author-social-link:before,
.author-stats+.author-social-link:before {
 content:"\2022";
 display:inline-block;
 margin:0 12px;
 color:#fff;
 opacity:.6
}
.no-image .author-location+.author-stats:before,
.no-image .author-social-link+.author-social-link:before,
.no-image .author-stats+.author-social-link:before {
 color:var(--midgrey)
}
@media (max-width:700px) {
 .author-location,
 .author-stats,
 .author-stats+.author-social-link:first-of-type:before {
  display:none
 }
}
@media (max-width:500px) {
 .author-header {
  padding:10px 0 0
 }
 .no-image .author-header {
  padding-bottom:10px
 }
 .author-header-content {
  align-items:center;
  margin:16px 0 0
 }
 .site-header-content .author-profile-image {
  width:96px;
  height:96px
 }
 .author-header-content .author-bio {
  font-size:1.8rem;
  line-height:1.3em;
  letter-spacing:0;
  text-align:center
 }
 .author-header-content .author-meta {
  margin-top:8px
 }
 .author-location+.author-stats:before,
 .author-social-link+.author-social-link:before,
 .author-stats+.author-social-link:before {
  display:inline;
  margin:0 6px
 }
}
.error-content {
 padding:14vw 4vw 6vw
}
.site-nav-center {
 display:flex;
 justify-content:center;
 align-items:center;
 padding:10px 0;
 text-align:center
}
.site-nav-center .site-nav-logo {
 margin-right:0
}
.error-message {
 padding-bottom:10vw;
 border-bottom:1px solid #e4eaed;
 text-align:center
}
.error-code {
 margin:0;
 color:var(--lightgrey);
 font-size:12vw;
 line-height:1em;
 letter-spacing:-5px;
 opacity:.75
}
.error-description {
 margin:0;
 color:var(--midgrey);
 font-size:3rem;
 line-height:1.3em;
 font-weight:400
}
.error-link {
 display:inline-block;
 margin-top:5px
}
@media (min-width:940px) {
 .error-content .post-card {
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:none
 }
}
@media (max-width:800px) {
 .error-content {
  padding-top:24vw
 }
 .error-code {
  font-size:11.2rem
 }
 .error-message {
  padding-bottom:16vw
 }
 .error-description {
  margin:5px 0 0;
  font-size:1.8rem
 }
}
@media (max-width:500px) {
 .error-content {
  padding-top:28vw
 }
 .error-message {
  padding-bottom:14vw
 }
}
.subscribe-notification {
 position:fixed;
 top:0;
 right:0;
 left:0;
 z-index:9000;
 padding:20px 0;
 color:#fff;
 text-align:center;
 background:var(--green);
 transition:all .35s cubic-bezier(.19,1,.22,1) .5s;
 transform:translateY(-175%)
}
.subscribe-notification.subscribe-failure-message {
 background:var(--red)
}
.subscribe-failure .subscribe-failure-message,
.subscribe-success .subscribe-success-message {
 visibility:visible;
 transform:translateY(0)
}
.subscribe-notification.close {
 visibility:hidden;
 transition:all 1.35s cubic-bezier(.19,1,.22,1);
 transform:translateY(-175%)
}
.subscribe-notification .subscribe-close-button {
 left:0;
 top:0;
 width:100%;
 height:100%
}
.subscribe-notification .subscribe-close-button:after,
.subscribe-notification .subscribe-close-button:before {
 top:31px;
 right:20px;
 width:18px;
 height:2px
}
.subscribe-close-overlay {
 position:absolute;
 top:0;
 right:0;
 bottom:0;
 left:0;
 display:block
}
.subscribe-close-button {
 position:absolute;
 top:16px;
 right:20px;
 z-index:2000;
 display:block;
 width:40px;
 height:40px
}
.subscribe-close-button:before {
 transform:rotate(45deg)
}
.subscribe-close-button:after,
.subscribe-close-button:before {
 content:"";
 position:absolute;
 top:20px;
 right:4px;
 display:block;
 width:32px;
 height:1px;
 background:#fff;
 opacity:.8
}
.subscribe-close-button:after {
 transform:rotate(-45deg)
}
.subscribe-close-button:hover,
.subscribe-close-overlay:hover {
 cursor:default
}
.subscribe-overlay {
 position:fixed;
 top:0;
 right:0;
 bottom:0;
 left:0;
 z-index:2000;
 display:flex;
 justify-content:center;
 align-items:center;
 background:rgba(9,10,11,.97);
 opacity:0;
 transition:opacity .2s ease-in;
 pointer-events:none
}
.subscribe-overlay:target {
 z-index:2001;
 opacity:1;
 pointer-events:auto
}
.subscribe-overlay-content {
 position:relative;
 margin:0 0 5vw;
 padding:4vw;
 color:#fff;
 text-align:center
}
.subscribe-overlay .subscribe-form {
 border:none;
 color:#fff;
 background:none
}
.subscribe-overlay-logo {
 position:fixed;
 top:23px;
 left:30px;
 height:30px
}
.subscribe-overlay-title {
 display:inline-block;
 margin:0 0 10px;
 font-size:5.2rem;
 line-height:1.15em
}
.subscribe-overlay-description {
 margin:0 auto 50px;
 max-width:650px;
 color:#fff;
 font-family:Georgia,serif;
 font-size:2.4rem;
 line-height:1.3em;
 font-weight:300;
 opacity:.8
}
.subscribe-overlay form {
 display:flex;
 justify-content:center;
 align-items:center;
 margin:0 auto;
 max-width:540px
}
.subscribe-overlay .form-group {
 flex-grow:1
}
.subscribe-overlay .subscribe-email {
 display:block;
 padding:14px 20px;
 width:100%;
 border:none;
 color:var(--midgrey);
 font-size:2rem;
 line-height:1em;
 font-weight:400;
 letter-spacing:.5px;
 -webkit-user-select:text;
 -moz-user-select:text;
 -ms-user-select:text;
 user-select:text;
 border-radius:8px;
 transition:border-color .15s linear;
 -webkit-appearance:none
}
.subscribe-email:focus {
 outline:0;
 border-color:#bfcdd5
}
.subscribe-overlay button {
 display:inline-block;
 margin:0 0 0 15px;
 padding:0 25px;
 height:52px;
 outline:none;
 color:#fff;
 font-size:1.7rem;
 line-height:38px;
 font-weight:400;
 text-align:center;
 background:linear-gradient(#50b6ef,#299fe0 60%,#299fe0 90%,#37a5e2);
 border-radius:8px;
 -webkit-font-smoothing:subpixel-antialiased
}
.subscribe-overlay button:active,
.subscribe-overlay button:focus {
 background:#209bdf
}
.subscribe-overlay .loading .button-loader {
 top:5px
}
@media (max-width:500px) {
 .subscribe-overlay button {
  margin:12px 0 0
 }
}
.site-footer {
 position:relative;
 padding-top:20px;
 padding-bottom:60px;
 color:#fff;
 background:#0a0b0c
}
.site-footer-content {
 display:flex;
 flex-wrap:wrap;
 justify-content:space-between;
 align-items:center;
 font-size:1.3rem
}
.site-footer-content,
.site-footer-content a {
 color:hsla(0,0%,100%,.7)
}
.site-footer-content a:hover {
 color:#fff;
 text-decoration:none
}
.site-footer-nav {
 display:flex
}
.site-footer-nav a {
 position:relative;
 margin-left:20px
}
.site-footer-nav a:before {
 content:"";
 position:absolute;
 top:11px;
 left:-11px;
 display:block;
 width:2px;
 height:2px;
 background:#fff;
 border-radius:100%
}
.site-footer-nav a:first-of-type:before {
 display:none
}
@media (max-width:650px) {
 .site-footer-content {
  flex-direction:column
 }
}

.dropdown-menu {
  display:none;
}

.social-logo a{
  color: #fff;
  font-size:20px!important;
  opacity: .8;
  padding-right: 3px;
}

.social-logo a:hover {
  opacity:1	
}

.toc-wrapper {
  min-width:100%;
}

/* =========================================================
   PORTAL AGGA - FULL CSS (HTMLy Friendly)
   Author: (Anda)
   ========================================================= */

/* --- Global helpers (opsional, aman) --- */
:root{
  --agga-primary: #2c5aa0;
  --agga-bg-soft: #f7f9fc;
  --agga-border: #e6e9ef;
  --agga-text: #222;
  --agga-muted: #555;
  --agga-shadow: rgba(44, 90, 160, 0.12);
}

.agga-wrap{
  max-width: 1100px;
  margin: auto;
  padding: 0 20px;
}

/* =========================================================
   HERO
   ========================================================= */
.agga-hero{
  background: var(--agga-bg-soft);
  padding: 64px 20px;
  text-align: center;
  border-radius: 16px;
  margin: 18px auto 10px auto;
  max-width: 1100px;
}

.agga-hero h1{
  font-size: 2.2em;
  margin: 0 0 14px 0;
  color: var(--agga-text);
  line-height: 1.2;
}

.agga-hero p{
  max-width: 760px;
  margin: 0 auto 18px auto;
  font-size: 1.05em;
  color: #444;
  line-height: 1.7;
}

/* Buttons */
.agga-btn{
  display: inline-block;
  margin: 10px 8px 0 8px;
  padding: 12px 26px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  transition: all .2s ease;
}

.agga-btn.primary{
  background: var(--agga-primary);
  color: #fff;
  border: 1px solid var(--agga-primary);
}

.agga-btn.primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 18px var(--agga-shadow);
}

.agga-btn.secondary{
  background: #fff;
  color: var(--agga-primary);
  border: 1px solid var(--agga-primary);
}

.agga-btn.secondary:hover{
  background: rgba(44, 90, 160, 0.06);
  transform: translateY(-1px);
}

/* =========================================================
   HIGHLIGHTS
   ========================================================= */
.agga-highlights{
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  padding: 20px 10px 34px 10px;
  font-weight: 600;
  color: #333;
}

.agga-highlights span{
  background: #fff;
  border: 1px solid var(--agga-border);
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 0.95em;
}

/* =========================================================
   SECTIONS
   ========================================================= */
.agga-section{
  padding: 54px 20px;
  max-width: 1100px;
  margin: auto;
}

.agga-section h2{
  text-align: center;
  margin: 0 0 30px 0;
  color: var(--agga-text);
  line-height: 1.2;
}

/* =========================================================
   GRID SYSTEM
   - agga-grid: grid umum
   - agga-grid-4: grid khusus 4 fase AGGA (2x2)
   ========================================================= */
.agga-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
}

/* Khusus untuk 4 kartu fase AGGA => 2 atas, 2 bawah */
.agga-grid-4{
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  max-width: 900px;
  margin: auto;
}

/* =========================================================
   CARDS
   ========================================================= */
.agga-card{
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  color: var(--agga-text);
  border: 1px solid var(--agga-border);

  /* garis tipis profesional */
  border-top: 3px solid var(--agga-primary);

  /* interaksi halus */
  transition: all .25s ease;
}

a.agga-card{
  text-decoration: none;
  display: block;
}

.agga-card h3{
  margin: 0 0 10px 0;
  font-size: 1.1em;
  line-height: 1.3;
}

.agga-card p{
  margin: 0;
  color: #444;
  line-height: 1.7;
  font-size: 0.98em;
}

/* Hover */
.agga-card:hover{
  border-color: var(--agga-primary);
  box-shadow: 0 10px 26px var(--agga-shadow);
  transform: translateY(-2px);
}

/* Opsional: tinggi minimum agar kartu tampak sejajar */
.agga-card{
  min-height: 170px;
}

/* =========================================================
   FOOTER
   ========================================================= */
.agga-footer{
  background: #f1f3f7;
  padding: 34px 20px;
  text-align: center;
  font-size: 0.95em;
  color: var(--agga-muted);
  border-radius: 14px;
  margin: 10px auto 40px auto;
  max-width: 1100px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 768px){

  .agga-hero{
    padding: 46px 16px;
    border-radius: 14px;
  }

  .agga-hero h1{
    font-size: 1.75em;
  }

  .agga-hero p{
    font-size: 1em;
  }

  .agga-highlights{
    padding-bottom: 24px;
    gap: 12px;
  }

  .agga-section{
    padding: 42px 16px;
  }

  /* 4 fase jadi 1 kolom di mobile */
  .agga-grid-4{
    grid-template-columns: 1fr;
  }

  .agga-card{
    min-height: auto;
  }
}

/* =========================
   FULL WIDTH khusus Portal AGGA (Casper - HTMLy)
   ========================= */
.agga-fullpage{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Biar background section bisa full width, tapi konten tetap rapi */
.agga-fullpage .agga-hero,
.agga-fullpage .agga-highlights,
.agga-fullpage .agga-section,
.agga-fullpage .agga-footer{
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Opsional: kalau masih ada padding container tema yang “mengganjal” */
.agga-fullpage .agga-hero,
.agga-fullpage .agga-section,
.agga-fullpage .agga-footer{
  padding-left: 20px;
  padding-right: 20px;
}

.agga-fullpage .agga-hero{
  max-width: none;     /* full width */
  border-radius: 0;    /* hilangkan sudut */
  margin: 0;           /* hilangkan jarak */
}
.agga-fullpage .agga-hero p{
  max-width: 780px;    /* teks tetap nyaman */
  margin: 0 auto 18px auto;
}

/* =====================================
   ALUR SINGKAT MODEL AGGA - WARNA MENARIK
   ===================================== */

/* Grid alur singkat */
.agga-flow{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  max-width: 1100px;
  margin: 30px auto 0 auto;
}

/* Box dasar */
.agga-flow-box{
  padding: 26px 22px;
  border-radius: 16px;
  color: #fff;
  text-align: center;
  box-shadow: 0 10px 26px rgba(0,0,0,0.15);
  transition: all .25s ease;
}

.agga-flow-box h3{
  margin: 0 0 8px 0;
  font-size: 1.1em;
}

.agga-flow-box p{
  margin: 0;
  font-size: 0.95em;
  opacity: 0.95;
}

/* Warna tiap fase (wani tapi elegan) */
.agga-flow-box.step-1{
  background: linear-gradient(135deg, #4f8cff, #2c5aa0);
}

.agga-flow-box.step-2{
  background: linear-gradient(135deg, #2fbf9b, #1f8f73);
}

.agga-flow-box.step-3{
  background: linear-gradient(135deg, #ff9f43, #e1701a);
}

.agga-flow-box.step-4{
  background: linear-gradient(135deg, #a55eea, #6c2bd9);
}

/* Hover efek */
.agga-flow-box:hover{
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 16px 36px rgba(0,0,0,0.22);
}

/* RESPONSIVE */
@media (max-width: 992px){
  .agga-flow{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px){
  .agga-flow{
    grid-template-columns: 1fr;
  }
}

/* ===== Portal AGGA - Refinement ===== */

/* Wrapper actions */
.agga-actions{
  margin-top: 14px;
}

/* Link kecil "Buka halaman →" */
.agga-link{
  display: inline-block;
  margin-top: 12px;
  color: var(--agga-primary, #2c5aa0);
  font-weight: 700;
}

/* Catatan fase */
.agga-note{
  margin-top: 12px;
  color: #555;
}

/* Card yang berupa link */
.agga-card-link{
  cursor: pointer;
}

/* Footer link */
.agga-footer-link a{
  color: var(--agga-primary, #2c5aa0);
  font-weight: 700;
  text-decoration: none;
}
.agga-footer-link a:hover{
  text-decoration: underline;
}

/* Alur singkat clickable */
.agga-flow-box{
  text-decoration: none;
}
.agga-flow-box:focus{
  outline: 3px solid rgba(44, 90, 160, 0.35);
  outline-offset: 3px;
}

/* Smooth scroll untuk anchor */
html{
  scroll-behavior: smooth;
}

.post-lead {
  font-size: 1.15rem;
  line-height: 1.7;
  color: #444;
  margin-bottom: 2rem;
  max-width: 720px;
}

.post-figure {
  margin: 3rem auto;
  text-align: center;
}

.post-figure img {
  max-width: 100%;
  border-radius: 12px;
}

.post-figure figcaption {
  font-size: 0.85rem;
  color: #666;
  margin-top: 0.75rem;
  font-style: italic;
}

/* ===== PETA KONSEP PAGE ===== */
.agga-pagehead{
  max-width: 1100px;
  margin: 18px auto 0 auto;
  padding: 26px 20px;
  background: var(--agga-bg-soft, #f7f9fc);
  border-radius: 16px;
  text-align: center;
  border: 1px solid var(--agga-border, #e6e9ef);
}
.agga-lead{
  max-width: 820px;
  margin: 12px auto 0 auto;
  color: #444;
  line-height: 1.7;
}

.agga-figure{
  max-width: 1100px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--agga-border, #e6e9ef);
  border-radius: 16px;
  padding: 16px;
}
.agga-image{
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
}
.agga-caption{
  margin-top: 10px;
  color: #666;
  font-size: 0.92em;
  text-align: center;
}

/* Grid 3 kolom untuk ringkasan */
.agga-grid-3{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 992px){
  .agga-grid-3{ grid-template-columns: 1fr; }
}

.agga-list{
  margin: 10px 0 0 18px;
  line-height: 1.75;
}
