.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}.border-box{box-sizing:border-box}.m0{margin:0}.mt0{margin-top:0}.mr0{margin-right:0}.mb0{margin-bottom:0}.ml0{margin-left:0}.mx0{margin-left:0;margin-right:0}.my0{margin-top:0;margin-bottom:0}.m1{margin:.5rem}.mt1{margin-top:.5rem}.mr1{margin-right:.5rem}.mb1{margin-bottom:.5rem}.ml1{margin-left:.5rem}.mx1{margin-left:.5rem;margin-right:.5rem}.my1{margin-top:.5rem;margin-bottom:.5rem}.m2{margin:1rem}.mt2{margin-top:1rem}.mr2{margin-right:1rem}.mb2{margin-bottom:1rem}.ml2{margin-left:1rem}.mx2{margin-left:1rem;margin-right:1rem}.my2{margin-top:1rem;margin-bottom:1rem}.m3{margin:2rem}.mt3{margin-top:2rem}.mr3{margin-right:2rem}.mb3{margin-bottom:2rem}.ml3{margin-left:2rem}.mx3{margin-left:2rem;margin-right:2rem}.my3{margin-top:2rem;margin-bottom:2rem}.m4{margin:4rem}.mt4{margin-top:4rem}.mr4{margin-right:4rem}.mb4{margin-bottom:4rem}.ml4{margin-left:4rem}.mx4{margin-left:4rem;margin-right:4rem}.my4{margin-top:4rem;margin-bottom: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{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-left:auto;margin-right:auto}.p0{padding:0}.pt0{padding-top:0}.pr0{padding-right:0}.pb0{padding-bottom:0}.pl0{padding-left:0}.px0{padding-left:0;padding-right:0}.py0{padding-top:0;padding-bottom:0}.p1{padding:.5rem}.pt1{padding-top:.5rem}.pr1{padding-right:.5rem}.pb1{padding-bottom:.5rem}.pl1{padding-left:.5rem}.py1{padding-top:.5rem;padding-bottom:.5rem}.px1{padding-left:.5rem;padding-right:.5rem}.p2{padding:1rem}.pt2{padding-top:1rem}.pr2{padding-right:1rem}.pb2{padding-bottom:1rem}.pl2{padding-left:1rem}.py2{padding-top:1rem;padding-bottom:1rem}.px2{padding-left:1rem;padding-right:1rem}.p3{padding:2rem}.pt3{padding-top:2rem}.pr3{padding-right:2rem}.pb3{padding-bottom:2rem}.pl3{padding-left:2rem}.py3{padding-top:2rem;padding-bottom:2rem}.px3{padding-left:2rem;padding-right:2rem}.p4{padding:4rem}.pt4{padding-top:4rem}.pr4{padding-right:4rem}.pb4{padding-bottom:4rem}.pl4{padding-left:4rem}.py4{padding-top:4rem;padding-bottom:4rem}.px4{padding-left:4rem;padding-right:4rem}.content .h1,.content h1{letter-spacing:.01em;font-size:20px;font-style:normal;font-weight:700;color:#1c140d;margin-top:1rem;margin-bottom:1rem;display:block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.content .h2,.content h2{position:relative;font-size:18px;font-weight:700;text-transform:none;letter-spacing:normal;margin-top:1rem;margin-bottom:.5rem;color:#111;display:block}.content h3{font-size:16px;font-weight:700;color:#111}.content h4,.content h5,.content h6{font-size:16px;font-weight:400;color:#333;border-bottom:1px dashed #333;display:inline;text-decoration:none}.content h3,.content h4,.content h5,.content h6{margin-top:.9rem;margin-bottom:.5rem}.content hr{border:1px dashed #e4e4e4;margin:2.5rem 0}.content strong{font-weight:700}.content cite,.content em{font-style:italic}.content sub,.content sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}.content sup{top:-.5em}.content sub{bottom:-.2em}.content small{font-size:.85em}.content abbr,.content acronym{border-bottom:1px dotted}.content dl,.content ol,.content ul{line-height:1.725}.content ol ol,.content ol ul,.content ul ol,.content ul ul{margin-top:0;margin-bottom:0}.content ol{list-style:decimal}.content dt{font-weight:700}.content table{width:100%;font-size:14px;border-collapse:collapse;text-align:left}.content th{font-size:15px;font-weight:700;color:#111;border-bottom:1px dashed #ccc;padding:8px}.content td{border-bottom:none;padding:9px 8px 0}*,:after,:before{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{color:#000;background-color:#fff;font-size:16px;font-family:Menlo,meslo lg,monospace;font-weight:400;line-height:1.725;text-rendering:geometricPrecision;min-height:100%;display:flex;flex-direction:column;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0}.content{flex:1}.content p{-moz-hyphens:none;-ms-hyphens:none;-webkit-hyphens:none;hyphens:none;line-height:2em}.content code,.content pre{-moz-hyphens:manual;-ms-hyphens:manual;-webkit-hyphens:manual;hyphens:manual;word-break:break-all}.content a{text-decoration:none;color:#000;background-repeat:repeat-x;background-position:bottom;background-size:100% 6px;background-image:linear-gradient(transparent,transparent 5px,#000 5px,#000)}.content a:hover{background-image:linear-gradient(transparent,transparent 4px,#2bbc8a 4px,#2bbc8a)}.content a.social{background:#1dcaff;font-weight:700;padding:4px}.content a.social:hover{text-decoration:underline}.content a.icon{background:0 0}.content a.icon:hover{color:#2bbc8a}.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,#2bbc8a 6px,#2bbc8a)}@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%}}.width{width:100%;max-width:39rem}@media(max-width:480px){.px3{padding-left:1rem;padding-right:1rem}.my4{margin-top:2rem;margin-bottom:2rem}}@media(min-width:480px){p{text-align:justify}}#header{width:100%;background:#63d297;padding:1em}#header #header-content{max-width:600px;margin:auto}#header .h1,#header h1{letter-spacing:.01em;font-size:1.5rem;line-height:2rem;font-style:normal;font-weight:700;color:#000;margin-top:0;margin-bottom:.5rem;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@media screen and (max-width:480px){#header .h1,#header h1{font-size:1rem}}#header a{color:inherit;text-decoration:none;background:0 0}#header #logo{display:inline-block;float:left;margin-right:20px;width:64px;height:64px;background-repeat:no-repeat;background-size:64px 64px;border-radius:5px}#header #nav{letter-spacing:.01em;font-size:.8rem;font-style:normal;font-weight:200;color:#1c140d}#header #nav ul{list-style-type:none;margin:0;padding:0;line-height:15px}#header #nav ul a{margin-right:15px;text-decoration:underline;font-weight:700}#header #nav ul a:hover{background-repeat:repeat-x;background-position:bottom;background-size:100% 6px;background-image:linear-gradient(transparent,transparent 5px,#1c140d 5px,#1c140d)}#header #nav ul li{display:inline-block;vertical-align:middle;margin-right:2px}#header #nav ul .icon{display:none}#header:hover #logo{-webkit-filter:none;filter:none}@media screen and (max-width:480px){#header #nav ul li{display:none}#header #nav ul li:nth-child(-n+2){display:inline-block}}#header-post{position:fixed;top:2rem;right:2rem;display:inline-block;float:right}#header-post a{color:inherit;text-decoration:none;background:0 0}#header-post a.icon{background:0 0}#header-post a.icon:hover{color:#2bbc8a}#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 ul li:last-child{margin-right:0}#header-post #menu-icon{float:right;margin-left:15px}#header-post #menu-icon:hover{color:#1c140d}#header-post #menu-icon-tablet{float:right;margin-left:15px}#header-post #menu-icon-tablet:hover{color:#1c140d}#header-post #top-icon-tablet{margin-left:15px;bottom:2rem;right:2rem;position:fixed}#header-post #top-icon-tablet:hover{color:#1c140d}#header-post .active{color:#1c140d}#header-post #nav{letter-spacing:.01em;font-size:.8rem;font-style:normal;font-weight:200;color:#1c140d}#header-post #nav ul{line-height:15px}#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,#1c140d 5px,#1c140d)}#header-post #nav ul li{border-right:1px dotted #1c140d}#header-post #nav ul li:last-child{border-right:0;margin-right:0}#header-post #nav ul li:last-child a{margin-right:0}#header-post #actions{float:right;margin-top:2rem;text-align:right}#header-post #actions ul{display:block}#header-post #actions .info{display:block;font-style:italic}#header-post #share{clear:both;text-align:right;padding-top:1rem}#header-post #share li{margin:0;display:block}#header-post #toc{clear:both;text-align:right;padding-top:1rem;max-width:20em;float:right}#header-post #toc a:hover{color:#2bbc8a}#header-post #toc .toc-level-1>.toc-link{display:none}#header-post #toc .toc-level-2{font-size:.8rem;color:#000}#header-post #toc .toc-level-3{font-size:.7rem;color:#999}#header-post #toc .toc-level-4{font-size:.4rem;color:#666}#header-post #toc .toc-level-5{display:none}#header-post #toc .toc-level-6{display:none}#header-post #toc .toc-number{display:none}@media screen and (max-width:600px){#header-post{display:none}}@media screen and (max-width:900px){#header-post #menu-icon{display:none}#header-post #actions{display:none}}@media screen and (max-width:1199px){#header-post #toc{display:none}}@media screen and (min-width:900px){#header-post #menu-icon-tablet{display:none!important}#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:#e6e6e6;border-top:1px solid #666673}#footer-post a{color:inherit;text-decoration:none;background:0 0}#footer-post a.icon{background:0 0}#footer-post a.icon:hover{color:#2bbc8a}#footer-post #nav-footer{margin-left:1rem;margin-right:1rem;text-align:center}#footer-post #nav-footer a{color:#1c140d;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,#1c140d 5px,#1c140d)}#footer-post #nav-footer ul{list-style-type:none;margin:0;padding:0;display:table;width:100%}#footer-post #nav-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 a{color:#1c140d}#footer-post #actions-footer ul{list-style-type:none;margin:0;padding:0;display:table;width:100%}#footer-post #actions-footer ul li{display:table-cell;vertical-align:middle}#footer-post #share-footer{margin-left:1rem;margin-right:1rem;text-align:center}#footer-post #share-footer ul{list-style-type:none;margin:0;padding:0;display:table;width:100%}#footer-post #share-footer ul li{display:inline-table;width:20%;padding:10px;vertical-align:middle}#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 a:hover{color:#2bbc8a}#footer-post #toc-footer .toc-level-1>.toc-link{display:none}#footer-post #toc-footer .toc-level-2{font-size:.8rem;color:#000}#footer-post #toc-footer .toc-level-3{font-size:.7rem;color:#b3b3b3;color:#666;line-height:15px}#footer-post #toc-footer .toc-level-4{display:none}#footer-post #toc-footer .toc-level-5{display:none}#footer-post #toc-footer .toc-level-6{display:none}#footer-post #toc-footer .toc-number{display:none}@media screen and (min-width:600px){#footer-post-container{display:none}}#cta{text-align:center;background:#f8f8f8;padding:1em;border:1px dotted #ddd}#cta form{margin-top:1em}#cta span{font-style:italic;font-size:.85em}#cta a{font-size:.85em;font-weight:700}#sociallinks{display:inline-block;list-style:none;padding:0;margin:0}#sociallinks li{display:inline-block;margin-left:.5em}#sociallinks li:after{content:", "}#sociallinks li:last-child:after{content:""}#sociallinks li:nth-last-child(2):after{content:" and "}iframe#manager-readme{width:100%;height:360px}@media(max-width:480px){iframe#manager-readme{height:250px}}.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:#333;min-width:100px;margin-right:16px}@media(min-width:480px){.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}article .posttitle{margin-top:1rem;margin-bottom:0;text-transform:none;font-size:1.5em;line-height:1.25}article .meta{margin-top:0;margin-bottom:1rem}article .meta *{color:#333;font-size:.85rem}article .author{text-transform:uppercase;letter-spacing:.01em;font-weight:700}article .postdate{margin-bottom:1rem}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}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:#333;border-left:3px solid #333;margin:1rem 10px;padding:.5em 10px;quotes:"\201C" "\201D" "\2018" "\2019"}article .content blockquote p{margin:0}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}article .content .caption{color:color-grey;display:block;font-size:.9em;margin-top:.5em;position:relative;text-align:center}.posttitle{text-transform:none;font-size:1.5em;line-height:1.25}.article-tag{padding:1em;border:1px solid #ccc}#archive .post-list{padding:0}#archive .post-list .post-item{list-style-type:none;margin-left:0;margin-bottom:1rem}#archive .post-list .post-item .meta{display:block;font-size:14px;color:#333;min-width:100px;margin-right:16px}@media(min-width:480px){#archive .post-list .post-item{display:flex;margin-left:1rem;margin-bottom:5px}#archive .post-list .post-item .meta{text-align:left}}.blog-post-comments{margin-top:2rem}.blog-post-comments .blog-post-comment-button{display:block;text-align:center;border:1px solid #000;padding:.7em 1em;margin-bottom:3em}#footer{padding-top:10px;padding-bottom:10px;color:#333;font-size:11px;max-width:700px;width:100%;margin:0 auto 1rem;vertical-align:top;text-align:center}#footer ul{margin:0;padding:0;list-style:none}#footer li{display:inline-block;vertical-align:middle;margin-right:15px;border-right:1px solid #4a4a4a}#footer li a{margin-right:15px}#footer li:last-child{border-right:0;margin-right:0}#footer li:last-child a{margin-right:0}#footer a{color:#333}#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}}.pagination{display:inline-block;margin-top:2rem;text-align:center;width:100%}.pagination .page-number{color:#000;font-size:.8rem}.pagination a{color:#000;padding:4px 6px;text-decoration:none;border-radius:5px;background-image:none}.pagination a:hover{background-image:none}.pagination a:hover:not(.active){color:#111}.highlight{color:#ddd;background:#272822}.highlight .code .keyword,.highlight .code .literal,.highlight .code .name,.highlight .code .selector-tag,.highlight .code .strong,.highlight .code .tag{color:#f92672}.highlight .code .code{color:#66d9ef}.highlight .code .class .title{color:#fff}.highlight .code .attribute,.highlight .code .link,.highlight .code .regexp,.highlight .code .symbol{color:#bf79db}.highlight .code .addition,.highlight .code .built_in,.highlight .code .builtin-name,.highlight .code .bullet,.highlight .code .emphasis,.highlight .code .section,.highlight .code .selector-attr,.highlight .code .selector-pseudo,.highlight .code .string,.highlight .code .subst,.highlight .code .template-tag,.highlight .code .template-variable,.highlight .code .title,.highlight .code .type,.highlight .code .variable{color:#a6e22e}.highlight .code .comment,.highlight .code .deletion,.highlight .code .meta,.highlight .code .quote{color:#75715e}.highlight .code .doctag,.highlight .code .keyword,.highlight .code .literal,.highlight .code .section,.highlight .code .selector-id,.highlight .code .selector-tag,.highlight .code .title,.highlight .code .type{font-weight:700}.highlight .marked{background:#444}.highlight figcaption,.highlight figcaption a{color:#eee;border-bottom:1px solid #666}pre{margin:0;font-family:Menlo,meslo lg,monospace;font-size:16px;padding:10px 15px;padding-bottom:0;line-height:22px;-webkit-border-radius:4px;border-radius:4px;border:1px dotted #666;overflow-x:auto}code{-webkit-border-radius:2px;border-radius:2px;border:1px dotted #666;padding:0 5px}pre code{border:none;display:block;padding:0}.highlight{font-family:Menlo,meslo lg,monospace;background:#333;-webkit-border-radius:4px;border-radius:4px;padding:10px 15px;overflow-x:auto;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}