*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{margin:0;padding:0}html{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:16px;line-height:1.5}@media (min-width: 38rem){html{font-size:20px}}body{color:#515151;background-color:#fff;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a{color:#227bba;text-decoration:none}a:hover,a:focus{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:bold;line-height:1.25;color:#313131;text-rendering:optimizeLegibility}h1{font-size:2rem}h2{margin-top:1rem;font-size:1.5rem}h3{margin-top:1.5rem;font-size:1.25rem}h4,h5,h6{margin-top:1rem;font-size:1rem}p{margin-top:0;margin-bottom:1rem}strong{color:#303030}ul,ol,dl{margin-top:0;margin-bottom:1rem}dt{font-weight:bold}dd{margin-bottom:.5rem}hr{position:relative;margin:1.5rem 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr{font-size:85%;font-weight:bold;color:#555;text-transform:uppercase}abbr[title]{cursor:help;border-bottom:1px dotted #e5e5e5}code,pre{font-family:Menlo, Monaco, "Courier New", monospace}code{padding:.25em .5em;font-size:85%;color:#bf616a;background-color:#f9f9f9;border-radius:3px}pre{display:block;margin-top:0;margin-bottom:1rem;padding:1rem;font-size:.8rem;line-height:1.4;white-space:pre;white-space:pre-wrap;word-break:break-all;word-wrap:break-word;background-color:#f9f9f9}pre code{padding:0;font-size:100%;color:inherit;background-color:transparent}.highlight{margin-bottom:1rem;border-radius:4px}.highlight pre{margin-bottom:0}blockquote{padding:.5rem 1rem;margin:.8rem 0;color:#7a7a7a;border-left:.25rem solid #e5e5e5}blockquote p:last-child{margin-bottom:0}@media (min-width: 30rem){blockquote{padding-right:5rem;padding-left:1.25rem}}img{display:block;margin:0 0 1rem;border-radius:5px}table{margin-bottom:1rem;width:100%;border:1px solid #e5e5e5;border-collapse:collapse}td,th{padding:.25rem .5rem;border:1px solid #e5e5e5}tbody tr:nth-child(odd) td,tbody tr:nth-child(odd) th{background-color:#f9f9f9}.lead{font-size:1.25rem;font-weight:300}.message{margin-bottom:1rem;padding:1rem;color:#717171;background-color:#f9f9f9}.container{max-width:38rem;padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}.masthead{padding-top:1rem;padding-bottom:1rem;margin-bottom:3rem}.masthead-title{margin-top:0;margin-bottom:0;color:#505050}.masthead-title a{color:#505050}.masthead-title small{font-size:75%;font-weight:400;color:#c0c0c0;letter-spacing:0}.page,.post{margin-bottom:4em}.page-title{color:#303030}.post-title{color:#303030}.post-title a{color:#303030}.page-title,.post-title{margin-top:0}.post-date{display:block;margin-top:-.5rem;margin-bottom:1rem;color:#9a9a9a}.related{padding-top:2rem;padding-bottom:2rem;border-top:1px solid #eee}.related-posts{padding-left:0;list-style:none}.related-posts h3{margin-top:0}.related-posts li small{font-size:75%;color:#999}.related-posts li a:hover{color:#268bd2;text-decoration:none}.related-posts li a:hover small{color:inherit}.pagination{overflow:hidden;margin-left:-1rem;margin-right:-1rem;font-family:"PT Sans", Helvetica, Arial, sans-serif;color:#ccc;text-align:center}.pagination-item{display:block;padding:1rem;border:1px solid #eee}.pagination-item:first-child{margin-bottom:-1px}a.pagination-item:hover{background-color:#f5f5f5}@media (min-width: 30rem){.pagination{margin:3rem 0}.pagination-item{float:left;width:50%}.pagination-item:first-child{margin-bottom:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-item:last-child{margin-left:-1px;border-top-right-radius:4px;border-bottom-right-radius:4px}}.hll{background-color:#ffffcc}.c{color:#999}.err{color:#AA0000;background-color:#FFAAAA}.k{color:#006699}.o{color:#555555}.cm{color:#0099FF;font-style:italic}.cp{color:#009999}.c1{color:#999}.cs{color:#999}.gd{background-color:#FFCCCC;border:1px solid #CC0000}.ge{font-style:italic}.gr{color:#FF0000}.gh{color:#003300}.gi{background-color:#CCFFCC;border:1px solid #00CC00}.go{color:#AAAAAA}.gp{color:#000099}.gu{color:#003300}.gt{color:#99CC66}.kc{color:#006699}.kd{color:#006699}.kn{color:#006699}.kp{color:#006699}.kr{color:#006699}.kt{color:#007788}.m{color:#FF6600}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#336666}.nc{color:#00AA88}.no{color:#336600}.nd{color:#9999FF}.ni{color:#999999}.ne{color:#CC0000}.nf{color:#CC00FF}.nl{color:#9999FF}.nn{color:#00CCFF}.nt{color:#2f6f9f}.nv{color:#003333}.ow{color:#000000}.w{color:#bbbbbb}.mf{color:#FF6600}.mh{color:#FF6600}.mi{color:#FF6600}.mo{color:#FF6600}.sb{color:#CC3300}.sc{color:#CC3300}.sd{color:#CC3300;font-style:italic}.s2{color:#CC3300}.se{color:#CC3300}.sh{color:#CC3300}.si{color:#AA0000}.sx{color:#CC3300}.sr{color:#33AAAA}.s1{color:#CC3300}.ss{color:#FFCC33}.bp{color:#336666}.vc{color:#003333}.vg{color:#003333}.vi{color:#003333}.il{color:#FF6600}.css .o,.css .o+.nt,.css .nt+.nt{color:#999}.highlight pre{white-space:pre;word-wrap:normal;overflow:auto}.highlight pre code{white-space:pre;word-wrap:normal}html,body{overflow-x:hidden}html{font-family:"PT Serif", Georgia, "Times New Roman", serif}h1,h2,h3,h4,h5,h6{font-family:"PT Sans", Helvetica, Arial, sans-serif;font-weight:400;color:#313131;letter-spacing:-.025rem}.wrap{position:relative;width:100%}.container{max-width:28rem}@media (min-width: 38rem){.container{max-width:32rem}}@media (min-width: 56rem){.container{max-width:38rem}}.masthead{padding-top:1rem;padding-bottom:1rem;margin-bottom:3rem;border-bottom:1px solid #eee}.masthead-title{margin-top:0;margin-bottom:0;color:#505050}.masthead-title a{color:#313131}.masthead-title small{font-size:75%;font-weight:400;color:#757575;letter-spacing:0}@media (max-width: 48rem){.masthead-title{text-align:center}.masthead-title small{display:none}}.sidebar{position:fixed;top:0;bottom:0;left:-14rem;width:14rem;visibility:hidden;overflow-y:auto;font-family:"PT Sans", Helvetica, Arial, sans-serif;font-size:.875rem;color:rgba(255,255,255,0.6);background-color:#202020;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.sidebar a{font-weight:normal;color:#fff}@media (min-width: 30rem){.sidebar{font-size:.75rem}}.sidebar-item{padding:1rem}.sidebar-item p:last-child{margin-bottom:0}.sidebar-nav{border-bottom:1px solid rgba(255,255,255,0.1)}.sidebar-nav-item{display:block;padding:.5rem 1rem;border-top:1px solid rgba(255,255,255,0.1)}.sidebar-nav-item.active{text-decoration:none;background-color:rgba(255,255,255,0.1);border-color:transparent}a.sidebar-nav-item:hover,a.sidebar-nav-item:focus{text-decoration:none;background-color:rgba(255,255,255,0.1);border-color:transparent}@media (min-width: 48rem){.sidebar-item{padding:1.5rem}.sidebar-nav-item{padding-left:1.5rem;padding-right:1.5rem}}.sidebar-checkbox{display:none}.sidebar-toggle{position:absolute;top:1rem;left:1rem;display:block;width:2.2rem;padding:.5rem .65rem;color:#505050;background-color:#fff;border-radius:4px;cursor:pointer}.sidebar-toggle:before{display:block;content:"";width:100%;padding-bottom:.125rem;border-top:.375rem double;border-bottom:.125rem solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-toggle:active{color:#fff;background-color:#505050}#sidebar-checkbox:checked ~ .sidebar-toggle{color:#fff;background-color:#505050}@media (min-width: 30.1rem){.sidebar-toggle{position:fixed;width:2.25rem}.sidebar-toggle:before{padding-bottom:.15rem;border-top-width:.45rem;border-bottom-width:.15rem}}.wrap,.sidebar,.sidebar-toggle{-webkit-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.wrap,.sidebar-toggle{-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}#sidebar-checkbox:checked+.sidebar{visibility:visible}#sidebar-checkbox:checked ~ .sidebar,#sidebar-checkbox:checked ~ .wrap,#sidebar-checkbox:checked ~ .sidebar-toggle{-webkit-transform:translateX(14rem);-ms-transform:translateX(14rem);transform:translateX(14rem)}.page,.post{margin-bottom:4em}.page-title{color:#303030}.post-title{color:#303030}.post-title a{color:#303030}.page-title,.post-title{margin-top:0}.post-date{display:block;margin-top:-.5rem;margin-bottom:1rem;color:#9a9a9a}.related{padding-top:2rem;padding-bottom:2rem;border-top:1px solid #eee}.related-posts{padding-left:0;list-style:none}.related-posts h3{margin-top:0}.related-posts li small{font-size:75%;color:#999}.related-posts li a:hover{color:#268bd2;text-decoration:none}.related-posts li a:hover small{color:inherit}.pagination{overflow:hidden;margin-left:-1rem;margin-right:-1rem;font-family:"PT Sans", Helvetica, Arial, sans-serif;color:#ccc;text-align:center}.pagination-item{display:block;padding:1rem;border:1px solid #eee}.pagination-item:first-child{margin-bottom:-1px}a.pagination-item:hover{background-color:#f5f5f5}@media (min-width: 30rem){.pagination{margin:3rem 0}.pagination-item{float:left;width:50%}.pagination-item:first-child{margin-bottom:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-item:last-child{margin-left:-1px;border-top-right-radius:4px;border-bottom-right-radius:4px}}.layout-reverse .sidebar{left:auto;right:-14rem}.layout-reverse .sidebar-toggle{left:auto;right:1rem}.layout-reverse #sidebar-checkbox:checked ~ .sidebar,.layout-reverse #sidebar-checkbox:checked ~ .wrap,.layout-reverse #sidebar-checkbox:checked ~ .sidebar-toggle{-webkit-transform:translateX(-14rem);-ms-transform:translateX(-14rem);transform:translateX(-14rem)}.theme-base-08 .sidebar,.theme-base-08 .sidebar-toggle:active,.theme-base-08 #sidebar-checkbox:checked ~ .sidebar-toggle{background-color:#ac4142}.theme-base-08 .container a,.theme-base-08 .sidebar-toggle,.theme-base-08 .related-posts li a:hover{color:#ac4142}.theme-base-09 .sidebar,.theme-base-09 .sidebar-toggle:active,.theme-base-09 #sidebar-checkbox:checked ~ .sidebar-toggle{background-color:#d28445}.theme-base-09 .container a,.theme-base-09 .sidebar-toggle,.theme-base-09 .related-posts li a:hover{color:#d28445}.theme-base-0a .sidebar,.theme-base-0a .sidebar-toggle:active,.theme-base-0a #sidebar-checkbox:checked ~ .sidebar-toggle{background-color:#f4bf75}.theme-base-0a .container a,.theme-base-0a .sidebar-toggle,.theme-base-0a .related-posts li a:hover{color:#f4bf75}.theme-base-0b .sidebar,.theme-base-0b .sidebar-toggle:active,.theme-base-0b #sidebar-checkbox:checked ~ .sidebar-toggle{background-color:#90a959}.theme-base-0b .container a,.theme-base-0b .sidebar-toggle,.theme-base-0b .related-posts li a:hover{color:#90a959}.theme-base-0c .sidebar,.theme-base-0c .sidebar-toggle:active,.theme-base-0c #sidebar-checkbox:checked ~ .sidebar-toggle{background-color:#75b5aa}.theme-base-0c .container a,.theme-base-0c .sidebar-toggle,.theme-base-0c .related-posts li a:hover{color:#75b5aa}.theme-base-0d .sidebar,.theme-base-0d .sidebar-toggle:active,.theme-base-0d #sidebar-checkbox:checked ~ .sidebar-toggle{background-color:#6a9fb5}.theme-base-0d .container a,.theme-base-0d .sidebar-toggle,.theme-base-0d .related-posts li a:hover{color:#6a9fb5}.theme-base-0e .sidebar,.theme-base-0e .sidebar-toggle:active,.theme-base-0e #sidebar-checkbox:checked ~ .sidebar-toggle{background-color:#aa759f}.theme-base-0e .container a,.theme-base-0e .sidebar-toggle,.theme-base-0e .related-posts li a:hover{color:#aa759f}.theme-base-0f .sidebar,.theme-base-0f .sidebar-toggle:active,.theme-base-0f #sidebar-checkbox:checked ~ .sidebar-toggle{background-color:#8f5536}.theme-base-0f .container a,.theme-base-0f .sidebar-toggle,.theme-base-0f .related-posts li a:hover{color:#8f5536}header.masthead{position:fixed;width:100%;padding-bottom:0.55rem;background:white;z-index:500}@media (min-width: 38rem){header.masthead{padding-bottom:0.55rem}}.masthead-nav-item{margin-left:0.75rem}.masthead-nav-item:not(:first-child){padding-left:0}.masthead-nav-item.github{display:none;color:#313131;text-decoration:none;margin-left:0.625rem;padding-left:0;transition:color linear 150ms}.masthead-nav-item.github:hover{color:#268bd2}@media (min-width: 25rem){.masthead-nav-item.github{display:inline-block}}.masthead-nav-item .devicons{font-size:125%;line-height:0;position:relative;top:0.2rem;margin-right:0.125rem}main{margin-top:5.825rem}.anchor{position:relative;top:-4rem}a[type=button]:hover{text-decoration:none}p.workplace{margin:0}p.workplace img{display:inline;margin:0 0 -0.5rem}p.workplace ~ h3{margin-top:0.25rem}@media (min-width: 38rem){p.workplace ~ h3{margin-top:0.5rem}}.sponsor-calls-to-action{display:flex;justify-content:space-evenly}.sponsor-calls-to-action>.patreon-button{display:flex;align-items:center;padding:0 12px 0 4px;color:white;font-size:14px;font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;font-weight:600;border-radius:8px;background-color:#FC414C}.sponsor-calls-to-action>.patreon-button img{margin:0 8px 0}footer>ul{display:flex;justify-content:space-between;flex-wrap:wrap;padding:0;list-style:none}footer>ul li{min-width:25%;text-align:start;margin-bottom:0.75rem}footer>ul li:not(:first-child):not(:last-child){text-align:center}footer>ul li>a.icon{display:flex;align-items:center;margin-top:0.25rem}footer>ul li>a.icon img{display:inline;margin:0 4px 0 0}@media (min-width: 30rem){footer>ul{flex-direction:row;justify-content:space-between;flex-wrap:wrap}footer>ul li{margin-bottom:0}}.social.footer{text-align:start;margin-top:1rem;position:relative;top:-0.25rem}.social.footer .social-row{margin:0}.social.footer .social-row a{margin:0 0.125rem}.social.footer .social-row img{width:2rem}@media (min-width: 30rem){.social.footer{margin-top:0.25rem}}@media (min-width: 56rem){footer{text-align:left}.social.footer{float:right}.social.footer .social-row{text-align:right}}.masthead>.container{max-width:32rem}@media (min-width: 38rem){.masthead>.container{max-width:38rem}}@media (min-width: 56rem){.masthead>.container{max-width:46rem}}.masthead{margin-bottom:2rem}.masthead-title{display:inline-block;text-align:left}.masthead-title img{display:inline;margin:-0.6rem 0.5rem -1rem 0;width:3rem;border-radius:3rem}.masthead-title small{margin-left:0.125rem}.masthead-nav,body>footer{font-family:"PT Sans", Helvetica, Arial, sans-serif;font-weight:400}.masthead-nav{margin:0.25rem 0;float:right}.masthead-nav a{color:#202020}@media (min-width: 38rem){.masthead-nav{margin:0.375rem 0}}.masthead-nav-item{padding-left:0.75rem}.masthead-nav-item:first-child{padding:0;border:none}.masthead-nav-separator{margin:0 0.25rem;border-left:1px solid #eee}.masthead-nav-separator:first-child{display:none}.sidebar-nav-separator{display:block;border-top:0.175rem solid rgba(255,255,255,0.2)}.sidebar-nav-item .devicons{font-size:150%;position:relative;top:0.2rem;margin-right:0.125rem}.sidebar-item p:not(:nth-last-child(2)){margin-bottom:0.5rem}footer{margin-bottom:1em}.post,.page{margin-bottom:3rem}a[aria-disabled="true"]{opacity:0.4}img{max-width:100%;border-radius:0}.message.success{color:#ffffff;background-color:#75e06c}.message.info{color:#ffffff;background-color:#63bce9}.message.warning{color:#ffffff;background-color:#e9d263}.message.error{color:#ffffff;background-color:#e06c6c}.quote{padding:.5rem 5rem .5rem 1.25rem;margin:.8rem 0;color:#7a7a7a;border-left:.25rem solid #e5e5e5}.quote blockquote{padding:0;margin:0;border-left:none}.quote .citation{color:#a5a5a5;text-align:right;display:block;margin-top:0.5rem}.quote .citation span::before{content:'\2014\00a0'}abbr.subtle{font-size:100%;font-weight:normal;text-transform:none;border-bottom-color:#d5d5d5;cursor:default}.message,.highlight pre{border-radius:4px;background-color:#f6f6f6}.footnotes{font-size:90%;margin:2rem 0 -2rem;padding-top:1rem;border-top:1px solid #eee}.no-footnotes a.footnote,.no-footnotes .footnotes{display:none}#projects ul{list-style:none;padding:0}#projects small{font-size:80%;text-indent:1rem;display:block;margin-top:0.125rem}#projects a.project-link{color:#313131;font-size:150%;line-height:0;text-decoration:none;margin-top:-0.125rem;float:right;transition:color linear 150ms}#projects a.project-link:hover{color:#268bd2}#projects a.project-link.android>span{font-size:0.75em}#projects>.featured{margin-bottom:3rem}#projects>.featured h3,#projects>.featured a,#projects>.featured img{line-height:1}#projects>.featured h3{display:inline-block;margin-top:1rem}#projects>.featured li:not(:last-child){border-bottom:solid 1px #eee}#projects>.featured a.badge{display:inline-flex;flex-direction:row;justify-content:center;margin:0.5rem 0.75rem;padding:0}#projects>.featured a>img{margin:0;max-height:3rem}#projects>.featured h3>a{display:inline-flex;flex-direction:row;justify-content:center;color:black;text-decoration:none;padding:0.5rem 0.75rem;background:#f2f2f2;border-radius:0.375rem}#projects>.featured h3>a:hover,#projects>.featured h3>a:focus,#projects>.featured h3>a:active{transform:scale(1.05);transform-origin:center}#projects>.featured h3>a img{margin:0 0.5rem 0 0}#projects>.featured h3>a span.project-name{align-self:center}#projects>.featured a.project-link{margin-top:1rem}footer>small.attribution{display:block;font-size:0.6rem}.social:not(.footer){margin:2rem 0}.social-row{text-align:center;line-height:1;margin-bottom:0.5rem}.social-row a{text-decoration:none;margin:0 0.25rem;cursor:pointer}.social-row a img{display:inline;margin:0;width:2.75rem}.social-row a img:hover{transform:scale(1.1)}.social-row a img:active{transform:scale(0.9)}
