/* @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;400;700&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');

$tablet: 768px;
$phone: 480px;

h1 {
    font-size: 20px;
    /* font-family: 'Oswald', sans-serif; */
    font-family: 'Roboto Mono', serif;
    color: #fdc999;
    margin-bottom:-20px;
}
h2 {
    margin-top: 0;
    font-size: 15px;
    /* font-family: 'Oswald', sans-serif; */
    /* font-weight: 400; */
    font-family: 'Roboto Mono', serif;
}
h3 {
    font-size: 20px;
    /* font-family: 'Oswald', sans-serif; */
    font-family: 'Roboto Mono', serif;
}
a {
    /* font-size: 0.7vw; */
    /* font-size: 11px; */
    text-decoration: none;
    /* color: #fdc666; */
    /* color: #FF850E; */
    transition: 0.5s;
    color: #888;
}
a:hover {
    color: #bbb;
}
p {
    /* font-size: 11px; */
    text-align: left;
}
body {
    margin: 0;
    padding: 0;
    /* background-color: #040404; */
    background-color: #fff;
    /* font-family: 'Poppins', helvetica; */
    /* font-family: 'Ubuntu', sans-serif; */
    font-family: 'Roboto Mono', serif;
    /* font-size: 11px; */
    color: #000;
    overflow-x: hidden;
}

.hr {
    position: relative;
    display: block;
    width: 100%;
    height: 1px;
    border: 0;
    border-top: 1px solid #aaa;
    padding: 0;
    transition: width 0.5s ease-in-out;
}
.expanded-hr {
    width: 100%;
}

/* For desktop: */
.col-1 {width: 8.32%;}
.col-2 {width: 16.65%;}
.col-3 {width: 24.5%;}
.col-4 {width: 33.32%;}
.col-5 {width: 41.65%;}
.col-6 {width: 49.8%;}
.col-7 {width: 58.32%;}
.col-8 {width: 66.65%;}
.col-9 {width: 74.9%;}
.col-10 {width: 83.32%;}
.col-11 {width: 91.65%;}
.col-12 {width: 100%;}

/* For tablets: */
/* @media only screen and (min-width: 480px) { */
/*   .col-s-1 {width: 8.33%;} */
/*   .col-s-2 {width: 16.66%;} */
/*   .col-s-3 {width: 25%;} */
/*   .col-s-4 {width: 33.33%;} */
/*   .col-s-5 {width: 41.66%;} */
/*   .col-s-6 {width: 50%;} */
/*   .col-s-7 {width: 58.33%;} */
/*   .col-s-8 {width: 66.66%;} */
/*   .col-s-9 {width: 75%;} */
/*   .col-s-10 {width: 83.33%;} */
/*   .col-s-11 {width: 91.66%;} */
/*   .col-s-12 {width: 100%;} */
/* } */

.left-side {
    position: fixed;
    height: 100vh;
    /* border-right: solid 1pt black; */
}
.right-side {
    margin-left: 300px;
    width: calc(100% - 300px);
    height: 100vh;
}
.main-content {
    width: 100%;
}


[class*="col-"] {
    float: left;
    /* border: 1pt solid red; */
}
.row {
    position: relative;
    justify-content: center;
    margin-bottom: 10px;
    clear: both;
    /* border: 1pt solid red; */
}
.row::after {
    content: "";
    clear: both;
    display: table;
    margin-right: 10px;
}
.center {
    display: flex;
    align-items: center;
    margin-left: 35%;
}
.header {
    z-index: 3000;
    position: fixed;
    width: calc(100% - 300px);
    padding-left: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    background-color: white;
    /* border-bottom: 1pt solid black; */
}
.header-link {
    font-size: 0.8rem;
    margin-right: 100px;
    transition: filter 0.5s ease-in-out;
}
.header-link a {
    font-size: 0.9rem;
    color: black;
}
.header-link:hover {
    filter: blur(2px);
}

.section {
    width: 100%;
    min-height: 100vh;
}
.section-title {
    padding-top: 150px;
    /* border: 1pt solid #555; */
}

.section-title p {
    width: 100%;
    font-size: 50pt;
    /* font-family: 'Roboto Mono', serif; */
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    color: black;
    margin: 0;
    padding: 0;
}
.section-content {
    width: 100%;
}
.section-note {
    margin-left: 100px;
}
.section-note p {
    font-family: 'Roboto Mono', serif;
    color: black;
    font-size: 15px;
    text-align: right;
}
.section-note-talks {
    width: 100px;
    font-family: 'Roboto Mono', serif;
    font-size: 11px;
    text-align: right;
    margin: 0;
    margin-top:11px;
    margin-right:5px;
}
.fixed-header-1 {
    position: fixed;
    top: 0;
    z-index: 2000;
    width: 100%;
    height: 55px;
    margin-left: 0;
    background-color: white;
    /* background: linear-gradient(0deg, rgba(255,0,0,0), white); */
    /* border-bottom: 1pt solid black; */
}
.fixed-header-2 {
    position: fixed;
    top: 0;
    z-index: 2000;
    width: 100%;
    height: 44px;
    background-color: white;
    /* background: linear-gradient(180deg, rgba(255,0,0,0), white); */
}

.about-opaqueUP {
    z-index: 10;
    position: absolute;
    width: 100%;
    height: 5rem;
    margin-top: calc(50vh - 5.5rem);
    background-color: white;
    opacity: 0.7;
    color: white;
}
.about-opaqueDW {
    z-index: 10;
    position: absolute;
    width: 100%;
    height: 5rem;
    margin-top: 3.5rem;
    background-color: white;
    opacity: 0.7;
    color: white;
}
.about-text {
    width: calc(100% - 500px);
    margin-top: -50px;
    margin-left: auto;
    margin-right: 20px;
    /* border: 1pt solid black; */
}
about-text p {
    font-family: 'Roboto Mono', serif;
}
.description {
    width: 100%;
    max-width: 1000px;
}
.about-image {
    width: 70%;
    max-width: 1500px;
    aspect-ratio: 1.8;
    margin-top: 50px;
    margin-left: 10px;
}
.aboutme {
    z-index: 9;
    /* height: 30px; */
    margin-top: calc(50vh - 1.36rem * 2);
    /* overflow: hidden; */
}
.about-out {
    display: flex;
    float: left;
    width: 100%;
    align-items: center;
    font-family: 'Roboto Mono', serif;
}
.about-out p {
    font-size: 1rem;
    color: #000;
    margin: 0;
    margin-left: 1rem;
    margin-right: 1rem;
    /* transform: translate(0,-1rem); */
}
.about-in span {
    display: flex;
    color: #39ffd5;
    font-size: 1rem;
    text-align: center;
    justify-content: center;
    animation: roll 10s ease infinite;
}
@keyframes roll {
    0% {
        transform: translateY(calc(1rem * 2));
        color: #39ffd5;
    }
    20% {
        transform: translateY(calc(1rem * 2));
        color: #39ffd5;
    }
    25% {
        transform: translateY(calc(1rem * 0.65));
        color: rgb(255,0,180);
    }
    45% {
        transform: translateY(calc(1rem * 0.65));
        color: rgb(255,0,180);
    }
    50% {
        transform: translateY(calc(-1rem * 0.65));
        color: rgb(0,255,255);
    }
    65% {
        transform: translateY(calc(-1rem * 0.65));
        color: rgb(0,255,255);
    }
    75% {
        transform: translateY(calc(-1rem * 2));
        color: rgb(255,0,180);
    }
    95% {
        transform: translateY(calc(-1rem * 2));
        color: rgb(255,0,180);
    }
    100% {
        transform: translateY(calc(1rem * 2));
        color: #39ffd5;
    }
}


.project-container {
    /* max-height: 165px; */
    height: auto;
    width: 100%;
    display: flex;
    clear: both;
    /* margin-bottom: 5px; */
    /* border-top: 1pt solid black; */
}

.project-acron {
    float: left;
    width: 300px;
    height: 30px;
    font-family: 'Roboto Mono', serif;
    background-color: black;
    padding-right: 10px;
    padding-bottom: 10px;
    /* border-bottom: 1pt solid black; */
    /* border: 1pt solid blue; */
}
.project-acron p {
    text-align: right;
    margin: 0px;
    font-weight: 400;
    font-size: 30px;
    color: white;
    margin-bottom: 10px;
    /* border: 1pt solid black; */
}
.project-acron .date {
    font-size: 12px;
    color: black;
}
.project-display-carousel {
    float: left;
    display: inline-block;
    width: calc(100% - 350px);
    max-width: 1500px;
    margin-left: 20px;
}
.project-display-image {
    float: left;
    display: inline-block;
    width: 35%;
    aspect-ratio: 1.3;
    min-width: 500px;
    min-height: 300px;
    margin-top: 5px;
    margin-right: 5px;
    /* border: 1pt solid red; */
}
.project-display-status {
    float: left;
    max-width: 1500px;
    width: calc(100% - 350px);
    height: auto;
    margin-top: 0px;
    margin-left: 10px;
    /* border: 1pt solid magenta; */
}
.project-display-status p {
    margin: 0px;
    margin-top: 0px;
    margin-bottom: 15px;
    font-size: 15px;
    text-align: left;
}
.project-display-item a {
    color: #000;
    font-size: 11px;
    text-decoration: underline;
}
.project-display-item a:hover {
    color: #BBB;
}
.project-display-item-collection {
    float: left;
    width: 300px;
    /* margin-left: 50px; */
    text-align: right;
    /* border: 1pt solid black; */
}
.project-display-item {
    margin-bottom: 10px;
    text-align: right;
    /* border: 1pt solid blue; */
}

.project-display-item p {
    margin: 0px;
    font-size: 11px;
    text-align: right;
}

.research-container {
    width: 100%;
    /* height: calc(100vh - 168px * 4); */
}
.research-box {
    width: 75%;
    max-width: 980px;
    height: 148px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    overflow: hidden;
    padding: 0 10px 0 0;

    cursor: pointer;
    background-color: #111;
}
.research-box:hover {
    .research-plus-button {
        color: #777;
    }
    .research-ellipsis {
        color: #777;
    }
}
.research-plus-button {
    position: absolute;
    width: 30px;
    height: 30px;
    margin-left: calc(100% - 30px);
    color: #444;
    font-weight: 200;
    font-size: 30px;
    text-align: center;
    vertical-align: center;
    transform-origin: center 19px;
    transition: transform 0.5s ease-in-out;
}
.research-ellipsis {
    position: absolute;
    width: 30px;
    height: 20px;
    margin-left: calc(100% - 30px);
    margin-top: calc(148px - 20px);
    color: #444;
    font-weight: 400;
    font-size: 17px;
    text-align: center;
    vertical-align: center;
    background-color: #111;
}
.research-image {
    float: left;
    height: 148px;
    aspect-ratio: 1.5 / 1;
    margin-right: 10px;
    background-size: cover;
    background-position: center;
    /* border: 1pt solid #777; */
}
.research-body {
    float: left;
    position: relative;
    width: calc(100% - 1.5 * 148px - 10px);
    background-color: transparent;
}
.research-body a {
    color: #FFF;
    font-size: 13px;
    text-decoration: underline;
}
.research-body p {
    color: #999;
    margin-top: 5px;
    margin-bottom: 0px;
    text-align: justify;
}
.research-name {
    /* height: 30px; */
    font-family: 'Oswald', sans-serif;
    font-size: 13px;
    font-weight: 400;
}

.presentation-center {
    width: 80%;
    margin-top: calc(50vh - 200px);
    margin-left: auto;
    margin-right: auto;
}
.presentation-wrapper {
    display: flex;
    /* border: 1pt solid blue; */
    gap: 7px;
    height: 400px;
}
.presentation-item {
    display: block;
    float: left;
    height: 90%;
    width: calc(100% / 3);
    filter: brightness(0.5);
    border-radius: 3px;
    margin-top: 1%;
    /* margin-left: 3px; */
    /* margin-right: 3px; */
    transition: 0.5s ease-in-out;
}
.presentation-item:hover {
    width: 90%;
    height: 100%;
    filter: brightness(0.9);
    margin-top: 0%;
}
.presentation-text {
    position: absolute;
    height: 100px;
    width: 70%;
    opacity: 0%;
    transition: opacity 0.5s ease-in-out;
}
.downarrow {
    -webkit-animation: upandown 1s infinite  alternate;
    animation: upandown 1s infinite  alternate;
}
@-webkit-keyframes upandown {
    0% { transform: translateY(60px); }
    100% { transform: translateY(80px); }
}
@keyframes upandown {
    0% { transform: translateY(60px); }
    100% { transform: translateY(80px); }
}
.downarrow p {
    width: 15px;
    font-size: 30px;
    margin: auto;
    transform: rotate(90deg);
}

.talks-container {
    width: 95%;
    padding-top: 50px;
    margin-left: 0;
    /* border: solid 1pt black; */
}
.inverted {
    background-color: black;
    padding: 3px;
    color: white;
    font-weight: bold;
}

.publications-container {
    /* position: absolute; */
    width: 60%;
    padding-top: 50px;
    margin-left: 0;
    margin-right: 25%;
    /* border: solid 1pt black; */
}
.publications-item {
    padding: 1px;
    margin-bottom: 10px;
    text-align: justify;
    background-color: #eee;
}
.publications-item p {
    margin: 0;
    margin-bottom: 3px;
}
.title {
    font-size: 1rem;
}
.authors {
    font-size: 0.8rem;
}
.publications-item:hover {
    background-color: #fff;
}
.publications-container a {
    text-decoration: underline;
    color: black;
    font-weight: bold;
}
.hidden {
    opacity: 0;
    transition: 1s;
    filter: blur(5px);
    transform: translateX(20%);
}
.show {
    opacity: 1;
    filter: blur(0);
    transform: translateX(0%);
}
.name {
    height: 50px;
    /* margin-left: 10px; */
    margin-bottom: 50px;
}
.name p {
    font-family: 'Roboto Mono', serif;
    /* font-family: 'Oswald', sans-serif; */
    margin: 0;
    padding-left: 10px;
    text-align: center;
    font-weight: 700;
    font-size: 2.1rem;
    color: black;
}
.menu-container {
    width: 100%;
    min-width: 200px;
    height: 150px;
    /* padding-top: 25px; */
    /* background-color: #040404; */
    /* background-color: #000; */
    margin-bottom: calc(100vh - 360px);
}
.menu-container ul {
    display: block;
    width: 175px;
    list-style-type: none;
    /* background-color: #040404; */
    /* background-color: #000; */
    /* border: 1px solid blue; */
}
.menu-container li {
    /* margin-left: 55px; */
    /* margin-right: 50px; */
}
.menu-container a{
    background-color: white;
    /* font-family: 'Oswald', sans-serif; */
    font-family: 'Roboto Mono', serif;
    font-size: 14px;
    font-weight: 400;
    color: #777;
}
.menu-container a:hover{
    /* color: #fdc666; */
    /* color: #FF850E; */
    color: #aaa;
    transition: 200ms;
}
.menu-container a.current{
    color: #000;
    transform: translateX(25px);
    transition: 700ms;
    font-weight: 700;
}
.contact-container {
    width: 100%;
    height: 150px;
    margin: 0;
    padding: 10px;
}
.contact-container p {
    font-size: 17px;
    color: #333;
    margin: 0;
    text-align: left;
}

.waiting {
    width:100%;
    color: #444;
    text-align: center;
    text-decoration: none;
    display: table-cell;
    transition: 700ms;
}
.waiting:hover{
    color: #fdc666;
    /* color: #FF850E; */
    transition: 600ms;
}
/* Footer style */
.vertspace {
    margin-top: 250px;
}
.circle {
    height: 5px;
    width: 5px;
    border: solid 1px;
    border-radius: 50%;
    display: inline-block;
    color: #222;
}
.summary {
    /* color: #777; */
    /* color: #39ffd5; */
    color: black;
    font-weight: bold;
    /* font-size: 10px; */
}
.at {
    color: #444;
    /* color: #39ffd5; */
    /* color: rgb(255,0,188); */
    font-weight: 400;
}
.highlight {
    color: rgb(255,0,188);
}
.copyright {
    position: relative;
    color: #333;
    font-weight: 400;
    font-size: 12px;
    z-index: 3000;
}

/* horizontal scroller */
.scroller {
    min-width: 500px;
    max-width: 800px;
    width: 50%;
    /* border: 3px solid #222; */
    margin-left:auto;
    margin-right:auto;
    margin-top: 15px;
    margin-bottom: 5px;
}
.scroller_inside {
    display: flex;
    flex-wrap: wrap;
}
.scroller[data-animated="true"] {
    overflow: hidden;

    -webkit-mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
    mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
}
.scroller[data-animated="true"] .scroller_inside {
    width: max-content;
    flex-wrap: nowrap;
    animation: hscroll 30s linear infinite;
}
@keyframes hscroll {
    to {
        transform: translate(calc(-50%  - 10px));
    }
}
.logo-list {
    display: flex;
    gap: 60px;
    margin: 0;
    list-style: none;
}


/* media queries */
/* @media screen and (min-width: 3200px) { */
/* } */
@media only screen and (max-width: 1530px) {
    .section {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-top: 10vh;
    }
    .about-container {
        width:100%;
        display: inline-block;
    }
    .about-left {
        width: 100%;
    }
    .about-image {
        margin-top: calc(35vh - 6rem);
        margin-left: calc(20% - 4.5rem);
        margin-right: calc(80% - 4.5rem);
        margin-bottom: 22px;
    }
    .about-right {
        width: 100%;
        margin-left: calc(50% - (352px + 96px + 480px) / 2);
    }
    .about-opaqueUP { display: none; }
    .about-opaqueDW { display: none; }

    .project-center {
        width: 100%;
        margin-left: 0px;
    }
    .project-container {
        width: 100%;
    }
    .project-display-image {
        width: 30%;
    }
    .project-display-description {
        width: 35%;
    }

    .section-note { margin-left: 5% }
    .publications-container {
        padding-top: 200px;
        margin-left: 5%;
        /* font-size: 0.6rem; */
    }
    .menu-container {
        visibility: hidden;
    }
    .line {
        visibility: hidden;
    }

}

@media only screen and (min-width: 3200px) {

    /* .project-container { */
    /*     float:left; */
    /*     width: 35%; */

    /* } */
}
