html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,figcaption,figure,footer,header,main,nav{display:block}a{background-color:transparent}a:active,a:hover{outline:0}strong{font-weight:bold}h1{font-size:2em;margin:0.67em 0}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}pre{overflow:auto}code,pre{font-family:monospace, monospace;font-size:1em}table{border-collapse:collapse;border-spacing:0}td{padding:0}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;line-height:1.428571429;color:#2c3e50;background-color:#fff}a{color:#004999;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}h1,h2,h3{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}p{margin:0 0 10px}.small{font-size:85%}ul{margin-top:0;margin-bottom:10px}ul ul{margin-bottom:0}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eeeeee}blockquote p:last-child{margin-bottom:0}code,pre{font-family:Menlo, Monaco, Consolas, "Courier New", monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.container{padding-right:8px;padding-left:8px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.row{margin-right:-8px;margin-left:-8px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-10,.col-lg-12{position:relative;min-height:1px;padding-right:8px;padding-left:8px}.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-10{float:left}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-10{width:83.3333333333%}@media (min-width: 1200px){.col-lg-12{float:left}.col-lg-12{width:100%}}table{background-color:transparent}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active{background-image:none;outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn[disabled]{cursor:not-allowed;filter:alpha(opacity=65);opacity:0.65;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default:active:hover,.btn-default:active:focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default[disabled]:hover,.btn-default[disabled]:focus{background-color:#fff;border-color:#ccc}.collapse{display:none}.btn-group{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active{z-index:2}.btn-group .btn+.btn{margin-left:-1px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media (min-width: 0){.navbar{border-radius:4px}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}@media (min-width: 0){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 0){.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 0){.navbar-static-top{border-radius:0}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (min-width: 0){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}@media (min-width: 0){.navbar-right{float:right !important;margin-right:-15px}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-collapse{border-color:#e7e7e7}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:#2c3e50;background-color:#eeeeee}.jumbotron .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron{padding-top:48px;padding-bottom:48px}}.pull-right{float:right !important}.t-a-c{text-align:center !important}.lh-12{line-height:1.2 !important}.lh-14{line-height:1.4 !important}.s-w32{width:32px !important}.s-w96{width:96px !important}.title{border-bottom:1px solid #bfbfbf !important}.hr-n{border-top:none !important;border-bottom:none !important}.fl-r{float:right !important}.fl-l{float:left !important}.p-r0{padding-right:0 !important}.p-l0{padding-left:0 !important}.m-c{display:block !important;margin-right:auto !important;margin-left:auto !important}.m-a0{margin:0 !important}.m-t0{margin-top:0 !important}.m-y0{margin-top:0 !important;margin-bottom:0 !important}.m-l1{margin-left:16px !important}.m-y1{margin-top:16px !important;margin-bottom:16px !important}.ul-n{margin-left:0 !important;padding-left:0 !important;list-style-type:none !important}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:200;font-display:swap;src:url(/assets/SourceSansPro-ExtraLight.woff2) format("woff2")}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/SourceSansPro-Light.woff2) format("woff2")}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/SourceSansPro-Regular.woff2) format("woff2")}@font-face{font-family:'Source Code Pro';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/SourceCodePro-Regular.woff2) format("woff2")}.btn-default{background-color:#fff;color:#2c3e50}.btn-default:active{background-color:initial;box-shadow:none;color:rgba(255,255,255,0.4)}.btn-default:hover{background-color:rgba(0,0,0,0.05)}.btn-selected{z-index:3;border-color:#2c3e50;background-color:#2c3e50;color:#fff}.btn-selected:active{box-shadow:none}.btn-selected:hover{border-color:#2c3e50;background-color:#2c3e50;color:#fff}@-webkit-keyframes focus-in{0%{opacity:0;-webkit-filter:blur(12px);filter:blur(12px)}100%{opacity:1;-webkit-filter:blur(0);filter:blur(0)}}@keyframes focus-in{0%{opacity:0;-webkit-filter:blur(12px);filter:blur(12px)}100%{opacity:1;-webkit-filter:blur(0);filter:blur(0)}}.focus-in{-webkit-animation:focus-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:focus-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) both}@-webkit-keyframes scale-up-center{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes scale-up-center{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}html{position:relative;width:100%;min-width:932px;min-height:100%}body{width:100%;min-width:932px;margin:0 0 81px 0;padding:0;background-color:#fff;color:#2c3e50;font-family:"Source Sans Pro", Helvetica, Arial, sans-serif;font-size:16px;font-weight:300;line-height:1.8;text-align:justify}body ::-moz-selection{background:#2c3e50;color:#fff}body ::selection{background:#2c3e50;color:#fff}a:focus{outline:none}p,blockquote,pre,ul,figure{margin-bottom:16px}p:last-child,pre:last-child,ul:last-child{margin-bottom:0}strong{font-weight:400}img{max-width:100%;vertical-align:middle}figcaption{color:#828282;font-size:11px;text-align:right}figcaption code{font-size:100%}ul{margin-left:16px}li>ul{margin-bottom:0}h1,h2,h3{margin-top:16px;margin-bottom:8px;font-weight:300}h1:last-child,h2:last-child{margin-bottom:0}h1{font-size:1.4em}h2{font-size:1.2em}h3{font-size:1.1em}main{margin:0;padding:0 0 0 0}.jumbotron{width:100%;min-width:932px;margin:0;padding:60px 0 60px 0;background-color:#2c3e50;background-image:url(/assets/jumbotron.jpg);background-repeat:no-repeat;background-attachment:fixed;background-position:center top;color:#fff;text-align:center}.jumbotron img{margin-right:196.5px;margin-left:196.5px}.container{width:900px;min-width:900px;padding-right:16px;padding-left:16px}.row{margin-right:0;margin-left:0;padding-top:8px;padding-bottom:8px}.title{margin-bottom:16px;padding-top:16px;padding-bottom:8px;text-align:left}.title .btn{padding:5px 12px}.title>h1{margin-top:0;font-size:1.8em}.graphic{-webkit-animation:scale-up-center 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:scale-up-center 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;line-height:0}main a,footer a{transition:color 0.25s ease-in-out, border-color 0.25s ease-in-out;border-bottom:1px dotted rgba(0,73,153,0.4);color:#004999;text-decoration:none}main a:hover,footer a:hover{border-color:#001833;color:#001833;text-decoration:none}.stack>.row{padding:32px 0}.stack>.row>.container{padding:0 16px}.stack.odd>:nth-child(odd){background-color:rgba(128,128,128,0.1)}main li{margin:4px 0}main li:first-child{margin-top:0}main li:last-child{margin-bottom:0}main .content{padding:16px 0}main .app-icon{width:128px;height:128px}.portrait,.portrait-jumbo{-webkit-animation:scale-up-center 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:scale-up-center 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;width:100px;height:100px;margin-right:8px;border:2px solid #2c3e50;border-radius:100px}.portrait img,.portrait-jumbo img{width:96px;height:96px;margin:0;-webkit-clip-path:circle(46.5px at center);clip-path:circle(46.5px at center)}.portrait-jumbo{width:128px;height:128px;border-radius:128px}.portrait-jumbo img{width:124px;height:124px;-webkit-clip-path:circle(60.5px at center);clip-path:circle(60.5px at center)}.portrait-jumbo{border:2px solid #f4f4f4}header .navbar{transition:color 0.3s ease-in-out, background-color 0.3s ease-in-out;margin:0;padding:8px 0;border:none;border-radius:0;background-color:#2c3e50;background-image:url(/assets/jumbotron.jpg);background-repeat:no-repeat;background-attachment:fixed;background-position:center top;color:#fff;font-size:16px;font-weight:300}header .navbar .navbar-right{padding-right:16px}header .navbar .nav a{transition:color 0.3s ease-in-out, background-color 0.3s ease-in-out;margin:8px;padding:8px;border:none;border-radius:4px;background-color:rgba(255,255,255,0);color:#fff}header .navbar .nav a:hover{background-color:rgba(255,255,255,0.125);color:#fff}footer{position:absolute;bottom:0;width:100%;padding:8px 0;border-top:1px solid #bfbfbf;background-color:rgba(128,128,128,0.1)}footer nav{display:inline-block;padding:8px 0;font-size:15px}footer nav ul{display:inline-block;margin:0;padding-left:0}footer nav ul>li{display:inline-block;padding:0 2px;list-style-type:none}footer .social{display:inline-block;margin:0;padding:8px 0;float:right}footer .social>li{display:inline-block;width:32px;height:32px;margin-right:2px;margin-left:2px;padding:6px 0}footer .social>li:not(:first-child){margin-left:2px}footer .copy{margin-left:0;padding:0 4px;font-size:12px}footer .icon{border:none !important}footer .icon:hover{border:none !important}footer .icon>svg{display:inline-block;width:32px;height:32px;margin:0;padding:0}footer .icon>svg .bg{fill:#fff}footer .icon>svg.github .fg{fill:#606060}footer .icon>svg.github .bg{stroke:#606060}footer .icon>svg.github:hover .fg{fill:#fff}footer .icon>svg.github:hover .bg{fill:#606060}footer .icon>svg.twitter .fg{fill:#78cdf0}footer .icon>svg.twitter .bg{stroke:#78cdf0}footer .icon>svg.twitter:hover .fg{fill:#fff}footer .icon>svg.twitter:hover .bg{fill:#78cdf0}footer .icon>svg.linkedin .fg{fill:#2980b4}footer .icon>svg.linkedin .bg{stroke:#2980b4}footer .icon>svg.linkedin:hover .fg{fill:#fff}footer .icon>svg.linkedin:hover .bg{fill:#2980b4}footer .icon>svg.rss .fg{fill:#ff981f}footer .icon>svg.rss .bg{stroke:#ff981f}footer .icon>svg.rss:hover .fg{fill:#fff}footer .icon>svg.rss:hover .bg{fill:#ff981f}footer .icon>svg.email .fg{fill:#27bd93}footer .icon>svg.email .bg{stroke:#27bd93}footer .icon>svg.email:hover .fg{fill:#fff}footer .icon>svg.email:hover .bg{fill:#27bd93}table{width:100%;margin-bottom:16px;border-collapse:collapse;border-radius:6px}table td{padding:0 16px}table tr:first-child td{border-top:none}.description-table-200 td:nth-child(1){width:200px}pre,code{border:0 none #2c3e50;border-radius:3px;font-family:'Source Code Pro', monospace;-moz-tab-size:4;-o-tab-size:4;tab-size:4}code{padding:0;background-color:unset;color:inherit;font-size:14px;font-weight:600;line-height:1.8}pre{padding:2px 8px;overflow-x:auto;border-radius:8px;background-color:rgba(128,128,128,0.1);color:#2c3e50}pre>code{padding-right:0;padding-left:0;border:none;background-color:unset}.highlight{border-right:0 solid rgba(154,154,154,0.1);border-left:0 solid rgba(154,154,154,0.1);font-size:11px;font-weight:600}.highlight code{font-size:11px;font-weight:600}.highlight .o{color:#3498db}.highlight .p{color:#2c3e50}.highlight .cp{color:#eb9950}.highlight .c1{color:#828282;font-style:italic}.highlight .gp{color:#1abc9c}.highlight .k{color:#b07cc6}.highlight .kt{color:#b07cc6}.highlight .n{color:#1abc9c}.highlight .nb{color:#b07cc6}.highlight .nc{color:#1abc9c}.highlight .nt{color:#1abc9c}.highlight .nv{color:#3498db}.highlight .nf{color:#3498db}.highlight .mi{color:#eb9950}.highlight .s{color:#e74c3c}blockquote{padding:2px 8px;border-right:4px solid #e8e8e8;border-left:4px solid #e8e8e8;border-radius:6px;background-color:#f8f8f8;color:#424242;font-size:16px;font-weight:300}blockquote>:last-child{margin-bottom:0}.viewer{position:relative;margin-bottom:16px;overflow:hidden;border:1px solid #bfbfbf;border-radius:6px;background-color:#f4f4f4}.viewer .view{display:inline-block;position:absolute;width:662px;margin:0 208px 0 0;overflow:hidden}.viewer .view>img{height:100%;margin:auto 0;overflow:hidden}.viewer ul{display:inline-block;position:absolute;top:0;right:0;bottom:0;width:208px;margin:0;padding:16px;overflow:auto}.viewer ul li{display:block;width:180px;margin:7px 0;overflow:hidden;border:3px solid #f4f4f4;border-radius:6px}.viewer ul li:hover{border-color:#2c3e50}.viewer ul li.selected{border:3px solid #507192}.viewer ul li.selected:hover{border:3px solid #507192}.viewer ul li:first-child{margin-top:0}.viewer ul li:last-child{margin-bottom:0}.viewer-480{height:480px}.posts{margin-bottom:16px}.posts article{padding-top:16px;padding-bottom:16px}.posts article h1,.posts article h2,.posts article h3{margin-top:32px;margin-bottom:8px;padding-bottom:4px;font-weight:300}.posts article h1:first-child{margin-top:0}.posts .post-date{font-size:1.8rem;line-height:1;text-align:right}.posts .post-year{font-size:3.2rem;line-height:1;text-align:right}.posts .post-author{margin-right:8px;font-size:1.4rem;line-height:1;text-align:right}.posts .post-readmore{margin-top:8px;margin-right:8px;font-size:1.4rem;text-align:right}.posts .listing{padding-top:16px;padding-bottom:16px;border-bottom:1px solid #bfbfbf}.posts .listing h1{margin:0 0 8px 0;font-size:2rem;line-height:1}.posts .listing h2{margin:0;font-size:1.6rem;line-height:1}.posts .listing p{padding:8px 0;font-size:1.4rem}.posts .listing:last-child{border-bottom:0 none}.posts .title{padding-top:0}.posts .title h1{margin-top:0;font-size:2.8rem}.posts .title h2{margin-top:0;font-size:16px}@media (prefers-color-scheme: dark){body{background-color:#323232;color:#dddddd}body ::-moz-selection{background:#3f638b;color:#dddddd}body ::selection{background:#3f638b;color:#dddddd}.stack.odd>:nth-child(odd){background-color:#2c2c2c}main a,footer a{color:#0a84ff}main a:hover,footer a:hover{border-color:#0051a3;color:#0051a3}.portrait,.portrait-jumbo{border-color:#dddddd}.btn-default{border-color:#dddddd;background-color:#323232;color:#dddddd}.btn-default:active{border-color:#dddddd !important;background-color:rgba(255,255,255,0.4) !important;color:#dddddd !important}.btn-default:hover{border-color:#dddddd;background-color:rgba(255,255,255,0.1);color:#dddddd}.btn-selected{border-color:#dddddd;background-color:#dddddd;color:#323232}.btn-selected:hover{border-color:#dddddd;background-color:#dddddd;color:#323232}footer{border-top-color:#1f1f1f;background-color:#2c2c2c}footer .icon>svg .bg{fill:#2c2c2c}footer .icon>svg.github .fg{fill:#dddddd}footer .icon>svg.github .bg{stroke:#dddddd}footer .icon>svg.github:hover .fg{fill:#2c2c2c}footer .icon>svg.github:hover .bg{fill:#dddddd}footer .icon>svg.twitter .fg{fill:#78cdf0}footer .icon>svg.twitter .bg{stroke:#78cdf0}footer .icon>svg.twitter:hover .fg{fill:#2c2c2c}footer .icon>svg.twitter:hover .bg{fill:#78cdf0}footer .icon>svg.linkedin .fg{fill:#2980b4}footer .icon>svg.linkedin .bg{stroke:#2980b4}footer .icon>svg.linkedin:hover .fg{fill:#2c2c2c}footer .icon>svg.linkedin:hover .bg{fill:#2980b4}footer .icon>svg.rss .fg{fill:#ff981f}footer .icon>svg.rss .bg{stroke:#ff981f}footer .icon>svg.rss:hover .fg{fill:#2c2c2c}footer .icon>svg.rss:hover .bg{fill:#ff981f}footer .icon>svg.email .fg{fill:#27bd93}footer .icon>svg.email .bg{stroke:#27bd93}footer .icon>svg.email:hover .fg{fill:#2c2c2c}footer .icon>svg.email:hover .bg{fill:#27bd93}pre{background-color:#2c2c2c;color:#dddddd}.highlight .p{color:#dddddd !important}.viewer{border-color:#1f1f1f;background-color:#373737}.viewer ul li{border-color:#373737}.viewer ul li:hover{border-color:#0a84ff}.viewer ul li.selected{border-color:#1f1f1f}.viewer ul li.selected:hover{border-color:#1f1f1f}}
