/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:"Open Sans";font-style:normal;font-display:swap;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url("./files/open-sans-all-300.woff2") format("woff2"),url("./files/open-sans-all-300.woff") format("woff")}@font-face{font-family:"Open Sans";font-style:italic;font-display:swap;font-weight:300;src:local("Open Sans Light Italic"),local("OpenSans-LightItalic"),url("./files/open-sans-all-300-italic.woff2") format("woff2"),url("./files/open-sans-all-300-italic.woff") format("woff")}@font-face{font-family:"Open Sans";font-style:normal;font-display:swap;font-weight:400;src:local("Open Sans Regular"),local("OpenSans-Regular"),url("./files/open-sans-all-400.woff2") format("woff2"),url("./files/open-sans-all-400.woff") format("woff")}@font-face{font-family:"Open Sans";font-style:italic;font-display:swap;font-weight:400;src:local("Open Sans Italic"),local("OpenSans-Italic"),url("./files/open-sans-all-400-italic.woff2") format("woff2"),url("./files/open-sans-all-400-italic.woff") format("woff")}@font-face{font-family:"Open Sans";font-style:normal;font-display:swap;font-weight:600;src:local("Open Sans SemiBold"),local("OpenSans-SemiBold"),url("./files/open-sans-all-600.woff2") format("woff2"),url("./files/open-sans-all-600.woff") format("woff")}@font-face{font-family:"Open Sans";font-style:italic;font-display:swap;font-weight:600;src:local("Open Sans SemiBold Italic"),local("OpenSans-SemiBoldItalic"),url("./files/open-sans-all-600-italic.woff2") format("woff2"),url("./files/open-sans-all-600-italic.woff") format("woff")}@font-face{font-family:"Open Sans";font-style:normal;font-display:swap;font-weight:700;src:local("Open Sans Bold"),local("OpenSans-Bold"),url("./files/open-sans-all-700.woff2") format("woff2"),url("./files/open-sans-all-700.woff") format("woff")}@font-face{font-family:"Open Sans";font-style:italic;font-display:swap;font-weight:700;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url("./files/open-sans-all-700-italic.woff2") format("woff2"),url("./files/open-sans-all-700-italic.woff") format("woff")}@font-face{font-family:"Open Sans";font-style:normal;font-display:swap;font-weight:800;src:local("Open Sans ExtraBold"),local("OpenSans-ExtraBold"),url("./files/open-sans-all-800.woff2") format("woff2"),url("./files/open-sans-all-800.woff") format("woff")}@font-face{font-family:"Open Sans";font-style:italic;font-display:swap;font-weight:800;src:local("Open Sans ExtraBold Italic"),local("OpenSans-ExtraBoldItalic"),url("./files/open-sans-all-800-italic.woff2") format("woff2"),url("./files/open-sans-all-800-italic.woff") format("woff")}@font-face{font-family:"Oswald";font-style:normal;font-display:swap;font-weight:200;src:url("./files/oswald-all-200.woff2") format("woff2"),url("./files/oswald-all-200.woff") format("woff")}@font-face{font-family:"Oswald";font-style:normal;font-display:swap;font-weight:300;src:url("./files/oswald-all-300.woff2") format("woff2"),url("./files/oswald-all-300.woff") format("woff")}@font-face{font-family:"Oswald";font-style:normal;font-display:swap;font-weight:400;src:url("./files/oswald-all-400.woff2") format("woff2"),url("./files/oswald-all-400.woff") format("woff")}@font-face{font-family:"Oswald";font-style:normal;font-display:swap;font-weight:500;src:url("./files/oswald-all-500.woff2") format("woff2"),url("./files/oswald-all-500.woff") format("woff")}@font-face{font-family:"Oswald";font-style:normal;font-display:swap;font-weight:600;src:url("./files/oswald-all-600.woff2") format("woff2"),url("./files/oswald-all-600.woff") format("woff")}@font-face{font-family:"Oswald";font-style:normal;font-display:swap;font-weight:700;src:url("./files/oswald-all-700.woff2") format("woff2"),url("./files/oswald-all-700.woff") format("woff")}@font-face{font-family:"Inconsolata";font-style:normal;font-display:swap;font-weight:200;src:url("./files/inconsolata-all-200.woff2") format("woff2"),url("./files/inconsolata-all-200.woff") format("woff")}@font-face{font-family:"Inconsolata";font-style:normal;font-display:swap;font-weight:300;src:url("./files/inconsolata-all-300.woff2") format("woff2"),url("./files/inconsolata-all-300.woff") format("woff")}@font-face{font-family:"Inconsolata";font-style:normal;font-display:swap;font-weight:400;src:url("./files/inconsolata-all-400.woff2") format("woff2"),url("./files/inconsolata-all-400.woff") format("woff")}@font-face{font-family:"Inconsolata";font-style:normal;font-display:swap;font-weight:500;src:url("./files/inconsolata-all-500.woff2") format("woff2"),url("./files/inconsolata-all-500.woff") format("woff")}@font-face{font-family:"Inconsolata";font-style:normal;font-display:swap;font-weight:600;src:url("./files/inconsolata-all-600.woff2") format("woff2"),url("./files/inconsolata-all-600.woff") format("woff")}@font-face{font-family:"Inconsolata";font-style:normal;font-display:swap;font-weight:700;src:url("./files/inconsolata-all-700.woff2") format("woff2"),url("./files/inconsolata-all-700.woff") format("woff")}@font-face{font-family:"Inconsolata";font-style:normal;font-display:swap;font-weight:800;src:url("./files/inconsolata-all-800.woff2") format("woff2"),url("./files/inconsolata-all-800.woff") format("woff")}@font-face{font-family:"Inconsolata";font-style:normal;font-display:swap;font-weight:900;src:url("./files/inconsolata-all-900.woff2") format("woff2"),url("./files/inconsolata-all-900.woff") format("woff")}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}html,body{min-height:100vh;margin:0 !important;padding:0 !important}.hidden{display:none}.block{display:block !important}.header-text,.sub-header-text,.elongated-text{font-family:"Oswald";font-weight:100}.body-text{font-family:"Open Sans";font-weight:100}.flex-row{display:flex;flex-direction:row;align-items:center}.flex-spacer{flex-grow:1;flex-shrink:1}.t-center{text-align:center}.ghost-button{border:4px solid #ddd;color:#757575;padding:.5rem 1rem;border-radius:2rem}.ghost-button+.ghost-button{margin-left:1rem}.float-right{float:right}.highlight .hll{background-color:#ffc}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{color:#000;font-weight:bold}.highlight .o{color:#000;font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold;font-style:italic}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .ge{color:#000;font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{color:#000;font-weight:bold}.highlight .kd{color:#000;font-weight:bold}.highlight .kn{color:#000;font-weight:bold}.highlight .kp{color:#000;font-weight:bold}.highlight .kr{color:#000;font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d01040}.highlight .na{color:teal}.highlight .nb{color:#0086b3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nl{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{color:#000;font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d01040}.highlight .sc{color:#d01040}.highlight .sd{color:#d01040}.highlight .s2{color:#d01040}.highlight .se{color:#d01040}.highlight .sh{color:#d01040}.highlight .si{color:#d01040}.highlight .sx{color:#d01040}.highlight .sr{color:#009926}.highlight .s1{color:#d01040}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}.hlcode-table{width:100%}.hlcode-table td,.hlcode-table tr{padding:0 !important}.hlcode-table .hlcode-fold-handle{background:rgba(0,0,0,.1);cursor:pointer;user-select:none}.hlcode-table .hlcode-fold-text{user-select:none}.hlcode-table .hlcode-fold-handle{display:flex;flex-direction:row;align-items:center}.hlcode-table .hlcode-line:hover{border-top:rgba(0,0,0,.2) !important;border-bottom:rgba(0,0,0,.2) !important}.hlcode-table .hlcode-line:hover td{background:rgba(255,255,255,.5)}.hlcode-table .hlcode-fold-text{margin-left:5px}.hlcode-table .hlcode-lineno-cell{user-select:none;border-right:1px solid silver !important;padding-right:5px !important;padding:0 5px}.hlcode-table .hlcode-lineno-cell pre{margin:0;padding:0}.hlcode-table .hlcode-line-highlight{background:#fffacd}.hlcode-table .hlcode-line-fold{background:rgba(0,0,0,.05)}* a{text-decoration:none !important}a:hover,a:focus{color:#fc9e4f}.blog-body{display:grid;width:100% !important;max-width:100% !important}@media(min-width: 900px){.blog-body{grid-template-columns:[vl-1] 300px [vl-2] calc(100% - 300px) [vl-3]}.blog-body .blog-summary,.blog-body .blog-sidebar{border-right:#fc9e4f 4px solid}}@media(max-width: 900px){.blog-body{grid-template-columns:100%}}@media(max-width: 900px){.blog-body .blog-summary{grid-row-start:1;grid-column-start:1}}@media(min-width: 900px){.blog-body .blog-summary{grid-row-start:1;grid-column-start:vl-1;grid-column-end:vl-2}}.blog-body .blog-summary a.primary-link{display:block;background:#ddd;text-decoration:none;color:#757575;padding:1.5rem;padding-bottom:3rem}.blog-body .blog-summary h1,.blog-body .blog-summary h2{font-weight:100;line-height:2rem}.blog-body .blog-summary .blog-support{display:none}@media(max-width: 900px){.blog-body .blog-summary .blog-support{height:0;display:block}.blog-body .blog-summary .blog-support .blog-support-btn{top:-45px}}.blog-body .blog-sidebar ul,.blog-body .blog-main ul{list-style-type:none;padding:0}.blog-body .blog-support .blog-support-cta-container{text-align:center}.blog-body .blog-support .blog-support-btn{background:#c1df2e;border:none;box-shadow:none;border-radius:40px;height:80px;width:80px;text-align:center;display:inline-block;background-image:url("/images/primary/coffee-cup.svg");background-repeat:no-repeat;background-position:center center;position:relative;top:-55px;box-shadow:0 3px 4px 1px rgba(0,0,0,.3);z-index:100}@media(max-width: 900px){.blog-body .blog-support .blog-support-btn{top:0}}.blog-body .blog-support .blog-support-arrow{text-align:center;opacity:.5;background-image:url("/images/primary/curved-arrow.png");background-repeat:no-repeat;background-position:center center;position:relative;top:-40px;margin-bottom:-40px;height:60px}@media(max-width: 900px){.blog-body .blog-support .blog-support-arrow{top:0;margin-bottom:1rem}}.blog-body .blog-support .support-text{color:gray;border-bottom:1px solid silver;padding-bottom:1rem}.blog-body .blog-sidebar{background:#f5f5f5;padding:1rem}@media(max-width: 900px){.blog-body .blog-sidebar{grid-row-start:4;grid-column-start:1}}@media(min-width: 900px){.blog-body .blog-sidebar{grid-column-start:1;grid-row-start:2;grid-row-end:4}}.blog-body .blog-sidebar a{color:#757575}.blog-body .blog-sidebar a:hover,.blog-body .blog-sidebar a:focus{color:#fc9e4f}.blog-body .blog-main{background:#fff;padding:2rem 4rem}@media(max-width: 900px){.blog-body .blog-main{grid-column-start:1;grid-row-start:3;padding:1rem 2rem}}@media(min-width: 900px){.blog-body .blog-main{grid-column-start:2;grid-row-start:2}}.blog-body .blog-main h1,.blog-body .blog-main h2,.blog-body .blog-main h3,.blog-body .blog-main h4,.blog-body .blog-main h5,.blog-body .blog-main h6,.blog-body .blog-comments h1,.blog-body .blog-comments h2,.blog-body .blog-comments h3,.blog-body .blog-comments h4,.blog-body .blog-comments h5,.blog-body .blog-comments h6{font-family:"Oswald";font-weight:300;position:relative}.blog-body .blog-main blockquote,.blog-body .blog-comments blockquote{border-left:4px solid #ddd;padding-left:1rem}.blog-body .blog-main p,.blog-body .blog-comments p{margin-top:2rem;margin-bottom:2rem;line-height:1.5rem}.blog-body .blog-main *,.blog-body .blog-comments *{font-family:"Open Sans"}.blog-body .blog-main pre,.blog-body .blog-comments pre{position:relative;overflow-x:auto}.blog-body .blog-main code,.blog-body .blog-comments code{max-width:100%}.blog-body .blog-main code,.blog-body .blog-main code *,.blog-body .blog-comments code,.blog-body .blog-comments code *{font-family:"Inconsolata",monospace !important;font-size:1.2rem;font-weight:300;line-height:1.8rem}.blog-body .blog-main img,.blog-body .blog-comments img{max-width:90%}.blog-body .blog-main .page-content a,.blog-body .blog-main .comments-target a,.blog-body .blog-comments .page-content a,.blog-body .blog-comments .comments-target a{color:#bd5e0b}.blog-body .blog-main a:hover,.blog-body .blog-main a:focus,.blog-body .blog-comments a:hover,.blog-body .blog-comments a:focus{color:#fc9e4f}.blog-body .blog-main table,.blog-body .blog-comments table{border-collapse:collapse}.blog-body .blog-main table td:not(.hlcode-code-cell):not(.hlcode-lineno-cell),.blog-body .blog-main table th,.blog-body .blog-comments table td:not(.hlcode-code-cell):not(.hlcode-lineno-cell),.blog-body .blog-comments table th{padding:1rem;border:1px solid #ddd}.blog-body .blog-main .headerlink,.blog-body .blog-comments .headerlink{height:1.5rem;width:1.5rem;display:inline-block;background:url("/images/primary/anchor.svg");background-size:cover;position:absolute;left:-2rem;top:.5rem;color:#ddd}.blog-body .blog-header{display:inline-grid;justify-content:center;align-content:center;grid-template-columns:1fr}.blog-body .blog-post-header-inner{color:rgba(0,0,0,.7);display:block;padding:6rem 4rem 0rem}.blog-body .blog-post-header-inner .header-text{font-size:3rem;font-weight:500}.blog-body .blog-post-header-inner .posted-date{margin:2rem 0;font-size:1.5rem}.blog-body .blog-post-header-inner .blog-header-separator{border:1px dotted rgba(0,0,0,.5);margin:2rem 0 0 0}.blog-body .blog-collection-header{position:relative;box-shadow:inset -2px 0px 5px 2px rgba(0,0,0,.5)}@media(max-width: 900px){.blog-body .blog-collection-header{min-height:300px;background:url("/images/primary/pexels-arvind-shakya-900x600.jpg") 0/cover fixed}}@media(min-width: 900px)and (max-width: 1024px){.blog-body .blog-collection-header{background:url("/images/primary/pexels-arvind-shakya-1024x683.jpg") 0/cover fixed}}@media(min-width: 1024px)and (max-width: 2000px){.blog-body .blog-collection-header{background:url("/images/primary/pexels-arvind-shakya-2000x1333.jpg") 0/cover fixed}}@media(min-width: 2000px){.blog-body .blog-collection-header{background:url("/images/primary/pexels-arvind-shakya-5000x3333.jpg") 0/cover fixed}}.blog-body .blog-collection-header .header-text{color:#fff;padding:0 4rem;font-size:3rem}.blog-body .blog-collection-header .rss-link-container{margin-top:10px;margin-right:2rem}@media(max-width: 900px){.blog-body .blog-collection-header .rss-link-container{display:none}}.blog-body .blog-collection-header .rss-link{color:#fff}.blog-body .blog-collection-header .rss-link img{height:20px;margin-right:.5rem;position:relative;bottom:-2px}.blog-body .blog-tabs{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:row;padding-left:3.5rem;background:rgba(0,0,0,.5);padding-top:1rem}.blog-body .blog-tabs .blog-tab{border-top-left-radius:4px;border-top-right-radius:4px;padding:1rem;font-size:1.5rem;background:rgba(255,255,255,.4);margin-left:.5rem;font-family:"Oswald";display:block;color:#353535}.blog-body .blog-tabs .blog-tab.active{background:#fff}.blog-body .tag-link{text-decoration:none;font-size:1.2rem;line-height:2rem;display:flex;flex-direction:row;align-items:center}.blog-body .tag-link img{margin-right:.5rem}.blog-body .posted-date{font-size:1.5rem;color:#757575}.blog-body .post-header{font-size:2rem;font-weight:300;text-decoration:none;color:#353535}.blog-body .blog-footer{background:#ddd;color:#757575;padding:2rem 4rem;border-top:1px solid rgba(0,0,0,.1)}.blog-body .blog-footer a{color:#fc9e4f}.blog-body .blog-footer hr{border-color:rgba(0,0,0,.1)}@media(max-width: 900px){.blog-body .blog-footer{grid-row-start:5;grid-column-start:1}}@media(min-width: 900px){.blog-body .blog-footer{grid-row-start:3;grid-column-start:2}}.blog-body .post-list-item{border-bottom:1px dotted #ddd;clear:both;padding-top:1.5rem}.blog-body .post-date{display:flex;align-items:center}.blog-body .post-date img{margin-right:.5rem}.blog-body .post-warning{padding:.8rem;line-height:1.5rem;background:#fffacd;border-bottom:1px solid orange}.blog-body code{background:#f9f9f9;border:1px solid #ddd;border-radius:4px;padding:0 .4rem}.blog-body .hljs{border-radius:0;padding:.4rem}.blog-body .post-tags{padding-top:.5rem !important;display:block}.blog-body .post-tags li{display:inline-block}.blog-body .post-tags li a{color:#757575}.blog-body .post-tags li img{margin-right:.25rem}.blog-body .post-tags li+li{margin-left:1rem}.blog-body .post-comments{border:1px solid #ddd}.blog-body .post-comments .load-comments-btn{display:inline-block;background:#c1df2e;border-radius:4px;float:right;padding:.5rem;color:gray;cursor:pointer;border:1px solid gray}.blog-body .post-comments .comments-header{padding:1rem;background:#ddd;display:flex;flex-direction:row;align-items:center}.blog-body .post-comments .comments-header .comments-header-content{flex-grow:1}.blog-body .post-comments .comments-target.populated{padding:1rem;background:#fff;border-top:1px solid gray}.blog-body .post-comments .mastodon-comment{clear:both;border-bottom:1px dashed #ddd;padding-bottom:1rem;margin-bottom:1rem}.blog-body .post-comments .mastodon-comment .avatar{float:left;margin-right:1rem}.blog-body .post-comments .mastodon-comment p{margin:1rem 0 !important}