.ml0,.mx0{margin-left:0}.mr0,.mx0{margin-right:0}.mt0,.my0{margin-top:0}.mb0,.my0{margin-bottom:0}.pl0,.px0{padding-left:0}.pr0,.px0{padding-right:0}.pt0,.py0{padding-top:0}.pb0,.py0{padding-bottom:0}*,.border-box,:after,:before{box-sizing:border-box}#header .h1,#header h1,.content .h1,.content h1,body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.table{display:table}.table-cell{display:table-cell}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-auto{overflow:auto}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.left{float:left}.right{float:right}.fit{max-width:100%}.truncate{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.max-width-1{max-width:24rem}.max-width-2{max-width:32rem}.max-width-3{max-width:48rem}.max-width-4{max-width:64rem}.m0{margin:0}.ml1,.mx1{margin-left:.5rem}.mr1,.mx1{margin-right:.5rem}.mt1,.my1{margin-top:.5rem}.mb1,.my1{margin-bottom:.5rem}.m1{margin:.5rem}.ml2,.mx2{margin-left:1rem}.mr2,.mx2{margin-right:1rem}.mt2,.my2{margin-top:1rem}.mb2,.my2{margin-bottom:1rem}.m2{margin:1rem}.ml3,.mx3{margin-left:2rem}.mr3,.mx3{margin-right:2rem}.mt3,.my3{margin-top:2rem}.mb3,.my3{margin-bottom:2rem}.m3{margin:2rem}.ml4,.mx4{margin-left:4rem}.mr4,.mx4{margin-right:4rem}.mt4,.my4{margin-top:4rem}.mb4,.my4{margin-bottom:4rem}.m4{margin:4rem}.mxn1{margin-left:-.5rem;margin-right:-.5rem}.mxn2{margin-left:-1rem;margin-right:-1rem}.mxn3{margin-left:-2rem;margin-right:-2rem}.mxn4{margin-left:-4rem;margin-right:-4rem}.ml-auto,.mx-auto{margin-left:auto}.mr-auto,.mx-auto{margin-right:auto}.p0{padding:0}.pl1,.px1{padding-left:.5rem}.pr1,.px1{padding-right:.5rem}.pt1,.py1{padding-top:.5rem}.pb1,.py1{padding-bottom:.5rem}.p1{padding:.5rem}.pt2,.py2{padding-top:1rem}.pb2,.py2{padding-bottom:1rem}.pl2,.px2{padding-left:1rem}.pr2,.px2{padding-right:1rem}.p2{padding:1rem}.pt3,.py3{padding-top:2rem}.pb3,.py3{padding-bottom:2rem}.pl3,.px3{padding-left:2rem}.pr3,.px3{padding-right:2rem}.p3{padding:2rem}.pt4,.py4{padding-top:4rem}.pb4,.py4{padding-bottom:4rem}.pl4,.px4{padding-left:4rem}.pr4,.px4{padding-right:4rem}.p4{padding:4rem}.content .h1,.content h1{letter-spacing:.01em;font-size:1.5em;font-style:normal;font-weight:700;color:#e1bb34;margin-top:3rem;margin-bottom:1rem;display:block}.content .h2,.content h2{position:relative;font-size:1rem;font-weight:700;text-transform:none;letter-spacing:normal;margin-top:2rem;margin-bottom:.5rem;color:#eee;display:block}.content h3{font-size:.9rem;font-weight:700;text-decoration:underline;color:#eee}.content h4,.content h5,.content h6{font-size:.9rem;font-weight:400;color:#ccc;border-bottom:1px dashed #ccc;display:inline;text-decoration:none}.content dt,.content strong,.content th{font-weight:700}.content h3,.content h4,.content h5,.content h6{margin-top:.9rem;margin-bottom:.5rem}.content hr{border:1px dashed #ccc}#header #nav ul li,#header-post #nav ul li{border-right:1px dotted #e1bb34}.content cite,.content em{font-style:italic}.content sub,.content sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}.content dl,.content ol,.content ul,body{line-height:1.725}.content sup{top:-.5em}.content sub{bottom:-.2em}.content small{font-size:.85em}.content abbr,.content acronym{border-bottom:1px dotted}.content ol ol,.content ol ul,.content ul ol,.content ul ul{margin-top:0;margin-bottom:0}.content ol{list-style:decimal}.content table{width:100%;font-size:12px;border-collapse:collapse;text-align:left}.content th{font-size:13px;color:#eee;border-bottom:1px dashed #ccc;padding:8px}.content td{border-bottom:none;padding:9px 8px 0}html{height:100%}body{color:#c9cacc;background-color:#001821;background-image:url(/images/background.png);background-repeat:repeat;font-size:14px;font-family:Raleway,sans-serif;font-weight:400;text-rendering:geometricPrecision;min-height:100%;display:flex;flex-direction:column}.content{flex:1}.content p{-moz-hyphens:auto;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.content code,.content pre{-moz-hyphens:manual;-ms-hyphens:manual;-webkit-hyphens:manual;hyphens:manual}.content a{text-decoration:none;color:#c9cacc;background-repeat:repeat-x;background-position:bottom;background-size:100% 6px;background-image:linear-gradient(transparent,transparent 5px,#c9cacc 5px,#c9cacc)}.content a:hover{background-image:linear-gradient(transparent,transparent 4px,#e1bb34 4px,#e1bb34)}.content a.icon{background:0 0}.content a.icon:hover{color:#e1bb34}.content .h1 a,.content h1 a,.content h2 a,.content h3 a,.content h4 a,.content h5 a,.content h6 a{color:inherit;text-decoration:none;background:0 0}.content .h1 a:hover,.content h1 a:hover,.content h2 a:hover,.content h3 a:hover,.content h4 a:hover,.content h5 a:hover,.content h6 a:hover{background-repeat:repeat-x;background-position:bottom;background-size:100% 6px;background-image:linear-gradient(transparent,transparent 6px,#e1bb34 6px,#e1bb34)}@media (min-width:540px){.image-wrap{flex-direction:row;margin-bottom:2rem}.image-wrap .image-block{margin-right:2rem;flex:1 0 35%}.image-wrap p{flex:1 0 65%}}#header #nav ul li:last-child,#header #nav ul li:last-child a,#header-post #nav ul li:last-child a,#header-post ul li:last-child{margin-right:0}.width{width:100%;max-width:39rem}@media (max-width:480px){.px3{padding-left:1rem;padding-right:1rem}.my4{margin-top:2rem;margin-bottom:2rem}}#header{max-width:710px;width:100%;margin:0 auto 3rem}#header .h1,#header h1{letter-spacing:.01em;font-size:1.5rem;line-height:2rem;font-style:normal;font-weight:700;color:#c9cacc;margin-top:0;margin-bottom:0}#header #nav ul,#header-post #nav ul{line-height:15px}#header #nav,#header-post #nav{font-style:normal;font-weight:200;letter-spacing:.01em}#header a,#header-post a{color:inherit;text-decoration:none}#header #nav,#header-post #menu-icon-tablet:hover,#header-post #menu-icon:hover,#header-post #toc a:hover,#header-post #top-icon-tablet:hover,#header-post .active,#header-post a.icon:hover{color:#e1bb34}#header a{background:0 0}#header #logo{display:inline-block;float:left;margin-right:20px;width:50px;height:50px;background-repeat:no-repeat;background-size:50px 50px;border-radius:5px}#header #nav{font-size:.8rem}#header #nav ul{list-style-type:none;margin:0;padding:0}#header #nav ul a{margin-right:15px;color:color-accent}#header #nav ul a:hover{background-repeat:repeat-x;background-position:bottom;background-size:100% 6px;background-image:linear-gradient(transparent,transparent 5px,#e1bb34 5px,#e1bb34)}#header-post a,#header-post a.icon{background:0 0}#header #nav ul li{display:inline-block;vertical-align:middle;margin-right:15px}#header #nav ul .icon{display:none}#header #nav ul li:last-child{border-right:0}#header:hover #logo{-webkit-filter:none;filter:none}@media screen and (max-width:480px){#header #title{padding-top:9px;padding-bottom:9px}#header #nav ul a:hover{background:0 0}#header #nav ul li{display:none;border-right:0}#header #nav ul li.icon{display:inline-block;position:absolute;top:55px;right:1rem}#header #nav ul.responsive li{display:block}#header #nav li:not(:first-child){padding-top:1rem;padding-left:70px;font-size:1rem}}#header-post{position:fixed;top:2rem;right:2rem;display:inline-block;float:right}#header-post ol{list-style-type:none}#header-post ul{list-style-type:none;margin:0;padding:0;display:inline-block}#header-post ul li{margin-right:15px;display:inline-block;vertical-align:middle}#header-post #menu-icon,#header-post #menu-icon-tablet{float:right;margin-left:15px}#header-post #top-icon-tablet{margin-left:15px;bottom:2rem;right:2rem;position:fixed}#header-post #menu{visibility:hidden}#header-post #nav{font-size:.8rem;color:#e1bb34}#header-post #nav ul a{margin-right:15px;color:color-accent}#header-post #nav ul a:hover{background-repeat:repeat-x;background-position:bottom;background-size:100% 6px;background-image:linear-gradient(transparent,transparent 5px,#e1bb34 5px,#e1bb34)}#header-post #nav ul li:last-child{border-right:0;margin-right:0}#header-post #actions{float:right;margin-top:2rem;width:100%;text-align:right}#header-post #actions ul{display:block}#header-post #actions .info{display:block;font-style:italic}#header-post #share,#header-post #toc{clear:both;text-align:right;padding-top:1rem}#header-post #share li{margin:0;display:block}#header-post #toc .toc-level-1,#header-post #toc .toc-level-5,#header-post #toc .toc-level-6,#header-post #toc .toc-number{display:none}#header-post #toc .toc-level-2{font-size:.8rem;color:#c9cacc}#header-post #toc .toc-level-2:before{content:"#";color:#e1bb34}#header-post #toc .toc-level-3{font-size:.7rem;color:#b3b3b3}#header-post #toc .toc-level-4{font-size:.4rem;color:#666}#footer-post #actions-footer a,#footer-post #toc-footer a:hover,#footer-post a.icon:hover{color:#e1bb34}@media screen and (max-width:500px){#header-post{display:none}}@media screen and (max-width:900px){#header-post #actions,#header-post #menu-icon{display:none}}@media screen and (max-width:1199px){#header-post #toc{display:none}}@media screen and (min-width:900px){#header-post #menu-icon-tablet,#header-post #top-icon-tablet{display:none!important}}@media screen and (min-width:1199px){#header-post #actions{width:auto}#header-post #actions ul{display:inline-block;float:right}#header-post #actions .info{float:left;margin-right:2rem;font-style:italic;display:inline}}#footer-post{bottom:0;left:0;right:0;position:fixed;transition:opacity .2s;width:100%;z-index:5000000;background:#001f2b;border-top:1px solid #666673}#footer-post a,#footer-post a.icon{background:0 0}#footer-post a{color:inherit;text-decoration:none}#footer-post #nav-footer,#footer-post #share-footer{margin-left:1rem;margin-right:1rem;text-align:center}#footer-post #nav-footer a{color:#e1bb34;font-size:1rem}#footer-post #nav-footer a:hover{background-repeat:repeat-x;background-position:bottom;background-size:100% 6px;background-image:linear-gradient(transparent,transparent 5px,#e1bb34 5px,#e1bb34)}#footer-post #actions-footer ul,#footer-post #nav-footer ul,#footer-post #share-footer ul{list-style-type:none;margin:0;padding:0;display:table;width:100%}#footer-post #nav-footer ul li,#footer-post #share-footer ul li{display:inline-table;width:20%;padding:10px;vertical-align:middle}#footer-post #actions-footer{text-align:center;margin-top:1rem;margin-bottom:1rem;width:100%}#footer-post #actions-footer ul li{display:table-cell;vertical-align:middle}#footer-post #toc-footer .toc-level-1,#footer-post #toc-footer .toc-level-4,#footer-post #toc-footer .toc-level-5,#footer-post #toc-footer .toc-level-6,#footer-post #toc-footer .toc-number{display:none}#footer-post #toc-footer{clear:both;text-align:left;padding-top:1rem}#footer-post #toc-footer ol{list-style-type:none;padding-left:20px}#footer-post #toc-footer ol li{line-height:30px}#footer-post #toc-footer .toc-level-2{font-size:.8rem;color:#c9cacc}#footer-post #toc-footer .toc-level-2:before{content:"#";color:#e1bb34}#footer-post #toc-footer .toc-level-3{font-size:.7rem;color:#666;line-height:15px}#sociallinks,#sociallinks li{display:inline-block}@media screen and (min-width:500px){#footer-post-container{display:none}}body,html{margin:0;padding:0}#sociallinks{list-style:none;padding:0;margin:0}#sociallinks li:after{content:", "}#sociallinks li:last-child:after{content:""}#sociallinks li:nth-last-child(2):after{content:" and "}.post-list{padding:0}.post-list .post-item{list-style-type:none;margin-left:0;margin-bottom:1rem}.post-list .post-item .meta{display:block;font-size:14px;color:#666;min-width:100px;margin-right:16px}@media (min-width:480px){p{text-align:justify}.post-list .post-item{display:flex;margin-bottom:5px}.post-list .post-item .meta{text-align:left}}.project-list{padding:0;list-style:none}.project-list .project-item{margin-bottom:5px}.content img.github-emoji{display:inline;width:20px}article header .posttitle{margin-top:0;margin-bottom:0;text-transform:none;font-size:1.5em;line-height:1.25}article header .meta{margin-top:0;margin-bottom:1rem}article header .meta *{color:#ccc;font-size:.85rem}article header .author{text-transform:uppercase;letter-spacing:.01em;font-weight:700;padding-right:1em}article header .postdate{display:inline}article .content h2:before{content:"#";color:#e1bb34;position:absolute;left:-1rem;top:-4px;font-size:1.2rem;font-weight:700}article .content img,article .content video{max-width:100%;height:auto;display:block;margin:auto}article .content .video-container{position:relative;padding-top:56.25%;height:0;overflow:hidden}.highlight,pre{font-family:Menlo,"Meslo LG",monospace;overflow-x:auto}article .content .video-container embed,article .content .video-container iframe,article .content .video-container object{position:absolute;top:0;left:0;width:100%;height:100%;margin-top:0}article .content blockquote{background:inherit;color:#ccffb6;border-left:0 solid #ccc;margin:1rem 10px;padding:.5em 10px;quotes:"\201C" "\201D" "\2018" "\2019"}article .content blockquote p{margin:0}article .content blockquote:before{color:#ccffb6;content:"\201C";font-size:2em;line-height:.1em;margin-right:.25em;vertical-align:-.4em}article .content blockquote footer{color:#666;font-size:11px;margin:line-height 0}article .content blockquote footer a{color:#666;background-image:linear-gradient(transparent,transparent 5px,#666 5px,#666)}article .content blockquote footer a:hover{color:#999;background-image:linear-gradient(transparent,transparent 4px,#999 4px,#999)}article .content blockquote footer cite:before{content:"—";padding:0 .5em}article .content .pullquote{text-align:left;width:45%;margin:0}article .content .pullquote.left{margin-left:.5em;margin-right:1em}article .content .pullquote.right{margin-right:.5em;margin-left:1em}#footer li,#footer li a{margin-right:15px}article .content .caption{color:color-grey;display:block;font-size:.9em;margin-top:.5em;position:relative;text-align:center}#footer,#footer a{color:#666}.posttitle{text-transform:none;font-size:1.5em;line-height:1.25}.article-tag .tag-link:before{content:"#"}@media (min-width:480px){.article-tag{display:inline}.article-tag:before{content:"|"}}.blog-post-comments{margin-top:4rem}#footer{font-size:11px;max-width:39rem;width:100%;margin:0 auto 1rem;vertical-align:top;text-align:center;padding:10px 1rem}#footer ul{margin:0;padding:0;list-style:none}#footer li{display:inline-block;vertical-align:middle;border-right:1px solid #4a4a4a}#footer li:last-child{border-right:0;margin-right:0}#footer li:last-child a{margin-right:0}#footer a:hover{color:#999}#footer .footer-left{height:20px;line-height:20px;vertical-align:middle}@media (min-width:39rem){#footer{padding-top:20px;padding-bottom:20px}#footer .footer-left{float:left}#footer .footer-right{float:right}}.highlight{color:#d1d9e1}.highlight .code .comment,.highlight .code .quote{color:#969896;font-style:italic}.highlight .code .addition,.highlight .code .keyword,.highlight .code .literal,.highlight .code .selector-tag,.highlight .code .type{color:#c9c}.highlight .code .number,.highlight .code .selector-attr,.highlight .code .selector-pseudo{color:#f99157}.highlight .code .doctag,.highlight .code .regexp,.highlight .code .string{color:#8abeb7}.highlight .code .built_in,.highlight .code .name,.highlight .code .section,.highlight .code .title{color:#b5bd68}.highlight .code .class .title,.highlight .code .selector-id,.highlight .code .template-variable,.highlight .code .variable{color:#fc6}.highlight .code .name,.highlight .code .section,.highlight .code .strong{font-weight:700}.highlight .code .bullet,.highlight .code .link,.highlight .code .meta,.highlight .code .subst,.highlight .code .symbol{color:#f99157}.highlight .code .deletion{color:#dc322f}.highlight .code .formula{background:#eee8d5}.highlight .code .attr,.highlight .code .attribute{color:#81a2be}.highlight .code .emphasis{font-style:italic}pre{font-size:13px;padding:10px 15px 0;line-height:22px;-webkit-border-radius:4px;border-radius:4px;border:1px dotted #666}code{-webkit-border-radius:2px;border-radius:2px;border:1px dotted #666;padding:0 5px}pre code{border:none;display:block;padding:0}.highlight{background:#001f2b;-webkit-border-radius:4px;border-radius:4px;padding:10px 15px;margin:1rem 0}.highlight figcaption{zoom:1;margin:-5px 0 5px;font-size:.9em;color:#999}.highlight figcaption a{float:right}.highlight figcaption content: "",.highlight figcaption:before{display:table}.highlight figcaption:after{clear:both}.highlight pre{padding:0;border:none;background:0 0}.highlight table{width:auto}.highlight td.gutter{text-align:right;padding-right:20px;display:none}