html,body{scroll-behavior:smooth;width:100%;min-height:100vh}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{color:#414141;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-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:auto;box-sizing:border-box;text-wrap:pretty;background-color:#fff;flex-direction:column;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:100%;line-height:1.64;display:flex}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure{margin-bottom:16px}img{vertical-align:middle;max-width:100%}p{-webkit-hyphens:auto;hyphens:auto}figure>img{display:block}figcaption{text-align:center;margin-top:.5rem;font-size:1.1rem}ul,ol{margin-left:32px}li>ul,li>ol{margin-bottom:0}ul.no-list{margin-left:0}ul.no-list li{list-style:none}a{color:#3477ad;text-decoration:none}a:hover{opacity:.8;text-decoration:underline}blockquote{color:#6b6b6b;letter-spacing:-1px;border-left:4px solid #f8f8f8;padding-left:16px;font-size:18px;font-style:italic}blockquote>:last-child{margin-bottom:0}code{color:#c35;font-family:Consolas,monospace}pre{background-color:#f8f8f8;border-left:.25rem solid #c35;margin-top:.2rem;margin-bottom:.6rem;padding:1rem 1.4rem;font-size:.9rem;line-height:1.4rem;overflow-x:auto}pre>code{color:#414141;background:0 0;border:0;padding-left:0;padding-right:0}strong,b{font-weight:600}iframe{border:none;max-width:100%}.lead{font-size:1.3rem}@media print{.no-print,.no-print *{display:none!important}body{margin:0}@page{size:portrait;margin:12mm}}.container{max-width:864px;margin:0 auto;padding:0 32px}.page-main{flex-direction:column;flex-flow:initial;display:flex}.page-content{flex:auto;padding-bottom:3em}@media screen and (max-width:600px){.container{max-width:832px;margin:0 auto;padding:0 16px}}.page-header{border-top:6px solid #b00;margin-bottom:40px;padding-top:6px}nav{flex-flow:wrap;justify-content:space-between;align-items:center;line-height:36px;display:flex}nav>:last-child{margin-left:auto}nav a{color:#333;opacity:.75;border-bottom:1px solid #0000;margin:0 .3em;padding:12px .3em 0;font-weight:700;text-decoration:none;transition:opacity .25s ease-in-out,border .25s ease-in-out;display:inline-block}nav a:last-child{padding-right:0}nav a[aria-current]{opacity:1;border-bottom-color:#333}nav a:hover{opacity:1;border-bottom-color:#333;text-decoration:none;transition:opacity .25s ease-in-out,border .25s ease-in-out}nav .external{flex-direction:row;justify-content:center;display:flex}nav .site-title{color:#333;opacity:1;border:none;flex:none;margin-top:8px;margin-left:0;margin-right:32px;padding:0;font-size:1.5em;font-weight:500}nav .site-title:hover{opacity:.75}@media screen and (max-width:800px){nav{line-height:42px}nav a{padding:0 9px}nav a:nth-child(2){margin-left:-8px}nav .site-title{flex:0 100%;margin-right:0;padding:0}}@media screen and (max-width:600px){.site-title{margin-top:.5em}nav{justify-content:space-around}nav>:last-child{margin-left:initial}nav .external{flex:0 100%;justify-content:space-around}nav .site-title{text-align:center}nav>a .fas{display:none}nav a{border-radius:3px;margin:0}nav a:hover{background:#ffd5d5;border-color:#0000}nav a[aria-current]{background:#fbb;border-color:#0000;border-radius:3px}}footer{color:#e6e6e6;background-color:#234;padding:32px 0;font-size:.9rem}footer a{color:#fff}footer a:hover{opacity:1}footer .container{flex-flow:wrap;justify-content:space-between;align-items:baseline;display:flex}footer .footer-col{padding:16px 0}footer .site-desc{width:500px}@media screen and (max-width:800px){footer .site-desc{flex:100%}}h1,h2,h3,h4,h5,h6{color:#282828;margin-top:1.2em;margin-bottom:.6em;font-weight:500}h1{margin-top:.8em;margin-bottom:.4em;font-size:2.6em;font-weight:400}h1.hidden{display:none}h2{border-bottom:1px solid #c1c1c1;margin-top:1.5em;font-size:1.75em}h3{font-size:1.5em}h4{font-size:1.3em}h5,h6{font-size:1.1em}.anchor{opacity:0;outline:0;width:1.5em;margin-left:-1.5em;font-size:.6em;display:inline-block;position:relative;bottom:.2em}@media screen and (max-width:800px){.anchor{display:none}}h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{opacity:.8;transition:opacity 80ms ease-in}.home h1{margin-top:0}.home h2{border-bottom:none;font-size:1.5em}.home .columns{flex-direction:row;display:flex}.home .columns .intro{flex:1;font-size:1.1em}.home .columns .me{text-align:center;margin-bottom:32px;margin-left:32px;font-size:.9em}.home .columns .me picture,.home .columns .me img{border-radius:6px;width:220px;height:220px}.home .columns .me ul{margin-top:16px}.home .button{color:#b00;border:1px solid #f22;border-radius:3px;padding:6px 16px}.home .button:hover{opacity:1;background-color:#fbb;text-decoration:none}.home .featured-projects{flex-direction:row;margin-bottom:1.5em;font-size:.9em;display:flex}.home .featured-projects .project{border:1px solid #ddd;border-radius:3px;flex-direction:column;flex-grow:1;flex-basis:0;padding:16px;transition:box-shadow .2s;display:flex}.home .featured-projects .project:not(:last-child){margin-right:16px}.home .featured-projects .project:hover{box-shadow:2px 2px 11px #aaa}.home .featured-projects .project .spacer{flex:1}.home .featured-projects .project .title{margin:0 0 .6em;font-size:1.3em;font-weight:700;line-height:1}.home .featured-projects .project p{margin:.7em 0;font-size:.85em;line-height:1.2}.home .featured-projects .project .preview-image{background-position:0 0;background-size:cover;border:1px solid #f1f1f1;width:100%;height:0;padding-top:60%;transition:background 1.5s;display:block}.home .featured-projects .project .preview-image:hover{background-position:100% 100%}.home .featured-projects .project .links{font-size:.8em}.home .featured-projects .project .links a{margin-right:.5em;display:inline-block}.home .featured-publications{margin-bottom:1.5em;font-size:.95em}.home .featured-publications .publication{color:#414141;margin-bottom:.7em;display:block}.home .featured-publications .publication:hover{text-decoration:none}.home .featured-publications .publication .fa-trophy{color:#ffc000}.home .featured-publications .publication .fa-award{color:#b22222}.home .featured-publications .publication .authors{font-weight:300}.home .news-travel{flex-direction:row;font-size:.9em;display:flex}.home .news-travel>div{flex-grow:1;flex-basis:0}.home .news ul{margin-left:0;list-style:none}.home .news ul li{margin-bottom:1em}.home .news ul time{color:#6b6b6b;font-size:.8em;display:block}.home .travel{padding-left:32px}.home .travel .date{white-space:nowrap;color:#6b6b6b;padding-right:1em}@media screen and (max-width:600px){.home .columns{flex-direction:column;align-items:center}.home .columns .intro{order:2}.home .columns .me{order:1;margin-left:0}.home .button{background-color:#ffdfdf;font-size:1.1em}.home .featured-projects{flex-direction:column}.home .featured-projects .project{margin-bottom:16px;display:block}.home .featured-projects .project:not(:last-child){margin-right:0}.home .featured-projects .project .preview-image{float:left;width:40%;margin-right:18px;padding-top:22%}.home .news-travel{flex-direction:column;margin-top:32px}.home .news-travel .travel{padding-left:0}}#facets{flex-flow:wrap;justify-content:space-between;display:flex}#facets.hidden{display:none}#facets .facet{flex-grow:1;flex-basis:0;min-width:125px}#facets .facet:not(:last-child){margin-right:12px}#facets ul{min-width:0;margin-left:0;list-style:none}#facets ul li{white-space:nowrap;cursor:pointer;color:#454545;min-width:0;font-size:.85em}#facets ul li.in-query{color:#000;font-weight:500}#facets ul li>span{align-items:center;display:flex}#facets ul li>span .limited{white-space:nowrap;text-overflow:ellipsis;padding-right:.3em;overflow:hidden}#facets ul li>span .cnt{color:#919191}#facets ul li .bar-full{border-bottom:2px solid #ddd;width:100px;max-width:100%;margin-bottom:3px}#facets ul li .bar-full .bar{border-bottom:2px solid #b00;margin-bottom:-2px}#only-highlight input{vertical-align:text-bottom}#only-highlight.hidden{display:none}@media screen and (max-width:800px){.bar-full{width:80px!important}}#clear-filters{color:#454545;cursor:pointer;font-weight:500}#clear-filters:hover{color:#414141}#clear-filters.hidden{opacity:0}#clear-filters i{color:#b22222}#ft-search{width:350px;padding:.4em;font-size:1.1em}.pubs .pub-year{color:#6b6b6b;border-bottom:none;margin:.7em 0 .5em;font-size:1.3em}.pubs .publication,.pubs .year{opacity:1;max-height:600px;transition:all .6s;overflow:hidden}.pubs .publication.hidden,.pubs .year.hidden{opacity:0;max-height:0;margin:0}.pubs .publication{margin-bottom:2em}.pubs .publication h3{max-height:600px;margin:0;font-size:1.2em;font-weight:500;overflow:hidden}.pubs .publication h3.hidden{max-height:0}.pubs .publication .award-icon{margin-right:.2em;font-size:1.2em}.pubs .publication .award-icon.fa-trophy{color:#ffc000}.pubs .publication .award-icon.fa-award{color:#b22222}.pubs .publication .authors{margin-bottom:.3em;font-weight:300}.pubs .publication .authors a{color:#414141}.pubs .publication .venue,.pubs .publication .venue a{color:#6b6b6b}.pubs .publication .awards{color:#b22222;margin-top:.1em;font-weight:500}.pubs .publication .tweet:hover{text-decoration:none}.pubs .publication .tweet:hover .message{text-decoration:underline}.pubs .publication .tweet .message{color:#6b6b6b;font-size:.9em;font-style:italic}.pubs .publication p{margin-bottom:0}.pubs .publication .extra-links{margin-top:.5em;font-size:.9em;font-weight:300}.pubs .publication .extra-links a{white-space:nowrap;border-bottom:1px solid #0000;margin-right:1em;display:inline-block}.pubs .publication .extra-links a:hover{border-bottom:1px solid #3477ad;text-decoration:none}.projects .lead{font-size:1.2em}.projects .grid{grid-column-gap:20px;grid-row-gap:20px;grid-template-rows:auto;grid-template-columns:1fr 1fr 1fr;display:grid}.projects .grid .project{border:1px solid #ddd;border-radius:3px;flex-direction:column;padding:16px;transition:box-shadow .2s;display:flex}.projects .grid .project:hover{box-shadow:2px 2px 11px #aaa}.projects .grid .project .spacer{flex:1}.projects .grid .project .title{margin:0 0 .6em;font-size:1.3em;font-weight:700;line-height:1}.projects .grid .project p{margin:.7em 0;font-size:.85em;line-height:1.2}.projects .grid .project .preview-image{background-position:0 0;background-size:cover;border:1px solid #f1f1f1;width:100%;height:0;padding-top:60%;transition:background 1.5s;display:block}.projects .grid .project .preview-image:hover{opacity:1;background-position:100% 100%}.projects .grid .project .links{font-size:.8em}.projects .grid .project .links a{margin-right:.5em;display:inline-block}@media screen and (max-width:800px){.projects .grid{grid-template-columns:1fr 1fr}}@media screen and (max-width:600px){.projects .grid{grid-template-columns:1fr}.projects .grid .project{display:block}.projects .grid .project .preview-image{float:left;width:40%;margin-right:18px;padding-top:22%}}.talks h3{margin-top:2em;margin-bottom:.5em;font-size:1.1em;font-weight:500}.talks h3:first-child{margin-top:0}.talks .talk{clear:both}.talks .talk time{float:right;color:#6b6b6b;font-weight:300}.talks .talk .extra-links{font-size:.8em;font-weight:300;display:inline-block}.talks .talk .extra-links a:first-child{margin-left:2em}.talks .talk .extra-links a{margin-left:1em}.post-list .year{float:left;border:none;margin:0;font-size:1.4rem;font-weight:400;position:relative}@media screen and (max-width:600px){.post-list .year{float:none}}.post-list .post-block{margin-bottom:32px;margin-left:90px;padding-left:60px;position:relative}.post-list .post-block .post-meta{position:absolute;top:.3rem;left:0}.post-list .post-block .post-meta .meta-year{visibility:hidden}.post-list .post-block h3{margin:0;font-size:1.3rem;font-weight:400}.post-list .post-block h3 .anchor{display:none}@media screen and (max-width:600px){.post-list .year{margin-top:1.5rem;font-size:1.75rem}.post-list .post-block{margin:0;padding:0}.post-list .post-block .post-meta{position:relative;left:0}.post-list .post-block .post-meta .meta-year{visibility:visible}}.post-meta{color:#6b6b6b}.post-link{display:block}.post-header h1{margin:0}.post-header .post-subtitle{margin:.6rem 0;font-size:1.2rem}.post-title{margin-bottom:0}@media screen and (max-width:800px){.post-title{font-size:2.2rem}}.post-sharing{margin-top:64px}.post-sharing .twitter{color:#fff;background-color:#1b95e0;border-radius:3px;padding:3px 6px;font-size:.9rem;font-weight:700}.post-sharing .twitter:hover{text-decoration:none}.blog-links{flex-flow:wrap;justify-content:space-around;width:100%;margin-top:32px;display:flex}.blog-links div{margin:.5rem}.blog-links div i{color:#6b6b6b}.page-search{margin-bottom:1rem}.page-search fieldset{border:none;margin:0;padding:0}.page-search fieldset input[type=text]{box-sizing:border-box;border:1px solid #c9c9c9;border-radius:2px;width:300px;padding:.6rem;font-size:.8rem}.page-search fieldset button{cursor:pointer;background:0 0;border:none;outline:none;padding:6px;position:relative;right:38px}.half{max-width:400px}.third{max-width:266.667px}.two-thirds{max-width:533.333px}.right{float:right}.right.half,.right.third,.right.two-thirds{margin-left:32px}.left{float:left}.left.half,.left.third,.left.two-thirds{margin-right:32px}.center{margin-left:auto;margin-right:auto}.clearfix{clear:both;display:block}.flex-rows{flex-direction:row;justify-content:space-between;margin-right:-32px;display:flex}.flex-rows figure{margin-right:32px;display:block}.flex-rows figure img{width:100%;height:auto}@media screen and (max-width:600px){.flex-rows{flex-direction:column;margin-right:0}.flex-rows figure{margin-right:0}figure.left,figure.right{float:none;margin-left:auto;margin-right:auto}.post-list .post-block .post-meta{top:auto}}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k,.highlight .o{font-weight:700}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:700}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-style:italic;font-weight:700}.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:700}.highlight .gu{color:purple;font-weight:700}.highlight .gt{color:#a00}.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{font-weight:700}.highlight .kt{color:#458;font-weight:700}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .n{color:#333}.highlight .na{color:teal}.highlight .nb{color:#0086b3}.highlight .nc{color:#458;font-weight:700}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne,.highlight .nf{color:#900;font-weight:700}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:700}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#099}.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc,.highlight .vg,.highlight .vi{color:teal}.highlight .il{color:#099}.highlight .gc{color:#999;background-color:#eaf2f5}#cv{line-height:1.5;overflow:scroll}#cv a{color:#414141}#cv strong,#cv h1,#cv h2,#cv h3,#cv h4{font-weight:500}#cv strong,#cv strong a,#cv h1,#cv h1 a,#cv h2,#cv h2 a,#cv h3,#cv h3 a,#cv h4,#cv h4 a{color:#333}#cv h1,#cv h2,#cv h3,#cv h4{page-break-after:avoid;border:none}#cv h1,#cv h2,#cv .pub-type{color:#b00;margin:1rem 0 .2rem}#cv h1,#cv h1>a:hover{margin-top:2rem;font-size:2.5rem;font-weight:600;text-decoration:none}#cv h2{font-size:2rem}#cv h2 a{color:#6b6b6b;font-size:.7em}#cv .live-link{opacity:.8;margin-bottom:1rem;display:none}#cv .header-columns{flex-direction:row;display:flex}#cv .header-columns>div:first-child{flex:1}#cv .header-columns>div:last-child{width:200px}#cv h3{margin-top:0;margin-bottom:0;font-size:1rem}#cv h4{margin:0;font-size:1rem}#cv .pub-type{margin-bottom:.4rem;font-size:1.2rem}#cv .right-align{text-align:right}#cv .pub{margin-bottom:1.2rem;margin-left:0!important}#cv .pub>*{margin-left:100px}#cv .pub .fill{fill:1;display:block}#cv .pub .extra-links{margin-top:.2rem;font-size:.75rem}#cv .pub .extra-links a{color:#919191;margin-right:4px;display:inline-block}#cv .pub:hover .extra-links a,#cv .muted,#cv .muted a{color:#6b6b6b}#cv .award{color:#ffc000;white-space:nowrap}#cv ul{margin-left:0;list-style:none}#cv .container{min-width:480px;max-width:800px}#cv .container>*{margin-left:100px}#cv .ref-container{float:left;text-align:right;width:80px;margin-left:0}#cv .date-container{flex-direction:row;justify-content:space-between;align-items:center;width:100%;display:flex;margin-left:0!important}#cv .date-container>strong{display:block}#cv .date-container .fill,#cv .date-container h3{flex:1}#cv .cv-talk-title{margin-top:.7rem}#cv .date-container .date,#cv .date-container time{text-align:right;flex-shrink:0;width:80px;padding-right:20px;font-size:.75rem;display:block}#cv .date-container .right{color:#6b6b6b;padding-left:10px;font-size:.75rem}#cv .back{color:#fff;background-color:#454545;min-width:480px;padding:.6rem 1rem}#cv .back a{color:#fff;font-weight:600}#cv .back a:hover{text-decoration:none}@media print{#cv{font-size:.9rem}#cv h1{font-size:1.7rem}#cv h2{font-size:1.2rem}#cv .pub-type{margin-bottom:.3rem;font-size:1.1rem}#cv .live-link{display:block}#cv h1,#cv h2{margin:.4rem 0 .1rem}#cv .extra-links a{color:#6b6b6b!important}#cv h2 a{display:none}}