From cfd89f70c5bd235a012e5ddf992bd9815e26c6c6 Mon Sep 17 00:00:00 2001 From: Anwarhit Date: Sun, 11 Aug 2024 18:02:44 +0000 Subject: [PATCH] deploy: pps-lab/groupwebsite@a70bc8e037a84ac88aca9693c1d329aba3c7f768 --- category/all/index.html | 2 +- css/main.css | 2 +- css/main.min.css | 2 +- people/anwarhithnawi/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/category/all/index.html b/category/all/index.html index 8bc4c9dd..d6dc8e2e 100644 --- a/category/all/index.html +++ b/category/all/index.html @@ -2,4 +2,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-4ZPP8W4RNN');Skip to content

Category — All

\ No newline at end of file + gtag('config', 'G-4ZPP8W4RNN');Skip to content

Category — All

\ No newline at end of file diff --git a/css/main.css b/css/main.css index 149c36c6..6381a232 100644 --- a/css/main.css +++ b/css/main.css @@ -1,3 +1,3 @@ @charset "UTF-8"; -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}a{background-color:transparent}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden]{display:none}blockquote,figure,h1,h2,h3,h4,p{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}ul{margin:0;padding:0}ul{list-style:none}html{font-family:Gill Sans Medium,Gill Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e8e8e8}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,textarea{padding:0;line-height:inherit;color:inherit}embed,iframe,img,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}@font-face{font-family:Gill Sans Medium;src:url(../fonts/gillsans/Gill_Sans_Medium.otf) format("opentype");font-display:swap}@font-face{font-family:"source-serif-pro";font-weight:400;font-style:italic;src:url(../fonts/sourceserifpro/source-serif-pro-400-italic.woff) format("woff")}@font-face{font-family:"source-serif-pro";font-weight:400;font-style:normal;src:url(../fonts/sourceserifpro/source-serif-pro-400-normal.woff) format("woff")}[data-lazy]{opacity:0;width:100%;transition:opacity .25s ease-in;min-height:120px}.loaded{opacity:1}.inner{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}@media (min-width:1536px){.inner{max-width:88rem}}a{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}a:not([class]):hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}a.implied{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}a.implied:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.link-visible a{text-decoration:underline}.link-not-visible a{text-decoration:inherit}h1,h2,h3{line-height:1.25;margin-top:0;margin-bottom:1.5rem;--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}.font-title{font-family:Helvetica Neue,Helvetica,Roboto,Gill Sans Medium,-apple-system,sans-serif}.page-title{font-size:1.875rem}ul.list-square{padding-left:16px}ul.contact-card a span{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}ul.contact-card li{padding-left:2.5em;text-indent:-2.5em;margin-top:.25rem;margin-bottom:.25rem}ul.contact-card .contact-card-icon{width:1.25rem;height:1.25rem;vertical-align:middle;display:inline;--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity));margin-right:.5rem}.publication-icon,.thesis-icon{font-weight:400;--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity));display:inline-block;margin-left:.5rem;margin-right:.5rem;padding-left:.25rem;padding-right:.25rem}.publication-icon:hover,.thesis-icon:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.publication-icon svg,.thesis-icon svg{width:1.25rem;height:1.25rem;display:inline;vertical-align:sub}.thesis-icon{margin-left:.25rem}code[class*=language-],pre[class*=language-]{color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo,Monaco,Consolas,Andale Mono,Ubuntu Mono,Courier New,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{text-shadow:none;background:#264f78}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#264f78}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background:#1e1e1e!important}:not(pre)>code[class*=language-]{padding:.1em .3em;border-radius:.3em;color:#db4c69;background:#1e1e1e}.namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#569cd6}.token.doctype .token.name{color:#9cdcfe}.token.comment,.token.prolog{color:#6a9955}.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation,.token.punctuation{color:#d4d4d4}.token.boolean,.token.constant,.token.inserted,.token.number,.token.property,.token.symbol,.token.tag,.token.unit{color:#b5cea8}.token.attr-name,.token.builtin,.token.char,.token.deleted,.token.selector,.token.string{color:#ce9178}.language-css .token.string.url{text-decoration:underline}.token.entity,.token.operator{color:#ce9178}.token.operator.arrow{color:#569cd6}.token.atrule{color:#ce9178}.token.atrule .token.rule{color:#c586c0}.token.atrule .token.url{color:#9cdcfe}.token.atrule .token.url .token.function{color:#dcdcaa}.token.atrule .token.url .token.punctuation{color:#d4d4d4}.token.keyword{color:#569cd6}.token.keyword.control-flow,.token.keyword.module{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#dcdcaa}.token.regex{color:#d16969}.token.important{color:#569cd6}.token.italic{font-style:italic}.token.constant{color:#9cdcfe}.token.class-name,.token.maybe-class-name{color:#4ec9b0}.token.console,.token.interpolation,.token.parameter{color:#9cdcfe}.token.boolean,.token.punctuation.interpolation-punctuation{color:#569cd6}.token.exports .token.maybe-class-name,.token.imports .token.maybe-class-name,.token.property,.token.variable{color:#9cdcfe}.token.escape,.token.selector{color:#d7ba7d}.token.tag{color:#569cd6}.token.cdata,.token.tag .token.punctuation{color:grey}.token.attr-name{color:#9cdcfe}.token.attr-value,.token.attr-value .token.punctuation{color:#ce9178}.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.entity{color:#569cd6}.token.namespace{color:#4ec9b0}code[class*=language-javascript],code[class*=language-jsx],code[class*=language-tsx],code[class*=language-typescript],pre[class*=language-javascript],pre[class*=language-jsx],pre[class*=language-tsx],pre[class*=language-typescript]{color:#9cdcfe}code[class*=language-css],pre[class*=language-css]{color:#ce9178}code[class*=language-html],pre[class*=language-html]{color:#d4d4d4}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:grey}pre[class*=language-]>code[class*=language-]{position:relative;z-index:1}.line-highlight.line-highlight{background:#f7ebc6;box-shadow:inset 5px 0 0 #f7d87c;z-index:0}pre{counter-reset:lineNumber}code .highlight-line:before{-webkit-user-select:none;border-right:1px solid #404040;color:#858585;content:counter(lineNumber);counter-increment:lineNumber;display:inline-block;font-variant-numeric:tabular-nums;margin-right:1.2em;padding-right:1.2em;text-align:right;width:2.4em}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.aspect-w-16{position:relative;padding-bottom:calc(var(--tw-aspect-h)/var(--tw-aspect-w)*100%)}.aspect-w-16>*{position:absolute;height:100%;width:100%;top:0;right:0;bottom:0;left:0}.aspect-w-16{--tw-aspect-w:16}.aspect-h-9{--tw-aspect-h:9}#nav .link:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}#nav .link:active{--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.mobile-nav-toggle .mobile-nav-icon-line{height:2px}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line{margin:0;--bg-opacity:1;background-color:#494949;background-color:rgba(73,73,73,var(--bg-opacity))}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:first-child{transform:rotate(45deg) translateY(3px)}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:nth-child(2){opacity:0}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:nth-child(3){transform:rotate(-45deg) translateY(-3px)}.mobile-nav{transform:translate3d(-100%,0,0);transition:transform .5s cubic-bezier(.77,0,.175,1);transition-delay:.1s;will-change:transform}.mobile-nav.menu-visible{transform:translateZ(0)}.mobile-nav.menu-visible .item{opacity:1;transform:translateZ(0)}.mobile-nav .item{transition:opacity .5s ease,transform .5s cubic-bezier(.77,0,.175,1);transform:translate3d(-50%,0,0);transition-delay:.5s}.mobile-nav .item:nth-child(0){transition-delay:.5s}.mobile-nav .item:first-child{transition-delay:.5625s}.mobile-nav .item:nth-child(2){transition-delay:.625s}.mobile-nav .item:nth-child(3){transition-delay:.6875s}.mobile-nav .item:nth-child(4){transition-delay:.75s}.mobile-nav .item:nth-child(5){transition-delay:.8125s}.mobile-nav .item:nth-child(6){transition-delay:.875s}.mobile-nav .item:nth-child(7){transition-delay:.9375s}.mobile-nav .item:nth-child(8){transition-delay:1s}.mobile-nav .item:nth-child(9){transition-delay:1.0625s}.mobile-nav .item:nth-child(10){transition-delay:1.125s}.mobile-nav .item:nth-child(11){transition-delay:1.1875s}.mobile-nav .item:nth-child(12){transition-delay:1.25s}.mobile-nav .item:nth-child(13){transition-delay:1.3125s}.mobile-nav .item:nth-child(14){transition-delay:1.375s}.mobile-nav .item:nth-child(15){transition-delay:1.4375s}.mobile-nav .item:nth-child(16){transition-delay:1.5s}.mobile-nav .item:nth-child(17){transition-delay:1.5625s}.mobile-nav .item:nth-child(18){transition-delay:1.625s}.mobile-nav .item:nth-child(19){transition-delay:1.6875s}.mobile-nav .item:nth-child(20){transition-delay:1.75s}.mobile-nav .item:nth-child(21){transition-delay:1.8125s}.mobile-nav .item:nth-child(22){transition-delay:1.875s}.mobile-nav .item:nth-child(23){transition-delay:1.9375s}.mobile-nav .item:nth-child(24){transition-delay:2s}.mobile-nav .item:nth-child(25){transition-delay:2.0625s}.mobile-nav .item:nth-child(26){transition-delay:2.125s}.mobile-nav .item:nth-child(27){transition-delay:2.1875s}.mobile-nav .item:nth-child(28){transition-delay:2.25s}.mobile-nav .item:nth-child(29){transition-delay:2.3125s}.mobile-nav .item:nth-child(30){transition-delay:2.375s}.mobile-nav .item:nth-child(31){transition-delay:2.4375s}.mobile-nav .item:nth-child(32){transition-delay:2.5s}.mobile-nav .item:nth-child(33){transition-delay:2.5625s}.mobile-nav .item:nth-child(34){transition-delay:2.625s}.mobile-nav .item:nth-child(35){transition-delay:2.6875s}.mobile-nav .item:nth-child(36){transition-delay:2.75s}.mobile-nav .item:nth-child(37){transition-delay:2.8125s}.mobile-nav .item:nth-child(38){transition-delay:2.875s}.mobile-nav .item:nth-child(39){transition-delay:2.9375s}.mobile-nav .item:nth-child(40){transition-delay:3s}.mobile-nav .item:nth-child(41){transition-delay:3.0625s}.mobile-nav .item:nth-child(42){transition-delay:3.125s}.mobile-nav .item:nth-child(43){transition-delay:3.1875s}.mobile-nav .item:nth-child(44){transition-delay:3.25s}.mobile-nav .item:nth-child(45){transition-delay:3.3125s}.mobile-nav .item:nth-child(46){transition-delay:3.375s}.mobile-nav .item:nth-child(47){transition-delay:3.4375s}.mobile-nav .item:nth-child(48){transition-delay:3.5s}.mobile-nav .item:nth-child(49){transition-delay:3.5625s}.mobile-nav .item:nth-child(50){transition-delay:3.625s}.mobile-nav .item:nth-child(51){transition-delay:3.6875s}.mobile-nav .item:nth-child(52){transition-delay:3.75s}.mobile-nav .item:nth-child(53){transition-delay:3.8125s}.mobile-nav .item:nth-child(54){transition-delay:3.875s}.mobile-nav .item:nth-child(55){transition-delay:3.9375s}.mobile-nav .item:nth-child(56){transition-delay:4s}.mobile-nav .item:nth-child(57){transition-delay:4.0625s}.mobile-nav .item:nth-child(58){transition-delay:4.125s}.mobile-nav .item:nth-child(59){transition-delay:4.1875s}.mobile-nav .item:nth-child(60){transition-delay:4.25s}.mobile-nav .item:nth-child(61){transition-delay:4.3125s}.mobile-nav .item:nth-child(62){transition-delay:4.375s}.mobile-nav .item:nth-child(63){transition-delay:4.4375s}.mobile-nav .item:nth-child(64){transition-delay:4.5s}.mobile-nav .item:nth-child(65){transition-delay:4.5625s}.mobile-nav .item:nth-child(66){transition-delay:4.625s}.mobile-nav .item:nth-child(67){transition-delay:4.6875s}.mobile-nav .item:nth-child(68){transition-delay:4.75s}.mobile-nav .item:nth-child(69){transition-delay:4.8125s}.mobile-nav .item:nth-child(70){transition-delay:4.875s}.mobile-nav .item:nth-child(71){transition-delay:4.9375s}.mobile-nav .item:nth-child(72){transition-delay:5s}.mobile-nav .item:nth-child(73){transition-delay:5.0625s}.mobile-nav .item:nth-child(74){transition-delay:5.125s}.mobile-nav .item:nth-child(75){transition-delay:5.1875s}.mobile-nav .item:nth-child(76){transition-delay:5.25s}.mobile-nav .item:nth-child(77){transition-delay:5.3125s}.mobile-nav .item:nth-child(78){transition-delay:5.375s}.mobile-nav .item:nth-child(79){transition-delay:5.4375s}.mobile-nav .item:nth-child(80){transition-delay:5.5s}.mobile-nav .item:nth-child(81){transition-delay:5.5625s}.mobile-nav .item:nth-child(82){transition-delay:5.625s}.mobile-nav .item:nth-child(83){transition-delay:5.6875s}.mobile-nav .item:nth-child(84){transition-delay:5.75s}.mobile-nav .item:nth-child(85){transition-delay:5.8125s}.mobile-nav .item:nth-child(86){transition-delay:5.875s}.mobile-nav .item:nth-child(87){transition-delay:5.9375s}.mobile-nav .item:nth-child(88){transition-delay:6s}.mobile-nav .item:nth-child(89){transition-delay:6.0625s}.mobile-nav .item:nth-child(90){transition-delay:6.125s}.mobile-nav .item:nth-child(91){transition-delay:6.1875s}.mobile-nav .item:nth-child(92){transition-delay:6.25s}.mobile-nav .item:nth-child(93){transition-delay:6.3125s}.mobile-nav .item:nth-child(94){transition-delay:6.375s}.mobile-nav .item:nth-child(95){transition-delay:6.4375s}.mobile-nav .item:nth-child(96){transition-delay:6.5s}.mobile-nav .item:nth-child(97){transition-delay:6.5625s}.mobile-nav .item:nth-child(98){transition-delay:6.625s}.mobile-nav .item:nth-child(99){transition-delay:6.6875s}.mobile-nav .item:nth-child(100){transition-delay:6.75s}.form .row{margin-bottom:1.5rem}.form .row label{display:block;margin-bottom:.25rem;--text-opacity:1;color:#373737;color:rgba(55,55,55,var(--text-opacity))}.form .row label:after{font-size:.875rem;--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.form .row.required label:after{content:"\A0(required)"}.form .row:not(.required) label:after{content:"\A0(optional)"}.form .input,.form .textarea{border-width:1px;--border-opacity:1;border-color:#f2f2f2;border-color:rgba(242,242,242,var(--border-opacity));border-radius:.25rem;padding:.75rem;width:100%;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}.form .input:focus,.form .textarea:focus{--border-opacity:1;border-color:#eb5286;border-color:rgba(235,82,134,var(--border-opacity));outline:2px solid transparent;outline-offset:2px}.form .input{height:3rem}.form .textarea{height:6rem}#news-list-collapse{transition:all .6s cubic-bezier(.77,0,.175,1);overflow:hidden;--border-opacity:1}#news-list-collapse.collapsed{--border-opacity:0;height:0!important}#news-list-collapse-button{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity));margin-top:.5rem}#news-list-collapse-button:hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity));cursor:pointer}#news-list-collapse-button.news-toggle-active .news-list-collapse-icon{transform:rotate(180deg)}#news-list-collapse-button .news-list-collapse-icon{transition:transform .6s cubic-bezier(.77,0,.175,1);width:1.25rem;height:1.25rem;vertical-align:middle;display:inline;margin-right:.5rem}.carousel-slide{margin-left:auto;margin-right:auto;transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;z-index:-1;height:24rem}.home-caroussel{margin-bottom:1rem;height:24rem}#carousel-controls{position:absolute;margin:auto;left:0;right:0;bottom:0}.carousel-button:hover{opacity:1}.carousel-button:focus{outline:0}#home-description{padding:2rem;text-align:justify;background-color:#f5f5f5}#home-description p:not(:first-child){margin-top:1.5rem}@media (min-width:768px){.reverse-indent{margin-left:-2rem;width:105%}}.blog-container{margin-left:auto;margin-right:auto;max-width:42rem}.post{text-align:justify}#blog figure{margin-top:1.5rem!important;margin-bottom:1.5rem!important}#blog figcaption{font-size:.875rem;--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.filter-grayscale{filter:grayscale(1)}.image-filter-wrap{position:relative}.image-filter-wrap:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.profile-wrapper{width:8rem;height:8rem}@media screen and (max-width:1050px){.profile-wrapper{width:6rem;height:6rem}}.publication a .highlighted{text-decoration:underline}.publication a .highlighted:hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}#group-image-float{margin-top:-36px;float:right}@media screen and (max-width:1140px){#group-image-float{margin-top:0;float:none;display:flex;justify-content:center;align-items:center}}.md-content ul{list-style:square;padding-left:14px}.md-content h1,.md-content h2,.md-content h3{font-size:inherit;font-family:Helvetica Neue,sans-serif;margin-top:2rem;margin-bottom:1rem}.md-content h1.mt-0,.md-content h2.mt-0,.md-content h3.mt-0{margin-top:0}.md-content h1{font-size:1.5rem}.md-content h2{font-size:1.25rem}.md-content h3{font-size:1.125rem}.md-content table{width:100%;text-align:left}.md-content table tr{border-top-width:1px}.md-content table tr thead{border-bottom-width:1px}.md-content table tr td,.md-content table tr th{padding:.5rem 1rem}.md-content table tr th{font-size:1rem;font-family:Helvetica Neue,sans-serif;font-weight:500}.md-content-blog ul{list-style:square;padding-left:14px}.md-content-blog h1,.md-content-blog h2,.md-content-blog h3{font-size:inherit;font-family:Helvetica Neue,sans-serif;margin-top:2rem;margin-bottom:1rem}.md-content-blog h1.mt-0,.md-content-blog h2.mt-0,.md-content-blog h3.mt-0{margin-top:0}.md-content-blog h1,.md-content-blog h2{font-size:1.875rem}.md-content-blog h3{font-size:1.5rem;margin-bottom:.5rem}.md-content-blog h4{font-size:1.25rem;font-weight:900}.md-content-blog p{margin-top:0;margin-bottom:1.2em;font-weight:400;font-size:1.2rem;line-height:1.7}.md-content-blog table{width:100%;text-align:left}.md-content-blog table tr{border-top-width:1px}.md-content-blog table tr thead{border-bottom-width:1px}.md-content-blog table tr td,.md-content-blog table tr th{padding:.5rem 1rem}.md-content-blog table tr th{font-size:1rem;font-family:Helvetica Neue,sans-serif;font-weight:500}.divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#aeaeae;border-color:rgba(174,174,174,var(--divide-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.bg-black{--bg-opacity:1;background-color:#1b1b1b;background-color:rgba(27,27,27,var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:#fafafa;background-color:rgba(250,250,250,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#f2f2f2;background-color:rgba(242,242,242,var(--bg-opacity))}.bg-gray-400{--bg-opacity:1;background-color:#d5d5d5;background-color:rgba(213,213,213,var(--bg-opacity))}.bg-gray-600{--bg-opacity:1;background-color:grey;background-color:rgba(128,128,128,var(--bg-opacity))}.bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.bg-purple-900{--bg-opacity:1;background-color:#21183c;background-color:rgba(33,24,60,var(--bg-opacity))}.hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#f2f2f2;background-color:rgba(242,242,242,var(--bg-opacity))}.hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#eb5286;background-color:rgba(235,82,134,var(--bg-opacity))}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.bg-contain{background-size:contain}.border-gray-200{--border-opacity:1;border-color:#f2f2f2;border-color:rgba(242,242,242,var(--border-opacity))}.border-gray-300{--border-opacity:1;border-color:#e8e8e8;border-color:rgba(232,232,232,var(--border-opacity))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border-none{border-style:none}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.last\:border-b:last-child{border-bottom-width:1px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-stretch{align-items:stretch}.content-center{align-content:center}.self-center{align-self:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-self-center{justify-self:center}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.float-left{float:left}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.h-1{height:.25rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-32{height:8rem}.h-48{height:12rem}.h-56{height:14rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.list-inside{list-style-position:inside}.list-square{list-style-type:square}.m-2{margin:.5rem}.m-8{margin:2rem}.m-auto{margin:auto}.mx-8{margin-left:2rem;margin-right:2rem}.mx-16{margin-left:4rem;margin-right:4rem}.mx-32{margin-left:8rem;margin-right:8rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mb-3{margin-bottom:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.mt-10{margin-top:2.5rem}.mb-10{margin-bottom:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mb-16{margin-bottom:4rem}.max-w-xl{max-width:36rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-center{-o-object-position:center;object-position:center}.opacity-0{opacity:0}.opacity-75{opacity:.75}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.pr-1{padding-right:.25rem}.pl-1{padding-left:.25rem}.pb-2{padding-bottom:.5rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pt-5{padding-top:1.25rem}.pb-6{padding-bottom:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pt-12{padding-top:3rem}.pb-16{padding-bottom:4rem}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:8px}.left-1{left:8px}.top-2{top:16px}.left-2{left:16px}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.fill-current{fill:currentColor}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}.text-primary{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.text-textGray{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-black{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}.text-white{--text-opacity:1;color:#fafafa;color:rgba(250,250,250,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#202020;color:rgba(32,32,32,var(--text-opacity))}.text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.text-purple-900{--text-opacity:1;color:#21183c;color:rgba(33,24,60,var(--text-opacity))}.text-pink-500{--text-opacity:1;color:#eb5286;color:rgba(235,82,134,var(--text-opacity))}.hover\:text-white:hover{--text-opacity:1;color:#fafafa;color:rgba(250,250,250,var(--text-opacity))}.hover\:text-link-hover:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.hover\:text-gray-700:hover{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}.hover\:text-gray-800:hover{--text-opacity:1;color:#373737;color:rgba(55,55,55,var(--text-opacity))}.hover\:text-purple-900:hover{--text-opacity:1;color:#21183c;color:rgba(33,24,60,var(--text-opacity))}.hover\:text-pink-500:hover{--text-opacity:1;color:#eb5286;color:rgba(235,82,134,var(--text-opacity))}.italic{font-style:italic}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.hover\:underline:hover{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wide{letter-spacing:.025em}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.break-all{word-break:break-all}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-0{width:0}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-56{width:14rem}.w-auto{width:auto}.w-2\/3{width:66.666667%}.w-full{width:100%}.z-50{z-index:50}.gap-0{grid-gap:0;gap:0}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-8{grid-gap:2rem;gap:2rem}.gap-x-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.gap-x-48{grid-column-gap:12rem;-moz-column-gap:12rem;column-gap:12rem}.gap-y-16{grid-row-gap:4rem;row-gap:4rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.duration-75{transition-duration:75ms}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:768px){.md\:bg-cover{background-size:cover}.md\:rounded-none{border-radius:0}.md\:border-b-0{border-bottom-width:0}.md\:border-t{border-top-width:1px}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:justify-start{justify-content:flex-start}.md\:flex-shrink-0{flex-shrink:0}.md\:h-56{height:14rem}.md\:text-5xl{font-size:3rem}.md\:mx-0{margin-left:0;margin-right:0}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:mt-0{margin-top:0}.md\:mb-0{margin-bottom:0}.md\:ml-6{margin-left:1.5rem}.md\:mr-8{margin-right:2rem}.md\:ml-8{margin-left:2rem}.md\:ml-12{margin-left:3rem}.md\:mt-20{margin-top:5rem}.md\:ml-24{margin-left:6rem}.md\:p-4{padding:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:pb-0{padding-bottom:0}.md\:pb-4{padding-bottom:1rem}.md\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:text-center{text-align:center}.md\:w-20{width:5rem}.md\:w-1\/2{width:50%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:gap-2{grid-gap:.5rem;gap:.5rem}.md\:gap-6{grid-gap:1.5rem;gap:1.5rem}.md\:gap-8{grid-gap:2rem;gap:2rem}.md\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1024px){.lg\:text-6xl{font-size:4rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mb-24{margin-bottom:6rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:pt-10{padding-top:2.5rem}.lg\:gap-16{grid-gap:4rem;gap:4rem}.lg\:gap-x-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.lg\:gap-x-80{grid-column-gap:20rem;-moz-column-gap:20rem;column-gap:20rem}}@media (min-width:1536px){.\32xl\:h-64{height:16rem}.\32xl\:px-12{padding-left:3rem;padding-right:3rem}.\32xl\:gap-6{grid-gap:1.5rem;gap:1.5rem}} \ No newline at end of file +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}a{background-color:transparent}strong{font-weight:bolder}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden]{display:none}blockquote,figure,h1,h2,h3,h4,p{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}ul{margin:0;padding:0}ul{list-style:none}html{font-family:Gill Sans Medium,Gill Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e8e8e8}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,textarea{padding:0;line-height:inherit;color:inherit}embed,iframe,img,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}@font-face{font-family:Gill Sans Medium;src:url(../fonts/gillsans/Gill_Sans_Medium.otf) format("opentype");font-display:swap}@font-face{font-family:"source-serif-pro";font-weight:400;font-style:italic;src:url(../fonts/sourceserifpro/source-serif-pro-400-italic.woff) format("woff")}@font-face{font-family:"source-serif-pro";font-weight:400;font-style:normal;src:url(../fonts/sourceserifpro/source-serif-pro-400-normal.woff) format("woff")}[data-lazy]{opacity:0;width:100%;transition:opacity .25s ease-in;min-height:120px}.loaded{opacity:1}.inner{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}@media (min-width:1536px){.inner{max-width:88rem}}a{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}a:not([class]):hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}a.implied{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}a.implied:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.link-visible a{text-decoration:underline}.link-not-visible a{text-decoration:inherit}h1,h2,h3{line-height:1.25;margin-top:0;margin-bottom:1.5rem;--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}.font-title{font-family:Helvetica Neue,Helvetica,Roboto,Gill Sans Medium,-apple-system,sans-serif}.page-title{font-size:1.875rem}ul.list-square{padding-left:16px}ul.contact-card a span{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}ul.contact-card li{padding-left:2.5em;text-indent:-2.5em;margin-top:.25rem;margin-bottom:.25rem}ul.contact-card .contact-card-icon{width:1.25rem;height:1.25rem;vertical-align:middle;display:inline;--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity));margin-right:.5rem}.publication-icon,.thesis-icon{font-weight:400;--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity));display:inline-block;margin-left:.5rem;margin-right:.5rem;padding-left:.25rem;padding-right:.25rem}.publication-icon:hover,.thesis-icon:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.publication-icon svg,.thesis-icon svg{width:1.25rem;height:1.25rem;display:inline;vertical-align:sub}.thesis-icon{margin-left:.25rem}code[class*=language-],pre[class*=language-]{color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo,Monaco,Consolas,Andale Mono,Ubuntu Mono,Courier New,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{text-shadow:none;background:#264f78}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{text-shadow:none;background:#264f78}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background:#1e1e1e!important}:not(pre)>code[class*=language-]{padding:.1em .3em;border-radius:.3em;color:#db4c69;background:#1e1e1e}.namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#569cd6}.token.doctype .token.name{color:#9cdcfe}.token.comment,.token.prolog{color:#6a9955}.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation,.token.punctuation{color:#d4d4d4}.token.boolean,.token.constant,.token.inserted,.token.number,.token.property,.token.symbol,.token.tag,.token.unit{color:#b5cea8}.token.attr-name,.token.builtin,.token.char,.token.deleted,.token.selector,.token.string{color:#ce9178}.language-css .token.string.url{text-decoration:underline}.token.entity,.token.operator{color:#ce9178}.token.operator.arrow{color:#569cd6}.token.atrule{color:#ce9178}.token.atrule .token.rule{color:#c586c0}.token.atrule .token.url{color:#9cdcfe}.token.atrule .token.url .token.function{color:#dcdcaa}.token.atrule .token.url .token.punctuation{color:#d4d4d4}.token.keyword{color:#569cd6}.token.keyword.control-flow,.token.keyword.module{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#dcdcaa}.token.regex{color:#d16969}.token.important{color:#569cd6}.token.italic{font-style:italic}.token.constant{color:#9cdcfe}.token.class-name,.token.maybe-class-name{color:#4ec9b0}.token.console,.token.interpolation,.token.parameter{color:#9cdcfe}.token.boolean,.token.punctuation.interpolation-punctuation{color:#569cd6}.token.exports .token.maybe-class-name,.token.imports .token.maybe-class-name,.token.property,.token.variable{color:#9cdcfe}.token.escape,.token.selector{color:#d7ba7d}.token.tag{color:#569cd6}.token.cdata,.token.tag .token.punctuation{color:grey}.token.attr-name{color:#9cdcfe}.token.attr-value,.token.attr-value .token.punctuation{color:#ce9178}.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.entity{color:#569cd6}.token.namespace{color:#4ec9b0}code[class*=language-javascript],code[class*=language-jsx],code[class*=language-tsx],code[class*=language-typescript],pre[class*=language-javascript],pre[class*=language-jsx],pre[class*=language-tsx],pre[class*=language-typescript]{color:#9cdcfe}code[class*=language-css],pre[class*=language-css]{color:#ce9178}code[class*=language-html],pre[class*=language-html]{color:#d4d4d4}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:grey}pre[class*=language-]>code[class*=language-]{position:relative;z-index:1}.line-highlight.line-highlight{background:#f7ebc6;box-shadow:inset 5px 0 0 #f7d87c;z-index:0}pre{counter-reset:lineNumber}code .highlight-line:before{-webkit-user-select:none;border-right:1px solid #404040;color:#858585;content:counter(lineNumber);counter-increment:lineNumber;display:inline-block;font-variant-numeric:tabular-nums;margin-right:1.2em;padding-right:1.2em;text-align:right;width:2.4em}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.aspect-w-16{position:relative;padding-bottom:calc(var(--tw-aspect-h)/var(--tw-aspect-w)*100%)}.aspect-w-16>*{position:absolute;height:100%;width:100%;top:0;right:0;bottom:0;left:0}.aspect-w-16{--tw-aspect-w:16}.aspect-h-9{--tw-aspect-h:9}#nav .link:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}#nav .link:active{--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.mobile-nav-toggle .mobile-nav-icon-line{height:2px}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line{margin:0;--bg-opacity:1;background-color:#494949;background-color:rgba(73,73,73,var(--bg-opacity))}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:first-child{transform:rotate(45deg) translateY(3px)}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:nth-child(2){opacity:0}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:nth-child(3){transform:rotate(-45deg) translateY(-3px)}.mobile-nav{transform:translate3d(-100%,0,0);transition:transform .5s cubic-bezier(.77,0,.175,1);transition-delay:.1s;will-change:transform}.mobile-nav.menu-visible{transform:translateZ(0)}.mobile-nav.menu-visible .item{opacity:1;transform:translateZ(0)}.mobile-nav .item{transition:opacity .5s ease,transform .5s cubic-bezier(.77,0,.175,1);transform:translate3d(-50%,0,0);transition-delay:.5s}.mobile-nav .item:nth-child(0){transition-delay:.5s}.mobile-nav .item:first-child{transition-delay:.5625s}.mobile-nav .item:nth-child(2){transition-delay:.625s}.mobile-nav .item:nth-child(3){transition-delay:.6875s}.mobile-nav .item:nth-child(4){transition-delay:.75s}.mobile-nav .item:nth-child(5){transition-delay:.8125s}.mobile-nav .item:nth-child(6){transition-delay:.875s}.mobile-nav .item:nth-child(7){transition-delay:.9375s}.mobile-nav .item:nth-child(8){transition-delay:1s}.mobile-nav .item:nth-child(9){transition-delay:1.0625s}.mobile-nav .item:nth-child(10){transition-delay:1.125s}.mobile-nav .item:nth-child(11){transition-delay:1.1875s}.mobile-nav .item:nth-child(12){transition-delay:1.25s}.mobile-nav .item:nth-child(13){transition-delay:1.3125s}.mobile-nav .item:nth-child(14){transition-delay:1.375s}.mobile-nav .item:nth-child(15){transition-delay:1.4375s}.mobile-nav .item:nth-child(16){transition-delay:1.5s}.mobile-nav .item:nth-child(17){transition-delay:1.5625s}.mobile-nav .item:nth-child(18){transition-delay:1.625s}.mobile-nav .item:nth-child(19){transition-delay:1.6875s}.mobile-nav .item:nth-child(20){transition-delay:1.75s}.mobile-nav .item:nth-child(21){transition-delay:1.8125s}.mobile-nav .item:nth-child(22){transition-delay:1.875s}.mobile-nav .item:nth-child(23){transition-delay:1.9375s}.mobile-nav .item:nth-child(24){transition-delay:2s}.mobile-nav .item:nth-child(25){transition-delay:2.0625s}.mobile-nav .item:nth-child(26){transition-delay:2.125s}.mobile-nav .item:nth-child(27){transition-delay:2.1875s}.mobile-nav .item:nth-child(28){transition-delay:2.25s}.mobile-nav .item:nth-child(29){transition-delay:2.3125s}.mobile-nav .item:nth-child(30){transition-delay:2.375s}.mobile-nav .item:nth-child(31){transition-delay:2.4375s}.mobile-nav .item:nth-child(32){transition-delay:2.5s}.mobile-nav .item:nth-child(33){transition-delay:2.5625s}.mobile-nav .item:nth-child(34){transition-delay:2.625s}.mobile-nav .item:nth-child(35){transition-delay:2.6875s}.mobile-nav .item:nth-child(36){transition-delay:2.75s}.mobile-nav .item:nth-child(37){transition-delay:2.8125s}.mobile-nav .item:nth-child(38){transition-delay:2.875s}.mobile-nav .item:nth-child(39){transition-delay:2.9375s}.mobile-nav .item:nth-child(40){transition-delay:3s}.mobile-nav .item:nth-child(41){transition-delay:3.0625s}.mobile-nav .item:nth-child(42){transition-delay:3.125s}.mobile-nav .item:nth-child(43){transition-delay:3.1875s}.mobile-nav .item:nth-child(44){transition-delay:3.25s}.mobile-nav .item:nth-child(45){transition-delay:3.3125s}.mobile-nav .item:nth-child(46){transition-delay:3.375s}.mobile-nav .item:nth-child(47){transition-delay:3.4375s}.mobile-nav .item:nth-child(48){transition-delay:3.5s}.mobile-nav .item:nth-child(49){transition-delay:3.5625s}.mobile-nav .item:nth-child(50){transition-delay:3.625s}.mobile-nav .item:nth-child(51){transition-delay:3.6875s}.mobile-nav .item:nth-child(52){transition-delay:3.75s}.mobile-nav .item:nth-child(53){transition-delay:3.8125s}.mobile-nav .item:nth-child(54){transition-delay:3.875s}.mobile-nav .item:nth-child(55){transition-delay:3.9375s}.mobile-nav .item:nth-child(56){transition-delay:4s}.mobile-nav .item:nth-child(57){transition-delay:4.0625s}.mobile-nav .item:nth-child(58){transition-delay:4.125s}.mobile-nav .item:nth-child(59){transition-delay:4.1875s}.mobile-nav .item:nth-child(60){transition-delay:4.25s}.mobile-nav .item:nth-child(61){transition-delay:4.3125s}.mobile-nav .item:nth-child(62){transition-delay:4.375s}.mobile-nav .item:nth-child(63){transition-delay:4.4375s}.mobile-nav .item:nth-child(64){transition-delay:4.5s}.mobile-nav .item:nth-child(65){transition-delay:4.5625s}.mobile-nav .item:nth-child(66){transition-delay:4.625s}.mobile-nav .item:nth-child(67){transition-delay:4.6875s}.mobile-nav .item:nth-child(68){transition-delay:4.75s}.mobile-nav .item:nth-child(69){transition-delay:4.8125s}.mobile-nav .item:nth-child(70){transition-delay:4.875s}.mobile-nav .item:nth-child(71){transition-delay:4.9375s}.mobile-nav .item:nth-child(72){transition-delay:5s}.mobile-nav .item:nth-child(73){transition-delay:5.0625s}.mobile-nav .item:nth-child(74){transition-delay:5.125s}.mobile-nav .item:nth-child(75){transition-delay:5.1875s}.mobile-nav .item:nth-child(76){transition-delay:5.25s}.mobile-nav .item:nth-child(77){transition-delay:5.3125s}.mobile-nav .item:nth-child(78){transition-delay:5.375s}.mobile-nav .item:nth-child(79){transition-delay:5.4375s}.mobile-nav .item:nth-child(80){transition-delay:5.5s}.mobile-nav .item:nth-child(81){transition-delay:5.5625s}.mobile-nav .item:nth-child(82){transition-delay:5.625s}.mobile-nav .item:nth-child(83){transition-delay:5.6875s}.mobile-nav .item:nth-child(84){transition-delay:5.75s}.mobile-nav .item:nth-child(85){transition-delay:5.8125s}.mobile-nav .item:nth-child(86){transition-delay:5.875s}.mobile-nav .item:nth-child(87){transition-delay:5.9375s}.mobile-nav .item:nth-child(88){transition-delay:6s}.mobile-nav .item:nth-child(89){transition-delay:6.0625s}.mobile-nav .item:nth-child(90){transition-delay:6.125s}.mobile-nav .item:nth-child(91){transition-delay:6.1875s}.mobile-nav .item:nth-child(92){transition-delay:6.25s}.mobile-nav .item:nth-child(93){transition-delay:6.3125s}.mobile-nav .item:nth-child(94){transition-delay:6.375s}.mobile-nav .item:nth-child(95){transition-delay:6.4375s}.mobile-nav .item:nth-child(96){transition-delay:6.5s}.mobile-nav .item:nth-child(97){transition-delay:6.5625s}.mobile-nav .item:nth-child(98){transition-delay:6.625s}.mobile-nav .item:nth-child(99){transition-delay:6.6875s}.mobile-nav .item:nth-child(100){transition-delay:6.75s}.form .row{margin-bottom:1.5rem}.form .row label{display:block;margin-bottom:.25rem;--text-opacity:1;color:#373737;color:rgba(55,55,55,var(--text-opacity))}.form .row label:after{font-size:.875rem;--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.form .row.required label:after{content:"\A0(required)"}.form .row:not(.required) label:after{content:"\A0(optional)"}.form .input,.form .textarea{border-width:1px;--border-opacity:1;border-color:#f2f2f2;border-color:rgba(242,242,242,var(--border-opacity));border-radius:.25rem;padding:.75rem;width:100%;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}.form .input:focus,.form .textarea:focus{--border-opacity:1;border-color:#eb5286;border-color:rgba(235,82,134,var(--border-opacity));outline:2px solid transparent;outline-offset:2px}.form .input{height:3rem}.form .textarea{height:6rem}#news-list-collapse{transition:all .6s cubic-bezier(.77,0,.175,1);overflow:hidden;--border-opacity:1}#news-list-collapse.collapsed{--border-opacity:0;height:0!important}#news-list-collapse-button{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity));margin-top:.5rem}#news-list-collapse-button:hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity));cursor:pointer}#news-list-collapse-button.news-toggle-active .news-list-collapse-icon{transform:rotate(180deg)}#news-list-collapse-button .news-list-collapse-icon{transition:transform .6s cubic-bezier(.77,0,.175,1);width:1.25rem;height:1.25rem;vertical-align:middle;display:inline;margin-right:.5rem}.carousel-slide{margin-left:auto;margin-right:auto;transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;z-index:-1;height:24rem}.home-caroussel{margin-bottom:1rem;height:24rem}#carousel-controls{position:absolute;margin:auto;left:0;right:0;bottom:0}.carousel-button:hover{opacity:1}.carousel-button:focus{outline:0}#home-description{padding:2rem;text-align:justify;background-color:#f5f5f5}#home-description p:not(:first-child){margin-top:1.5rem}@media (min-width:768px){.reverse-indent{margin-left:-2rem;width:105%}}.blog-container{margin-left:auto;margin-right:auto;max-width:42rem}.post{text-align:justify}#blog figure{margin-top:1.5rem!important;margin-bottom:1.5rem!important}#blog figcaption{font-size:.875rem;--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.filter-grayscale{filter:grayscale(1)}.image-filter-wrap{position:relative}.image-filter-wrap:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.profile-wrapper{width:8rem;height:8rem}@media screen and (max-width:1050px){.profile-wrapper{width:6rem;height:6rem}}.publication a .highlighted{text-decoration:underline}.publication a .highlighted:hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}#group-image-float{margin-top:-36px;float:right}@media screen and (max-width:1140px){#group-image-float{margin-top:0;float:none;display:flex;justify-content:center;align-items:center}}.md-content ul{list-style:square;padding-left:14px}.md-content h1,.md-content h2,.md-content h3{font-size:inherit;font-family:Helvetica Neue,sans-serif;margin-top:2rem;margin-bottom:1rem}.md-content h1.mt-0,.md-content h2.mt-0,.md-content h3.mt-0{margin-top:0}.md-content h1{font-size:1.5rem}.md-content h2{font-size:1.25rem}.md-content h3{font-size:1.125rem}.md-content table{width:100%;text-align:left}.md-content table tr{border-top-width:1px}.md-content table tr thead{border-bottom-width:1px}.md-content table tr td,.md-content table tr th{padding:.5rem 1rem}.md-content table tr th{font-size:1rem;font-family:Helvetica Neue,sans-serif;font-weight:500}.md-content-blog ul{list-style:square;padding-left:14px}.md-content-blog h1,.md-content-blog h2,.md-content-blog h3{font-size:inherit;font-family:Helvetica Neue,sans-serif;margin-top:2rem;margin-bottom:1rem}.md-content-blog h1.mt-0,.md-content-blog h2.mt-0,.md-content-blog h3.mt-0{margin-top:0}.md-content-blog h1,.md-content-blog h2{font-size:1.875rem}.md-content-blog h3{font-size:1.5rem;margin-bottom:.5rem}.md-content-blog h4{font-size:1.25rem;font-weight:900}.md-content-blog p{margin-top:0;margin-bottom:1.2em;font-weight:400;font-size:1.2rem;line-height:1.7}.md-content-blog table{width:100%;text-align:left}.md-content-blog table tr{border-top-width:1px}.md-content-blog table tr thead{border-bottom-width:1px}.md-content-blog table tr td,.md-content-blog table tr th{padding:.5rem 1rem}.md-content-blog table tr th{font-size:1rem;font-family:Helvetica Neue,sans-serif;font-weight:500}.divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#aeaeae;border-color:rgba(174,174,174,var(--divide-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.bg-black{--bg-opacity:1;background-color:#1b1b1b;background-color:rgba(27,27,27,var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:#fafafa;background-color:rgba(250,250,250,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#f2f2f2;background-color:rgba(242,242,242,var(--bg-opacity))}.bg-gray-400{--bg-opacity:1;background-color:#d5d5d5;background-color:rgba(213,213,213,var(--bg-opacity))}.bg-gray-600{--bg-opacity:1;background-color:grey;background-color:rgba(128,128,128,var(--bg-opacity))}.bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.bg-purple-900{--bg-opacity:1;background-color:#21183c;background-color:rgba(33,24,60,var(--bg-opacity))}.hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#f2f2f2;background-color:rgba(242,242,242,var(--bg-opacity))}.hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#eb5286;background-color:rgba(235,82,134,var(--bg-opacity))}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.bg-contain{background-size:contain}.border-gray-200{--border-opacity:1;border-color:#f2f2f2;border-color:rgba(242,242,242,var(--border-opacity))}.border-gray-300{--border-opacity:1;border-color:#e8e8e8;border-color:rgba(232,232,232,var(--border-opacity))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border-none{border-style:none}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.last\:border-b:last-child{border-bottom-width:1px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-stretch{align-items:stretch}.content-center{align-content:center}.self-center{align-self:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-self-center{justify-self:center}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.float-left{float:left}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.h-1{height:.25rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-32{height:8rem}.h-48{height:12rem}.h-56{height:14rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.list-inside{list-style-position:inside}.list-square{list-style-type:square}.m-2{margin:.5rem}.m-8{margin:2rem}.m-auto{margin:auto}.mx-8{margin-left:2rem;margin-right:2rem}.mx-16{margin-left:4rem;margin-right:4rem}.mx-32{margin-left:8rem;margin-right:8rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mb-3{margin-bottom:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.mt-10{margin-top:2.5rem}.mb-10{margin-bottom:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mb-16{margin-bottom:4rem}.max-w-xl{max-width:36rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-center{-o-object-position:center;object-position:center}.opacity-0{opacity:0}.opacity-75{opacity:.75}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.pr-1{padding-right:.25rem}.pl-1{padding-left:.25rem}.pb-2{padding-bottom:.5rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pt-5{padding-top:1.25rem}.pb-6{padding-bottom:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pt-12{padding-top:3rem}.pb-16{padding-bottom:4rem}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:8px}.left-1{left:8px}.top-2{top:16px}.left-2{left:16px}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.fill-current{fill:currentColor}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}.text-primary{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.text-textGray{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-black{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}.text-white{--text-opacity:1;color:#fafafa;color:rgba(250,250,250,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#202020;color:rgba(32,32,32,var(--text-opacity))}.text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.text-purple-900{--text-opacity:1;color:#21183c;color:rgba(33,24,60,var(--text-opacity))}.text-pink-500{--text-opacity:1;color:#eb5286;color:rgba(235,82,134,var(--text-opacity))}.hover\:text-white:hover{--text-opacity:1;color:#fafafa;color:rgba(250,250,250,var(--text-opacity))}.hover\:text-link-hover:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.hover\:text-gray-700:hover{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}.hover\:text-gray-800:hover{--text-opacity:1;color:#373737;color:rgba(55,55,55,var(--text-opacity))}.hover\:text-purple-900:hover{--text-opacity:1;color:#21183c;color:rgba(33,24,60,var(--text-opacity))}.hover\:text-pink-500:hover{--text-opacity:1;color:#eb5286;color:rgba(235,82,134,var(--text-opacity))}.italic{font-style:italic}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.hover\:underline:hover{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wide{letter-spacing:.025em}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.break-all{word-break:break-all}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-0{width:0}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-56{width:14rem}.w-auto{width:auto}.w-2\/3{width:66.666667%}.w-full{width:100%}.z-50{z-index:50}.gap-0{grid-gap:0;gap:0}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-8{grid-gap:2rem;gap:2rem}.gap-x-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.gap-x-48{grid-column-gap:12rem;-moz-column-gap:12rem;column-gap:12rem}.gap-y-16{grid-row-gap:4rem;row-gap:4rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.duration-75{transition-duration:75ms}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:768px){.md\:bg-cover{background-size:cover}.md\:rounded-none{border-radius:0}.md\:border-b-0{border-bottom-width:0}.md\:border-t{border-top-width:1px}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:justify-start{justify-content:flex-start}.md\:flex-shrink-0{flex-shrink:0}.md\:h-56{height:14rem}.md\:text-5xl{font-size:3rem}.md\:mx-0{margin-left:0;margin-right:0}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:mt-0{margin-top:0}.md\:mb-0{margin-bottom:0}.md\:ml-6{margin-left:1.5rem}.md\:mr-8{margin-right:2rem}.md\:ml-8{margin-left:2rem}.md\:ml-12{margin-left:3rem}.md\:mt-20{margin-top:5rem}.md\:ml-24{margin-left:6rem}.md\:p-4{padding:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:pb-0{padding-bottom:0}.md\:pb-4{padding-bottom:1rem}.md\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:text-center{text-align:center}.md\:w-20{width:5rem}.md\:w-1\/2{width:50%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:gap-2{grid-gap:.5rem;gap:.5rem}.md\:gap-6{grid-gap:1.5rem;gap:1.5rem}.md\:gap-8{grid-gap:2rem;gap:2rem}.md\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1024px){.lg\:text-6xl{font-size:4rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mb-24{margin-bottom:6rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:pt-10{padding-top:2.5rem}.lg\:gap-16{grid-gap:4rem;gap:4rem}.lg\:gap-x-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.lg\:gap-x-80{grid-column-gap:20rem;-moz-column-gap:20rem;column-gap:20rem}}@media (min-width:1536px){.\32xl\:h-64{height:16rem}.\32xl\:px-12{padding-left:3rem;padding-right:3rem}.\32xl\:gap-6{grid-gap:1.5rem;gap:1.5rem}} \ No newline at end of file diff --git a/css/main.min.css b/css/main.min.css index b2587c0c..491428b7 100644 --- a/css/main.min.css +++ b/css/main.min.css @@ -1 +1 @@ -@charset "UTF-8";/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}a{background-color:transparent}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden]{display:none}blockquote,figure,h1,h2,h3,h4,p{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}ul{margin:0;padding:0}ul{list-style:none}html{font-family:Gill Sans Medium,Gill Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e8e8e8}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,textarea{padding:0;line-height:inherit;color:inherit}embed,iframe,img,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}@font-face{font-family:Gill Sans Medium;src:url(../fonts/gillsans/Gill_Sans_Medium.otf) format("opentype");font-display:swap}@font-face{font-family:source-serif-pro;font-weight:400;font-style:italic;src:url(../fonts/sourceserifpro/source-serif-pro-400-italic.woff) format("woff")}@font-face{font-family:source-serif-pro;font-weight:400;font-style:normal;src:url(../fonts/sourceserifpro/source-serif-pro-400-normal.woff) format("woff")}[data-lazy]{opacity:0;width:100%;transition:opacity .25s ease-in;min-height:120px}.loaded{opacity:1}.inner{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}@media (min-width:1536px){.inner{max-width:88rem}}a{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}a:not([class]):hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}a.implied{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}a.implied:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.link-visible a{text-decoration:underline}.link-not-visible a{text-decoration:inherit}h1,h2,h3{line-height:1.25;margin-top:0;margin-bottom:1.5rem;--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}.font-title{font-family:Helvetica Neue,Helvetica,Roboto,Gill Sans Medium,-apple-system,sans-serif}.page-title{font-size:1.875rem}ul.list-square{padding-left:16px}ul.contact-card a span{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}ul.contact-card li{padding-left:2.5em;text-indent:-2.5em;margin-top:.25rem;margin-bottom:.25rem}ul.contact-card .contact-card-icon{width:1.25rem;height:1.25rem;vertical-align:middle;display:inline;--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity));margin-right:.5rem}.publication-icon,.thesis-icon{font-weight:400;--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity));display:inline-block;margin-left:.5rem;margin-right:.5rem;padding-left:.25rem;padding-right:.25rem}.publication-icon:hover,.thesis-icon:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.publication-icon svg,.thesis-icon svg{width:1.25rem;height:1.25rem;display:inline;vertical-align:sub}.thesis-icon{margin-left:.25rem}code[class*=language-],pre[class*=language-]{color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo,Monaco,Consolas,Andale Mono,Ubuntu Mono,Courier New,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#264f78}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#264f78}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background:#1e1e1e!important}:not(pre)>code[class*=language-]{padding:.1em .3em;border-radius:.3em;color:#db4c69;background:#1e1e1e}.namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#569cd6}.token.doctype .token.name{color:#9cdcfe}.token.comment,.token.prolog{color:#6a9955}.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation,.token.punctuation{color:#d4d4d4}.token.boolean,.token.constant,.token.inserted,.token.number,.token.property,.token.symbol,.token.tag,.token.unit{color:#b5cea8}.token.attr-name,.token.builtin,.token.char,.token.deleted,.token.selector,.token.string{color:#ce9178}.language-css .token.string.url{text-decoration:underline}.token.entity,.token.operator{color:#ce9178}.token.operator.arrow{color:#569cd6}.token.atrule{color:#ce9178}.token.atrule .token.rule{color:#c586c0}.token.atrule .token.url{color:#9cdcfe}.token.atrule .token.url .token.function{color:#dcdcaa}.token.atrule .token.url .token.punctuation{color:#d4d4d4}.token.keyword{color:#569cd6}.token.keyword.control-flow,.token.keyword.module{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#dcdcaa}.token.regex{color:#d16969}.token.important{color:#569cd6}.token.italic{font-style:italic}.token.constant{color:#9cdcfe}.token.class-name,.token.maybe-class-name{color:#4ec9b0}.token.console,.token.interpolation,.token.parameter{color:#9cdcfe}.token.boolean,.token.punctuation.interpolation-punctuation{color:#569cd6}.token.exports .token.maybe-class-name,.token.imports .token.maybe-class-name,.token.property,.token.variable{color:#9cdcfe}.token.escape,.token.selector{color:#d7ba7d}.token.tag{color:#569cd6}.token.cdata,.token.tag .token.punctuation{color:grey}.token.attr-name{color:#9cdcfe}.token.attr-value,.token.attr-value .token.punctuation{color:#ce9178}.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.entity{color:#569cd6}.token.namespace{color:#4ec9b0}code[class*=language-javascript],code[class*=language-jsx],code[class*=language-tsx],code[class*=language-typescript],pre[class*=language-javascript],pre[class*=language-jsx],pre[class*=language-tsx],pre[class*=language-typescript]{color:#9cdcfe}code[class*=language-css],pre[class*=language-css]{color:#ce9178}code[class*=language-html],pre[class*=language-html]{color:#d4d4d4}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:grey}pre[class*=language-]>code[class*=language-]{position:relative;z-index:1}.line-highlight.line-highlight{background:#f7ebc6;box-shadow:inset 5px 0 0 #f7d87c;z-index:0}pre{counter-reset:lineNumber}code .highlight-line:before{-webkit-user-select:none;border-right:1px solid #404040;color:#858585;content:counter(lineNumber);counter-increment:lineNumber;display:inline-block;font-variant-numeric:tabular-nums;margin-right:1.2em;padding-right:1.2em;text-align:right;width:2.4em}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.aspect-w-16{position:relative;padding-bottom:calc(var(--tw-aspect-h)/var(--tw-aspect-w)*100%)}.aspect-w-16>*{position:absolute;height:100%;width:100%;top:0;right:0;bottom:0;left:0}.aspect-w-16{--tw-aspect-w:16}.aspect-h-9{--tw-aspect-h:9}#nav .link:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}#nav .link:active{--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.mobile-nav-toggle .mobile-nav-icon-line{height:2px}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line{margin:0;--bg-opacity:1;background-color:#494949;background-color:rgba(73,73,73,var(--bg-opacity))}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:first-child{transform:rotate(45deg) translateY(3px)}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:nth-child(2){opacity:0}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:nth-child(3){transform:rotate(-45deg) translateY(-3px)}.mobile-nav{transform:translate3d(-100%,0,0);transition:transform .5s cubic-bezier(.77,0,.175,1);transition-delay:.1s;will-change:transform}.mobile-nav.menu-visible{transform:translateZ(0)}.mobile-nav.menu-visible .item{opacity:1;transform:translateZ(0)}.mobile-nav .item{transition:opacity .5s ease,transform .5s cubic-bezier(.77,0,.175,1);transform:translate3d(-50%,0,0);transition-delay:.5s}.mobile-nav .item:nth-child(0){transition-delay:.5s}.mobile-nav .item:first-child{transition-delay:.5625s}.mobile-nav .item:nth-child(2){transition-delay:.625s}.mobile-nav .item:nth-child(3){transition-delay:.6875s}.mobile-nav .item:nth-child(4){transition-delay:.75s}.mobile-nav .item:nth-child(5){transition-delay:.8125s}.mobile-nav .item:nth-child(6){transition-delay:.875s}.mobile-nav .item:nth-child(7){transition-delay:.9375s}.mobile-nav .item:nth-child(8){transition-delay:1s}.mobile-nav .item:nth-child(9){transition-delay:1.0625s}.mobile-nav .item:nth-child(10){transition-delay:1.125s}.mobile-nav .item:nth-child(11){transition-delay:1.1875s}.mobile-nav .item:nth-child(12){transition-delay:1.25s}.mobile-nav .item:nth-child(13){transition-delay:1.3125s}.mobile-nav .item:nth-child(14){transition-delay:1.375s}.mobile-nav .item:nth-child(15){transition-delay:1.4375s}.mobile-nav .item:nth-child(16){transition-delay:1.5s}.mobile-nav .item:nth-child(17){transition-delay:1.5625s}.mobile-nav .item:nth-child(18){transition-delay:1.625s}.mobile-nav .item:nth-child(19){transition-delay:1.6875s}.mobile-nav .item:nth-child(20){transition-delay:1.75s}.mobile-nav .item:nth-child(21){transition-delay:1.8125s}.mobile-nav .item:nth-child(22){transition-delay:1.875s}.mobile-nav .item:nth-child(23){transition-delay:1.9375s}.mobile-nav .item:nth-child(24){transition-delay:2s}.mobile-nav .item:nth-child(25){transition-delay:2.0625s}.mobile-nav .item:nth-child(26){transition-delay:2.125s}.mobile-nav .item:nth-child(27){transition-delay:2.1875s}.mobile-nav .item:nth-child(28){transition-delay:2.25s}.mobile-nav .item:nth-child(29){transition-delay:2.3125s}.mobile-nav .item:nth-child(30){transition-delay:2.375s}.mobile-nav .item:nth-child(31){transition-delay:2.4375s}.mobile-nav .item:nth-child(32){transition-delay:2.5s}.mobile-nav .item:nth-child(33){transition-delay:2.5625s}.mobile-nav .item:nth-child(34){transition-delay:2.625s}.mobile-nav .item:nth-child(35){transition-delay:2.6875s}.mobile-nav .item:nth-child(36){transition-delay:2.75s}.mobile-nav .item:nth-child(37){transition-delay:2.8125s}.mobile-nav .item:nth-child(38){transition-delay:2.875s}.mobile-nav .item:nth-child(39){transition-delay:2.9375s}.mobile-nav .item:nth-child(40){transition-delay:3s}.mobile-nav .item:nth-child(41){transition-delay:3.0625s}.mobile-nav .item:nth-child(42){transition-delay:3.125s}.mobile-nav .item:nth-child(43){transition-delay:3.1875s}.mobile-nav .item:nth-child(44){transition-delay:3.25s}.mobile-nav .item:nth-child(45){transition-delay:3.3125s}.mobile-nav .item:nth-child(46){transition-delay:3.375s}.mobile-nav .item:nth-child(47){transition-delay:3.4375s}.mobile-nav .item:nth-child(48){transition-delay:3.5s}.mobile-nav .item:nth-child(49){transition-delay:3.5625s}.mobile-nav .item:nth-child(50){transition-delay:3.625s}.mobile-nav .item:nth-child(51){transition-delay:3.6875s}.mobile-nav .item:nth-child(52){transition-delay:3.75s}.mobile-nav .item:nth-child(53){transition-delay:3.8125s}.mobile-nav .item:nth-child(54){transition-delay:3.875s}.mobile-nav .item:nth-child(55){transition-delay:3.9375s}.mobile-nav .item:nth-child(56){transition-delay:4s}.mobile-nav .item:nth-child(57){transition-delay:4.0625s}.mobile-nav .item:nth-child(58){transition-delay:4.125s}.mobile-nav .item:nth-child(59){transition-delay:4.1875s}.mobile-nav .item:nth-child(60){transition-delay:4.25s}.mobile-nav .item:nth-child(61){transition-delay:4.3125s}.mobile-nav .item:nth-child(62){transition-delay:4.375s}.mobile-nav .item:nth-child(63){transition-delay:4.4375s}.mobile-nav .item:nth-child(64){transition-delay:4.5s}.mobile-nav .item:nth-child(65){transition-delay:4.5625s}.mobile-nav .item:nth-child(66){transition-delay:4.625s}.mobile-nav .item:nth-child(67){transition-delay:4.6875s}.mobile-nav .item:nth-child(68){transition-delay:4.75s}.mobile-nav .item:nth-child(69){transition-delay:4.8125s}.mobile-nav .item:nth-child(70){transition-delay:4.875s}.mobile-nav .item:nth-child(71){transition-delay:4.9375s}.mobile-nav .item:nth-child(72){transition-delay:5s}.mobile-nav .item:nth-child(73){transition-delay:5.0625s}.mobile-nav .item:nth-child(74){transition-delay:5.125s}.mobile-nav .item:nth-child(75){transition-delay:5.1875s}.mobile-nav .item:nth-child(76){transition-delay:5.25s}.mobile-nav .item:nth-child(77){transition-delay:5.3125s}.mobile-nav .item:nth-child(78){transition-delay:5.375s}.mobile-nav .item:nth-child(79){transition-delay:5.4375s}.mobile-nav .item:nth-child(80){transition-delay:5.5s}.mobile-nav .item:nth-child(81){transition-delay:5.5625s}.mobile-nav .item:nth-child(82){transition-delay:5.625s}.mobile-nav .item:nth-child(83){transition-delay:5.6875s}.mobile-nav .item:nth-child(84){transition-delay:5.75s}.mobile-nav .item:nth-child(85){transition-delay:5.8125s}.mobile-nav .item:nth-child(86){transition-delay:5.875s}.mobile-nav .item:nth-child(87){transition-delay:5.9375s}.mobile-nav .item:nth-child(88){transition-delay:6s}.mobile-nav .item:nth-child(89){transition-delay:6.0625s}.mobile-nav .item:nth-child(90){transition-delay:6.125s}.mobile-nav .item:nth-child(91){transition-delay:6.1875s}.mobile-nav .item:nth-child(92){transition-delay:6.25s}.mobile-nav .item:nth-child(93){transition-delay:6.3125s}.mobile-nav .item:nth-child(94){transition-delay:6.375s}.mobile-nav .item:nth-child(95){transition-delay:6.4375s}.mobile-nav .item:nth-child(96){transition-delay:6.5s}.mobile-nav .item:nth-child(97){transition-delay:6.5625s}.mobile-nav .item:nth-child(98){transition-delay:6.625s}.mobile-nav .item:nth-child(99){transition-delay:6.6875s}.mobile-nav .item:nth-child(100){transition-delay:6.75s}.form .row{margin-bottom:1.5rem}.form .row label{display:block;margin-bottom:.25rem;--text-opacity:1;color:#373737;color:rgba(55,55,55,var(--text-opacity))}.form .row label:after{font-size:.875rem;--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.form .row.required label:after{content:"\A0(required)"}.form .row:not(.required) label:after{content:"\A0(optional)"}.form .input,.form .textarea{border-width:1px;--border-opacity:1;border-color:#f2f2f2;border-color:rgba(242,242,242,var(--border-opacity));border-radius:.25rem;padding:.75rem;width:100%;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}.form .input:focus,.form .textarea:focus{--border-opacity:1;border-color:#eb5286;border-color:rgba(235,82,134,var(--border-opacity));outline:2px solid transparent;outline-offset:2px}.form .input{height:3rem}.form .textarea{height:6rem}#news-list-collapse{transition:all .6s cubic-bezier(.77,0,.175,1);overflow:hidden;--border-opacity:1}#news-list-collapse.collapsed{--border-opacity:0;height:0!important}#news-list-collapse-button{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity));margin-top:.5rem}#news-list-collapse-button:hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity));cursor:pointer}#news-list-collapse-button.news-toggle-active .news-list-collapse-icon{transform:rotate(180deg)}#news-list-collapse-button .news-list-collapse-icon{transition:transform .6s cubic-bezier(.77,0,.175,1);width:1.25rem;height:1.25rem;vertical-align:middle;display:inline;margin-right:.5rem}.carousel-slide{margin-left:auto;margin-right:auto;transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;z-index:-1;height:24rem}.home-caroussel{margin-bottom:1rem;height:24rem}#carousel-controls{position:absolute;margin:auto;left:0;right:0;bottom:0}.carousel-button:hover{opacity:1}.carousel-button:focus{outline:0}#home-description{padding:2rem;text-align:justify;background-color:#f5f5f5}#home-description p:not(:first-child){margin-top:1.5rem}@media (min-width:768px){.reverse-indent{margin-left:-2rem;width:105%}}.blog-container{margin-left:auto;margin-right:auto;max-width:42rem}.post{text-align:justify}#blog figure{margin-top:1.5rem!important;margin-bottom:1.5rem!important}#blog figcaption{font-size:.875rem;--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.filter-grayscale{filter:grayscale(1)}.image-filter-wrap{position:relative}.image-filter-wrap:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.profile-wrapper{width:8rem;height:8rem}@media screen and (max-width:1050px){.profile-wrapper{width:6rem;height:6rem}}.publication a .highlighted{text-decoration:underline}.publication a .highlighted:hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}#group-image-float{margin-top:-36px;float:right}@media screen and (max-width:1140px){#group-image-float{margin-top:0;float:none;display:flex;justify-content:center;align-items:center}}.md-content ul{list-style:square;padding-left:14px}.md-content h1,.md-content h2,.md-content h3{font-size:inherit;font-family:Helvetica Neue,sans-serif;margin-top:2rem;margin-bottom:1rem}.md-content h1.mt-0,.md-content h2.mt-0,.md-content h3.mt-0{margin-top:0}.md-content h1{font-size:1.5rem}.md-content h2{font-size:1.25rem}.md-content h3{font-size:1.125rem}.md-content table{width:100%;text-align:left}.md-content table tr{border-top-width:1px}.md-content table tr thead{border-bottom-width:1px}.md-content table tr td,.md-content table tr th{padding:.5rem 1rem}.md-content table tr th{font-size:1rem;font-family:Helvetica Neue,sans-serif;font-weight:500}.md-content-blog ul{list-style:square;padding-left:14px}.md-content-blog h1,.md-content-blog h2,.md-content-blog h3{font-size:inherit;font-family:Helvetica Neue,sans-serif;margin-top:2rem;margin-bottom:1rem}.md-content-blog h1.mt-0,.md-content-blog h2.mt-0,.md-content-blog h3.mt-0{margin-top:0}.md-content-blog h1,.md-content-blog h2{font-size:1.875rem}.md-content-blog h3{font-size:1.5rem;margin-bottom:.5rem}.md-content-blog h4{font-size:1.25rem;font-weight:900}.md-content-blog p{margin-top:0;margin-bottom:1.2em;font-weight:400;font-size:1.2rem;line-height:1.7}.md-content-blog table{width:100%;text-align:left}.md-content-blog table tr{border-top-width:1px}.md-content-blog table tr thead{border-bottom-width:1px}.md-content-blog table tr td,.md-content-blog table tr th{padding:.5rem 1rem}.md-content-blog table tr th{font-size:1rem;font-family:Helvetica Neue,sans-serif;font-weight:500}.divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#aeaeae;border-color:rgba(174,174,174,var(--divide-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.bg-black{--bg-opacity:1;background-color:#1b1b1b;background-color:rgba(27,27,27,var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:#fafafa;background-color:rgba(250,250,250,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#f2f2f2;background-color:rgba(242,242,242,var(--bg-opacity))}.bg-gray-400{--bg-opacity:1;background-color:#d5d5d5;background-color:rgba(213,213,213,var(--bg-opacity))}.bg-gray-600{--bg-opacity:1;background-color:grey;background-color:rgba(128,128,128,var(--bg-opacity))}.bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.bg-purple-900{--bg-opacity:1;background-color:#21183c;background-color:rgba(33,24,60,var(--bg-opacity))}.hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#f2f2f2;background-color:rgba(242,242,242,var(--bg-opacity))}.hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#eb5286;background-color:rgba(235,82,134,var(--bg-opacity))}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.bg-contain{background-size:contain}.border-gray-200{--border-opacity:1;border-color:#f2f2f2;border-color:rgba(242,242,242,var(--border-opacity))}.border-gray-300{--border-opacity:1;border-color:#e8e8e8;border-color:rgba(232,232,232,var(--border-opacity))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border-none{border-style:none}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.last\:border-b:last-child{border-bottom-width:1px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-stretch{align-items:stretch}.content-center{align-content:center}.self-center{align-self:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-self-center{justify-self:center}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.float-left{float:left}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.h-1{height:.25rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-32{height:8rem}.h-48{height:12rem}.h-56{height:14rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.list-inside{list-style-position:inside}.list-square{list-style-type:square}.m-2{margin:.5rem}.m-8{margin:2rem}.m-auto{margin:auto}.mx-8{margin-left:2rem;margin-right:2rem}.mx-16{margin-left:4rem;margin-right:4rem}.mx-32{margin-left:8rem;margin-right:8rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mb-3{margin-bottom:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.mt-10{margin-top:2.5rem}.mb-10{margin-bottom:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mb-16{margin-bottom:4rem}.max-w-xl{max-width:36rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-center{-o-object-position:center;object-position:center}.opacity-0{opacity:0}.opacity-75{opacity:.75}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.pr-1{padding-right:.25rem}.pl-1{padding-left:.25rem}.pb-2{padding-bottom:.5rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pt-5{padding-top:1.25rem}.pb-6{padding-bottom:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pt-12{padding-top:3rem}.pb-16{padding-bottom:4rem}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:8px}.left-1{left:8px}.top-2{top:16px}.left-2{left:16px}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.fill-current{fill:currentColor}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}.text-primary{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.text-textGray{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-black{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}.text-white{--text-opacity:1;color:#fafafa;color:rgba(250,250,250,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#202020;color:rgba(32,32,32,var(--text-opacity))}.text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.text-purple-900{--text-opacity:1;color:#21183c;color:rgba(33,24,60,var(--text-opacity))}.text-pink-500{--text-opacity:1;color:#eb5286;color:rgba(235,82,134,var(--text-opacity))}.hover\:text-white:hover{--text-opacity:1;color:#fafafa;color:rgba(250,250,250,var(--text-opacity))}.hover\:text-link-hover:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.hover\:text-gray-700:hover{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}.hover\:text-gray-800:hover{--text-opacity:1;color:#373737;color:rgba(55,55,55,var(--text-opacity))}.hover\:text-purple-900:hover{--text-opacity:1;color:#21183c;color:rgba(33,24,60,var(--text-opacity))}.hover\:text-pink-500:hover{--text-opacity:1;color:#eb5286;color:rgba(235,82,134,var(--text-opacity))}.italic{font-style:italic}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.hover\:underline:hover{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wide{letter-spacing:.025em}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.break-all{word-break:break-all}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-0{width:0}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-56{width:14rem}.w-auto{width:auto}.w-2\/3{width:66.666667%}.w-full{width:100%}.z-50{z-index:50}.gap-0{grid-gap:0;gap:0}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-8{grid-gap:2rem;gap:2rem}.gap-x-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.gap-x-48{grid-column-gap:12rem;-moz-column-gap:12rem;column-gap:12rem}.gap-y-16{grid-row-gap:4rem;row-gap:4rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.duration-75{transition-duration:75ms}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:768px){.md\:bg-cover{background-size:cover}.md\:rounded-none{border-radius:0}.md\:border-b-0{border-bottom-width:0}.md\:border-t{border-top-width:1px}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:justify-start{justify-content:flex-start}.md\:flex-shrink-0{flex-shrink:0}.md\:h-56{height:14rem}.md\:text-5xl{font-size:3rem}.md\:mx-0{margin-left:0;margin-right:0}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:mt-0{margin-top:0}.md\:mb-0{margin-bottom:0}.md\:ml-6{margin-left:1.5rem}.md\:mr-8{margin-right:2rem}.md\:ml-8{margin-left:2rem}.md\:ml-12{margin-left:3rem}.md\:mt-20{margin-top:5rem}.md\:ml-24{margin-left:6rem}.md\:p-4{padding:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:pb-0{padding-bottom:0}.md\:pb-4{padding-bottom:1rem}.md\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:text-center{text-align:center}.md\:w-20{width:5rem}.md\:w-1\/2{width:50%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:gap-2{grid-gap:.5rem;gap:.5rem}.md\:gap-6{grid-gap:1.5rem;gap:1.5rem}.md\:gap-8{grid-gap:2rem;gap:2rem}.md\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1024px){.lg\:text-6xl{font-size:4rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mb-24{margin-bottom:6rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:pt-10{padding-top:2.5rem}.lg\:gap-16{grid-gap:4rem;gap:4rem}.lg\:gap-x-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.lg\:gap-x-80{grid-column-gap:20rem;-moz-column-gap:20rem;column-gap:20rem}}@media (min-width:1536px){.\32xl\:h-64{height:16rem}.\32xl\:px-12{padding-left:3rem;padding-right:3rem}.\32xl\:gap-6{grid-gap:1.5rem;gap:1.5rem}} +@charset "UTF-8";/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}a{background-color:transparent}strong{font-weight:bolder}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden]{display:none}blockquote,figure,h1,h2,h3,h4,p{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}ul{margin:0;padding:0}ul{list-style:none}html{font-family:Gill Sans Medium,Gill Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e8e8e8}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#a0aec0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,textarea{padding:0;line-height:inherit;color:inherit}embed,iframe,img,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}@font-face{font-family:Gill Sans Medium;src:url(../fonts/gillsans/Gill_Sans_Medium.otf) format("opentype");font-display:swap}@font-face{font-family:source-serif-pro;font-weight:400;font-style:italic;src:url(../fonts/sourceserifpro/source-serif-pro-400-italic.woff) format("woff")}@font-face{font-family:source-serif-pro;font-weight:400;font-style:normal;src:url(../fonts/sourceserifpro/source-serif-pro-400-normal.woff) format("woff")}[data-lazy]{opacity:0;width:100%;transition:opacity .25s ease-in;min-height:120px}.loaded{opacity:1}.inner{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}@media (min-width:1536px){.inner{max-width:88rem}}a{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}a:not([class]):hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}a.implied{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}a.implied:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.link-visible a{text-decoration:underline}.link-not-visible a{text-decoration:inherit}h1,h2,h3{line-height:1.25;margin-top:0;margin-bottom:1.5rem;--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}.font-title{font-family:Helvetica Neue,Helvetica,Roboto,Gill Sans Medium,-apple-system,sans-serif}.page-title{font-size:1.875rem}ul.list-square{padding-left:16px}ul.contact-card a span{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}ul.contact-card li{padding-left:2.5em;text-indent:-2.5em;margin-top:.25rem;margin-bottom:.25rem}ul.contact-card .contact-card-icon{width:1.25rem;height:1.25rem;vertical-align:middle;display:inline;--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity));margin-right:.5rem}.publication-icon,.thesis-icon{font-weight:400;--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity));display:inline-block;margin-left:.5rem;margin-right:.5rem;padding-left:.25rem;padding-right:.25rem}.publication-icon:hover,.thesis-icon:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.publication-icon svg,.thesis-icon svg{width:1.25rem;height:1.25rem;display:inline;vertical-align:sub}.thesis-icon{margin-left:.25rem}code[class*=language-],pre[class*=language-]{color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo,Monaco,Consolas,Andale Mono,Ubuntu Mono,Courier New,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#264f78}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#264f78}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background:#1e1e1e!important}:not(pre)>code[class*=language-]{padding:.1em .3em;border-radius:.3em;color:#db4c69;background:#1e1e1e}.namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#569cd6}.token.doctype .token.name{color:#9cdcfe}.token.comment,.token.prolog{color:#6a9955}.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation,.token.punctuation{color:#d4d4d4}.token.boolean,.token.constant,.token.inserted,.token.number,.token.property,.token.symbol,.token.tag,.token.unit{color:#b5cea8}.token.attr-name,.token.builtin,.token.char,.token.deleted,.token.selector,.token.string{color:#ce9178}.language-css .token.string.url{text-decoration:underline}.token.entity,.token.operator{color:#ce9178}.token.operator.arrow{color:#569cd6}.token.atrule{color:#ce9178}.token.atrule .token.rule{color:#c586c0}.token.atrule .token.url{color:#9cdcfe}.token.atrule .token.url .token.function{color:#dcdcaa}.token.atrule .token.url .token.punctuation{color:#d4d4d4}.token.keyword{color:#569cd6}.token.keyword.control-flow,.token.keyword.module{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#dcdcaa}.token.regex{color:#d16969}.token.important{color:#569cd6}.token.italic{font-style:italic}.token.constant{color:#9cdcfe}.token.class-name,.token.maybe-class-name{color:#4ec9b0}.token.console,.token.interpolation,.token.parameter{color:#9cdcfe}.token.boolean,.token.punctuation.interpolation-punctuation{color:#569cd6}.token.exports .token.maybe-class-name,.token.imports .token.maybe-class-name,.token.property,.token.variable{color:#9cdcfe}.token.escape,.token.selector{color:#d7ba7d}.token.tag{color:#569cd6}.token.cdata,.token.tag .token.punctuation{color:grey}.token.attr-name{color:#9cdcfe}.token.attr-value,.token.attr-value .token.punctuation{color:#ce9178}.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.entity{color:#569cd6}.token.namespace{color:#4ec9b0}code[class*=language-javascript],code[class*=language-jsx],code[class*=language-tsx],code[class*=language-typescript],pre[class*=language-javascript],pre[class*=language-jsx],pre[class*=language-tsx],pre[class*=language-typescript]{color:#9cdcfe}code[class*=language-css],pre[class*=language-css]{color:#ce9178}code[class*=language-html],pre[class*=language-html]{color:#d4d4d4}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:grey}pre[class*=language-]>code[class*=language-]{position:relative;z-index:1}.line-highlight.line-highlight{background:#f7ebc6;box-shadow:inset 5px 0 0 #f7d87c;z-index:0}pre{counter-reset:lineNumber}code .highlight-line:before{-webkit-user-select:none;border-right:1px solid #404040;color:#858585;content:counter(lineNumber);counter-increment:lineNumber;display:inline-block;font-variant-numeric:tabular-nums;margin-right:1.2em;padding-right:1.2em;text-align:right;width:2.4em}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.aspect-w-16{position:relative;padding-bottom:calc(var(--tw-aspect-h)/var(--tw-aspect-w)*100%)}.aspect-w-16>*{position:absolute;height:100%;width:100%;top:0;right:0;bottom:0;left:0}.aspect-w-16{--tw-aspect-w:16}.aspect-h-9{--tw-aspect-h:9}#nav .link:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}#nav .link:active{--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.mobile-nav-toggle .mobile-nav-icon-line{height:2px}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line{margin:0;--bg-opacity:1;background-color:#494949;background-color:rgba(73,73,73,var(--bg-opacity))}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:first-child{transform:rotate(45deg) translateY(3px)}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:nth-child(2){opacity:0}.mobile-nav-toggle.menu-toggle-active .mobile-nav-icon-line:nth-child(3){transform:rotate(-45deg) translateY(-3px)}.mobile-nav{transform:translate3d(-100%,0,0);transition:transform .5s cubic-bezier(.77,0,.175,1);transition-delay:.1s;will-change:transform}.mobile-nav.menu-visible{transform:translateZ(0)}.mobile-nav.menu-visible .item{opacity:1;transform:translateZ(0)}.mobile-nav .item{transition:opacity .5s ease,transform .5s cubic-bezier(.77,0,.175,1);transform:translate3d(-50%,0,0);transition-delay:.5s}.mobile-nav .item:nth-child(0){transition-delay:.5s}.mobile-nav .item:first-child{transition-delay:.5625s}.mobile-nav .item:nth-child(2){transition-delay:.625s}.mobile-nav .item:nth-child(3){transition-delay:.6875s}.mobile-nav .item:nth-child(4){transition-delay:.75s}.mobile-nav .item:nth-child(5){transition-delay:.8125s}.mobile-nav .item:nth-child(6){transition-delay:.875s}.mobile-nav .item:nth-child(7){transition-delay:.9375s}.mobile-nav .item:nth-child(8){transition-delay:1s}.mobile-nav .item:nth-child(9){transition-delay:1.0625s}.mobile-nav .item:nth-child(10){transition-delay:1.125s}.mobile-nav .item:nth-child(11){transition-delay:1.1875s}.mobile-nav .item:nth-child(12){transition-delay:1.25s}.mobile-nav .item:nth-child(13){transition-delay:1.3125s}.mobile-nav .item:nth-child(14){transition-delay:1.375s}.mobile-nav .item:nth-child(15){transition-delay:1.4375s}.mobile-nav .item:nth-child(16){transition-delay:1.5s}.mobile-nav .item:nth-child(17){transition-delay:1.5625s}.mobile-nav .item:nth-child(18){transition-delay:1.625s}.mobile-nav .item:nth-child(19){transition-delay:1.6875s}.mobile-nav .item:nth-child(20){transition-delay:1.75s}.mobile-nav .item:nth-child(21){transition-delay:1.8125s}.mobile-nav .item:nth-child(22){transition-delay:1.875s}.mobile-nav .item:nth-child(23){transition-delay:1.9375s}.mobile-nav .item:nth-child(24){transition-delay:2s}.mobile-nav .item:nth-child(25){transition-delay:2.0625s}.mobile-nav .item:nth-child(26){transition-delay:2.125s}.mobile-nav .item:nth-child(27){transition-delay:2.1875s}.mobile-nav .item:nth-child(28){transition-delay:2.25s}.mobile-nav .item:nth-child(29){transition-delay:2.3125s}.mobile-nav .item:nth-child(30){transition-delay:2.375s}.mobile-nav .item:nth-child(31){transition-delay:2.4375s}.mobile-nav .item:nth-child(32){transition-delay:2.5s}.mobile-nav .item:nth-child(33){transition-delay:2.5625s}.mobile-nav .item:nth-child(34){transition-delay:2.625s}.mobile-nav .item:nth-child(35){transition-delay:2.6875s}.mobile-nav .item:nth-child(36){transition-delay:2.75s}.mobile-nav .item:nth-child(37){transition-delay:2.8125s}.mobile-nav .item:nth-child(38){transition-delay:2.875s}.mobile-nav .item:nth-child(39){transition-delay:2.9375s}.mobile-nav .item:nth-child(40){transition-delay:3s}.mobile-nav .item:nth-child(41){transition-delay:3.0625s}.mobile-nav .item:nth-child(42){transition-delay:3.125s}.mobile-nav .item:nth-child(43){transition-delay:3.1875s}.mobile-nav .item:nth-child(44){transition-delay:3.25s}.mobile-nav .item:nth-child(45){transition-delay:3.3125s}.mobile-nav .item:nth-child(46){transition-delay:3.375s}.mobile-nav .item:nth-child(47){transition-delay:3.4375s}.mobile-nav .item:nth-child(48){transition-delay:3.5s}.mobile-nav .item:nth-child(49){transition-delay:3.5625s}.mobile-nav .item:nth-child(50){transition-delay:3.625s}.mobile-nav .item:nth-child(51){transition-delay:3.6875s}.mobile-nav .item:nth-child(52){transition-delay:3.75s}.mobile-nav .item:nth-child(53){transition-delay:3.8125s}.mobile-nav .item:nth-child(54){transition-delay:3.875s}.mobile-nav .item:nth-child(55){transition-delay:3.9375s}.mobile-nav .item:nth-child(56){transition-delay:4s}.mobile-nav .item:nth-child(57){transition-delay:4.0625s}.mobile-nav .item:nth-child(58){transition-delay:4.125s}.mobile-nav .item:nth-child(59){transition-delay:4.1875s}.mobile-nav .item:nth-child(60){transition-delay:4.25s}.mobile-nav .item:nth-child(61){transition-delay:4.3125s}.mobile-nav .item:nth-child(62){transition-delay:4.375s}.mobile-nav .item:nth-child(63){transition-delay:4.4375s}.mobile-nav .item:nth-child(64){transition-delay:4.5s}.mobile-nav .item:nth-child(65){transition-delay:4.5625s}.mobile-nav .item:nth-child(66){transition-delay:4.625s}.mobile-nav .item:nth-child(67){transition-delay:4.6875s}.mobile-nav .item:nth-child(68){transition-delay:4.75s}.mobile-nav .item:nth-child(69){transition-delay:4.8125s}.mobile-nav .item:nth-child(70){transition-delay:4.875s}.mobile-nav .item:nth-child(71){transition-delay:4.9375s}.mobile-nav .item:nth-child(72){transition-delay:5s}.mobile-nav .item:nth-child(73){transition-delay:5.0625s}.mobile-nav .item:nth-child(74){transition-delay:5.125s}.mobile-nav .item:nth-child(75){transition-delay:5.1875s}.mobile-nav .item:nth-child(76){transition-delay:5.25s}.mobile-nav .item:nth-child(77){transition-delay:5.3125s}.mobile-nav .item:nth-child(78){transition-delay:5.375s}.mobile-nav .item:nth-child(79){transition-delay:5.4375s}.mobile-nav .item:nth-child(80){transition-delay:5.5s}.mobile-nav .item:nth-child(81){transition-delay:5.5625s}.mobile-nav .item:nth-child(82){transition-delay:5.625s}.mobile-nav .item:nth-child(83){transition-delay:5.6875s}.mobile-nav .item:nth-child(84){transition-delay:5.75s}.mobile-nav .item:nth-child(85){transition-delay:5.8125s}.mobile-nav .item:nth-child(86){transition-delay:5.875s}.mobile-nav .item:nth-child(87){transition-delay:5.9375s}.mobile-nav .item:nth-child(88){transition-delay:6s}.mobile-nav .item:nth-child(89){transition-delay:6.0625s}.mobile-nav .item:nth-child(90){transition-delay:6.125s}.mobile-nav .item:nth-child(91){transition-delay:6.1875s}.mobile-nav .item:nth-child(92){transition-delay:6.25s}.mobile-nav .item:nth-child(93){transition-delay:6.3125s}.mobile-nav .item:nth-child(94){transition-delay:6.375s}.mobile-nav .item:nth-child(95){transition-delay:6.4375s}.mobile-nav .item:nth-child(96){transition-delay:6.5s}.mobile-nav .item:nth-child(97){transition-delay:6.5625s}.mobile-nav .item:nth-child(98){transition-delay:6.625s}.mobile-nav .item:nth-child(99){transition-delay:6.6875s}.mobile-nav .item:nth-child(100){transition-delay:6.75s}.form .row{margin-bottom:1.5rem}.form .row label{display:block;margin-bottom:.25rem;--text-opacity:1;color:#373737;color:rgba(55,55,55,var(--text-opacity))}.form .row label:after{font-size:.875rem;--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.form .row.required label:after{content:"\A0(required)"}.form .row:not(.required) label:after{content:"\A0(optional)"}.form .input,.form .textarea{border-width:1px;--border-opacity:1;border-color:#f2f2f2;border-color:rgba(242,242,242,var(--border-opacity));border-radius:.25rem;padding:.75rem;width:100%;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}.form .input:focus,.form .textarea:focus{--border-opacity:1;border-color:#eb5286;border-color:rgba(235,82,134,var(--border-opacity));outline:2px solid transparent;outline-offset:2px}.form .input{height:3rem}.form .textarea{height:6rem}#news-list-collapse{transition:all .6s cubic-bezier(.77,0,.175,1);overflow:hidden;--border-opacity:1}#news-list-collapse.collapsed{--border-opacity:0;height:0!important}#news-list-collapse-button{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity));margin-top:.5rem}#news-list-collapse-button:hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity));cursor:pointer}#news-list-collapse-button.news-toggle-active .news-list-collapse-icon{transform:rotate(180deg)}#news-list-collapse-button .news-list-collapse-icon{transition:transform .6s cubic-bezier(.77,0,.175,1);width:1.25rem;height:1.25rem;vertical-align:middle;display:inline;margin-right:.5rem}.carousel-slide{margin-left:auto;margin-right:auto;transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;z-index:-1;height:24rem}.home-caroussel{margin-bottom:1rem;height:24rem}#carousel-controls{position:absolute;margin:auto;left:0;right:0;bottom:0}.carousel-button:hover{opacity:1}.carousel-button:focus{outline:0}#home-description{padding:2rem;text-align:justify;background-color:#f5f5f5}#home-description p:not(:first-child){margin-top:1.5rem}@media (min-width:768px){.reverse-indent{margin-left:-2rem;width:105%}}.blog-container{margin-left:auto;margin-right:auto;max-width:42rem}.post{text-align:justify}#blog figure{margin-top:1.5rem!important;margin-bottom:1.5rem!important}#blog figcaption{font-size:.875rem;--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.filter-grayscale{filter:grayscale(1)}.image-filter-wrap{position:relative}.image-filter-wrap:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.profile-wrapper{width:8rem;height:8rem}@media screen and (max-width:1050px){.profile-wrapper{width:6rem;height:6rem}}.publication a .highlighted{text-decoration:underline}.publication a .highlighted:hover{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}#group-image-float{margin-top:-36px;float:right}@media screen and (max-width:1140px){#group-image-float{margin-top:0;float:none;display:flex;justify-content:center;align-items:center}}.md-content ul{list-style:square;padding-left:14px}.md-content h1,.md-content h2,.md-content h3{font-size:inherit;font-family:Helvetica Neue,sans-serif;margin-top:2rem;margin-bottom:1rem}.md-content h1.mt-0,.md-content h2.mt-0,.md-content h3.mt-0{margin-top:0}.md-content h1{font-size:1.5rem}.md-content h2{font-size:1.25rem}.md-content h3{font-size:1.125rem}.md-content table{width:100%;text-align:left}.md-content table tr{border-top-width:1px}.md-content table tr thead{border-bottom-width:1px}.md-content table tr td,.md-content table tr th{padding:.5rem 1rem}.md-content table tr th{font-size:1rem;font-family:Helvetica Neue,sans-serif;font-weight:500}.md-content-blog ul{list-style:square;padding-left:14px}.md-content-blog h1,.md-content-blog h2,.md-content-blog h3{font-size:inherit;font-family:Helvetica Neue,sans-serif;margin-top:2rem;margin-bottom:1rem}.md-content-blog h1.mt-0,.md-content-blog h2.mt-0,.md-content-blog h3.mt-0{margin-top:0}.md-content-blog h1,.md-content-blog h2{font-size:1.875rem}.md-content-blog h3{font-size:1.5rem;margin-bottom:.5rem}.md-content-blog h4{font-size:1.25rem;font-weight:900}.md-content-blog p{margin-top:0;margin-bottom:1.2em;font-weight:400;font-size:1.2rem;line-height:1.7}.md-content-blog table{width:100%;text-align:left}.md-content-blog table tr{border-top-width:1px}.md-content-blog table tr thead{border-bottom-width:1px}.md-content-blog table tr td,.md-content-blog table tr th{padding:.5rem 1rem}.md-content-blog table tr th{font-size:1rem;font-family:Helvetica Neue,sans-serif;font-weight:500}.divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#aeaeae;border-color:rgba(174,174,174,var(--divide-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.bg-black{--bg-opacity:1;background-color:#1b1b1b;background-color:rgba(27,27,27,var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:#fafafa;background-color:rgba(250,250,250,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#f2f2f2;background-color:rgba(242,242,242,var(--bg-opacity))}.bg-gray-400{--bg-opacity:1;background-color:#d5d5d5;background-color:rgba(213,213,213,var(--bg-opacity))}.bg-gray-600{--bg-opacity:1;background-color:grey;background-color:rgba(128,128,128,var(--bg-opacity))}.bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.bg-purple-900{--bg-opacity:1;background-color:#21183c;background-color:rgba(33,24,60,var(--bg-opacity))}.hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#f2f2f2;background-color:rgba(242,242,242,var(--bg-opacity))}.hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#eb5286;background-color:rgba(235,82,134,var(--bg-opacity))}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.bg-contain{background-size:contain}.border-gray-200{--border-opacity:1;border-color:#f2f2f2;border-color:rgba(242,242,242,var(--border-opacity))}.border-gray-300{--border-opacity:1;border-color:#e8e8e8;border-color:rgba(232,232,232,var(--border-opacity))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border-none{border-style:none}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.last\:border-b:last-child{border-bottom-width:1px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-stretch{align-items:stretch}.content-center{align-content:center}.self-center{align-self:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-self-center{justify-self:center}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.float-left{float:left}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.h-1{height:.25rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-32{height:8rem}.h-48{height:12rem}.h-56{height:14rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.list-inside{list-style-position:inside}.list-square{list-style-type:square}.m-2{margin:.5rem}.m-8{margin:2rem}.m-auto{margin:auto}.mx-8{margin-left:2rem;margin-right:2rem}.mx-16{margin-left:4rem;margin-right:4rem}.mx-32{margin-left:8rem;margin-right:8rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mb-3{margin-bottom:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.mt-10{margin-top:2.5rem}.mb-10{margin-bottom:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mb-16{margin-bottom:4rem}.max-w-xl{max-width:36rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-center{-o-object-position:center;object-position:center}.opacity-0{opacity:0}.opacity-75{opacity:.75}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.pr-1{padding-right:.25rem}.pl-1{padding-left:.25rem}.pb-2{padding-bottom:.5rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pt-5{padding-top:1.25rem}.pb-6{padding-bottom:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pt-12{padding-top:3rem}.pb-16{padding-bottom:4rem}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:8px}.left-1{left:8px}.top-2{top:16px}.left-2{left:16px}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.fill-current{fill:currentColor}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}.text-primary{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.text-textGray{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-black{--text-opacity:1;color:#1b1b1b;color:rgba(27,27,27,var(--text-opacity))}.text-white{--text-opacity:1;color:#fafafa;color:rgba(250,250,250,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#aeaeae;color:rgba(174,174,174,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:grey;color:rgba(128,128,128,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#202020;color:rgba(32,32,32,var(--text-opacity))}.text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.text-purple-900{--text-opacity:1;color:#21183c;color:rgba(33,24,60,var(--text-opacity))}.text-pink-500{--text-opacity:1;color:#eb5286;color:rgba(235,82,134,var(--text-opacity))}.hover\:text-white:hover{--text-opacity:1;color:#fafafa;color:rgba(250,250,250,var(--text-opacity))}.hover\:text-link-hover:hover{--text-opacity:1;color:#494949;color:rgba(73,73,73,var(--text-opacity))}.hover\:text-gray-700:hover{--text-opacity:1;color:#555;color:rgba(85,85,85,var(--text-opacity))}.hover\:text-gray-800:hover{--text-opacity:1;color:#373737;color:rgba(55,55,55,var(--text-opacity))}.hover\:text-purple-900:hover{--text-opacity:1;color:#21183c;color:rgba(33,24,60,var(--text-opacity))}.hover\:text-pink-500:hover{--text-opacity:1;color:#eb5286;color:rgba(235,82,134,var(--text-opacity))}.italic{font-style:italic}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.hover\:underline:hover{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wide{letter-spacing:.025em}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.break-all{word-break:break-all}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-0{width:0}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-56{width:14rem}.w-auto{width:auto}.w-2\/3{width:66.666667%}.w-full{width:100%}.z-50{z-index:50}.gap-0{grid-gap:0;gap:0}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-8{grid-gap:2rem;gap:2rem}.gap-x-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.gap-x-48{grid-column-gap:12rem;-moz-column-gap:12rem;column-gap:12rem}.gap-y-16{grid-row-gap:4rem;row-gap:4rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.duration-75{transition-duration:75ms}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:768px){.md\:bg-cover{background-size:cover}.md\:rounded-none{border-radius:0}.md\:border-b-0{border-bottom-width:0}.md\:border-t{border-top-width:1px}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:justify-start{justify-content:flex-start}.md\:flex-shrink-0{flex-shrink:0}.md\:h-56{height:14rem}.md\:text-5xl{font-size:3rem}.md\:mx-0{margin-left:0;margin-right:0}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:mt-0{margin-top:0}.md\:mb-0{margin-bottom:0}.md\:ml-6{margin-left:1.5rem}.md\:mr-8{margin-right:2rem}.md\:ml-8{margin-left:2rem}.md\:ml-12{margin-left:3rem}.md\:mt-20{margin-top:5rem}.md\:ml-24{margin-left:6rem}.md\:p-4{padding:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:pb-0{padding-bottom:0}.md\:pb-4{padding-bottom:1rem}.md\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:text-center{text-align:center}.md\:w-20{width:5rem}.md\:w-1\/2{width:50%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:gap-2{grid-gap:.5rem;gap:.5rem}.md\:gap-6{grid-gap:1.5rem;gap:1.5rem}.md\:gap-8{grid-gap:2rem;gap:2rem}.md\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1024px){.lg\:text-6xl{font-size:4rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mb-24{margin-bottom:6rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:pt-10{padding-top:2.5rem}.lg\:gap-16{grid-gap:4rem;gap:4rem}.lg\:gap-x-24{grid-column-gap:6rem;-moz-column-gap:6rem;column-gap:6rem}.lg\:gap-x-80{grid-column-gap:20rem;-moz-column-gap:20rem;column-gap:20rem}}@media (min-width:1536px){.\32xl\:h-64{height:16rem}.\32xl\:px-12{padding-left:3rem;padding-right:3rem}.\32xl\:gap-6{grid-gap:1.5rem;gap:1.5rem}} diff --git a/people/anwarhithnawi/index.html b/people/anwarhithnawi/index.html index 6b27b5dd..cda4de1b 100644 --- a/people/anwarhithnawi/index.html +++ b/people/anwarhithnawi/index.html @@ -2,4 +2,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-4ZPP8W4RNN');Skip to content

Anwar Hithnawi

I am an Ambizione Fellow (Principal Investigator) at the Department of Computer Science at ETH Zurich, where I lead the Privacy Preserving Systems Lab. My research focuses on data privacy, applied cryptography, and systems. I completed my Ph.D. in Computer Science at ETH Zurich. Upon graduating, I spent two wonderful years as a postdoc at UC Berkeley. For more information on my current research, please visit the PPS research lab page. Outside of research, I enjoy cycling and swimming.

I'll be joining the Computer Science Department at the University of Toronto as an Assistant Professor in January 2025. I am actively recruiting PhD students to join my research group. If you are interested, please apply directly to the Department of Computer Science’s graduate program and mention my name in your application.

Research Group [Photos: 2023,2022,2021]

PPS Lab 2023

Current Students

  • Nicolas Küchler (Ph.D.)
  • Hidde Lycklama (Ph.D.)
  • Emanuel Opel (MS)
  • Isha Gupta (MS)

Former Students

  • Alexander Viand ( Ph.D. → Cryptography Researcher at Intel Labs)
  • Lukas Burkhalter [🏅 Microsoft Research Ph.D. Award] ( Ph.D. → Cryptography Engineer at Proton)
  • Christian Knabenhans (MS → Ph.D. student at EPFL)
  • Miro Haller (MS → Ph.D. student at UCSD)
  • Marko Mihajlovic (MS → Ph.D. student at ETH Zurich)
  • Patrick Jattke (MS → Ph.D. student at ETH Zurich)
  • Nicolas Küchler (MS → Ph.D. student at ETH Zurich)
  • Hidde Lycklama (MS → Ph.D. student at ETH Zurich)
  • Liangcheng Yu (MS → Ph.D. student at the University of Pennsylvania)
  • Lukas Burkhalter - [🏅 ETH Medal for Outstanding Master Thesis] (MS → Ph.D. student at ETH Zurich)
  • Su Li (MS → Ph.D. student at EPFL)
  • Vaibhav Kulkarni (MS → Ph.D. student at the University of Lausanne)
  • Yonathan Fisseha (BS → Ph.D. student at the University of Michigan)
  • Clément Thorens (MS → Ph.D. student at ETH Zurich)
  • Lena Csomor (MS → CS High School Teacher at Kantonsschule Zurcher)
  • Matthias Lei (MS → Senior Consultant at Innovation Process Technology)
  • Dominic Plangger (MS → Lead Engineer at xorlab)
  • Michel Kaporin (MS → Software Engineer at ti&m)
  • Yu-Shan Wei (MS → Software Engineer at LzLabs)

Academic Service:

  • Program Committees: IEEE S&P (Oakland) 2025, Middleware 2023
  • Organization: ACM IPSN 2015 (Publication Chair), UbiComp 2013 (Chair for Demos and Posters)

Selected Honors & Awards:

  • Google Research Award.
  • Rising Stars in EECS.
  • Facebook Research Award.
  • Semiconductor Research Corporation Grant.
  • ETH Research Grant.
  • SNF Ambizione Grant.
  • SNF Postdoctoral Fellowship.
  • Google Anita Borg Scholarship.
  • DAAD Scholarship for Master's Studies.

Selected Recent Invited Talks:

  • Upcoming Democratizing Privacy-Preserving Computation. EPFL Summer Research Institute (SuRI)
  • Privacy-Preserving Systems for a Data-Driven World. University of Toronto, Waterloo, Oxford, Brown, UCSD, UPenn, NYU, Harvard [Slides]
  • Useable Fully Homomorphic Encryption: Challenges & Opportunities. Intel Labs. [Slides]
  • Security and Robustness of Collaborative Learning Systems. University of Cambridge (invited guest lecture), FLOW Research Seminar, MBZUAI Workshop on CL, University St.Gallen CS Research Seminar, ZISC Seminar, UC Berkeley, MLSys Workshop on Decentralized and Collaborative Learning. [Slides, Video]
  • Systems Designs for End-to-End Privacy. Meta Labs, Columbia University, CISPA, Max Planck. [Slides]
  • Cryptographic Enforcement of End-to-End Data Privacy. Brown University, University of Wisconsin-Madison.
  • Compiler Design for Fully Homomorphic Encryption. Intel's Crypto Frontier Center.
  • Encrypted Data Stream Processing at Scale. Intel, VMware, UC Berkeley.
  • Decentralized Authorization and Access Control for Encrypted Data Streams. UC Berkeley.

Selected Publications:

Thumbnail of Holding Secrets Accountable: Auditing Privacy-Preserving Machine Learning

Holding Secrets Accountable: Auditing Privacy-Preserving Machine Learning Paper Github

Hidde Lycklama, Alexander Viand, Nicolas Küchler, Christian Knabenhans, Anwar Hithnawi

USENIX Security 2024.

Thumbnail of Cohere: Managing Differential Privacy in Large Scale Systems

Cohere: Managing Differential Privacy in Large Scale Systems Paper Video

Nicolas Küchler, Emanuel Opel, Hidde Lycklama, Alexander Viand, Anwar Hithnawi

IEEE Security and Privacy (Oakland) 2024.

Thumbnail of Verifiable Fully Homomorphic Encryption

Verifiable Fully Homomorphic Encryption Paper Github Video

Alexander Viand*, Christian Knabenhans, Anwar Hithnawi

Preprint, arXiv:2301.07041

Thumbnail of CoVault: Secure Selective Analytics of Sensitive Data for the Public Good.

CoVault: Secure Selective Analytics of Sensitive Data for the Public Good. Paper

Roberta De Viti, Isaac Sheff, Noemi Glaeser, Baltasar Dinis, Rodrigo Rodrigues, Jonathan Katz, Bobby Bhattacharjee, Anwar Hithnawi, Deepak Garg, Peter Druschel

Preprint, arXiv:2301.08517

Thumbnail of RoFL: Robustness of Secure Federated Learning

RoFL: Robustness of Secure Federated Learning Paper Github Video

Hidde Lycklama*, Lukas Burkhalter*, Alexander Viand, Nicolas Küchler, Anwar Hithnawi

IEEE Security and Privacy (Oakland) 2023.

Thumbnail of HECO: Fully Homomorphic Encryption Compiler.

HECO: Fully Homomorphic Encryption Compiler. Paper Github Video

Alexander Viand, Patrick Jattke, Miro Haller, Anwar Hithnawi

USENIX Security 2023.

Thumbnail of VF-PS: How to Select Important Participants in Vertical Federated Learning, Efficiently and Securely?.

VF-PS: How to Select Important Participants in Vertical Federated Learning, Efficiently and Securely?. Paper

Jiawei Jiang, Lukas Burkhalter, Fangcheng Fu, Bolin Ding, Bo Du, Anwar Hithnawi, Bo Li, Ce Zhang

NeurIPS (Spotlight) 2022.

Thumbnail of Cryptographic Auditing for Collaborative Learning

Cryptographic Auditing for Collaborative Learning Paper

Hidde Lycklama, Nicolas Küchler, Alexander Viand, Emanuel Opel, Lukas Burkhalter, Anwar Hithnawi

ML Safety Workshop at NeurIPS 2022

Thumbnail of Zeph: Cryptographic Enforcement of End-to-End Data Privacy.

Zeph: Cryptographic Enforcement of End-to-End Data Privacy. Paper Slides Github Video

Lukas Burkhalter*, Nicolas Küchler*, Alexander Viand, Hossein Shafagh, Anwar Hithnawi

USENIX OSDI 2021.

Thumbnail of SoK: Fully Homomorphic Encryption Compilers.

SoK: Fully Homomorphic Encryption Compilers. Paper Slides Github Website Video

Alexander Viand, Patrick Jattke, Anwar Hithnawi

IEEE Security and Privacy (Oakland) 2021.

Thumbnail of Droplet: Decentralized Authorization and Access Control for Encrypted Data Streams.

Droplet: Decentralized Authorization and Access Control for Encrypted Data Streams. Paper Slides Github Website Video

Hossein Shafagh, Lukas Burkhalter, Sylvia Ratnasamy, Anwar Hithnawi

USENIX Security 2020.

Thumbnail of TimeCrypt: Encrypted Data Stream Processing at Scale with Cryptographic Access Control.

TimeCrypt: Encrypted Data Stream Processing at Scale with Cryptographic Access Control. Paper Slides Github Website Video

Lukas Burkhalter, Anwar Hithnawi, Alexander Viand, Hossein Shafagh, Sylvia Ratnasamy

USENIX NSDI 2020.

Thumbnail of Secure Sharing of Partially Homomorphic Encrypted IoT Data.

Secure Sharing of Partially Homomorphic Encrypted IoT Data. Paper

Hossein Shafagh, Anwar Hithnawi, Lukas Burkhalter, Pascal Fischli, Simon Duquennoy

ACM SenSys 2017.

Thumbnail of CrossZig: Combating Cross-Technology Interference in Low-power Wireless Networks.

CrossZig: Combating Cross-Technology Interference in Low-power Wireless Networks. Paper

Anwar Hithnawi, Su Li, Hossein Shafagh, James Gross, Simon Duquennoy

ACM IPSN 2016.

Thumbnail of Talos: Encrypted Query Processing for the Internet of Things.

Talos: Encrypted Query Processing for the Internet of Things. Paper

Hossein Shafagh, Anwar Hithnawi, Andreas Dröscher, Simon Duquennoy, Wen Hu

ACM SenSys 2015.

Thumbnail of TIIM: Technology-Independent Interference Mitigation for Low-power Wireless Networks.

TIIM: Technology-Independent Interference Mitigation for Low-power Wireless Networks. Paper

Anwar Hithnawi, Hossein Shafagh, Simon Duquennoy

ACM IPSN 2015.

Funding:

SNSF
Intel
Meta
Google

\ No newline at end of file + gtag('config', 'G-4ZPP8W4RNN');Skip to content

Anwar Hithnawi

I am an Ambizione Fellow (Principal Investigator) at the Department of Computer Science at ETH Zurich, where I lead the Privacy Preserving Systems Lab. My research focuses on data privacy, applied cryptography, and systems. I completed my Ph.D. in Computer Science at ETH Zurich. Upon graduating, I spent two wonderful years as a postdoc at UC Berkeley. For more information on my current research, please visit the PPS research lab page. Outside of research, I enjoy cycling and swimming.

Update: I'll be joining the Computer Science Department at the University of Toronto as an Assistant Professor in January 2025. I am actively recruiting PhD students to join my research group. If you are interested, please apply directly to the Department of Computer Science’s graduate program and mention my name in your application.

Research Group [Photos: 2023,2022,2021]

PPS Lab 2023

Current Students

  • Nicolas Küchler (Ph.D.)
  • Hidde Lycklama (Ph.D.)
  • Emanuel Opel (MS)
  • Isha Gupta (MS)

Former Students

  • Alexander Viand ( Ph.D. → Cryptography Researcher at Intel Labs)
  • Lukas Burkhalter [🏅 Microsoft Research Ph.D. Award] ( Ph.D. → Cryptography Engineer at Proton)
  • Christian Knabenhans (MS → Ph.D. student at EPFL)
  • Miro Haller (MS → Ph.D. student at UCSD)
  • Marko Mihajlovic (MS → Ph.D. student at ETH Zurich)
  • Patrick Jattke (MS → Ph.D. student at ETH Zurich)
  • Nicolas Küchler (MS → Ph.D. student at ETH Zurich)
  • Hidde Lycklama (MS → Ph.D. student at ETH Zurich)
  • Liangcheng Yu (MS → Ph.D. student at the University of Pennsylvania)
  • Lukas Burkhalter - [🏅 ETH Medal for Outstanding Master Thesis] (MS → Ph.D. student at ETH Zurich)
  • Su Li (MS → Ph.D. student at EPFL)
  • Vaibhav Kulkarni (MS → Ph.D. student at the University of Lausanne)
  • Yonathan Fisseha (BS → Ph.D. student at the University of Michigan)
  • Clément Thorens (MS → Ph.D. student at ETH Zurich)
  • Lena Csomor (MS → CS High School Teacher at Kantonsschule Zurcher)
  • Matthias Lei (MS → Senior Consultant at Innovation Process Technology)
  • Dominic Plangger (MS → Lead Engineer at xorlab)
  • Michel Kaporin (MS → Software Engineer at ti&m)
  • Yu-Shan Wei (MS → Software Engineer at LzLabs)

Academic Service:

  • Program Committees: IEEE S&P (Oakland) 2025, Middleware 2023
  • Organization: ACM IPSN 2015 (Publication Chair), UbiComp 2013 (Chair for Demos and Posters)

Selected Honors & Awards:

  • Google Research Award.
  • Rising Stars in EECS.
  • Facebook Research Award.
  • Semiconductor Research Corporation Grant.
  • ETH Research Grant.
  • SNF Ambizione Grant.
  • SNF Postdoctoral Fellowship.
  • Google Anita Borg Scholarship.
  • DAAD Scholarship for Master's Studies.

Selected Recent Invited Talks:

  • Upcoming Democratizing Privacy-Preserving Computation. EPFL Summer Research Institute (SuRI)
  • Privacy-Preserving Systems for a Data-Driven World. University of Toronto, Waterloo, Oxford, Brown, UCSD, UPenn, NYU, Harvard [Slides]
  • Useable Fully Homomorphic Encryption: Challenges & Opportunities. Intel Labs. [Slides]
  • Security and Robustness of Collaborative Learning Systems. University of Cambridge (invited guest lecture), FLOW Research Seminar, MBZUAI Workshop on CL, University St.Gallen CS Research Seminar, ZISC Seminar, UC Berkeley, MLSys Workshop on Decentralized and Collaborative Learning. [Slides, Video]
  • Systems Designs for End-to-End Privacy. Meta Labs, Columbia University, CISPA, Max Planck. [Slides]
  • Cryptographic Enforcement of End-to-End Data Privacy. Brown University, University of Wisconsin-Madison.
  • Compiler Design for Fully Homomorphic Encryption. Intel's Crypto Frontier Center.
  • Encrypted Data Stream Processing at Scale. Intel, VMware, UC Berkeley.
  • Decentralized Authorization and Access Control for Encrypted Data Streams. UC Berkeley.

Selected Publications:

Thumbnail of Holding Secrets Accountable: Auditing Privacy-Preserving Machine Learning

Holding Secrets Accountable: Auditing Privacy-Preserving Machine Learning Paper Github

Hidde Lycklama, Alexander Viand, Nicolas Küchler, Christian Knabenhans, Anwar Hithnawi

USENIX Security 2024.

Thumbnail of Cohere: Managing Differential Privacy in Large Scale Systems

Cohere: Managing Differential Privacy in Large Scale Systems Paper Video

Nicolas Küchler, Emanuel Opel, Hidde Lycklama, Alexander Viand, Anwar Hithnawi

IEEE Security and Privacy (Oakland) 2024.

Thumbnail of Verifiable Fully Homomorphic Encryption

Verifiable Fully Homomorphic Encryption Paper Github Video

Alexander Viand*, Christian Knabenhans, Anwar Hithnawi

Preprint, arXiv:2301.07041

Thumbnail of CoVault: Secure Selective Analytics of Sensitive Data for the Public Good.

CoVault: Secure Selective Analytics of Sensitive Data for the Public Good. Paper

Roberta De Viti, Isaac Sheff, Noemi Glaeser, Baltasar Dinis, Rodrigo Rodrigues, Jonathan Katz, Bobby Bhattacharjee, Anwar Hithnawi, Deepak Garg, Peter Druschel

Preprint, arXiv:2301.08517

Thumbnail of RoFL: Robustness of Secure Federated Learning

RoFL: Robustness of Secure Federated Learning Paper Github Video

Hidde Lycklama*, Lukas Burkhalter*, Alexander Viand, Nicolas Küchler, Anwar Hithnawi

IEEE Security and Privacy (Oakland) 2023.

Thumbnail of HECO: Fully Homomorphic Encryption Compiler.

HECO: Fully Homomorphic Encryption Compiler. Paper Github Video

Alexander Viand, Patrick Jattke, Miro Haller, Anwar Hithnawi

USENIX Security 2023.

Thumbnail of VF-PS: How to Select Important Participants in Vertical Federated Learning, Efficiently and Securely?.

VF-PS: How to Select Important Participants in Vertical Federated Learning, Efficiently and Securely?. Paper

Jiawei Jiang, Lukas Burkhalter, Fangcheng Fu, Bolin Ding, Bo Du, Anwar Hithnawi, Bo Li, Ce Zhang

NeurIPS (Spotlight) 2022.

Thumbnail of Cryptographic Auditing for Collaborative Learning

Cryptographic Auditing for Collaborative Learning Paper

Hidde Lycklama, Nicolas Küchler, Alexander Viand, Emanuel Opel, Lukas Burkhalter, Anwar Hithnawi

ML Safety Workshop at NeurIPS 2022

Thumbnail of Zeph: Cryptographic Enforcement of End-to-End Data Privacy.

Zeph: Cryptographic Enforcement of End-to-End Data Privacy. Paper Slides Github Video

Lukas Burkhalter*, Nicolas Küchler*, Alexander Viand, Hossein Shafagh, Anwar Hithnawi

USENIX OSDI 2021.

Thumbnail of SoK: Fully Homomorphic Encryption Compilers.

SoK: Fully Homomorphic Encryption Compilers. Paper Slides Github Website Video

Alexander Viand, Patrick Jattke, Anwar Hithnawi

IEEE Security and Privacy (Oakland) 2021.

Thumbnail of Droplet: Decentralized Authorization and Access Control for Encrypted Data Streams.

Droplet: Decentralized Authorization and Access Control for Encrypted Data Streams. Paper Slides Github Website Video

Hossein Shafagh, Lukas Burkhalter, Sylvia Ratnasamy, Anwar Hithnawi

USENIX Security 2020.

Thumbnail of TimeCrypt: Encrypted Data Stream Processing at Scale with Cryptographic Access Control.

TimeCrypt: Encrypted Data Stream Processing at Scale with Cryptographic Access Control. Paper Slides Github Website Video

Lukas Burkhalter, Anwar Hithnawi, Alexander Viand, Hossein Shafagh, Sylvia Ratnasamy

USENIX NSDI 2020.

Thumbnail of Secure Sharing of Partially Homomorphic Encrypted IoT Data.

Secure Sharing of Partially Homomorphic Encrypted IoT Data. Paper

Hossein Shafagh, Anwar Hithnawi, Lukas Burkhalter, Pascal Fischli, Simon Duquennoy

ACM SenSys 2017.

Thumbnail of CrossZig: Combating Cross-Technology Interference in Low-power Wireless Networks.

CrossZig: Combating Cross-Technology Interference in Low-power Wireless Networks. Paper

Anwar Hithnawi, Su Li, Hossein Shafagh, James Gross, Simon Duquennoy

ACM IPSN 2016.

Thumbnail of Talos: Encrypted Query Processing for the Internet of Things.

Talos: Encrypted Query Processing for the Internet of Things. Paper

Hossein Shafagh, Anwar Hithnawi, Andreas Dröscher, Simon Duquennoy, Wen Hu

ACM SenSys 2015.

Thumbnail of TIIM: Technology-Independent Interference Mitigation for Low-power Wireless Networks.

TIIM: Technology-Independent Interference Mitigation for Low-power Wireless Networks. Paper

Anwar Hithnawi, Hossein Shafagh, Simon Duquennoy

ACM IPSN 2015.

Funding:

SNSF
Intel
Meta
Google

\ No newline at end of file