body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#111;background-color:#fdfdfd;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:15px}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px}ul,ol{margin-left:30px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:#2a7ae2;text-decoration:none}a:visited{color:#1756a9}a:hover{color:#111;text-decoration:underline}.social-media-list a:hover{text-decoration:none}.social-media-list a:hover .username{text-decoration:underline}blockquote{color:#828282;border-left:4px solid #e8e8e8;padding-left:15px;font-size:18px;letter-spacing:-1px;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-size:15px;border:1px solid #e8e8e8;border-radius:3px;background-color:#eef}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.wrapper{max-width:-webkit-calc(1200px - (30px));max-width:calc(1200px - (30px));margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media screen and (min-width: 800px){.wrapper{max-width:-webkit-calc(1200px - (30px * 2));max-width:calc(1200px - (30px * 2));padding-right:30px;padding-left:30px}}.wrapper:after,.footer-col-wrapper:after{content:"";display:table;clear:both}.orange{color:#f66a0a}.grey{color:#828282}.svg-icon{width:16px;height:16px;display:inline-block;fill:currentColor;padding:5px 3px 2px 5px;vertical-align:text-bottom}table{margin-bottom:30px;width:100%;text-align:left;color:#3f3f3f;border-collapse:collapse;border:1px solid #e8e8e8}table tr:nth-child(even){background-color:#f7f7f7}table th,table td{padding:10px 15px}table th{background-color:#f0f0f0;border:1px solid #dedede;border-bottom-color:#c9c9c9}table td{border:1px solid #e8e8e8}.site-header{padding-top:2.5rem;padding-bottom:2.5rem;min-height:55.95px;line-height:54px;position:relative}.site-title{font-size:26px;font-weight:300;letter-spacing:-1px;margin-bottom:0;float:left}@media screen and (max-width: 600px){.site-title{padding-right:45px}}.site-title,.site-title:visited{color:#424242}.site-nav{position:absolute;top:9px;right:15px;background-color:#fdfdfd;border:1px solid #e8e8e8;border-radius:5px;text-align:right}.site-nav .nav-trigger{display:none}.site-nav .menu-icon{float:right;width:36px;height:26px;line-height:0;padding-top:10px;text-align:center}.site-nav .menu-icon>svg path{fill:#424242}.site-nav label[for="nav-trigger"]{display:block;float:right;width:36px;height:36px;z-index:2;cursor:pointer}.site-nav input ~ .trigger{clear:both;display:none}.site-nav input:checked ~ .trigger{display:block;padding-bottom:5px}.site-nav .page-link{color:#111;line-height:1.5;display:block;padding:5px 10px;margin-left:20px}.site-nav .page-link:not(:last-child){margin-right:0}@media screen and (min-width: 600px){.site-nav{position:static;float:right;border:none;background-color:inherit}.site-nav label[for="nav-trigger"]{display:none}.site-nav .menu-icon{display:none}.site-nav input ~ .trigger{display:block}.site-nav .page-link{display:inline;padding:0;margin-left:auto}.site-nav .page-link:not(:last-child){margin-right:20px}}.site-footer{border-top:1px solid #e8e8e8;padding:30px 0}.footer-heading{font-size:18px;margin-bottom:15px}.contact-list,.social-media-list{list-style:none;margin-left:0}.footer-col-wrapper{font-size:15px;color:#828282;margin-left:-15px}.footer-col{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2));margin-bottom:15px;padding-left:15px}.footer-col-1,.footer-col-2{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}.footer-col-3{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}@media screen and (min-width: 800px){.footer-col-1{width:-webkit-calc(35% - (30px / 2));width:calc(35% - (30px / 2))}.footer-col-2{width:-webkit-calc(20% - (30px / 2));width:calc(20% - (30px / 2))}.footer-col-3{width:-webkit-calc(45% - (30px / 2));width:calc(45% - (30px / 2))}}@media screen and (min-width: 600px){.footer-col{float:left}}.page-content{padding:30px 0;flex:1 0 auto}.page-heading{font-size:32px}.post-list-heading{font-size:28px}.post-list{margin-left:0;list-style:none}.post-list>li{margin-bottom:30px}.post-meta{font-size:14px;color:#828282}.post-link{display:block;font-size:24px}.post-header{margin-bottom:30px}.post-title,.post-content h1{font-size:42px;letter-spacing:-1px;line-height:1}@media screen and (min-width: 800px){.post-title,.post-content h1{font-size:42px}}.post-content{margin-bottom:30px}.post-content h2{font-size:28px}@media screen and (min-width: 800px){.post-content h2{font-size:32px}}.post-content h3{font-size:22px}@media screen and (min-width: 800px){.post-content h3{font-size:26px}}.post-content h4{font-size:18px}@media screen and (min-width: 800px){.post-content h4{font-size:20px}}.social-media-list{display:table;margin:0 auto}.social-media-list li{float:left;margin:0 5px}.social-media-list li:first-of-type{margin-left:0}.social-media-list li:last-of-type{margin-right:0}.social-media-list li a{display:block;padding:7.5px;border:1px solid #e8e8e8}.social-media-list li:hover .svg-icon{fill:currentColor}@media screen and (min-width: 800px){.one-half{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}}.highlight{background:#fff}.highlighter-rouge .highlight{background:#eef}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{font-weight:bold}.highlight .o{font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{font-weight:bold}.highlight .kd{font-weight:bold}.highlight .kp{font-weight:bold}.highlight .kr{font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.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 .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}.grey{color:#374151}body{font-family:-apple-system, BlinkMacSystemFont, segoe ui, Roboto, Helvetica, Arial, sans-serif, apple color emoji, segoe ui emoji, segoe ui symbol}body.default{min-height:100vh}.social-media-list{display:table;margin:0 0 0 auto}.social-media-list li{float:left;margin:0}.social-media-list li:first-of-type{margin-left:0}.social-media-list li:last-of-type{margin-right:0}.social-media-list li a{display:block;padding:7.5px;border:hidden;-webkit-border-radius:0%;-moz-border-radius:0%;border-radius:0%;-webkit-transition:background-color 0.5s ease;-moz-transition:background-color 0.5s ease;-ms-transition:background-color 0.5s ease;-o-transition:background-color 0.5s ease;transition:background-color 0.5s ease}.social-media-list li a .svg-icon{transform:scale(1.25)}.social-media-list li:hover .svg-icon{color:#fff}.social-media-list li:hover .grey{color:#000}.profile{padding-left:0 !important}.profile .social-media-list li{margin:0 5px}.profile .social-media-list li a .svg-icon{transform:scale(2)}.page-content:has(.home){padding:0;flex:0 0 auto}.home{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr))}.home .social-media-list{margin:0}.home .social-media-list li{margin:10px 5px}.home .social-media-list li a .svg-icon{transform:scale(2)}.col-span-2{grid-column:span 2/span 2}.site-title{line-height:43px;font-size:18px;font-weight:normal;letter-spacing:normal;color:#111}.site-title:visited{color:#111}.site-title img{width:64px;height:64px}.site-title span{margin-left:20px;font-size:x-large}.site-nav .page-link{font-weight:500;font-size:large}.page-content{padding:0;flex:1 0 auto}.lol{-webkit-transform:scale(1);transform:scale(1);-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}.full-width{width:100vw;background-repeat:no-repeat;position:relative;background-position:right;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.container{padding-right:30px;padding-left:30px}.row{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.column{display:flex;flex-direction:column;flex:1}.row *{box-sizing:border-box}@media screen and (min-width: 800px){.col-1{flex:1}.col-2{flex:2}.col-3{flex:3}.col-4{flex:4}.home{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr))}}.flex-item{flex:1 1}.text-center{text-align:center}.posts-card{width:100%}.tags-sidebar{text-align:right;margin:0 10px}.tag{background-color:#f5f5f5;color:#000;align-items:center;border-radius:4px;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}a>.tag:hover{text-decoration:none;background-color:#fff;color:#fff}.tag-small{font-size:.6rem;line-height:1;font-weight:500}.box{background-color:#fff;border-radius:10px;border-width:1px;border-style:solid;border-color:rgba(10,10,10,0.1);color:#111;display:block;padding:1.25rem}.cards:not(:last-child){margin-bottom:1.5rem}.breadcrumbs{line-height:2.5em;padding-bottom:15px;margin-bottom:15px}.breadcrumb-item{display:inline}.breadcrumb::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#6c757d;content:"›\00a0"}.hero-body{flex-grow:1;flex-shrink:0}.hero-body{align-items:center;display:flex}.author_img{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;margin-bottom:15px;border:1px solid #eeed}.project-card{box-sizing:border-box;flex:none;width:calc(100% - 20px);margin:10px}@media screen and (min-width: 600px){.project-card{width:calc(50% - 20px)}}@media screen and (min-width: 800px){.project-card{width:calc(33.333% - 20px)}}.apps-card{box-sizing:border-box;flex:none;width:100%}@media screen and (min-width: 800px){.apps-card{width:calc(50% - 20px)}}.apps-card figure{margin-bottom:0}.apps-card figure img{max-width:unset}.apps-card h2{margin-top:10px;margin-bottom:3px}.apps-card .title{font-size:2rem;font-weight:700}.apps-card .subtitle{font-size:1.1rem;margin-bottom:10px}.hero-body.profile{top:1rem;align-self:end}.profile-title{font-size:3.3rem;font-weight:500}.no-wrap{flex-wrap:nowrap}#publications .title{font-size:19.8px;font-weight:700}#publications h3{font-size:18px;font-weight:500}#publications .publication-type{margin-top:60px}#publications .publication-year{margin-top:30px}#publications .links{margin-bottom:30px}#publications .authors,#publications .location{line-height:1}.full-height{height:100%}#projects .box{transition:0.5s cubic-bezier(0, 0, 0, 1) box-shadow}#projects .box:hover{box-shadow:0 2px 10px rgba(10,10,10,0.2),0 0 0 1px rgba(10,10,10,0.1)}#projects .box h2 .tag{background-color:#f5f5f5;position:relative;bottom:4px}#projects .box h2 .tag{position:relative;bottom:4px}#projects a{text-decoration:none}#projects a .box:hover .title{text-decoration:underline}#projects .box h2{font-size:1.7rem}.app{font-size:18px;margin:auto;width:calc(100%)}@media screen and (min-width: 800px){.app{width:calc(70%)}}.app-content img{border-radius:6px;margin-bottom:32px}.app-header{margin-bottom:10rem}.app-header .app-icon{width:256px;height:256px;margin:auto;display:block}.app-header h1{margin-bottom:1rem;font-size:3rem;line-height:1;font-weight:700}@media screen and (min-width: 600px){.app-header h1{font-size:4.5rem;line-height:1}}@media screen and (min-width: 800px){.app-header h1{font-size:6rem;line-height:1}}.app-header h2{font-size:1.5rem;line-height:calc(2/1.5);margin-bottom:2rem}@media screen and (min-width: 600px){.app-header h2{font-size:2.25rem;line-height:calc(2.5/2.25)}}@media screen and (min-width: 800px){.app-header h2{font-size:2.75rem;line-height:calc(2.5/2.75)}}.title,.subtitle{word-break:break-word}.subtitle{color:#4a4a4a;font-size:1rem;font-weight:400;line-height:1rem;margin-bottom:0}.box .image img{border-radius:2px}.image img{margin:auto;display:block;height:auto;width:100%}.margin-small{padding:30px}.section{padding:1.5rem}
