:root{--global-bg-color:#fff;--global-code-bg-color:rgba(181,9,172,0.05);--global-text-color:#000;--global-text-color-light:#828282;--global-theme-color:#dc143c;--global-hover-color:#dc143c;--global-footer-bg-color:#000;--global-footer-text-color:#e8e8e8;--global-footer-link-color:#fff;--global-distill-app-color:#828282;--global-divider-color:rgba(0,0,0,.1);--global-card-bg-color:rgba(255,255,255,0.05)}:root .fa-sun{display:none}:root .fa-moon{padding-left:10px;padding-top:12px;display:block}:root .repo-img-light{display:block}:root .repo-img-dark{display:none}html[data-theme=dark]{--global-bg-color:#000;--global-code-bg-color:#2c3237;--global-text-color:#e5e5e5;--global-text-color-light:#b0b0b0;--global-theme-color:#dc143c;--global-hover-color:#dc143c;--global-footer-bg-color:#e8e8e8;--global-footer-text-color:#000;--global-footer-link-color:#000;--global-distill-app-color:#e8e8e8;--global-divider-color:#2a2a2a;--global-card-bg-color:rgba(255,255,255,0.05)}html[data-theme=dark] .fa-sun{padding-left:10px;padding-top:12px;display:block}html[data-theme=dark] .fa-moon{display:none}html[data-theme=dark] .repo-img-light{display:none}html[data-theme=dark] .repo-img-dark{display:block}body{padding-bottom:70px;color:var(--global-text-color);background-color:var(--global-bg-color)}body h1,body h2,body h3,body h4,body h5,body h6{scroll-margin-top:66px}body.fixed-top-nav{padding-top:56px}body.sticky-bottom-footer{padding-bottom:0}.container{max-width:1200px}.profile img{width:100%}p,h1,h2,h3,h4,h5,h6,em,div,li,span,strong{color:var(--global-text-color)}hr{border-top:1px solid var(--global-divider-color)}table td,table th{color:var(--global-text-color)}table td{font-size:1rem}a,table.table a{color:var(--global-theme-color)}a:hover,table.table a:hover{color:var(--global-theme-color);text-decoration:underline}a:hover:after :not(.nav-item.dropdown),table.table a:hover:after :not(.nav-item.dropdown){width:100%}figure,img{max-width:90vw}blockquote{background:var(--global-bg-color);border-left:2px solid var(--global-theme-color);margin:1.5em 10px;padding:.5em 10px;font-size:1.2rem}.equation{margin-bottom:1rem;text-align:center}.caption{font-size:.875rem;margin-top:.75rem;margin-bottom:1.5rem;text-align:center}.card,.card.card,div.card,.projects .card,.cv .card,.post-list li{position:relative;border-radius:1rem!important;transition:all .3s ease!important;background:transparent!important;background-color:transparent!important;background-image:none!important;border:none!important;box-shadow:none!important}.card-title{color:var(--global-text-color);position:relative;z-index:2}.card-item{width:auto;margin-bottom:10px;position:relative;z-index:2}.card-item .row{display:flex;align-items:center}.card-body{position:relative;z-index:2;background:transparent!important;background-color:transparent!important}.card-text{position:relative;z-index:2}h3,p{position:relative;z-index:2}.list-group,.list-group-item,.card-header,.card-footer,.table,.table td,.table th{background:transparent!important;background-color:transparent!important;border:none!important;border-color:transparent!important}.glass{position:relative;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.3);border-radius:1rem;box-shadow:0 8px 32px 0 rgba(0,0,0,0.15),0 0 4px 2px rgba(255,255,255,0.2) inset,0 0 20px 8px rgba(255,255,255,0.08) inset;overflow:visible;backdrop-filter:blur(4px) saturate(1.2);-webkit-backdrop-filter:blur(4px) saturate(1.2)}.glass::before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;background:rgba(0,0,0,0.05);border-radius:1.2rem;z-index:-1;filter:blur(8px)}html[data-theme=dark] .card,html[data-theme=dark] .card.card,html[data-theme=dark] div.card,html[data-theme=dark] .projects .card,html[data-theme=dark] .cv .card,html[data-theme=dark] .post-list li{background:transparent!important;background-color:transparent!important;border:none!important}html[data-theme=dark] .card:hover,html[data-theme=dark] .card.card:hover,html[data-theme=dark] div.card:hover,html[data-theme=dark] .projects .card:hover,html[data-theme=dark] .cv .card:hover,html[data-theme=dark] .post-list li:hover{background:transparent!important;background-color:transparent!important}html[data-theme=dark] .glass{background:rgba(255,255,255,0.05)!important;border:1px solid rgba(255,255,255,0.12)!important;box-shadow:0 8px 32px 0 rgba(0,0,0,0.5)!important,0 0 3px 1px rgba(255,255,255,0.1) inset!important,0 0 15px 6px rgba(255,255,255,0.03) inset!important;backdrop-filter:blur(3px) saturate(1.1)!important;-webkit-backdrop-filter:blur(3px) saturate(1.1)!important}html[data-theme=dark] .glass::before{background:rgba(255,255,255,0.06)!important;filter:blur(6px)!important}.post-list li{list-style:none!important;padding:1.5rem!important;margin-bottom:1.5rem!important}.citation,.citation-number{color:var(--global-theme-color)}.profile{margin-left:1rem;width:100%}.profile .address{margin-bottom:5px;margin-top:5px;font-family:monospace}
.profile .address p{display:inline-block;margin:0}@media(min-width:576px){.profile{width:30%}.profile .address p{display:block}}.post-description{margin-bottom:2rem;font-size:.875rem}.post-description a{color:inherit}.post-description a:hover{color:var(--global-theme-color);text-decoration:none}.navbar{box-shadow:none;border-bottom:1px solid var(--global-divider-color);background-color:var(--global-bg-color);opacity:.95}.navbar .dropdown-menu{background-color:var(--global-bg-color);border:1px solid var(--global-divider-color)}.navbar .dropdown-menu a:not(.active){color:var(--global-text-color)}.navbar .dropdown-menu a:hover{color:var(--global-hover-color)}.navbar .dropdown-menu .dropdown-divider{border-top:1px solid var(--global-divider-color)!important}.dropdown-item{color:var(--global-text-color)}.dropdown-item:hover{color:var(--global-hover-color);background-color:var(--global-bg-color)}.navbar.navbar-light a:hover{text-decoration:none}.navbar.navbar-light .navbar-brand{color:var(--global-text-color)}.navbar.navbar-light .navbar-nav .nav-item .nav-link{color:var(--global-text-color)}.navbar.navbar-light .navbar-nav .nav-item .nav-link:hover{color:var(--global-hover-color)}.navbar.navbar-light .navbar-nav .nav-item.active>.nav-link{background-color:inherit;font-weight:bolder;color:var(--global-theme-color)}.navbar.navbar-light .navbar-nav .nav-item.active>.nav-link:hover{color:var(--global-hover-color)}.navbar.navbar-light .navbar-nav .nav-item:not(.active) .nav-link{color:var(--global-text-color)}.navbar.navbar-light .navbar-brand.social{padding-bottom:0;padding-top:0;font-size:1.7rem}.navbar.navbar-light .navbar-brand.social a i::before{color:var(--global-text-color);transition-property:all .2s ease-in-out}.navbar.navbar-light .navbar-brand.social a:hover i::before{color:var(--global-theme-color)}.navbar-toggler .icon-bar{display:block;width:22px;height:2px;background-color:var(--global-text-color);border-radius:1px;margin-bottom:4px;transition:all .2s}.navbar-toggler .top-bar{transform:rotate(45deg);transform-origin:10% 10%}.navbar-toggler .middle-bar{opacity:0}.navbar-toggler .bottom-bar{transform:rotate(-45deg);transform-origin:10% 90%}.navbar-toggler.collapsed .top-bar{transform:rotate(0)}.navbar-toggler.collapsed .middle-bar{opacity:1}.navbar-toggler.collapsed .bottom-bar{transform:rotate(0)}#light-toggle{padding:0;border:0;background-color:inherit;color:var(--global-text-color)}#light-toggle:hover{color:var(--global-hover-color)}.social{text-align:center}.social .contact-icons{font-size:4rem}.social .contact-icons a i::before{color:var(--global-text-color);transition-property:all .2s ease-in-out}.social .contact-icons a:hover i::before{color:var(--global-theme-color)}.social .contact-note{font-size:.8rem}footer.fixed-bottom{background-color:var(--global-footer-bg-color);font-size:.75rem}footer.fixed-bottom .container{color:var(--global-footer-text-color);padding-top:9px;padding-bottom:8px}footer.fixed-bottom a{color:var(--global-footer-link-color)}footer.fixed-bottom a:hover{color:var(--global-theme-color);text-decoration:none}footer.sticky-bottom{border-top:1px solid var(--global-divider-color);padding-top:40px;padding-bottom:40px;font-size:.9rem}.cv{margin-bottom:40px}.cv .card{background:transparent!important;background-color:transparent!important;border:none!important;box-shadow:none!important;border-radius:1rem!important;isolation:isolate!important;transition:all .3s cubic-bezier(0.4,0,0.2,1)!important;position:relative;overflow:hidden}.cv .card:hover{transform:translateY(-5px);background:transparent!important;background-color:transparent!important}.cv .card .card-title{position:relative;z-index:2;font-weight:600;letter-spacing:.5px}.cv .card .card-body{position:relative;z-index:2}.cv .card .list-group-item{background:transparent!important;background-color:transparent!important;border:none!important;border-color:transparent!important;transition:all .2s ease}.cv .card .list-group-item:hover{background:transparent!important;background-color:transparent!important}.cv .card .list-group-item .badge{background:linear-gradient(135deg,var(--global-theme-color),#ff4081)!important;color:white!important;border-radius:15px;padding:6px 12px;font-weight:500;box-shadow:0 4px 12px rgba(220,20,60,0.3);border:0}@media(min-width:768px){.repo{max-width:50%}}.header-bar{border-bottom:1px solid var(--global-divider-color);text-align:center;padding-top:2rem;padding-bottom:3rem}.header-bar h1{color:var(--global-theme-color);font-size:5rem}.tag-list{border-bottom:1px solid var(--global-divider-color);text-align:center;padding-top:1rem;margin-bottom:2rem}.tag-list ul{justify-content:center;display:flow-root}.tag-list ul p,.tag-list ul li{list-style:none;display:inline-block;padding:1rem .5rem;color:var(--global-text-color-light)}.post-list{margin:0;margin-bottom:40px;padding:0}.post-list li{background:transparent!important;background-color:transparent!important;border:none!important;box-shadow:none!important;border-radius:1rem!important;transition:all .3s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;list-style:none;padding:1.5rem;margin-bottom:1.5rem}
.post-list li:hover{transform:translateY(-5px);background:transparent!important;background-color:transparent!important}.post-list li h3{position:relative;z-index:2;margin-bottom:.8rem}.post-list li h3 .post-title{font-weight:600;letter-spacing:.5px;font-size:1.4rem}.post-list li>p{position:relative;z-index:2;margin-bottom:.5rem;line-height:1.6;opacity:.9}.post-list li .post-meta{color:var(--global-text-color-light);font-size:.875rem;margin-bottom:.5rem;position:relative;z-index:2;font-weight:500}.post-list li .post-tags{color:var(--global-text-color-light);font-size:.875rem;padding-top:.25rem;padding-bottom:0;position:relative;z-index:2}.post-list li .post-tags a{display:inline-block;background:rgba(220,20,60,0.1);padding:4px 8px;border-radius:12px;margin-right:8px;margin-bottom:4px;transition:all .2s ease}.post-list li .post-tags a:hover{background:rgba(220,20,60,0.2)}.post-list li a{color:var(--global-text-color);text-decoration:none}.post-list li a:hover{color:var(--global-theme-color)}.pagination .page-item .page-link{color:var(--global-text-color)}.pagination .page-item .page-link:hover{color:#000}.pagination .page-item.active .page-link{color:#fff;background-color:var(--global-theme-color)}.pagination .page-item.active .page-link:hover{background-color:var(--global-theme-color)}.distill a:hover{border-bottom-color:var(--global-theme-color);text-decoration:none}.projects a{text-decoration:none}.projects a:hover .card-title{color:var(--global-theme-color)}.projects .card{background:transparent!important;background-color:transparent!important;border:none!important;box-shadow:none!important;border-radius:1rem!important;isolation:isolate!important;transition:all .4s cubic-bezier(0.4,0,0.2,1)!important;position:relative;overflow:hidden}.projects .card::after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(135deg,rgba(220,20,60,0.6),rgba(255,64,129,0.4),rgba(63,81,181,0.3));border-radius:26px;opacity:0;transition:opacity .3s ease;z-index:-1}.projects .card:hover{transform:translateY(-8px) scale(1.02);background:transparent!important;background-color:transparent!important}.projects .card:hover::after{opacity:1}.projects .card .card-body{position:relative;z-index:2;padding:1.5rem}.projects .card .card-title{position:relative;z-index:2;font-weight:600;letter-spacing:.5px;margin-bottom:.8rem}.projects .card .card-text{position:relative;z-index:2;opacity:.9;line-height:1.6}.projects .card img{width:100%;border-radius:20px 20px 0 0;transition:transform .3s ease}.projects .card:hover img{transform:scale(1.05)}.projects .card-item{width:auto;margin-bottom:20px}.projects .card-item .row{display:flex;align-items:center}.projects .grid-sizer,.projects .grid-item{width:250px;margin-bottom:20px}.projects h2.category{color:var(--global-divider-color);border-bottom:1px solid rgba(255,255,255,0.1);padding-top:.5rem;margin-top:2rem;margin-bottom:1rem;text-align:right;font-weight:300;letter-spacing:2px;text-transform:uppercase;font-size:.9rem}.publications{margin-top:2rem}.publications h1{color:var(--global-theme-color);font-size:2rem;text-align:center;margin-top:1em;margin-bottom:1em}.publications h2{margin-bottom:1rem}.publications h2 span{font-size:1.5rem}.publications h2.year{color:var(--global-divider-color);border-top:1px solid var(--global-divider-color);padding-top:1rem;margin-top:2rem;margin-bottom:-2rem;text-align:right}.publications ol.bibliography{list-style:none;padding:0;margin-top:0}.publications ol.bibliography li{margin-bottom:1rem}.publications ol.bibliography li .preview{width:100%;min-width:80px;max-width:200px}.publications ol.bibliography li .abbr{height:2rem;margin-bottom:.5rem}.publications ol.bibliography li .abbr abbr{display:inline-block;background-color:var(--global-theme-color);padding-left:1rem;padding-right:1rem}.publications ol.bibliography li .abbr abbr a{color:white}.publications ol.bibliography li .abbr abbr a:hover{text-decoration:none}.publications ol.bibliography li .abbr .award{color:var(--global-theme-color)!important;border:1px solid var(--global-theme-color)}.publications ol.bibliography li .title{font-weight:bolder}.publications ol.bibliography li .author a{border-bottom:1px dashed var(--global-theme-color)}.publications ol.bibliography li .author a:hover{border-bottom-style:solid;text-decoration:none}.publications ol.bibliography li .author>em{border-bottom:1px solid;font-style:normal}.publications ol.bibliography li .author>span.more-authors{color:var(--global-text-color-light);border-bottom:1px dashed var(--global-text-color-light);cursor:pointer}.publications ol.bibliography li .author>span.more-authors:hover{color:var(--global-text-color);border-bottom:1px dashed var(--global-text-color)}.publications ol.bibliography li .links a.btn{color:var(--global-text-color);border:1px solid var(--global-text-color);padding-left:1rem;padding-right:1rem;padding-top:.25rem;padding-bottom:.25rem}.publications ol.bibliography li .links a.btn:hover{color:var(--global-theme-color);border-color:var(--global-theme-color)}
.publications ol.bibliography li .hidden{font-size:.875rem;max-height:0;overflow:hidden;text-align:justify;transition-property:.15s ease;-moz-transition:.15s ease;-ms-transition:.15s ease;-o-transition:.15s ease;transition:all .15s ease}.publications ol.bibliography li .hidden p{line-height:1.4em;margin:10px}.publications ol.bibliography li .hidden pre{font-size:1em;line-height:1.4em;padding:10px}.publications ol.bibliography li .hidden.open{max-height:100em;transition-property:.15s ease;-moz-transition:.15s ease;-ms-transition:.15s ease;-o-transition:.15s ease;transition:all .15s ease}.publications ol.bibliography li div.abstract.hidden{border:dashed 1px var(--global-bg-color)}.publications ol.bibliography li div.abstract.hidden.open{border-color:var(--global-text-color)}figure.highlight{margin:0 0 1rem}pre{color:var(--global-theme-color);background-color:var(--global-code-bg-color);border-radius:6px;padding:6px 12px}pre pre,pre code{background-color:transparent;border-radius:0;padding:0}code{color:var(--global-theme-color);background-color:var(--global-code-bg-color);border-radius:3px;padding:3px 3px}@keyframes distortBackground{0%{transform:translate(0,0) skew(0,0) scale(1);filter:none}25%{transform:translate(3px,-2px) skew(1deg,0.5deg) scale(1.01);filter:hue-rotate(5deg)}50%{transform:translate(-2px,3px) skew(-0.5deg,1deg) scale(0.99);filter:hue-rotate(-3deg)}75%{transform:translate(2px,-1px) skew(0.8deg,-0.5deg) scale(1.01);filter:hue-rotate(2deg)}100%{transform:translate(0,0) skew(0,0) scale(1);filter:none}}body{background-color:#fff;position:relative}body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("/assets/img/asfalt-dark.png");background-repeat:repeat;background-size:auto;z-index:-1}body::after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("/assets/img/asfalt-dark.png");background-repeat:repeat;background-size:auto;z-index:-1;animation:distortBackground 6s ease-in-out infinite;opacity:.6;pointer-events:none}html[data-theme=dark] body{background-color:#000}html[data-theme=dark] body::before{background-image:url("/assets/img/asfalt-light.png")}html[data-theme=dark] body::after{background-image:url("/assets/img/asfalt-light.png")}html.transition,html.transition *,html.transition *:before,html.transition *:after{transition:all 750ms!important;transition-delay:0!important}.post .post-meta{color:var(--global-text-color-light);font-size:.875rem;margin-bottom:0}.post .post-tags{color:var(--global-text-color-light);font-size:.875rem;padding-top:.25rem;padding-bottom:1rem}.post .post-tags a{color:var(--global-text-color-light);text-decoration:none}.post .post-tags a:hover{color:var(--global-theme-color)}.post .post-content blockquote{border-left:5px solid var(--global-theme-color);padding:8px}d-byline{border-top-color:var(--global-divider-color)!important}d-byline h3{color:var(--global-text-color)!important}d-byline a,d-article d-byline a{color:var(--global-text-color)!important}d-byline a:hover,d-article d-byline a:hover{color:var(--global-hover-color)!important}d-article{border-top-color:var(--global-divider-color)!important}d-article a,d-article p,d-article h1,d-article h2,d-article h3,d-article h4,d-article h5,d-article h6,d-article li,d-article table{color:var(--global-text-color)!important}d-article a,d-article h1,d-article h2,d-article hr,d-article table,d-article table th,d-article table td{border-bottom-color:var(--global-divider-color)!important}d-article a:hover{border-bottom-color:var(--global-hover-color)!important}d-article b i{display:inline}d-article d-contents{align-self:start;grid-column:1/4;grid-row:auto/span 4;justify-self:end;margin-top:0;padding-left:2em;padding-right:3em;border-right:1px solid var(--global-divider-color);width:max(70%,300px);margin-right:0;margin-top:0;display:grid;grid-template-columns:minmax(8px,1fr) [toc] auto minmax(8px,1fr) [toc-line] 1px minmax(32px,2fr)}d-article d-contents nav{grid-column:toc}d-article d-contents nav a{border-bottom:none!important}d-article d-contents nav a:hover{border-bottom:1px solid var(--global-text-color)!important}d-article d-contents nav h3{margin-top:0;margin-bottom:1em}d-article d-contents nav div{display:block;outline:0;margin-bottom:.8em;color:rgba(0,0,0,0.8);font-weight:bold}d-article d-contents nav ul{padding-left:1em;margin-top:0;margin-bottom:6px;list-style-type:none}d-article d-contents nav ul li{margin-bottom:.25em}d-article d-contents .figcaption{line-height:1.4em}d-article d-contents toc-line{border-right:1px solid var(--global-divider-color);grid-column:toc-line}d-article d-footnote{scroll-margin-top:66px}d-appendix{border-top-color:var(--global-divider-color)!important;color:var(--global-distill-app-color)!important}d-appendix h3,d-appendix li,d-appendix span{color:var(--global-distill-app-color)!important}d-appendix a,d-appendix a.footnote-backlink{color:var(--global-distill-app-color)!important}
d-appendix a:hover,d-appendix a.footnote-backlink:hover{color:var(--global-hover-color)!important}@media(max-width:1024px){d-article d-contents{display:block;grid-column-start:2;grid-column-end:-2;padding-bottom:.5em;margin-bottom:1em;padding-top:.5em;width:100%;border:1px solid var(--global-divider-color)}d-article d-contents nav{grid-column:none}}.profile img{transition:all .3s ease}.profile img:hover{transform:scale(1.05);box-shadow:0 8px 20px rgba(220,20,60,0.3)}.cv .card{transition:all .3s ease;cursor:pointer}.cv .card:hover{transform:translateY(-5px);box-shadow:0 12px 25px rgba(0,0,0,0.15);border-left:4px solid var(--global-theme-color)}html[data-theme=dark] .cv .card:hover{box-shadow:0 12px 25px rgba(0,0,0,0.4);background:rgba(255,255,255,0.15)!important}.post-entry,.post-preview,article.post-preview,.post-list li{transition:all .3s ease;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.post-entry:hover,.post-preview:hover,article.post-preview:hover,.post-list li:hover{transform:translateY(-5px);box-shadow:0 12px 25px rgba(0,0,0,0.15);border-left:4px solid var(--global-theme-color)}html[data-theme=dark] .post-entry:hover,html[data-theme=dark] .post-preview:hover,html[data-theme=dark] article.post-preview:hover,html[data-theme=dark] .post-list li:hover{box-shadow:0 12px 25px rgba(0,0,0,0.4)}.post-entry h3 a,.post-preview h3 a,.post-title a,.post-list li h3 a{transition:all .3s ease}.post-entry h3 a:hover,.post-preview h3 a:hover,.post-title a:hover,.post-list li h3 a:hover{color:var(--global-theme-color)!important;text-decoration:none;transform:translateX(5px)}.post-list .post-tags a{transition:color .3s ease}.post-list .post-tags a:hover{color:var(--global-theme-color)!important}.post-tags i.fas,.post-tags .fas,.tag-list i.fas,.tag-list .fas{display:inline!important;margin-right:4px!important;opacity:1!important;visibility:visible!important;font-family:"Font Awesome 5 Free"!important;font-weight:900!important}.post-tags .fa-hashtag:before,.tag-list .fa-hashtag:before{content:"#"!important}.post-tags a{position:relative}.post-tags a .fa-hashtag{font-size:.8em!important}.header-bar h1,.header-bar h2{transition:all .3s ease}.header-bar:hover h1{color:var(--global-theme-color);transform:translateY(-2px)}.repo{transition:all .3s ease}.repo:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,0.15)}a,button,.card,.post-entry{transition:all .3s ease}.contact-icons a{transition:all .3s ease}.contact-icons a:hover{transform:translateY(-2px) scale(1.1);color:var(--global-theme-color)!important}