.text-right{text-align:right}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}figure.youtube{display:block;position:relative;padding-bottom:56.23%;height:0;overflow:hidden}figure.youtube img{padding:0;bottom:0;display:block;left:0;margin:auto;max-width:100%;width:100%;position:absolute;right:0;top:0;border:none;height:auto;cursor:pointer;-webkit-transition:.4s all;-moz-transition:.4s all;transition:.4s all}figure.youtube iframe{position:absolute;width:100%;height:100%;margin:0;padding:0}figure.youtube .play{height:72px;width:72px;left:50%;top:50%;margin-left:-36px;margin-top:-36px;position:absolute;background:url("https://i.imgur.com/QCRq2oe.png") center center no-repeat;cursor:pointer}.cards>ul{list-style-type:none;padding:0;margin:0;counter-reset:section}.cards>ul:after{content:'';clear:both;display:table}.cards>ul>li{margin-bottom:1rem}.cards>ul>li>a{display:block;padding:1rem;font-weight:500;color:#23232a;background-color:#f3f6fa;border-color:#dce6f0;border-style:solid;border-width:1px;border-radius:0.3rem;transition:color 0.2s, background-color 0.2s, border-color 0.2s}.cards>ul>li>a:before{counter-increment:section;content:counter(section) ". "}.cards>ul>li>a:hover{color:#17171c;text-decoration:none;background-color:#e1e9f3;border-color:#cad9e8}/*! normalize.css v3.0.2 | MIT License | git.io/normalize */*{box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .cm{color:#999988;font-style:italic}.highlight .cp{color:#999999;font-weight:bold}.highlight .c1{color:#999988;font-style:italic}.highlight .cs{color:#999999;font-weight:bold;font-style:italic}.highlight .c,.highlight .cd{color:#999988;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .gd{color:#000000;background-color:#ffdddd}.highlight .ge{color:#000000;font-style:italic}.highlight .gr{color:#aa0000}.highlight .gh{color:#999999}.highlight .gi{color:#000000;background-color:#ddffdd}.highlight .go{color:#888888}.highlight .gp{color:#555555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaaaaa}.highlight .gt{color:#aa0000}.highlight .kc{color:#000000;font-weight:bold}.highlight .kd{color:#000000;font-weight:bold}.highlight .kn{color:#000000;font-weight:bold}.highlight .kp{color:#000000;font-weight:bold}.highlight .kr{color:#000000;font-weight:bold}.highlight .kt{color:#445588;font-weight:bold}.highlight .k,.highlight .kv{color:#000000;font-weight:bold}.highlight .mf{color:#009999}.highlight .mh{color:#009999}.highlight .il{color:#009999}.highlight .mi{color:#009999}.highlight .mo{color:#009999}.highlight .m,.highlight .mb,.highlight .mx{color:#009999}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .s{color:#d14}.highlight .na{color:#008080}.highlight .bp{color:#999999}.highlight .nb{color:#0086B3}.highlight .nc{color:#445588;font-weight:bold}.highlight .no{color:#008080}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:#800080}.highlight .ne{color:#990000;font-weight:bold}.highlight .nf{color:#990000;font-weight:bold}.highlight .nl{color:#990000;font-weight:bold}.highlight .nn{color:#555555}.highlight .nt{color:#000080}.highlight .vc{color:#008080}.highlight .vg{color:#008080}.highlight .vi{color:#008080}.highlight .nv{color:#008080}.highlight .ow{color:#000000;font-weight:bold}.highlight .o{color:#000000;font-weight:bold}.highlight .w{color:#bbbbbb}.highlight{background-color:#f8f8f8}html,body{min-height:100%;-webkit-tap-highlight-color:transparent}html{transition:margin-left 218ms cubic-bezier(0.4, 0, 0.2, 1)}body{padding:0;margin:0;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";line-height:1.5;font-size:1rem;color:#2d3438;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}a{color:#23232a;text-decoration:none}a:hover{text-decoration:underline}.container{max-width:64rem;margin:0 auto}.container:after{content:'';display:table;clear:both}.project-title{margin-top:0;margin-bottom:0;text-shadow:0 2px 2px rgba(0,0,0,0.2);font-weight:400;line-height:1.1}.project-title a{color:#fff;text-decoration:none}@media screen and (min-width: 64em){.project-title{font-size:3.25rem}}@media screen and (min-width: 42em) and (max-width: 64em){.project-title{font-size:2.25rem}}@media screen and (max-width: 42em){.project-title{font-size:1.75rem}}.project-description{margin-top:1rem;margin-bottom:0;font-weight:normal;opacity:0.7}@media screen and (min-width: 64em){.project-description{font-size:1.25rem}}@media screen and (min-width: 42em) and (max-width: 64em){.project-description{font-size:1.15rem}}@media screen and (max-width: 42em){.project-description{font-size:1rem}}.project-buttons{margin-top:1rem}.project-button{display:inline-block;color:rgba(255,255,255,0.7);background-color:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);border-radius:0.3rem}.project-button:hover{transition:color 0.2s, background-color 0.2s, border-color 0.2s;color:rgba(255,255,255,0.8);text-decoration:none;background-color:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.3)}.project-button+.project-button{margin-left:1rem}@media screen and (max-width: 42em){.project-button+.project-button{margin-top:1rem;margin-left:0}}@media screen and (min-width: 64em){.project-button{padding:0.75rem 1rem}}@media screen and (min-width: 42em) and (max-width: 64em){.project-button{padding:0.6rem 0.9rem;font-size:0.9rem}}@media screen and (max-width: 42em){.project-button{display:block;width:100%;padding:0.75rem;font-size:0.9rem}.project-button+.project-button{margin-top:1rem;margin-left:0}}.page-wrapper{display:flex;flex-direction:column;min-height:100vh}.page-layout{max-width:64rem;margin:0 auto}.page-layout-toolbar{display:flex;flex-direction:row;min-height:100%}.page-layout-header{padding:1rem}.page-layout-footer{padding:1rem}.page-layout-content{padding:0 1rem}.page-layout-header-home{text-align:center}@media screen and (min-width: 64em){.page-layout-header-home{padding:5rem 1rem}}@media screen and (min-width: 42em) and (max-width: 64em){.page-layout-header-home{padding:3rem 1rem}}@media screen and (max-width: 42em){.page-layout-header-home{padding:2rem 1rem}}.page-toolbar{transition:margin-left 218ms cubic-bezier(0.4, 0, 0.2, 1);background:#23232a;z-index:20;transition:top 0.3s ease-in-out;height:3.5rem;top:-3.5rem;color:#fff}.page-toolbar.is-sticky{box-shadow:0 0 0.5rem rgba(0,0,0,0.15);position:sticky;top:0}.page-toolbar-item{display:flex;padding:0.5rem}.page-toolbar-brand{display:flex;font-size:1.5rem;align-items:center;padding:0 0.5rem;color:#fff}.page-toolbar-brand:hover{text-decoration:none}.page-toolbar-button{padding:0 0.5rem;display:flex;align-items:center;color:#fff;border-radius:0.5rem}.page-toolbar-button:hover{transition:color 0.2s, background-color 0.2s;background-color:rgba(255,255,255,0.15);text-decoration:none}.page-toolbar-button.active:hover,.page-toolbar-button.active{background-color:rgba(255,255,255,0.15);color:#fff}.page-toolbar-list{display:none}.page-toolbar-nav{flex:1;min-height:0;display:flex;flex-direction:row;gap:1rem;padding:0 1rem}.page-toolbar-link{display:flex;align-items:center;color:#fff}@media screen and (max-width: 42em){.page-toolbar-link{display:none}}.page-toolbar-menu{display:none}.page-toolbar-share{display:none}@media (hover: none){.page-toolbar-share{display:flex}}.page-toolbar svg{width:1.5rem;fill:currentColor}.page-header{color:#fff;background:#23232a}.page-header :last-child{margin-bottom:0}.page-header-layout{padding:1rem}.page-projects{float:left;position:relative}.page-projects ul{transition:opacity 0.2s;border:1px solid rgba(255,255,255,0.15);box-shadow:0 0 0.5rem rgba(0,0,0,0.15);background-color:#fff;position:absolute;display:none;top:100%;padding:0.5rem 0;margin:0;opacity:0;list-style:none;max-height:450px;overflow:auto}.page-projects ul li{white-space:nowrap}.page-projects ul li a{display:block;padding:0.5rem 1rem}.page-projects ul li a:hover{background-color:rgba(0,0,0,0.05)}.show-projects .page-projects [data-toggle]{background-color:#fff}.show-projects .page-projects [data-toggle] svg{fill:#23232a}.show-projects .page-projects ul{opacity:1;display:block}.page-brand{float:left;line-height:3.5rem;font-size:23px;padding:0 1rem}.page-brand a{line-height:0;text-decoration:none;color:#fff}@media screen and (max-width: 42em){.page-brand{position:absolute;z-index:5;left:0;right:0;top:0;float:none;text-align:center}}.page-menu{float:right;position:relative}.page-menu>.toggle{display:none}@media screen and (max-width: 42em){.page-menu>.toggle{display:flex}.show-menu .page-menu>.toggle{background:#3c2970}}.page-menu ul{padding:0;margin:0;list-style:none;float:right}@media screen and (max-width: 42em){.page-menu ul{display:none;position:absolute;min-width:200px;top:100%;right:0}.show-menu .page-menu ul{display:block;background:#3c2970}}.page-menu li{float:left}@media screen and (max-width: 42em){.page-menu li{float:none}.page-menu li a{float:none}}.page-menu-item{color:#fff;position:relative;text-decoration:none;padding:1rem 1rem;height:3.5rem;float:left;z-index:10;display:flex;align-content:center;align-items:center;align-self:center}.page-menu-item:hover{transition:color 0.2s, background-color 0.2s;background-color:rgba(255,255,255,0.1);text-decoration:none}.page-menu-item.active:hover,.page-menu-item.active{background-color:rgba(255,255,255,0.15);color:#fff}.page-menu-item svg{vertical-align:top;width:1.5rem;fill:#fff}.page-nav{position:fixed;left:-16rem;width:16rem;top:0;height:100%;z-index:10000;background-color:#fff;transition:left 218ms cubic-bezier(0.4, 0, 0.2, 1)}.page-nav-scroll{overflow-y:auto}.page-nav-overlay{transition:background-color 218ms cubic-bezier(0.4, 0, 0.2, 1);overscroll-behavior-y:none;z-index:-2;position:fixed;left:0;right:0;bottom:0;top:0}.page-nav-search{box-shadow:0 0 0.5rem rgba(0,0,0,0.15)}.page-nav-search input{border:none;box-sizing:border-box;outline:none;display:block;padding:1rem;line-height:1.5rem;width:100%}.page-nav-menu+.page-nav-menu{border-top:1px solid #efefef}.page-nav-menu{padding:1rem}.page-nav-menu ul,.page-nav-menu li{margin:0;padding:0;display:block;list-style:none;text-align:left}.page-nav-menu ul,.page-nav-menu li{display:flex;flex-direction:column;gap:.5rem}.page-nav-menu li{font-weight:500}.page-nav-menu li li{font-size:0.875rem;font-weight:400}.page-nav-menu a.active{color:#32225d;text-decoration:underline}.page-footer{background-color:#4b4b5d;color:#fff}.page-footer a{color:#fff}.page-copyright{display:flex;flex-direction:column;gap:0.5rem;font-size:0.875rem;text-align:center;color:#fff}.page-copyright p{margin:0}.page-content{word-wrap:break-word;flex:1}.page-content-wrapper{overflow:hidden}.page-content-sidebar{float:right;width:16rem;padding:1rem 0 1rem 1rem}@media screen and (max-width: 64em){.page-content-sidebar{float:none;width:auto;padding:1rem}}.page-content img{max-width:100%}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6{margin:1rem 0;font-weight:normal;color:#4b4b5d}.page-content iframe{margin:1rem 0}.page-content p{margin-bottom:1rem}.page-content code{padding:2px 4px;font-family:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;font-size:0.9em;color:#4b4b5d;background-color:#f3f6fa;border-radius:0.5rem}.page-content table{margin-bottom:1rem;width:100%}.page-content pre{padding:0.8rem;margin-top:0;margin-bottom:1rem;font:1rem Consolas, "Liberation Mono", Menlo, Courier, monospace;color:#567482;word-wrap:normal;background-color:#f3f6fa;border:solid 1px #dce6f0;border-radius:0.3rem;box-shadow:inset 0 0 5px rgba(0,0,0,0.1)}.page-content pre>code{padding:0;margin:0;font-size:0.9rem;color:#4b4b5d;word-break:normal;white-space:pre;background:transparent;border:0}.page-content .highlight{margin-bottom:1rem}.page-content .highlight pre{margin-bottom:0;word-break:normal}.page-content .highlight pre,.page-content pre{padding:0.8rem;overflow:auto;font-size:0.9rem;line-height:1.5;border-radius:0.5rem;-webkit-overflow-scrolling:touch}.page-content pre code,.page-content pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.page-content pre code:before,.page-content pre code:after,.page-content pre tt:before,.page-content pre tt:after{content:normal}.page-content ul,.page-content ol{margin-top:0}.page-content blockquote{padding:0 1rem;margin-left:0;color:#819198;border-left:0.25rem solid #dce6f0}.page-content blockquote>:first-child{margin-top:0}.page-content blockquote>:last-child{margin-bottom:0}.page-content table{display:block;width:100%;overflow:auto;word-break:keep-all;-webkit-overflow-scrolling:touch}.page-content table th{font-weight:bold}.page-content table th,.page-content table td{padding:0.5rem 1rem;border:1px solid #e9ebec}.page-content dl{padding:0}.page-content dl dt{padding:0;margin-top:1rem;font-size:1rem;font-weight:bold}.page-content dl dd{padding:0;margin-bottom:1rem}.page-content hr{height:2px;padding:0;margin:1rem 0;background-color:#eff0f1;border:0}.page-breadcrumbs{padding:0;margin-top:1rem;font-size:0.875rem}.page-breadcrumbs:only-child{margin-top:0}.page-breadcrumbs>li{margin:0;padding:0;display:inline-block}.page-breadcrumbs>li:before{margin:0 0.4rem;content:'/';color:rgba(255,255,255,0.5)}.page-breadcrumbs>li:first-child:before{display:none}.page-breadcrumbs>li>a{color:rgba(255,255,255,0.9)}.page-breadcrumbs>li>span{color:rgba(255,255,255,0.5)}@media (min-width: 62em){.show-nav{margin-left:250px}}.show-nav .page-nav{box-shadow:0 0 0.5rem rgba(0,0,0,0.15);left:0}@media (max-width: 62em){.show-nav .page-nav-overlay{z-index:9999;background-color:rgba(0,0,0,0.1)}}
