/** Syntax highlighting styles */
.highlight { background-color: #272822; /* Comment */ /* Error */ /* Keyword */ /* Literal */ /* Name */ /* Operator */ /* Punctuation */ /* Comment.Multiline */ /* Comment.Preproc */ /* Comment.Single */ /* Comment.Special */ /* Generic.Emph */ /* Generic.Strong */ /* Keyword.Constant */ /* Keyword.Declaration */ /* Keyword.Namespace */ /* Keyword.Pseudo */ /* Keyword.Reserved */ /* Keyword.Type */ /* Literal.Date */ /* Literal.Number */ /* Literal.String */ /* Name.Attribute */ /* Name.Builtin */ /* Name.Class */ /* Name.Constant */ /* Name.Decorator */ /* Name.Entity */ /* Name.Exception */ /* Name.Function */ /* Name.Label */ /* Name.Namespace */ /* Name.Other */ /* Name.Property */ /* Name.Tag */ /* Name.Variable */ /* Operator.Word */ /* Text.Whitespace */ /* Literal.Number.Float */ /* Literal.Number.Hex */ /* Literal.Number.Integer */ /* Literal.Number.Oct */ /* Literal.String.Backtick */ /* Literal.String.Char */ /* Literal.String.Doc */ /* Literal.String.Double */ /* Literal.String.Escape */ /* Literal.String.Heredoc */ /* Literal.String.Interpol */ /* Literal.String.Other */ /* Literal.String.Regex */ /* Literal.String.Single */ /* Literal.String.Symbol */ /* Name.Builtin.Pseudo */ /* Name.Variable.Class */ /* Name.Variable.Global */ /* Name.Variable.Instance */ /* Literal.Number.Integer.Long */ /* Generic Heading & Diff Header */ /* Generic.Subheading & Diff Unified/Comment? */ /* Generic.Deleted & Diff Deleted */ /* Generic.Inserted & Diff Inserted */ }
.highlight .hll { background-color: #49483e; }
.highlight .c { color: #75715e; }
.highlight .err { color: #960050; background-color: #1e0010; }
.highlight .k { color: #f92672; }
.highlight .l { color: #ae81ff; }
.highlight .n { color: #f8f8f2; }
.highlight .o { color: #f92672; }
.highlight .p { color: #f8f8f2; }
.highlight .cm { color: #75715e; }
.highlight .cp { color: #75715e; }
.highlight .c1 { color: #75715e; }
.highlight .cs { color: #75715e; }
.highlight .ge { font-style: italic; }
.highlight .gs { font-weight: bold; }
.highlight .kc { color: #66d9ef; }
.highlight .kd { color: #66d9ef; }
.highlight .kn { color: #f92672; }
.highlight .kp { color: #66d9ef; }
.highlight .kr { color: #66d9ef; }
.highlight .kt { color: #66d9ef; }
.highlight .ld { color: #e6db74; }
.highlight .m { color: #ae81ff; }
.highlight .s { color: #e6db74; }
.highlight .na { color: #a6e22e; }
.highlight .nb { color: #a6e22e; }
.highlight .nc { color: #a6e22e; }
.highlight .no { color: #66d9ef; }
.highlight .nd { color: #a6e22e; }
.highlight .ni { color: #f8f8f2; }
.highlight .ne { color: #a6e22e; }
.highlight .nf { color: #a6e22e; }
.highlight .nl { color: #66d9ef; }
.highlight .nn { color: #f8f8f2; }
.highlight .nx { color: #a6e22e; }
.highlight .py { color: #f8f8f2; }
.highlight .nt { color: #f92672; }
.highlight .nv { color: #f8f8f2; }
.highlight .ow { color: #f92672; }
.highlight .w { color: #f8f8f2; }
.highlight .mf { color: #ae81ff; }
.highlight .mh { color: #ae81ff; }
.highlight .mi { color: #ae81ff; }
.highlight .mo { color: #ae81ff; }
.highlight .sb { color: #e6db74; }
.highlight .sc { color: #e6db74; }
.highlight .sd { color: #e6db74; }
.highlight .s2 { color: #e6db74; }
.highlight .se { color: #ae81ff; }
.highlight .sh { color: #e6db74; }
.highlight .si { color: #e6db74; }
.highlight .sx { color: #e6db74; }
.highlight .sr { color: #e6db74; }
.highlight .s1 { color: #e6db74; }
.highlight .ss { color: #e6db74; }
.highlight .bp { color: #f8f8f2; }
.highlight .vc { color: #f8f8f2; }
.highlight .vg { color: #f8f8f2; }
.highlight .vi { color: #f8f8f2; }
.highlight .il { color: #ae81ff; }
.highlight .gu { color: #75715e; }
.highlight .gd { color: #f92672; }
.highlight .gi { color: #a6e22e; }

.hljs { display: block; overflow-x: auto; padding: 0.5em; background: #23241f; }

.hljs, .hljs-tag, .hljs-subst { color: #f8f8f2; }

.hljs-strong, .hljs-emphasis { color: #a8a8a2; }

.hljs-bullet, .hljs-quote, .hljs-number, .hljs-regexp, .hljs-literal, .hljs-link { color: #ae81ff; }

.hljs-code, .hljs-title, .hljs-section, .hljs-selector-class { color: #a6e22e; }

.hljs-strong { font-weight: bold; }

.hljs-emphasis { font-style: italic; }

.hljs-keyword, .hljs-selector-tag, .hljs-name, .hljs-attr { color: #f92672; }

.hljs-symbol, .hljs-attribute { color: #66d9ef; }

.hljs-params, .hljs-class .hljs-title { color: #f8f8f2; }

.hljs-string, .hljs-type, .hljs-built_in, .hljs-builtin-name, .hljs-selector-id, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-addition, .hljs-variable, .hljs-template-variable { color: #e6db74; }

.hljs-comment, .hljs-deletion, .hljs-meta { color: #75715e; }

.cf:after { content: ""; display: table; clear: both; }

.nowrap { white-space: nowrap; }

.highlight { margin-bottom: 16px; }

main { display: block; }

body { font-family: Montserrat, Open Sans, MundoSans, "Helvetica Neue", Arial, Helvetica, sans-serif; margin: 0; padding: 0; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-font-feature-settings: "liga=1, dlig=1"; -ms-font-feature-settings: "liga", "dlig"; -webkit-font-feature-settings: "liga", "dlig"; -o-font-feature-settings: "liga", "dlig"; font-feature-settings: "liga", "dlig"; }

.blog-logo { position: fixed; left: 10px; top: 10px; width: 64px; height: 64px; background-color: transparent; overflow: hidden; z-index: 99; }
.blog-logo .logo { display: block; position: absolute; top: 8px; left: 8px; width: 48px; height: 48px; background-size: cover; background-repeat: no-repeat; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; box-shadow: 0 0 6px rgba(0, 0, 0, 0.5); -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0 0 6px rgba(0, 0, 0, 0.5); border-radius: 125px; -webkit-border-radius: 125px; -moz-border-radius: 125px; }

.main-header { position: relative; display: table; width: 100%; height: 100vh; margin-bottom: 2rem; text-align: center; background: #babbab no-repeat center center; background-size: cover; overflow: hidden; letter-spacing: -1px; color: #373A3C; font-size: 1.1em; }
@media only screen and (max-width: 900px) { .main-header { min-height: 240px; height: 60vh; padding: 15% 0; font-size: 1em; } }
@media only screen and (max-width: 500px) { .main-header { margin-bottom: 15px; height: 40vh; font-size: 0.9em; } }
.main-header a { color: #4A4A4A; transition: color 0.3s ease; }
.main-header a:hover { color: #111; }
.main-header .vertical { display: table-cell; vertical-align: middle; }
.main-header .vertical .inner { width: 80%; position: relative; width: 80%; max-width: 710px; margin: 0 auto; }
.main-header .vertical .inner .avatar { box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); margin-top: 1em; margin-bottom: 1em; width: 200px; height: 200px; border-radius: 125px; -webkit-border-radius: 125px; -moz-border-radius: 125px; }
@media only screen and (max-width: 900px) { .main-header .vertical .inner .avatar { width: 140px; height: 140px; margin-bottom: 0.5em; } }
.main-header .vertical .inner .page-title { margin: 10px 0 10px 0; font-size: 2.5em; margin-top: 0.5em; letter-spacing: -3px; font-weight: 700; }
.main-header .vertical .inner .page-description { margin: 0; font-size: 1.25em; line-height: 1.1em; font-weight: 400; letter-spacing: -1px; }
.main-header .vertical .inner .header-icons { margin-bottom: 4em; margin-top: 0; }
.main-header .vertical .inner .header-icons a { color: #373a3c; }
.main-header .vertical .inner .header-icons i { margin: 1em 0.5em; }
@media only screen and (max-width: 500px) { .main-header .vertical .inner .header-icons i { margin: 0.7em 0.3em; } }
.main-header .scroll-down { display: block; position: absolute; z-index: 100; bottom: 45px; left: 50%; margin-left: -16px; width: 48px; height: 48px; font-size: 48px; text-align: center; text-decoration: none; -webkit-animation: bounce 4s 2s infinite; animation: bounce 4s 2s infinite; }
@media only screen and (max-width: 900px) { .main-header .scroll-down { display: none; } }
.main-header .scroll-down:hover { color: #fff; -webkit-animation: none; animation: none; }

@-webkit-keyframes bounce { 0%, 10%, 25%, 40%, 50% { -webkit-transform: translateY(0); transform: translateY(0); }
  20% { -webkit-transform: translateY(-10px); transform: translateY(-10px); }
  30% { -webkit-transform: translateY(-5px); transform: translateY(-5px); } }
@keyframes bounce { 0%, 20%, 50%, 80%, 100% { -webkit-transform: translateY(0); transform: translateY(0); }
  40% { -webkit-transform: translateY(-10px); transform: translateY(-10px); }
  60% { -webkit-transform: translateY(-5px); transform: translateY(-5px); } }
.content { width: 100%; max-width: 720px; margin: 0 auto; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
@media only screen and (max-width: 800px) { .content { padding: 0 32px; } }
.content article { padding: 40px 0; border-bottom: 1px solid #f2f2f0; }
.content article:last-child { border-bottom: 0px; }
.content article .post-title { letter-spacing: -0.02em; font-weight: 700; font-style: normal; display: block; font-size: 40px; line-height: 1.1; margin: 0 0; }
.content article .post-title a { text-decoration: none; color: #333332; }
.content article .post-title a:hover { text-decoration: none; }
.content article .post-excerpt { font-weight: 400; font-style: normal; font-family: Merriweather, Linux Libertine; letter-spacing: 0.01rem; font-size: 1.2rem; line-height: 1.75em; color: #000; }
.content article .post-meta { font-size: 14px; color: #b3b3b1; line-height: 30px; }
.content article .post-meta a { color: #b3b3b1; text-decoration: none; }
.content article .post-meta a:hover { text-decoration: underline; }
.content article .post-meta .post-tags-set { margin-left: 5px; }
.content article .post-meta .post-tags-set .post-tag { margin-right: 5px; background: #665b5b; color: #fff; border-radius: 999em; padding: 0 8px; }

.container.featured { padding-bottom: 40px; }

.post-template .content { max-width: 700px; }

.index-headline { border-top: 1px solid #dededc; margin: 0; padding: 16px 0; }
.index-headline span { color: #737371; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }

.archive-template .index-headline.featured { display: none; }

.pagination { text-align: center; padding: 48px 0 0; font-size: 12px; }
.pagination a { color: #999; text-decoration: none; }
.pagination a:hover { color: #333; }

.post-reading { position: absolute; top: 10px; right: 30px; line-height: 44px; display: inline-block; white-space: nowrap; color: rgba(0, 0, 0, 0.25); font-size: 14px; letter-spacing: -0.02em; font-weight: 400; font-style: normal; font-family: Montserrat, Open Sans, MundoSans, "Helvetica Neue", Arial, Helvetica, sans-serif; z-index: 999; }

.tag-articleimage .post-reading { color: rgba(255, 255, 255, 0.9); text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25), 0px 0px 1px rgba(0, 0, 0, 0.5); }

.site-footer { margin: 0 auto; padding: 48px 0; width: 100%; max-width: 720px; font-size: 14px; text-align: left; color: #999; line-height: 17.6px; }
.site-footer i { margin-right: 5px; }
.site-footer a { color: #000; text-decoration: none; }
.site-footer a:hover { color: #333; text-decoration: underline; }
.site-footer .index-headline { padding-bottom: 32px; border: 0; }
.site-footer .footer-link { display: block; margin-bottom: 10px; }
.site-footer .isLeft { float: left; width: 47%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
@media only screen and (max-width: 800px) { .site-footer .isLeft { width: 100%; padding-bottom: 32px; } }
.site-footer .isRight { float: right; width: 47%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
@media only screen and (max-width: 800px) { .site-footer .isRight { width: 100%; } }
.site-footer .isRight .subscribe { display: block; margin-bottom: 10px; text-transform: uppercase; }
.site-footer .isRight .poweredby { display: block; padding-bottom: 18px; font-weight: 700; color: #333; }

.post { word-wrap: break-word; }
.post .article-image { position: absolute; background-color: #000; top: 0; left: 0; right: 0; bottom: 30%; overflow: hidden; }
@media(min-width: 700px) { .post .article-image .post-image-image { background-size: cover; background-position: center; position: absolute; top: 0; left: 0; right: 0; bottom: 0; text-indent: -9999px; padding-top: 33%; z-index: 1; }
  .post .article-image .post-image-image-mobile { display: none; } }
@media(max-width: 700px) { .post .article-image .post-image-image { display: none; }
  .post .article-image .post-image-image-mobile { background-size: cover; position: absolute; top: 0; left: 0; right: 0; bottom: 0; text-indent: -9999px; padding-top: 33%; z-index: 1; } }
.post .article-image .post-meta { position: absolute; bottom: 80px; left: 30%; right: 30%; z-index: 9; font-family: Montserrat, Open Sans, MundoSans, "Helvetica Neue", Arial, Helvetica, sans-serif; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
@media only screen and (max-width: 800px) { .post .article-image .post-meta { left: 16px; right: 16px; } }
.post .article-image .post-title { font-weight: 700; font-style: normal; font-size: 3.5rem; letter-spacing: -2px; text-indent: -3px; line-height: 1.1; color: #fff; margin-bottom: 16px; text-shadow: 0px 1px 20px rgba(0, 0, 0, 0.6), 0px 0px 1px rgba(0, 0, 0, 0.5); }
.post .article-image .author-image { display: inline-block; width: 30px; height: 30px; line-height: 30px; margin-right: 8px; margin-bottom: -10px; float: left; background-size: cover; border-radius: 100%; text-indent: -9999px; }
.post .article-image .author-name { display: inline; }
.post .article-image .post-meta-text { color: rgba(255, 255, 255, 0.75); letter-spacing: -0.02em; font-weight: 400; font-style: normal; text-shadow: 0px 1px 10px rgba(0, 0, 0, 0.35), 0px 0px 1px rgba(0, 0, 0, 0.5); font-size: 16px; overflow: hidden; font-family: Montserrat, Open Sans, MundoSans, "Helvetica Neue", Arial, Helvetica, sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.post .article-image .post-meta-text a { color: rgba(255, 255, 255, 0.75); }
.post .article-image .post-meta-text a:hover { color: white; }
.post .article-image .fa-angle-down { font-size: 32px; margin: 64px auto 0; color: rgba(255, 255, 255, 0.75); }
.post .article-image .fa-angle-down:hover { color: #fff; }
.post .article-image .topofpage { text-decoration: underline; }
.post .noarticleimage .post-meta { font-family: Montserrat, Open Sans, MundoSans, "Helvetica Neue", Arial, Helvetica, sans-serif; padding-top: 6rem; }
.post .noarticleimage .post-title { font-style: normal; line-height: 1.1; color: #333332; margin-bottom: 16px; font-size: 3.5rem; letter-spacing: -2px; text-indent: -3px; }
.post .noarticleimage .author-image { display: inline-block; width: 30px; height: 30px; line-height: 30px; margin-right: 8px; margin-bottom: -10px; float: left; background-size: cover; border-radius: 100%; text-indent: -9999px; }
.post .noarticleimage .author-name { display: inline; }
.post .noarticleimage .post-meta-text { color: #737371; letter-spacing: -0.02em; font-weight: 400; font-style: normal; font-size: 16px; overflow: hidden; font-family: Montserrat, Open Sans, MundoSans, "Helvetica Neue", Arial, Helvetica, sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.post .post-content { width: 100%; font-family: Merriweather, Linux Libertine; color: #333; }
.post .post-content h1, .post .post-content h2, .post .post-content h3, .post .post-content h4, .post .post-content h5, .post .post-content h6 { letter-spacing: -1px; font-weight: 700; font-style: normal; font-family: Montserrat, Open Sans, MundoSans, "Helvetica Neue", Arial, Helvetica, sans-serif; line-height: 1.3; }
.post .post-content h3, .post .post-content h4, .post .post-content h5, .post .post-content h6 { margin: 30px 0 10px 0; }
.post .post-content h1, .post .post-content h2 { line-height: 1.2; font-size: 2.6rem; letter-spacing: -1px; margin-bottom: 10px; }
.post .post-content h3 { font-size: 2.1rem; }
.post .post-content h4 { font-size: 1.8rem; }
.post .post-content h5 { font-size: 1.5rem; }
.post .post-content h6 { font-size: 1.35rem; }
.post .post-content p { font-weight: 400; font-style: normal; margin: 0; padding-bottom: 20px; padding-top: 10px; color: #333; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; letter-spacing: 0.01rem; font-size: 1.2rem; line-height: 1.75em; }
.post .post-content a { color: #333; text-decoration: underline; }
.post .post-content img { max-width: 100%; margin: 0 auto; }
.post .post-content figure { margin: 0; padding: 0 0 30px; text-align: center; }
.post .post-content figcaption { font-weight: 400; font-style: italic; font-size: 16px; line-height: 1.3; color: #666665; outline: 0; z-index: 300; text-align: center; }
.post .post-content hr { border: 0; padding: 0; display: block; width: 15%; margin: 30px auto; border: 0px solid #ddd; border-top: 1px solid #ddd; }
.post .post-content blockquote { margin: 0 0 40px; margin-left: -26px; border-left: #4A4A4A 0.4em solid; padding-left: 20px; }
.post .post-content blockquote p { letter-spacing: 0.01rem; font-weight: 400; font-style: italic; mborder-left: 3px solid #57ad68; mpadding-left: 20px; mmargin-left: -26px; padding-bottom: 3px; }
.post .post-content ul, .post .post-content ol { padding: 15px 0 15px 20px; margin: 0; }
.post .post-content ol ol, .post .post-content ul ul, .post .post-content ul ol, .post .post-content ol ul { padding: 15px 0 0; }
.post .post-content li { padding: 0; font-weight: 400; font-style: normal; font-size: 1.2rem; line-height: 1.75em; margin-left: 30px; margin-bottom: 12px; padding-top: 2px; }
.post .post-content li p { padding: 0 0 1.618rem; }
.post .post-content ol li { list-style-type: decimal; }
.post .bottom-teaser { padding: 50px 0; font-family: Montserrat, Open Sans, MundoSans, "Helvetica Neue", Arial, Helvetica, sans-serif; }
.post .bottom-teaser hr { border: 0; padding: 0; display: block; width: 15%; margin: 16px 0 16px 100px; border: 0px solid #ddd; border-top: 1px solid #ddd; }
.post .bottom-teaser .isLeft { float: left; width: 47%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
@media only screen and (max-width: 800px) { .post .bottom-teaser .isLeft { width: 100%; padding-bottom: 32px; } }
.post .bottom-teaser .isLeft a { color: #000; text-decoration: none; }
.post .bottom-teaser .isLeft a:hover { color: #333; text-decoration: underline; }
.post .bottom-teaser .isLeft .author-image { display: block; width: 80px; height: 80px; float: left; background-size: cover; border-radius: 100%; text-indent: -9999px; }
.post .bottom-teaser .isLeft h4 { font-size: 18px; line-height: 1.1; font-weight: 700; padding: 0; margin: 0; padding-left: 100px; }
.post .bottom-teaser .isLeft p { font-size: 13px; line-height: 1.3; font-weight: 400; padding: 0; margin: 0; padding-left: 100px; }
.post .bottom-teaser .isLeft p.published { color: #999; }
.post .bottom-teaser .isRight { float: right; width: 47%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
@media only screen and (max-width: 800px) { .post .bottom-teaser .isRight { width: 100%; } }
.post .bottom-teaser .isRight .site-footer { margin: 0; padding: 0; color: #333; text-align: left; font-size: 14px; line-height: 1.3; color: #999; }
.post .bottom-teaser .isRight .site-footer a { color: #333; text-decoration: none; }
.post .bottom-teaser .isRight .site-footer a:hover { text-decoration: underline; }
.post .bottom-teaser .isRight .site-footer .poweredby { display: block; padding-bottom: 18px; font-weight: 700; color: #333; }

.share { padding: 0px 0 0; }
.share .share-button { vertical-align: top; margin: 0; padding: 0px 15px 0px 0; display: inline-block; }
.share a { text-decoration: none; color: #bbb; }
.share a .hidden { display: none; }
.share a:hover { color: #333; }

.bottom-closer { width: 100%; position: relative; overflow: hidden; }
.bottom-closer .background-closer-image { position: absolute; top: 0; left: 0; right: 0; bottom: 0; text-indent: -9999px; background-size: cover; background-repeat: no-repeat; background-position: center; }
.bottom-closer .inner { width: 100%; position: relative; z-index: 99; max-width: 720px; padding: 120px 0 90px; text-align: center; margin: 0 auto; }
.bottom-closer .inner .blog-title { margin: 0; padding: 0 0 10px; font-size: 50px; text-align: center; font-weight: 700; letter-spacing: -3px; outline: 0; line-height: 50px; word-break: break-word; color: #fff; text-shadow: 0px 1px 16px rgba(0, 0, 0, 0.5), 0px 0px 1px rgba(0, 0, 0, 0.5); }
.bottom-closer .inner .blog-description { margin: 0 0 50px; padding: 0 32px; font-size: 18px; line-height: 1.5; color: #fff; text-align: center; font-weight: 400; letter-spacing: -1px; text-shadow: 0px 1px 16px rgba(0, 0, 0, 0.5), 0px 0px 1px rgba(0, 0, 0, 0.5); }
.bottom-closer .inner .custom-links { margin: 0 0 50px; }
.bottom-closer .inner .btn { display: inline-block; text-align: center; letter-spacing: -0.02em; font-size: 15px; font-weight: 400; font-style: normal; text-decoration: none; cursor: pointer; height: 44px; background: #57ad68; color: #fff; vertical-align: middle; box-sizing: border-box; border-radius: 999em; line-height: 44px; padding: 0 18px; }

pre, code { font-size: 16px; border-radius: 3px; }

code { padding: 1px 5px; white-space: pre-wrap; }

pre { overflow-x: scroll; word-wrap: normal; -moz-hyphens: none; -ms-hyphens: none; -webkit-hyphens: none; hyphens: none; padding: 0; }
pre > code { border: 0; padding-right: 0; padding-left: 0; white-space: pre; }

.highlight { padding: 1.2em; }
