/*!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}.highlight .hll{background-color:#373b41}.highlight{background:#1d1f21;color:#c5c8c6}.highlight .c{color:#969896}.highlight .err{color:#c66}.highlight .k{color:#b294bb}.highlight .l{color:#de935f}.highlight .n{color:#c5c8c6}.highlight .o{color:#8abeb7}.highlight .p{color:#c5c8c6}.highlight .cm{color:#969896}.highlight .cp{color:#969896}.highlight .c1{color:#969896}.highlight .cs{color:#969896}.highlight .gd{color:#c66}.highlight .ge{font-style:italic}.highlight .gh{color:#c5c8c6;font-weight:bold}.highlight .gi{color:#b5bd68}.highlight .gp{color:#969896;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#8abeb7;font-weight:bold}.highlight .kc{color:#b294bb}.highlight .kd{color:#b294bb}.highlight .kn{color:#8abeb7}.highlight .kp{color:#b294bb}.highlight .kr{color:#b294bb}.highlight .kt{color:#f0c674}.highlight .ld{color:#b5bd68}.highlight .m{color:#de935f}.highlight .s{color:#b5bd68}.highlight .na{color:#81a2be}.highlight .nb{color:#c5c8c6}.highlight .nc{color:#f0c674}.highlight .no{color:#c66}.highlight .nd{color:#8abeb7}.highlight .ni{color:#c5c8c6}.highlight .ne{color:#c66}.highlight .nf{color:#81a2be}.highlight .nl{color:#c5c8c6}.highlight .nn{color:#f0c674}.highlight .nx{color:#81a2be}.highlight .py{color:#c5c8c6}.highlight .nt{color:#8abeb7}.highlight .nv{color:#c66}.highlight .ow{color:#8abeb7}.highlight .w{color:#c5c8c6}.highlight .mf{color:#de935f}.highlight .mh{color:#de935f}.highlight .mi{color:#de935f}.highlight .mo{color:#de935f}.highlight .sb{color:#b5bd68}.highlight .sc{color:#c5c8c6}.highlight .sd{color:#969896}.highlight .s2{color:#b5bd68}.highlight .se{color:#de935f}.highlight .sh{color:#b5bd68}.highlight .si{color:#de935f}.highlight .sx{color:#b5bd68}.highlight .sr{color:#b5bd68}.highlight .s1{color:#b5bd68}.highlight .ss{color:#b5bd68}.highlight .bp{color:#c5c8c6}.highlight .vc{color:#c66}.highlight .vg{color:#c66}.highlight .vi{color:#c66}.highlight .il{color:#de935f}@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:local('Montserrat Regular'),local('Montserrat-Regular'),url(fonts/montserrat-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:local('Montserrat Medium'),local('Montserrat-Medium'),url(fonts/montserrat-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Ubuntu Mono';font-style:normal;font-weight:400;font-display:swap;src:local('Ubuntu Mono'),local('UbuntuMono-Regular'),url(fonts/ubuntu-mono-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{font-size:62.5%}body{font-family:'Montserrat',Arial,sans-serif;font-size:1.8rem;line-height:3.4rem;color:#030303;background-color:#fafbfc}::selection{background:#efefef}::-moz-selection{background:#efefef}article p>code,article li>code,article dd>code{color:#c66;padding:.4rem;border-radius:.4rem;border:.1rem solid #d6d6d6;background-color:inherit}pre{font-family:'Ubuntu Mono',monospace;line-height:2.6rem}h1{font-size:3rem}h1,h2,h3{font-weight:500}a{color:#4271ae;text-decoration:none}a.active,a.active:hover{color:#030303}a:hover{color:#3e999f}section{text-align:center}ul.inline li{display:inline;padding:.6rem}.crumb-golang::after{content:"(Golang)";margin-left:.3rem;font-weight:lighter;font-size:75%;font-style:italic}.crumb-python::after{content:"(Python)";margin-left:.3rem;font-weight:lighter;font-size:75%;font-style:italic}.container{width:auto;margin:0 auto;padding:0 3rem}#header{background:linear-gradient(#efefef,#fafbfc);padding:3rem 0}#header h1{display:inline;font-size:2.8rem;line-height:2rem;font-weight:normal}#header h1 img{float:left;width:100px;height:100px}#header h1 a,#header p{color:#1d1f21}#header h1 a{text-shadow:.1rem .1rem .1rem #f3f3f3}#header p{display:inline;font-size:1.6rem;line-height:2rem}#header nav{font-size:2rem}#header nav,#header nav ul{float:right;margin:0}#header nav ul{padding-left:2rem}#header nav ul li{display:inline;list-style:none;padding-left:1rem}.lang-switch{float:right;font-size:1.6rem;font-weight:500;color:#d6d6d6}.lang-switch .lang-active{color:#030303}#header nav li+li:before{content:"|";color:#d6d6d6;padding-right:1rem}#main{padding-top:2rem;text-align:justify}#footer .social-icons svg{width:2rem;height:2rem}#footer .social-icons span+span{margin-left:.4rem}#footer{position:relative;color:#8e908c;text-align:center;margin-top:7rem;margin-bottom:4rem;padding:1rem 0;font-size:1.6rem;line-height:2.4rem}#footer a{color:#8e908c;text-decoration:underline;text-decoration-color:#4271ae}#footer a:hover{color:#4271ae;text-decoration-color:#8e908c}article header h1{font-size:2rem}section article h1,article header h1,article p.category{display:inline}article time{font-size:1.4rem;color:#8e908c;margin-left:1rem}article>time::after{content:"~";padding:0 .6rem;color:#d6d6d6;font-weight:700}article>p.category:before{content:"@";padding:0 .6rem;color:#d6d6d6;font-weight:700}article header>p.category::after{content:"/";padding:0 .6rem;color:#d6d6d6}article>h1,article{font-size:1.8rem}article header p.category{font-weight:500;float:left;margin:0}article img.cover{display:block;width:100%;opacity:75%;margin-top:1em;margin-left:auto;margin-right:auto}dt{font-weight:500}.highlight{border:.1rem solid #d6d6d6;border-radius:.4rem;overflow:auto;padding:0 1rem}.headerlink{color:#dfdfdf;margin-left:.3em}.headerlink::after{content:"#"}@media all and (min-width:1024px){.container{width:96rem}}@media all and (max-width:1023px){article p.category{display:none}}@media all and (max-width:767px){article time{display:none}section>article::before{content:"~";padding:0 .6rem;color:#d6d6d6;font-weight:700}}@media all and (max-width:500px){#header{text-align:right}#header p{display:none}section,section article{text-align:left}#footer .social-icons svg{width:3rem;height:3rem}}.rounded{border-radius:50%!important}.text-muted{color:#8e908c!important}.block-center{display:block;margin-left:auto;margin-right:auto}.crumbed{border-radius:10%;border:1px solid #dfdfdf;padding:.5rem;background-color:#fff}