﻿.timeline{margin:2em auto;max-width:1170px;padding:2em 0;position:relative;width:95%}@media only screen and (min-width: 1170px){.timeline{margin:3em auto;width:90%}}.timeline::before{background:#1b1b1b;background-image:linear-gradient(180deg, #fff 0, #1b1b1b 30px, #1b1b1b calc(100% - 30px), #fff);border-radius:4px;content:"";height:100%;position:absolute;top:0;width:4px;left:18px}@media only screen and (min-width: 1170px){.timeline::before{left:50%;margin-left:-2px}}.timeline-element{position:relative;margin:2em 0}@media only screen and (min-width: 1170px){.timeline-element{margin:4em 0}}.timeline-element::after{clear:both;content:"";display:table}.timeline-element-icon{border-radius:50%;box-shadow:0px 3px 1px -2px rgba(0,0,0,.2),0px 2px 2px 0px rgba(0,0,0,.14),0px 1px 5px 0px rgba(0,0,0,.12);height:40px;left:0;position:absolute;top:0;width:40px}@media only screen and (min-width: 1170px){.timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.timeline-element-icon svg{fill:currentColor;display:block;width:calc(24px*var(--icon-scale, 1));height:calc(24px*var(--icon-scale, 1));left:50%;margin-left:calc(-12px*var(--icon-scale, 1));margin-top:calc(-12px*var(--icon-scale, 1));position:relative;top:50%}.timeline-element-content{box-shadow:0px 3px 1px -2px rgba(0,0,0,.2),0px 2px 2px 0px rgba(0,0,0,.14),0px 1px 5px 0px rgba(0,0,0,.12);background:#fff;border-radius:.25em;margin-left:60px;padding:1em;position:relative}.timeline-element-content::after{clear:both;content:"";display:table}@media only screen and (min-width: 1170px){.timeline-element-content{margin-left:0;padding:1.5em;width:44%}}.timeline-element-content p{text-align:left}.timeline-element-content h4{font-size:1.5rem;font-weight:400;line-height:1.334;letter-spacing:0em;margin:0}.timeline-element-content h5{font-size:1.25rem;font-weight:500;line-height:1.6;letter-spacing:.0075em;margin:0}.timeline-element-content p{font-size:1rem;font-weight:400;line-height:1.6;margin:1em 0 0}@media only screen and (min-width: 1170px){.timeline-element:nth-child(2n) .timeline-element-content{float:right}}.timeline-element-date{color:#333;font-size:.8125rem;font-weight:500;display:inline-block;float:left;opacity:.7;padding:.8em 0}@media only screen and (min-width: 1170px){.timeline-element-date{font-size:1rem;left:124%;position:absolute;top:6px;width:100%}}@media only screen and (min-width: 1170px){.timeline-element:nth-child(2n) .timeline-element-date{left:auto;right:124%;text-align:right}}.tooltip{pointer-events:none;user-select:none;opacity:0;transform:translateX(-50%);transition:opacity .2s ease;position:absolute;z-index:1;inline-size:max-content;max-inline-size:25ch;text-align:center;font-size:.725rem;font-weight:normal;line-height:normal;line-height:initial;padding:.75ch 1.5ch;inset-inline-start:50%;inset-block-start:calc(100% + 1ch);margin:0;border-radius:5px;background:rgba(97,97,97,.9);color:#fff;box-shadow:0px 3px 1px -2px rgba(0,0,0,.2),0px 2px 2px 0px rgba(0,0,0,.14),0px 1px 5px 0px rgba(0,0,0,.12)}.tooltip::before{content:"; Has tooltip: ";height:20px;width:30px;overflow:hidden;padding:0;position:absolute;top:-20px;left:calc(50% - 15px);right:calc(50% + 15px);bottom:0;opacity:0}.has-tooltip{position:relative}.has-tooltip:is(:hover,:focus-visible,:active)>.tooltip,.has-tooltip>a:is(:hover,:focus-visible,:active)+.tooltip{opacity:1;transition-delay:200ms;pointer-events:unset;user-select:unset}.splash{position:relative;z-index:0;min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;padding-bottom:20vh;box-sizing:border-box;}.splash::before{content:"";position:absolute;inset:-10% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center, rgba(10,10,10,.6) 0%, rgba(10,10,10,.35) 45%, rgba(0,0,0,0) 75%)}.splash .profile-picture{width:130px;height:130px;border-radius:130px;box-shadow:0 2px 18px rgba(0,0,0,.6)}.splash h1{font-family:"Nunito","Roboto","Helvetica","Arial",sans-serif;font-size:clamp(2.5rem,8vw,4rem);font-weight:300;margin-top:30px;margin-bottom:10px;text-shadow:0 2px 16px rgba(0,0,0,.75)}.splash h2{font-size:clamp(1.2rem,4vw,1.5rem);font-weight:400;text-shadow:0 2px 12px rgba(0,0,0,.75)}.splash .socials{margin-top:32px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap;align-items:center;justify-content:center}.splash .socials svg{width:24px;fill:#fff;filter:drop-shadow(0 1px 6px rgba(0,0,0,.75))}.section{background:#fff;color:rgba(0,0,0,.8);padding-top:24px;padding-bottom:24px;box-shadow:0px 3px 1px -2px rgba(0,0,0,.2),0px 2px 2px 0px rgba(0,0,0,.14),0px 1px 5px 0px rgba(0,0,0,.12)}.section h3{margin:20px 0;text-align:center;font-size:1.5rem;font-weight:500;line-height:1.334;letter-spacing:0em}.section-title{padding:75px 0;color:#fff;background:#1b1b1b;display:flex;align-items:center;flex-direction:column}.section-title h2{margin:0;font-size:2.125rem;font-weight:400;line-height:1.235;letter-spacing:.00735em}#about-me{font-weight:300;padding:1rem 0;font-size:1.5rem}.card{width:100%;display:flex;flex-direction:column;margin:10px;border-radius:4px;box-shadow:0px 3px 1px -2px rgba(0,0,0,.2),0px 2px 2px 0px rgba(0,0,0,.14),0px 1px 5px 0px rgba(0,0,0,.12)}.card .card-content{padding:16px;flex-grow:1}.card .card-content p{text-align:left}.card .card-actions{display:flex;padding:8px;align-items:center}.top-projects{display:flex;flex-flow:row wrap;justify-content:center;align-content:center}.top-projects .card{width:clamp(50px,100%,350px)}.top-projects .card .card-icon{display:flex;align-items:center;justify-content:center;width:90px;height:90px;margin:0 auto 14px auto;border-radius:50%;box-shadow:0px 3px 1px -2px rgba(0,0,0,.2),0px 2px 2px 0px rgba(0,0,0,.14),0px 1px 5px 0px rgba(0,0,0,.12)}.top-projects .card .card-icon svg{width:46px;height:46px;fill:currentColor;display:block}.top-projects .card .card-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}.top-projects .card h4{font-size:1.25rem;font-weight:500;line-height:1.6;letter-spacing:.0075em;margin:0}.publications-list,.talks-list{max-width:760px;margin:0 auto;padding:0;list-style:none;counter-reset:list-counter}.publications-list li,.talks-list li{position:relative;padding:14px 0 14px 32px;border-bottom:1px solid rgba(0,0,0,.1);line-height:1.5;text-align:justify}@media (max-width: 600px){.publications-list li,.talks-list li{text-align:left}}.publications-list li:last-child,.talks-list li:last-child{border-bottom:none}.publications-list li{counter-increment:list-counter}.publications-list li::before{content:counter(list-counter) ".";position:absolute;left:0;top:14px;font-weight:500;opacity:.6}.talks-list li::before{content:"•";position:absolute;left:8px;top:14px;opacity:.6}.entry-venue{display:block;font-style:italic;opacity:.75;font-size:.9rem;margin-top:2px}.entry-meta{font-weight:500}.project-hero{padding:90px 0 50px;text-align:center}.project-hero .back{display:inline-block;margin-bottom:24px;color:inherit;opacity:.8;font-size:.85rem}.project-hero .back:hover{opacity:1}.project-hero .project-hero-icon{display:flex;align-items:center;justify-content:center;width:90px;height:90px;margin:0 auto 20px auto;border-radius:50%;background:rgba(255,255,255,.15);box-shadow:0px 3px 1px -2px rgba(0,0,0,.2),0px 2px 2px 0px rgba(0,0,0,.14),0px 1px 5px 0px rgba(0,0,0,.12)}.project-hero .project-hero-icon svg{width:46px;height:46px;fill:currentColor;display:block}.project-hero .project-hero-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}.project-hero h1{font-family:"Nunito","Roboto","Helvetica","Arial",sans-serif;font-weight:400;font-size:clamp(1.8rem,5vw,2.6rem);margin:0}.project-content{max-width:760px;margin:0 auto;text-align:left}.project-content iframe{max-width:100%;border-radius:8px;margin-top:1rem;margin-bottom:1rem}.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:2rem}.project-actions .button{border:1px solid rgba(0,0,0,.2);padding:8px 16px}.exo-gallery{position:relative;width:100%;max-width:405px;margin:16px auto}.exo-track{display:flex;overflow-x:auto;aspect-ratio:3/4;scroll-snap-type:x mandatory;border-radius:6px;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;background:rgba(127,127,127,.08)}.exo-track::-webkit-scrollbar{display:none}.exo-slide{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center;display:block;cursor:zoom-in}.exo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:38px;height:38px;border:none;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.85;transition:opacity .2s}.exo-arrow:hover{opacity:1}.exo-prev{left:8px}.exo-next{right:8px}.exo-thumbs{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:8px}.exo-thumb{padding:0;border:2px solid rgba(0,0,0,0);border-radius:4px;background:none;line-height:0;overflow:hidden;cursor:pointer;opacity:.65;transition:opacity .2s,border-color .2s}.exo-thumb img{width:54px;height:54px;object-fit:cover;display:block}.exo-thumb:hover{opacity:1}.exo-thumb.active{border-color:var(--global-link-color, #2a7ae2);opacity:1}.exo-lightbox{position:fixed;inset:0;z-index:9999;padding:20px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.9);cursor:zoom-out}.exo-lightbox[hidden]{display:none}.exo-lightbox-img{max-width:95%;max-height:95%;object-fit:contain;border-radius:4px}.exo-lightbox-close{position:absolute;top:12px;right:22px;color:#fff;font-size:40px;line-height:1;cursor:pointer}