    @charset "UTF-8";
    /* CSS Document */
    
     :root {
        --headerheight: 70px;
        --headingoverlap: 15px;
    }
    
    html {
        scroll-behavior: smooth;
    }
    
    body {
        background-color: white;
        margin: auto;
        color: #444;
        font-family: "IBM Plex Sans";
        font-size: 16px;
    }
    
    a {
        color: black;
        text-decoration: none;
    }
    
    @keyframes fadeInSection {
        0% {
            opacity: 1;
            transform: translateY(0%);
        }
        100% {
            opacity: 1;
            transform: translateY(0%);
        }
    }
    
    @keyframes fadeIn {
        0% {
            opacity: 0;
        }
        100% {
            opacity: 1;
        }
    }
    
    @keyframes fadeInMenu {
        0% {
            opacity: 0;
            filter: blur(10px);
        }
        50% {
            opacity: 0;
            filter: blur(0px);
            transform: translateY(100%);
            ;
            overflow: hidden;
        }
        100% {
            opacity: 1;
            filter: blur(0px);
            transform: translateY(0%);
        }
    }
    
    @keyframes fadeInLUTMenu {
        0% {
            opacity: 0;
            filter: blur(10px);
        }
        66% {
            opacity: 0;
            transform: translateY(-100%);
            ;
            overflow: hidden;
        }
        100% {
            opacity: 1;
            transform: translateY(0%);
        }
    }
    
    .nav {
        position: fixed;
        top: -34px;
        z-index: 2;
        background-color: white;
        width: 100%;
        max-width: 100%;
        text-align: center;
        min-height: 32px;
        font-size: 50%;
    }
    
    .nav ul {
        animation: 0.75s fadeInMenu 1;
    }
    
    .nav li {
        padding: 0 10px;
    }
    
    .nav a {
        display: inline;
        padding: 0px;
        margin: 0px;
        color: black;
        background-color: white;
        border-radius: 0px;
    }
    
    .active a {
        background-color: white;
        border-bottom: 2px solid black;
        opacity: 1;
        color: black;
    }
    
    .contact {
        border: 0px solid white;
    }
    
    .nav2 {
        padding: 5px 10px;
        margin: 10px;
        color: #999;
        font-size: 85%;
        background-color: white;
        border: 1px solid white;
        z-index: 999;
    }
    
    .nav2 a {
        display: inline;
        padding: 0 5px;
        margin: 0px;
        color: black;
    }
    
    .nav2 {
        animation: 2.5s fadeInLUTMenu 1;
    }
    
    ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
    }
    
    li {
        display: inline;
    }
    
    .content {
        display: block;
        flex-direction: column;
        will-change: transform;
    }
    
    header {
        text-align: center;
        padding-top: 5px;
        letter-spacing: 0.1rem;
        position: fixed;
        top: 33%;
        background-color: white;
        width: 100%;
    }
    
    .position-marker {
        position: fixed;
        top: 33%;
    }
    
    .logo a {
        font-size: 300%;
        transition: 0.3s;
        padding: 0 15px;
        letter-spacing: 0.3rem;
    }
    
    .body-text {
        font-size: 150%;
        width: calc(100% - 60px);
        padding: 30px 30px;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .body-text a {
        text-decoration: underline;
        text-underline-position: below;
    }
    
    .body-text a:hover {
        color: gray;
    }
    
    .section {
        /* font-family: "IBM Plex Sans"; */
        /* display: block; */
        width: 100%;
        max-width: 1400px;
        margin: 0px auto;
        position: -webkit-sticky;
        /* for Safari */
        position: sticky;
        padding-bottom: 100px;
        /* scroll-snap-align: start; */
        /* opacity: 1; */
        /* animation: 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0s fadeInSection forwards; */
        /* height: 66vh; */
        z-index: 1;
        background-color: white;
        /* color: black; */
        transform: translate3d(0, 0, 0);
    }
    
    .spacer {
        width: 100%;
        height: 50px;
    }
    
    .header-section {
        height: 66vh;
        /* scroll-snap-align: start; */
        background-color: white;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    #header-logo {
        background-color: white;
        z-index: 2;
        background-color: white;
        height: 60px;
        padding-top: 10px;
    }
    
    .header-overlay {
        position: fixed;
        top: 0px;
        height: 66%;
        width: 100%;
        text-align: center;
    }
    
    .welcome-text1 {
        position: fixed;
        top: calc(33% - 40px);
        left: 0px;
        width: 100%;
        text-align: center;
        font-size: 140%;
        /* font-family: 'IBM Plex Sans'; */
        /* font-variant-caps: all-small-caps; */
        letter-spacing: 1px;
        color: #bbb;
        /* opacity: 0;
        animation: 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0s fadeIn forwards; */
    }
    
    .welcome-text2 {
        position: fixed;
        top: calc(33% + 80px);
        left: 0px;
        width: 100%;
        text-align: center;
        font-size: 140%;
        /* font-family: 'IBM Plex Sans'; */
        /* font-variant-caps: all-small-caps; */
        letter-spacing: 1px;
        line-height: 30px;
        color: #bbb;
        /* opacity: 0;
        animation: 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0s fadeIn forwards; */
    }
    
    .title-1 {
        top: 95px;
        /* ➜ the trick */
        margin-bottom: 0px;
    }
    
    .title-2 {
        top: 120px;
        /* ➜ the trick */
        margin-bottom: 0px;
    }
    
    .title-3 {
        top: 145px;
        /* ➜ the trick */
        margin-bottom: 0px;
    }
    
    .title-4 {
        top: 170px;
        /* ➜ the trick */
        margin-bottom: 0px;
    }
    
    .section-1 {
        background-color: white;
        color: black;
    }
    
    .section-2 {
        background-color: white;
        color: black;
    }
    
    .section-3 {
        background-color: white;
        color: black;
    }
    
    .section-4 {
        background-color: white;
        color: black;
        min-height: calc(calc(calc(100vh - var(--headerheight)) - 170px) - calc(4 * var(--headingoverlap)));
    }
    
    footer {
        display: block;
        min-height: 20px;
        min-width: 100%;
        background-color: white;
        border-top: 0px dotted white;
        color: black;
        position: relative;
        text-align: center;
        font-size: 14px;
        padding-top: 5px;
        font-family: 'unica one';
    }
    
    .highlight {
        /* font-size: larger; */
        /* font-style: italic; */
        color: black;
        font-weight: bold;
        background-color: rgb(255, 236, 131);
        border-radius: 2px;
        padding: 0px 5px;
        /* border: 2px solid #ccc; */
    }
    
    .scrolling-wrapper-flexbox {
        display: flex;
        flex-direction: column;
        width: 100%;
        transform: translate3d(0, 0, 0);
    }
    
    .scrolling-wrapper-flexbox img {
        min-width: 100%;
        width: 100%;
        opacity: 100%;
    }
    
    .top-icons {
        position: fixed;
        top: calc(33% + 160px);
        left: 0px;
        width: 100%;
        text-align: center;
        /* opacity: 0;
        animation: 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0s fadeIn forwards; */
    }
    
    .top-icons a {
        color: #bbb;
    }
    
    .top-icons li {
        font-size: 20pt;
        padding: 10px;
    }
    
    .cv-icon a {
        background-color: #bbb;
        color: #fff;
        border-radius: 100px;
        padding: 3px 3px;
        font-size: 18px;
        line-height: 20px;
        vertical-align: middle;
        /* font-family: "IBM Plex Sans"; */
    }
    
    .cv-icon a:hover {
        background-color: #000;
        color: #fff;
    }
    
    .cv-icon-bottom a {
        background-color: black;
        color: white;
        /* border: 3px solid black; */
        border-radius: 100px;
        padding: 5px 6px;
        font-size: 80%;
    }
    
    .cv-icon-bottom a:hover {
        /* border: 3px solid grey; */
        background-color: grey;
        color: white !important;
    }
    
    .car-image-gallery {
        width: calc(100% - 60px);
        max-width: 1200px;
        margin: 0px auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    
    .car-image-gallery img {
        min-width: calc(25% - 10px);
        width: calc(25% - 10px);
        max-width: calc(25% - 10px);
        padding-top: 10px;
        height: auto;
        align-self: flex-start;
    }
    
    .see-more-text {
        width: 100%;
        font-size: 120%;
        padding-top: 10px;
        text-align: center;
    }
    
    .see-more-text a {
        text-decoration: underline;
    }
    
    .see-more-text a:hover {
        color: grey;
    }
    
    .anchor-1 {
        position: relative;
        top: -90px;
    }
    
    .anchor-2 {
        position: relative;
        top: -110px;
    }
    
    .anchor-3 {
        position: relative;
        top: -130px;
    }
    
    .anchor-4 {
        position: relative;
        top: -120px;
    }
    
    .section-title {
        font-family: 'unica one';
        text-indent: 5px;
        font-size: 28pt;
        display: block;
        width: 100%;
        max-width: 1400px;
        margin: 0px auto;
        position: -webkit-sticky;
        position: sticky;
        opacity: 0;
        animation: 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0s fadeInSection forwards;
        z-index: 999;
        background-color: white;
        color: black;
        border-top: 2px #ddd solid;
    }
    
    .section-title>a {
        display: block;
        width: 100%;
        color: black;
    }
    
    .content-header {
        width: calc(100% - 60px);
        max-width: 1200px;
        margin: 0 auto;
        padding: 30px;
        padding-bottom: 40px;
        padding-top: 40px;
        font-size: 150%;
        text-align: center;
    }
    
    .publication-list {
        width: 100%;
        max-width: 1200px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 auto;
    }
    
    .publication-card {
        width: calc(50% - 44px);
        min-width: 400px;
        max-width: 600px;
        min-height: 200px;
        background-color: white;
        border: 2px #eee solid;
        padding: 10px;
        margin: 10px;
        display: flex;
        flex-direction: row;
    }
    
    .publication-list :hover {
        background-color: #f8f8f8;
    }
    
    .publication-img {
        width: 200px;
        min-width: 200px;
        max-width: 200px;
        height: auto;
        border: 0px #eee solid;
        /* background-color: #fff; */
    }
    
    .publication-blurb {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding-left: 10px;
    }
    
    .publication-title {
        font-weight: bolder;
        font-size: 125%;
    }
    
    .publication-break {
        flex-basis: 100%;
        height: 0;
    }
    
    .publication-icon-links {
        display: flex;
        flex-grow: 1;
        justify-content: flex-end;
        align-items: flex-end;
        font-size: 120%;
    }
    
    .publication-icon-links a {
        padding: 0px 5px;
    }
    
    .publication-icon-links a:hover {
        color: #bbb;
    }
    
    .scholar-link-text {
        width: 100%;
        text-align: center;
        line-height: 20px;
        vertical-align: middle;
        padding-top: 20px;
    }
    
    .scholar-link-text a {
        font-size: 12pt;
        color: grey;
    }
    
    .anim svg {
        height: 40px;
        position: relative;
    }
    
    .anim g {
        fill: none;
        stroke-width: 5;
        stroke: black;
        stroke-linecap: round;
    }
    
    .svgbg {
        fill: black;
        fill-opacity: 0;
        stroke-width: 0;
    }
    
    @media (hover) {
        a:hover {
            color: black;
            transition: 0.3s;
        }
        .nav a:hover {
            background-color: #eee;
            color: black;
            transition: 0.3s;
        }
        .nav2 a:hover {
            background-color: white;
            color: black;
            transition: 0.3s;
        }
        .logo a:hover {
            stroke: black;
            transition: 0.3s;
        }
        /* .section-title:hover {
            transition: 0.3s;
            background-color: rgba(240, 240, 240, 1);
        } */
        .anim g:hover {
            stroke: grey;
            transition: 0.5s;
        }
        .svgbg:hover {
            fill-opacity: 0;
        }
        .fa:hover {
            color: black;
        }
        .section-title>a:hover {
            display: block;
            width: 100%;
            color: black;
            background-color: #eee;
        }
    }
    
    .fa,
    .far {
        text-decoration: none;
        vertical-align: middle;
        font-size: 26px;
        line-height: 40px;
    }
    
    .contact-icon-label {
        font-size: 16px;
        line-height: 16px;
        color: grey;
    }
    
    .contact-icon-list a:hover {
        color: grey;
    }
    
    .contact-icon-list ul {
        width: 100%;
    }
    
    .contact-icon-list li {
        display: inline-block;
        vertical-align: top;
        text-align: center;
        font-size: 22px;
        padding: 20px;
        width: 70px;
    }
    
    .contact-links {
        width: 100%;
        /* margin: 30px; */
        padding: 30px 0px;
        border: 0px solid white;
        text-align: center;
    }
    
    .contact-img {
        width: 50%;
        max-width: 300px;
        margin: 0px auto;
        padding-top: 20px;
    }
    
    .contact-img img {
        border: 0px solid grey;
        border-radius: 500px;
    }
    
    .contact-area-title {
        font-size: 150%;
        padding-top: 40px;
        padding-bottom: 20px;
    }
    
    @media(min-width:0px) {
         :root {
            --headerheight: 90px;
            --headingoverlap: 20px;
        }
        body {
            font-size: 16px;
            width: calc(100% - 20px);
        }
        .nav2 {
            position: fixed;
            top: 0px;
            right: 0px;
        }
        .section-title {
            /* font-size: 38px; */
        }
        .anim svg {
            height: 48px;
        }
    }
    /* CROSSFADE IMAGE GALLERY */
    
    .crossfade {
        position: relative;
        width: 100%;
        max-width: 1400px;
        height: 55vw;
        max-height: 990px;
        overflow: hidden;
        padding-bottom: 20px;
    }
    
    .crossfade-title {
        width: calc(100% - 40px);
        color: rgba(0, 0, 0, 0.6);
        font-size: 24pt;
        padding: 5px 20px;
        background-color: #eee;
        text-align: center;
        position: -webkit-sticky;
        position: sticky;
        z-index: 1;
        transform: translate3d(0, 0, 0);
        font-family: 'unica one';
        text-transform: uppercase;
    }
    
    .sticky-heading-1 {
        top: 140px;
    }
    
    .sticky-heading-2 {
        top: 165px;
    }
    
    .sticky-heading-3 {
        top: 190px;
        /* position: relative; */
    }
    
    .crossfade img {
        position: absolute;
        left: 0px;
        top: 0px;
        opacity: 1;
        object-fit: cover;
        height: 55vw;
        max-height: 990px;
        max-width: 1400px;
        width: 100%;
    }
    
    .crossfade-top {
        animation-name: fade;
        animation-timing-function: ease-in-out;
        animation-iteration-count: infinite;
        animation-duration: 2s;
        animation-direction: alternate;
    }
    
    @keyframes fade {
        0% {
            opacity: 1;
        }
        33% {
            opacity: 1;
        }
        66% {
            opacity: 0;
        }
        100% {
            opacity: 0;
        }
    }
    
    @media(max-width:800px) {
        .car-image-gallery {
            width: calc(100% - 60px);
        }
        .car-image-gallery img {
            min-width: calc(50% - 5px);
            width: calc(50% - 5px);
            max-width: calc(50% - 5px);
        }
        .crossfade {
            height: calc(100vw - 20px);
            max-height: calc(100vw - 20px);
        }
        .crossfade img {
            height: calc(100vw - 20px);
            max-height: calc(100vw - 20px);
        }
        .publication-card {
            width: calc(100% - 24px);
            min-width: calc(100% - 24px);
            max-width: calc(100% - 24px);
        }
        .publication-img {
            width: 40%;
            min-width: 40%;
            max-width: 40%;
        }
        .header-section {
            height: 75vh;
        }
        .nav {
            font-family: 'unica one';
            font-size: 40%;
        }
        .nav li {
            padding: 0 5px;
        }
        .contact-icon-list li {
            padding: 5px;
            padding-bottom: 25px;
        }
    }
    /* Dropdown Button */
    
    .dropbtn {
        background-color: white;
        color: grey;
        border: none;
        width: 100%;
        font-family: 'unica one';
        font-size: 10pt;
        padding: 5px 0px;
    }
    
    .dropdown {
        position: fixed;
        right: 10px;
        top: 10px;
        display: inline-block;
        z-index: 9999;
        font-family: 'unica one';
        font-size: 10pt;
        text-align: center;
        width: 100px;
        animation: 1.5s fadeInLUTMenu 1;
    }
    
    .dropdown-content {
        display: none;
        position: absolute;
        background-color: #f1f1f1;
        width: 100%;
    }
    
    .dropdown-content a {
        color: black;
        text-decoration: none;
        display: block;
        padding: 5px 0px;
    }
    
    .dropdown-content a:hover {
        background-color: #ddd;
    }
    
    .dropdown:hover .dropdown-content {
        display: block;
    }
    
    .dropdown:hover .dropbtn {
        background-color: #ddd;
    }