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:#313b3f;
  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:#cdeef5
}
::selection {
  text-shadow:none;
  background:#cdeef5
}
hr {
  position:relative;
  display:block;
  width:100%;
  margin:2.5em 0 3.5em;
  padding:0;
  height:1px;
  border:0;
  border-top:1px solid #e3e9ed
}
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:#15171a;
  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 #e5eff5
}
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:#0bb1d0;
  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;
  padding:0 400px 0 0
}
@media (max-width:1230px) {
  .site-main {
    padding:0
  }
  .site-sidebar {
    padding:20px 50px 50px;
    background-color:hsla(0,0%,92.5%,.5);
    font-size:1.1em;
    letter-spacing:.05em
  }
  
}
@media (min-width:1231px) {
  .site-sidebar {
    position:absolute;
    top:0;
    right:0;
    width:400px;
    padding:20px 50px 50px;
    background-color:hsla(0,0%,92.5%,.5);
    height:100%;
    font-size:1.1em;
    border-left:1px solid #cec9c4;
    letter-spacing:.05em;
    overflow:auto
  }
  
}
.widget {
  border-bottom:1px solid #dcdcdc;
  padding-bottom:20px;
  padding-top:20px
}
ul.social {
  list-style:none;
  padding:0
}
ul.social li {
  display:inline-block
}
.outer {
  position:relative
}
@media (max-width:1230px) {
  .outer {
    position:relative;
    padding:0 5vw
  }
  
}
.inner {
  margin:0 auto;
  max-width:1200px;
  width:100%;
  padding:0 20px
}
@media (max-width:1230px) {
  .inner {
    margin:0 auto;
    max-width:830px;
    width:100%;
    padding:0 20px
  }
  
}
.frame-insert {
  width:inherit;
  min-height:350px;
  padding-top:50px
}
@media (min-width:900px) {
  .author-template .post-feed,.home-template .post-feed,.tag-template .post-feed {
    padding:40px 0;
    border-top-left-radius:3px;
    border-top-right-radius:3px
  }
  .home-template .site-nav {
    position:relative
  }
  
}
.site-header {
  height:64px
}
.site-header-background {
  position:relative;
  padding-bottom:12px;
  color:#fff;
  background:#090a0b 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;
  color:#fff;
  opacity:.8
}
.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;
  color:#fff;
  opacity:.8
}
div.support {
  height:auto;
  padding:10px 15%;
  width:100%;
  background-color:#dedede
}
div.support p {
  justify-content:center;
  display:flex;
  margin:0;
  flex-wrap:wrap
}
.site-home-header {
  z-index:1000
}
.site-home-header .site-page-header-background {
  background-position:50% 30%
}
.site-home-header .site-page-header-background,.site-home-header .site-post-header-background {
  margin-top:0;
  background-size:cover;
  background-repeat:no-repeat
}
.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:400;
  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:#15171a;
  background:#fff;
  opacity:1
}
.site-archive-header .no-image .site-description {
  color:#738a94;
  opacity:1
}
.site-archive-header .no-image .site-header-content {
  padding:5vw 0 10px;
  border-bottom:1px solid #e9eef1
}
@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:#090a0b
}
.site-nav {
  z-index:100;
  justify-content:space-between;
  font-size:1.3rem
}
.site-nav,.site-nav-left {
  position:relative;
  display:flex;
  align-items:flex-start;
  height:64px
}
.site-nav-left,.site-nav-left-content {
  flex:1 0 auto;
  overflow-y:hidden
}
.site-nav-left-content {
  display:flex;
  align-items:center;
  overflow-x:auto;
  -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
}
@media (max-width:700px) {
  .site-header-background:not(.responsive-header-img) .site-nav-left:after,.site-nav-main .site-nav-left:after {
    content:"";
    position:absolute;
    top:0;
    z-index:1000;
    width:40px;
    height:100%;
    right:10px;
    background:linear-gradient(90deg,rgba(9,10,11,0) 0,#090a0b)
  }
  .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-shrink:0;
  display:flex;
  align-items:center;
  padding:9px 0 10px;
  height:64px;
  font-size:1.4rem;
  line-height:1em
}
.site-nav-right a {
  color:#fff
}
.button.small.signout-link {
  color:#fff;
  box-shadow:inset 0 0 0 1px #fff;
  opacity:.8
}
.button.small.signout-link:hover {
  opacity:1
}
.account-menu {
  position:relative
}
.account-menu-avatar {
  position:relative;
  display:block;
  margin:0;
  padding:1px;
  width:32px;
  height:32px;
  background:#e3e9ed;
  border-radius:100%;
  cursor:pointer
}
.account-menu-avatar img {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  border-radius:100%
}
.account-menu ul {
  visibility:hidden;
  position:absolute;
  top:43px;
  right:-8px;
  z-index:9998;
  padding:8px 0;
  min-width:240px;
  background:#fff;
  border-radius:3px;
  box-shadow:0 12px 26px rgba(39,44,49,.08),1px 3px 8px rgba(39,44,49,.06);
  list-style:none;
  opacity:0;
  transition:all .3s cubic-bezier(.4,.01,.165,.99),opacity .2s cubic-bezier(.4,.01,.165,.99);
  transform:translateY(-6px) scale(.95);
  transform-origin:top right;
  pointer-events:none
}
.account-menu-avatar.active+ul {
  visibility:visible;
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:all
}
.account-menu ul:before {
  content:"";
  position:absolute;
  top:-8px;
  right:14px;
  z-index:9998;
  width:0;
  height:0;
  border-color:transparent transparent #fff;
  border-style:solid;
  border-width:0 10px 10px
}
.account-menu ul li {
  margin:0;
  padding:0
}
.account-menu .account-info {
  display:flex;
  flex-direction:column;
  margin:0 0 6px;
  padding:4px 20px 12px;
  border-bottom:1px solid #e5eff5;
  color:#738a94
}
.account-info .account-email {
  display:inline-block;
  overflow-x:hidden;
  margin-top:-4px;
  max-width:200px;
  color:#313b3f;
  font-weight:600;
  text-overflow:ellipsis
}
.account-menu ul a {
  display:block;
  padding:6px 20px;
  color:#313b3f
}
.account-menu ul a:hover {
  color:#06b6d4;
  text-decoration:none
}
.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-main .site-nav-right {
    padding:9px 20px 10px 5px
  }
  
}
.pagination {
  margin:0 0 35px;
  text-align:center;
  display:block
}
.pagination a {
  text-align:center;
  display:inline-block;
  color:#fff;
  background:#06b6d4;
  border-radius:2px
}
.pagination a i {
  width:36px;
  height:36px;
  line-height:36px
}
.pagination a:hover {
  background:#505050;
  text-decoration:none;
  color:#fff
}
.pagination .page-number {
  background:#06b6d4;
  color:#fff;
  margin:0 3px;
  display:inline-block;
  line-height:36px;
  padding:0 14px;
  border-radius:2px
}
.posts {
  overflow-x:hidden
}
.post-feed {
  flex-wrap:wrap;
  margin:0 -20px;
  padding:50px 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 #e9eef1;
  background-size:cover
}
.post-card-image-link {
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:3px
}
.post-card-image {
  width:100%;
  height:200px;
  background:#c5d2d9 no-repeat 50%;
  -o-object-fit:cover;
  object-fit:cover
}
.post-card-content-link {
  position:relative;
  display:block;
  color:#15171a
}
.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 {
  color:#06b6d4;
  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:#738a94;
  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:#e3e9ed;
  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:#15171a;
  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:#92a3ab;
  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:#424852;
  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:#5d7179;
  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:#e3e9ed
  }
  .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-feed {
    padding-top:5vw
  }
  .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 {
  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:#738a94;
  font-size:1.3rem;
  line-height:1.4em;
  font-weight:600;
  text-transform:uppercase
}
.post-full-meta-date {
  color:#738a94;
  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:#090a0b
}
.post-full-custom-excerpt {
  margin:20px 0 0;
  color:#738a94;
  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:#e3e9ed;
  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 5vw;
  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:#15171a;
  word-break:break-word;
  box-shadow:inset 0 -1px 0 #15171a;
  transition:all .2s ease-in-out
}
.post-full-content a:hover {
  color:#06b6d4;
  text-decoration:none;
  box-shadow:inset 0 -1px 0 #06b6d4
}
.post-full-content em,.post-full-content strong {
  color:#090a0b
}
.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 #06b6d4
}
@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:#e5eff5;
  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:#e5eff5;
  font-size:1.4rem;
  line-height:1.5em;
  background:#0e0f11;
  border-radius:5px
}
.post-full-content pre ::-moz-selection {
  color:#3c484e
}
.post-full-content pre ::selection {
  color:#3c484e
}
.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:#e3e9ed;
  box-shadow:0 0 0 5px #fff;
  transform:rotate(45deg)
}
.post-full-content hr+p {
  margin-top:1.2em
}
.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:#090a0b;
  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:#06b6d4;
  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:#06b6d4!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:#15171a;
  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 #e3ecf3
}
.post-full-byline {
  display:flex;
  justify-content:space-between;
  margin:35px 0 0;
  padding-top:15px;
  border-top:1px solid #e3e9ed
}
.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:#92a3ab;
  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:#2b2f36
}
.post-full-byline-meta h4 a:hover {
  color:#15171a
}
.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:#5d7179
}
.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 #e3e9ed;
  text-align:center;
  background:linear-gradient(#fbfdfe,#f4f8fb);
  border-radius:3px
}
.subscribe-form-title {
  margin:0 0 3px;
  padding:0;
  color:#15171a;
  font-size:3.5rem;
  line-height:1;
  font-weight:600
}
.subscribe-form-description {
  margin-bottom:.2em 0 1em;
  color:#738a94;
  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 #dae2e7;
  color:#738a94;
  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(#3cc5dd,#0bacc9 60%,#0bacc9 90%,#1aa6c2);
  border-radius:5px;
  -webkit-font-smoothing:subpixel-antialiased
}
.subscribe-form button:active,.subscribe-form button:focus {
  background:#0aa2c0
}
.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:#f05230;
  font-size:1.6rem;
  line-height:1.5em;
  text-align:center
}
.subscribe-form .success .message-success {
  display:block;
  color:#98c22e
}
.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:#090a0b
}
.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(#191b1f,#090a0b);
  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:#fecd35;
  color:#fecd35;
  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:#5d7179;
  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%;
  background:#fff
}
.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:#15171a;
  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:#313b3f;
  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:#06b6d4
}
.kg-bookmark-description {
  display:-webkit-box;
  overflow-y:hidden;
  margin-top:12px;
  max-height:48px;
  color:#5d7179;
  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:#5d7179;
  font-size:1.5rem;
  font-weight:400
}
.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
}
@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:#738a94;
  opacity:1
}
.author-social-link a {
  color:#fff;
  font-weight:600
}
.no-image .author-social-link a {
  color:#15171a
}
.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:#738a94
}
@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 #e3e9ed;
  text-align:center
}
.error-code {
  margin:0;
  color:#c5d2d9;
  font-size:12vw;
  line-height:1em;
  letter-spacing:-5px;
  opacity:.75
}
.error-description {
  margin:0;
  color:#738a94;
  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
  }
  
}
.notification {
  visibility:hidden;
  position:fixed;
  top:0;
  right:0;
  left:0;
  z-index:9000;
  padding:22px 60px;
  color:#fff;
  font-size:1.6rem;
  line-height:1.3em;
  font-weight:500;
  text-align:center;
  background:#98c22e;
  transition:all .35s cubic-bezier(.19,1,.22,1) .5s;
  transform:translateY(-175%)
}
.billing-success .notification-billing-update,.checkout-success .notification-checkout,.signin-success .notification-signin,.signup-success .notification-signup,.subscribe-success .notification-subscribe {
  visibility:visible;
  transform:translateY(0)
}
.billing-cancel .notification-billing-update-cancel {
  visibility:visible;
  background:#ee3e17;
  transform:translateY(0)
}
.notification.closed {
  visibility:hidden;
  transition:all 1.35s cubic-bezier(.19,1,.22,1);
  transform:translateY(-175%)
}
.notification-close {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  display:block
}
.notification-close:before {
  transform:rotate(45deg)
}
.notification-close:after,.notification-close:before {
  content:"";
  position:absolute;
  top:29px;
  right:25px;
  display:block;
  width:18px;
  height:2px;
  background:#fff;
  border-radius:2px
}
.notification-close:after {
  transform:rotate(-45deg)
}
.subscribe-overlay {
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:9000;
  display:flex;
  justify-content:center;
  align-items:center;
  background:rgba(9,10,11,.97);
  opacity:0;
  transition:opacity .2s ease-in;
  pointer-events:none;
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px)
}
.subscribe-overlay .subscribe-close:after,.subscribe-overlay .subscribe-close:before {
  top:36px;
  width:30px
}
.subscribe-overlay:target {
  opacity:1;
  pointer-events:auto
}
.subscribe-overlay-content {
  position:relative;
  z-index:9999;
  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:#738a94;
  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:#becdd5
}
.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(#3cc5dd,#0bacc9 60%,#0bacc9 90%,#1aa6c2);
  border-radius:8px;
  -webkit-font-smoothing:subpixel-antialiased
}
.subscribe-overlay button:active,.subscribe-overlay button:focus {
  background:#0aa2c0
}
.subscribe-overlay .loading .button-loader {
  top:5px
}
.site-footer {
  position:relative;
  padding-top:20px;
  padding-bottom:60px;
  color:#fff;
  background:#090a0b
}
.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 .copyright a {
  padding:0 0 0 15px
}
.site-footer .copyright a:first-child {
  padding:0
}
@media (max-width:650px) {
  .site-footer-content {
    flex-direction:column
  }
  .site-footer .copyright {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center
  }
  
}
input[type=email],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select {
  display:block;
  padding:0 .6em;
  width:100%;
  height:44px;
  outline:0;
  border:1px solid #c5d2d9;
  color:inherit;
  text-decoration:none;
  background:#fff;
  border-radius:5px
}
input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus {
  border-color:#06b6d4
}
.button {
  display:inline-block;
  padding:0 1.8rem;
  height:44px;
  border:0;
  font-size:1.5rem;
  line-height:42px;
  font-weight:600;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  border-radius:5px;
  cursor:pointer;
  transition:.4s ease;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none
}
.button.fit {
  width:100%
}
.button.small {
  padding:0 1.1rem;
  height:30px;
  font-size:1.4rem;
  line-height:30px
}
.button.large {
  padding:0 3rem;
  height:50.16px;
  font-size:1.6rem;
  line-height:50.16px
}
.button.disabled,.button:disabled {
  opacity:.4;
  pointer-events:none
}
.button {
  color:#06b6d4;
  background-color:transparent;
  box-shadow:inset 0 0 0 1px #06b6d4
}
.button:hover {
  color:#0e8fa8;
  text-decoration:none;
  box-shadow:inset 0 0 0 1px #0891b2;
  transition:.2s ease
}
.button.primary {
  color:#fff;
  background-color:#06b6d4;
  box-shadow:none
}
.button.primary:hover {
  background-color:#0891b2
}
.site-signup {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center
}
.signup-form {
  margin:0 auto 10vw;
  max-width:500px;
  width:100%;
  text-align:center
}
.signup-title {
  margin:0 0 .1em;
  font-size:4.2rem
}
.signup-form p {
  color:#738a94;
  font-size:1.3em
}
.signup-form p small {
  display:inline-block;
  margin:15px 0 0;
  font-size:1.4rem
}
.signup-box {
  display:flex;
  justify-content:space-between;
  align-items:center
}
.signup-box .button {
  margin-left:10px
}
@media (max-width:600px) {
  .signup-box {
    flex-direction:column
  }
  .signup-box .button {
    margin:15px 0 0;
    width:100%
  }
  
}
.site-signin {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center
}
.signin-form {
  margin:0 auto 10vw;
  max-width:500px;
  width:100%;
  text-align:center
}
.signin-title {
  margin:0 0 .1em;
  font-size:4.2rem
}
.signin-form p {
  color:#738a94;
  font-size:1.3em
}
.signin-form p small {
  display:inline-block;
  margin:15px 0 0;
  font-size:1.4rem
}
.signin-box {
  display:flex;
  justify-content:space-between;
  align-items:center
}
.signin-box .button {
  margin-left:10px
}
@media (max-width:600px) {
  .signin-box {
    flex-direction:column
  }
  .signin-box .button {
    margin:15px 0 0;
    width:100%
  }
  
}
.checkout-form {
  margin:0 auto 10vw;
  max-width:700px;
  width:100%;
  text-align:center
}
.checkout-title {
  margin:0 auto 10px;
  font-size:4rem;
  font-weight:600;
  letter-spacing:-.6px
}
.checkout-form p {
  margin:0 auto 60px;
  max-width:500px;
  color:#738a94;
  font-size:1.3em
}
.checkout-box {
  display:flex;
  justify-content:center;
  align-items:stretch
}
.checkout-plan {
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  padding:30px;
  border-top:6px solid #06b6d4;
  color:#313b3f;
  text-align:left;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 0 1px rgba(39,44,49,.03),0 0 3px rgba(39,44,49,.05),0 5px 22px -10px rgba(39,44,49,.12),0 25px 30px -25px rgba(39,44,49,.05)
}
.checkout-plan+.checkout-plan {
  margin-left:30px
}
.checkout-plan-header {
  position:relative;
  padding:0 0 50px;
  color:#738a94;
  text-align:center
}
.checkout-plan-header:after {
  content:"";
  position:absolute;
  right:30%;
  bottom:25px;
  left:30%;
  display:block;
  height:2px;
  background:rgba(39,44,49,.08);
  border-radius:2px
}
.checkout-plan-header h3 {
  margin:0 0 25px;
  color:#15171a;
  font-size:1.8rem;
  line-height:1.15em;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase
}
.checkout-plan-header span {
  font-size:2.6rem;
  font-weight:300
}
.checkout-plan-header strong {
  color:#15171a;
  font-size:4.5rem;
  font-weight:500
}
.checkout-plan-content {
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}
.checkout-plan-content ul {
  margin:0;
  padding:0;
  list-style:none
}
.checkout-plan-content li {
  position:relative;
  margin:0;
  padding:0 0 15px 20px;
  line-height:1.4em
}
.checkout-plan-content li:before {
  content:"✓";
  position:absolute;
  left:0;
  display:block;
  color:#98c22e;
  font-size:1.6rem;
  font-weight:600
}
.checkout-plan-content .button {
  margin:20px 0 0
}
@media (max-width:740px) {
  .checkout-title {
    margin-top:50px
  }
  .checkout-box {
    flex-direction:column
  }
  .checkout-plan+.checkout-plan {
    margin:5vw 0 0
  }
  
}
form[data-members-form] .button-loader,form[data-members-form] .message-error,form[data-members-form] .message-success {
  display:none
}
.message-error svg,.message-success svg {
  position:relative;
  top:-1px;
  margin-right:5px;
  width:15px;
  height:15px
}
.message-success svg {
  fill:#fff
}
.message-error svg {
  fill:#f05230
}
form[data-members-form].error .message-error,form[data-members-form].success .message-success {
  position:absolute;
  top:0;
  right:20px;
  left:20px;
  z-index:9999;
  margin:0 auto;
  padding:10px 0;
  color:#fff;
  font-size:1.4rem;
  line-height:1.5em;
  font-weight:500;
  text-align:center;
  background:#98c22e;
  border-radius:5px
}
form[data-members-form].success .message-success {
  background:#98c22e
}
form[data-members-form].error .message-error {
  color:#f05230;
  background:#fff;
  box-shadow:0 0 0 1px #f05230
}
form[data-members-form] .button {
  position:relative
}
form[data-members-form].loading .button-content {
  visibility:hidden
}
form[data-members-form].loading .button-loader {
  position:absolute;
  left:50%;
  display:inline-block;
  margin-left:-19px;
  height:31px;
  transform:scale(.7)
}
.button-loader svg path,.button-loader svg rect {
  fill:#fff
}
form[data-members-form].error .message-error,form[data-members-form].success .message-success {
  display:block
}
.site-account {
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:5vw
}
.subscriber-box {
  margin:0 auto;
  max-width:560px;
  width:100%
}
.subscriber-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start
}
.subscription-title h1 {
  margin-bottom:12px;
  font-size:3.4rem
}
.subscriber-avatar {
  position:relative;
  flex:1 0 120px;
  width:120px;
  height:120px;
  border:1px solid #e3e9ed;
  background:#e3e9ed;
  border-radius:100%;
  -o-object-fit:cover;
  object-fit:cover
}
.subscription .subscriber-avatar {
  margin:4px 0 0 20px
}
.subscriber-avatar img {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  border-radius:100%
}
.subscriber-box p {
  line-height:1.5em
}
.subscription {
  padding:20px 0 40px
}
.subscription-expiration-warning {
  color:#f05230
}
.subscriber-details {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  margin-bottom:30px;
  padding:20px 0 0;
  border-top:1px solid #e3e9ed;
  border-bottom:1px solid #e3e9ed
}
.subscriber-detail {
  flex:1 0 50%;
  display:flex;
  flex-direction:column;
  margin:0 0 20px;
  padding:0 20px 0 0
}
.subscriber-detail-label {
  font-size:1.3rem;
  font-weight:700;
  text-transform:uppercase
}
.subscription-actions {
  display:flex;
  justify-content:space-between;
  margin:0;
  padding:0;
  list-style:none
}
.subscription-actions li {
  margin:0 .8rem 0 0;
  padding:0
}
.subscription-actions li:last-of-type {
  margin-right:0
}
.subscription-actions li a {
  display:inline-block;
  padding:0 1.8rem;
  height:44px;
  border:0;
  color:#06b6d4;
  font-size:1.5rem;
  line-height:42px;
  font-weight:600;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  background-color:transparent;
  border-radius:5px;
  box-shadow:inset 0 0 0 1px #06b6d4;
  cursor:pointer;
  transition:.4s ease;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none
}
.subscription-actions li a:hover {
  color:#0e8fa8;
  text-decoration:none;
  box-shadow:inset 0 0 0 1px #0891b2;
  transition:.2s ease
}
.subscription-actions .gh-subscription-cancel {
  color:#92a3ab;
  box-shadow:inset 0 0 0 1px #92a3ab
}
.subscription-actions .gh-subscription-cancel:hover {
  color:#738a94;
  box-shadow:inset 0 0 0 1px #738a94
}
.gh-subscription-cancel[data-members-continue-subscription] {
  color:#fff;
  background-color:#06b6d4;
  box-shadow:none
}
.gh-subscription-cancel[data-members-continue-subscription]:hover {
  color:#fff;
  background-color:#0891b2;
  box-shadow:none
}
.gh-error-subscription-cancel {
  display:block;
  margin-top:10px;
  color:#f05230;
  font-size:1.5rem
}
.account-box {
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0 auto;
  max-width:560px;
  width:100%
}
.account-box-title {
  margin-top:20px;
  font-size:3.4rem;
  text-align:center
}
.account-box p {
  text-align:center
}
.header-cta {
  margin-left:20px
}
.post-card-header-tags {
  display:flex;
  align-items:center;
  margin:0 0 .2em
}
.post-visibility {
  display:inline-block;
  margin:0 8px 1px 0;
  padding:1px 5px;
  border:1px solid #c5d2d9;
  color:#738a94;
  font-size:1.2rem;
  line-height:1.4em;
  border-radius:4px
}
.post-visibility-members,.post-visibility-paid {
  display:none
}
.post-upgrade-cta {
  display:flex;
  flex-direction:column;
  align-items:center
}
.post-upgrade-cta-content {
  margin:0 5vw;
  padding:40px 30px;
  max-width:840px;
  width:90vw;
  color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
  text-align:center;
  background:#0bb1d0;
  border-radius:5px
}
.post-upgrade-cta-content h2 {
  margin:0;
  color:#fff;
  font-size:2.6rem;
  font-weight:600;
  letter-spacing:-.5px
}
.post-upgrade-cta .button,.post-upgrade-cta .button:hover {
  margin:30px 0;
  color:#06b6d4;
  text-decoration:none;
  background:#fff;
  box-shadow:none
}
.post-upgrade-cta p {
  margin:0
}
.post-upgrade-cta a,.post-upgrade-cta a:hover {
  color:#fff;
  text-decoration:underline;
  box-shadow:none!important
}
@media (max-width:600px) {
  .subscriber-details {
    flex-direction:column
  }
  .subscriber-avatar {
    display:none
  }
  
}
html {
  color-scheme:light
}
html.theme-dark {
  color-scheme:dark
}
.theme-toggle {
  margin-left:20px;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(127,127,127,.45);
  border-radius:999px;
  background:none;
  cursor:pointer;
  font-size:1.6rem;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  -webkit-appearance:none;
  appearance:none;
  transition:border-color .15s,background .15s
}
.theme-toggle:hover {
  border-color:rgba(127,127,127,.85);
  background:rgba(127,127,127,.15)
}
.theme-toggle:focus-visible {
  outline:2px solid #58a6ff;
  outline-offset:2px
}
html.theme-dark body {
  color:#c9d1d9;
  background:#0d1117;
}
html.theme-dark h1,
html.theme-dark h2,
html.theme-dark h3,
html.theme-dark h4,
html.theme-dark h5,
html.theme-dark h6 {
  color:#f0f6fc;
}
html.theme-dark img {
  filter:brightness(.92);
}
html.theme-dark ::selection {
  color:#f0f6fc;
  background:rgba(88,166,255,.3);
}
html.theme-dark .site-header-background:before {
  background:rgba(0,0,0,.55);
}
html.theme-dark div.support {
  background-color:#161b22;
  border-bottom:1px solid #21262d;
}
html.theme-dark div.support p,
html.theme-dark div.support strong {
  color:#8b949e;
}
html.theme-dark div.support a {
  color:#58a6ff;
}
html.theme-dark .post-feed {
  background:#0d1117;
}
html.theme-dark .post-card,
html.theme-dark .post-card:hover {
  border-bottom-color:#21262d;
}
html.theme-dark .post-visibility {
  color:#8b949e;
}
html.theme-dark .author-profile-image {
  background:#161b22;
}
html.theme-dark .post-card-byline-content a {
  color:#adbac7;
}
html.theme-dark .post-card-byline-content a:hover {
  color:#f0f6fc;
}
html.theme-dark .post-card-image {
  background:#0d1117;
}
html.theme-dark .post-card-title {
  color:#e6edf3;
}
html.theme-dark .post-card-excerpt {
  color:#8b949e;
}
html.theme-dark .author-avatar,
html.theme-dark .static-avatar {
  border-color:#0d1117;
}
html.theme-dark .page-template .site-main,
html.theme-dark .post-full-content,
html.theme-dark .post-template .site-main,
html.theme-dark .site-main {
  background:#0d1117;
}
html.theme-dark .post-full-title {
  color:#f0f6fc;
}
html.theme-dark .post-full-custom-excerpt {
  color:#8b949e;
}
html.theme-dark .post-full-image {
  background-color:#161b22;
}
html.theme-dark .post-full-byline {
  border-top-color:#21262d;
}
html.theme-dark .post-full-byline-meta h4 a {
  color:#adbac7;
}
html.theme-dark .post-full-byline-meta h4 a:hover {
  color:#f0f6fc;
}
html.theme-dark .author-list-item .author-card {
  background:#161b22;
  box-shadow:0 12px 26px rgba(0,0,0,.5);
}
html.theme-dark .author-list-item .author-card:before {
  border-top-color:#161b22;
}
html.theme-dark .no-image .author-social-link a {
  color:#adbac7;
}
html.theme-dark .post-full-content h1,
html.theme-dark .post-full-content h2,
html.theme-dark .post-full-content h3,
html.theme-dark .post-full-content h4,
html.theme-dark .post-full-content h6 {
  color:#f0f6fc;
}
html.theme-dark .post-full-content a {
  color:#58a6ff;
  box-shadow:inset 0 -1px 0 rgba(88,166,255,.4);
}
html.theme-dark .post-full-content a:hover {
  color:#79c0ff;
  box-shadow:inset 0 -1px 0 #79c0ff;
}
html.theme-dark .post-full-content em,
html.theme-dark .post-full-content strong {
  color:#f0f6fc;
}
html.theme-dark .post-full-content code {
  color:#e6edf3;
  background:#161b22;
  border:1px solid #30363d;
}
html.theme-dark hr {
  border-top-color:#21262d;
}
html.theme-dark .post-full-content hr:after {
  background:#21262d;
  box-shadow:0 0 0 5px #0d1117;
}
html.theme-dark .post-full-content figcaption {
  color:#768390;
}
html.theme-dark .post-full-content table td:first-child {
  background-image:linear-gradient(90deg,#0d1117 50%,rgba(13,17,23,0));
}
html.theme-dark .post-full-content table td:last-child {
  background-image:linear-gradient(270deg,#0d1117 50%,rgba(13,17,23,0));
}
html.theme-dark .post-full-content table th {
  color:#e6edf3;
  background-color:#161b22;
}
html.theme-dark .post-full-content table td,
html.theme-dark .post-full-content table th {
  border:1px solid #30363d;
}
html.theme-dark .post-full-content .kg-bookmark-container {
  color:#adbac7;
  border:1px solid #21262d;
  box-shadow:0 0 1px rgba(255,255,255,.5);
}
html.theme-dark .kg-bookmark-title {
  color:#f0f6fc;
}
html.theme-dark .kg-bookmark-description,
html.theme-dark .kg-bookmark-metadata {
  color:#adbac7;
}
html.theme-dark .site-archive-header .no-image {
  color:#f0f6fc;
  background:#0d1117;
}
html.theme-dark .site-archive-header .no-image .site-header-content {
  border-bottom-color:#21262d;
}
html.theme-dark .site-header-content .author-profile-image {
  box-shadow:0 0 0 6px hsla(0,0%,100%,.04);
}
html.theme-dark .subscribe-form {
  border:1px solid #21262d;
  background:linear-gradient(#161b22,#1c2230);
}
html.theme-dark .subscribe-form-title {
  color:#f0f6fc;
}
html.theme-dark .subscribe-form p {
  color:#8b949e;
}
html.theme-dark .subscribe-email {
  border-color:#30363d;
  color:#c9d1d9;
  background:#0d1117;
}
html.theme-dark .subscribe-email:focus {
  border-color:#58a6ff;
}
html.theme-dark .subscribe-form button {
  opacity:.9;
}
html.theme-dark .subscribe-form .error .message-error,
html.theme-dark .subscribe-form .invalid .message-error {
  color:#ec694b;
}
html.theme-dark .subscribe-form .success .message-success {
  color:#acd053;
}
html.theme-dark .account-menu-avatar {
  background:#161b22;
}
html.theme-dark .account-menu-avatar img {
  opacity:1;
}
html.theme-dark .account-menu ul {
  background:#161b22;
  box-shadow:0 12px 26px rgba(0,0,0,.5);
}
html.theme-dark .account-menu ul:before {
  border-color:transparent transparent #161b22;
}
html.theme-dark .account-menu .account-info {
  border-color:#30363d;
}
html.theme-dark .account-menu .account-email,
html.theme-dark .account-menu ul a {
  color:#c9d1d9;
}
html.theme-dark .subscriber-avatar {
  border-color:#161b22;
  background:#161b22;
}
html.theme-dark .subscriber-avatar img {
  opacity:1;
}
html.theme-dark .subscriber-details {
  border-color:#21262d;
}
html.theme-dark input[type=email],
html.theme-dark input[type=password],
html.theme-dark input[type=search],
html.theme-dark input[type=tel],
html.theme-dark input[type=text],
html.theme-dark input[type=url],
html.theme-dark select {
  color:#c9d1d9;
  background:#161b22;
  border-color:#30363d;
}


/* ============================================================
   2026 refresh — appended modern tweaks
   (kept in one block on purpose; delete this block to revert)
   ============================================================ */

/* 1 — Softer, unified corners (was 3px/5px) */
.post-card-image-link { border-radius: 8px; }
.button,
.button.small,
.button.large { border-radius: 8px; }
.post-full-content img,
.post-full-content .kg-image { border-radius: 8px; }
.kg-width-full img,
.kg-width-full .kg-image { border-radius: 0; } /* keep full-bleed images square */
.post-full-content pre { border-radius: 8px; }

/* 2 — Subtle image zoom on post-card hover (fits the thumbnail-list layout) */
.post-card-image { transition: transform .5s cubic-bezier(.2, .6, .2, 1); }
.post-card:hover .post-card-image { transform: scale(1.045); }

/* 3 — Airier reading + a little more separation between cards */
.post-full-content { line-height: 1.7em; }
.post-card { margin-bottom: 48px; padding-bottom: 48px; }

/* 4 — Hero header: gradient overlay instead of the flat dark tint
   (darker top for nav legibility, darker bottom for the title, image shows through the middle) */
.responsive-header-img {
  background: linear-gradient(180deg,
      rgba(0, 0, 0, .45) 0%,
      rgba(0, 0, 0, .18) 38%,
      rgba(0, 0, 0, .55) 100%) !important;
}

/* ============================================================
   2026 refresh — part 2: visual polish
   (appended; delete this block to revert)
   ============================================================ */

/* Article links: teal with matching underline + AA-contrast colour
   (#0e7490 ~5.4:1 on white; was plain dark text) */
.post-full-content a {
  color: #0e7490;
  box-shadow: inset 0 -1px 0 #9cdbe8;
}
.post-full-content a:hover {
  color: #06b6d4;
  box-shadow: inset 0 -2px 0 #06b6d4;
}

/* Post-card title goes teal on hover (the whole card is a link) */
.post-card:hover .post-card-title,
.post-card-content-link:hover .post-card-title { color: #0e7490; }

/* Tag = teal accent pill; "Free Post" visibility = muted neutral pill */
.post-card-primary-tag {
  font-weight: 600;
  letter-spacing: .3px;
  text-transform: uppercase;
}
.post-visibility {
  border: 0;
  padding: 3px 10px;
  color: #5d7179;
  background: #eef3f6;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: .3px;
}

/* Blockquote: a touch more presence */
.post-full-content blockquote {
  border-left-width: 4px;
  padding-top: .2em;
  padding-bottom: .2em;
  background: linear-gradient(90deg, rgba(6, 182, 212, .06), rgba(6, 182, 212, 0));
}
.post-full-content blockquote p { color: #54616b; }

/* Code blocks: soften the harsh pure-black border */
.post-full-content pre { border-color: #232a31; }

/* Styled divider */
.post-full-content hr {
  border: 0;
  height: 1px;
  margin: 2.5em 0;
  background: #e3e9ed;
}

/* Primary buttons: subtle depth + lift on hover */
.button.primary { box-shadow: 0 6px 16px rgba(6, 182, 212, .28); }
.button.primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(6, 182, 212, .36);
  transition: .2s ease;
}

/* Hero title/description: crisper over the cover image */
.site-title { text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
.site-description { text-shadow: 0 1px 12px rgba(0, 0, 0, .30); }

/* Sidebar polish — headings get an accent underline, links get hover states */
.site-sidebar h2.post-card-title {
  position: relative;
  margin-bottom: 14px;
  padding-bottom: 8px;
  font-size: 1.9rem;
  border-bottom: 1px solid #e6ebee;
}
.site-sidebar h2.post-card-title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 40px;
  height: 2px;
  background: #06b6d4;
}
.site-sidebar .event-title {
  color: #15171a;
  transition: color .2s ease;
}
.site-sidebar .event-title:hover { color: #0e7490; }
.site-sidebar #social ul.social a {
  color: #738a94;
  transition: color .2s ease;
}
.site-sidebar #social ul.social a:hover { color: #06b6d4; }

html.theme-dark .site-sidebar {
  background-color: #0d1117;
  border-left-color: #21262d;
}
html.theme-dark .widget {
  border-bottom-color: #21262d;
}
html.theme-dark .site-sidebar h2.post-card-title {
  border-bottom-color: #21262d;
}
html.theme-dark .site-sidebar h2.post-card-title:after {
  background: #58a6ff;
}
html.theme-dark .site-sidebar p {
  color: #8b949e;
}
html.theme-dark .site-sidebar .event-title {
  color: #c9d1d9;
}
html.theme-dark .site-sidebar .event-title:hover {
  color: #79c0ff;
}
html.theme-dark .site-sidebar #social ul.social a {
  color: #768390;
}
html.theme-dark .site-sidebar #social ul.social a:hover {
  color: #58a6ff;
}

/* ============================================================
   Responsive video embeds (replaces the old/unwired fitVids JS)
   Targets ONLY YouTube/Vimeo iframes by src, so non-video
   iframes (e.g. map/demo embeds) keep their own dimensions.
   ============================================================ */
.post-full-content iframe[src*="youtube.com"],
.post-full-content iframe[src*="youtube-nocookie.com"],
.post-full-content iframe[src*="player.vimeo.com"] {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  margin: 1.5em 0 2em;
  border: 0;
}

/* ============================================================
   Author page — modern centered profile hero
   (header now matches index/tag: site-home-header + nav in hero)
   ============================================================ */

/* Stack avatar → name → bio → meta, centered vertically + horizontally in the hero.
   (Base .author-header forces justify-content:flex-start and a 340px max-height;
   we restore vertical centering and give the hero real height to centre within.) */
.site-home-header .author-header {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 26vh;
  max-height: none;
  padding: 3vw 0;
}
.site-home-header .author-header-content {
  margin: 16px 0 0;
  align-items: center;
  text-align: center;
}

/* Avatar: crisp white ring + depth */
.site-home-header .author-header .author-profile-image {
  width: 120px;
  height: 120px;
  margin: 0;
  box-shadow: 0 0 0 4px #fff, 0 14px 34px rgba(0, 0, 0, .28);
}
@media (max-width: 500px) {
  .site-home-header .author-header .author-profile-image { width: 96px; height: 96px; }
}

/* Legible over the cover image */
.author-header-content .author-bio {
  margin-top: 10px;
  opacity: 1;
  text-shadow: 0 1px 14px rgba(0, 0, 0, .40);
}

/* Meta as a centered chip row (location + post count) */
.author-header-content .author-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px;
  margin-top: 14px;
  white-space: normal;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .38);
}
.author-meta .author-location,
.author-meta .author-stats {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.author-meta .author-location i,
.author-meta .author-stats i { opacity: .85; }

/* Drop the old bullet separators (gap handles spacing now) */
.author-location + .author-stats:before,
.author-stats + .author-social-link:before,
.author-social-link + .author-social-link:before { content: none; }

/* Keep the meta visible on small screens (Casper hid it by default) */
@media (max-width: 700px) {
  .author-meta .author-location,
  .author-meta .author-stats { display: inline-flex; }
}

/* Author bio + meta were inheriting the dark default heading colour over the
   hero image (only .site-title/.site-description get white). Force white so the
   tagline under the name is readable. */
.site-home-header .author-header .author-bio,
.site-home-header .author-header .author-meta,
.site-home-header .author-header .author-meta a { color: #fff; }

/* ============================================================
   Normalised article heading hierarchy
   Fixes: h3 and h4 were both 2.5rem (no distinction); h6 was 700 while
   h1–h4 were 600; and h5 was an oversized teal centred Georgia "callout"
   despite being used as a plain subheading in ~50 posts. Now a clean
   descending ramp: uniform weight, sans-serif, left-aligned, dark.
   ============================================================ */
.post-full-content h1,
.post-full-content h2,
.post-full-content h3,
.post-full-content h4,
.post-full-content h5,
.post-full-content h6 { font-weight: 600; }

.post-full-content h3 { font-size: 2.7rem; }
.post-full-content h4 { font-size: 2.3rem; }

/* h5: strip the teal / Georgia / centred / full-width callout → normal heading */
.post-full-content h5 {
  display: block;
  width: auto;
  max-width: none;
  margin: .5em 0 .2em;
  padding: 0;
  border: 0;
  color: #090a0b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 2.1rem;
  line-height: 1.3em;
  text-align: left;
}

.post-full-content h6 { font-size: 1.9rem; }

@media (max-width: 800px) {
  .post-full-content h3 { font-size: 2.4rem; }
  .post-full-content h4 { font-size: 2.1rem; }
  .post-full-content h5 { margin-left: 0; padding: 0; font-size: 2.0rem; text-align: left; }
  .post-full-content h6 { font-size: 1.8rem; }
}

/* h5 was excluded from the inherited dark-mode heading rule; include it now */
html.theme-dark .post-full-content h5 {
  color: #f0f6fc;
}
