    body * {
    box-sizing: boder-box;
}
body {
    margin: 0px;
    padding: 0px;
    font-family: 'Source Sans Pro', sans-serif;
    letter-spacing: 0.0425em;
    text-align: justify;
    font-weight: 300;    
    line-height: 22px;
    font-size: 18px;
    color: #707070;
    color: #000000;
    width: 100%; 
}
body::-webkit-scrollbar{
    display: none
}
.h1{
    font-size: 38px;
    font-weight: 700;
}
.h1:hover{
    color:rgba(255,95,5,1); 
    cursor: pointer;
}
.h2{
    margin-bottom: 12px;
    margin-top: 38px;
    color: rgba(19,41,75);
}
.header{
    width: 100%;
    height: 80px;
    position: fixed;
    top: 0px;
    background: linear-gradient(180deg, rgba(12,53,107,1) 0%, rgba(19,41,75,0.9) 100%);
    z-index: 5;
    border-bottom: 5px solid rgba(255,95,5,1);  /* this is orange */
}
.header h1{
    color: #ffffff;   
}
.header .switchLanguage{
    margin-left: 10px;
    padding: 1px 2px;
    height: 20px;
    background-color: #ffffff;
    color: rgba(255,95,5,1);
    border: 1px solid rgba(255,95,5,1);
    border-radius: 5px;
}
.header .switchLanguage:hover{
    /* background-color: rgba(252,247,215); */
    background-color: rgba(19,41,75);
}
.nav {
    gap: 20px;
}
.nav a{
    line-height: 20px;
    font-size: 12px;
    text-align: center;
    display: block;
    text-decoration: none;
    color: rgba(255,95,5,1);
}
.nav a:hover{
    cursor: pointer;
    font-weight: 600;
    /* color: rgba(12,53,107,1) */
}
.nav ul{
    list-style: none;
    padding: 0;
    /*text-align: center;*/
    display: inline-block;
    text-align: left;
    /*display: block*/
}
.nav li{
    display: inline-block;
    /*display: list-item;*/
    margin-right: 20px;
    font-weight: 400;
    color: rgba(255,95,5,1);   
}
.nav li:hover{
    cursor: pointer;
    color:rgba(19,41,75);
    font-weight: 600;
    background-color: rgba(255,95,5,1);
}
.menu{
    display: none;
}
.main-container{
    width: 65%;
    margin: 0 auto;
    position: relative;
}
.main-container li, .main-container dt, .lists li, .lists dt{
    list-style-type: circle;
}
.image-container{
    padding: 10px 0;
    margin-top: 80px;
    width: 100%;
    height: 33%;
    overflow: hidden;
    display: flex;
    align-items: center;
    flex-direction: column;
    align-content: space-between;
    justify-content: space-between;
}
.image-container > div:nth-child(1){
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 80%;
    height: 300px;
    /* background-color: rgba(255, 255, 255, 0.6); */
    background-color: rgba(255, 255, 255, 0);
} 
.image-container .next, .image-container .previous{
    position: absolute;
    top: 45%;
    width: 30px;
    height: 30px;
    border-radius: 10%;
    padding: 5px;
    background-color: rgba(19,41,75,0.8);
}
.image-container .next {
    right: 5%;
}
.image-container .previous{
    left: 5%;
}
.image-container .previous:hover, .image-container .next:hover{
    cursor: pointer;
    background-color: rgba(19,41,75,1);
}
.image{
    max-width: 100%;
    max-height: 100%;
}
.circles{
    display: flex;
    align-items: center;
    height: 20px;
}
.circles span{
    height: 10px;
    width: 10px;
    border-radius: 50%;
    display: inline-block;
    background-color: rgba(19,41,75,0.8);
    font-size: 0px;
    margin-right: 5px;
}
.circles span:hover{
    cursor: pointer;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    display: inline-block;
    background-color: rgba(255,95,5,1)!important;
    font-size: 0px;
}
.avatar{
    width: 245px;
    height: 245px;
    border-radius: 50%;
    margin-right: 40px;
    border: 5px solid rgba(19,41,75,1);
}
.quickfacts{
    background-color: rgba(19,41,75,0.05);
    border-left: 4px solid rgba(255,95,5,1);
    padding: 14px 20px;
    margin-bottom: 1.4em;
    text-align: left;
}
.quickfacts p{
    margin: 0 0 10px 0;
    font-weight: 400;
}
.quickfacts dl{
    margin: 0;
    display: grid;
    grid-template-columns: 110px 1fr;
    row-gap: 6px;
    column-gap: 14px;
}
.quickfacts dt{
    font-weight: 600;
    color: rgba(19,41,75,1);
    list-style-type: none;
}
.quickfacts dd{
    margin: 0;
}
.quickfacts a{
    color: rgba(19,41,75,1);
    font-weight: 600;
}
@media only screen and (max-width:650px){
    .quickfacts dl{
        grid-template-columns: 1fr;
    }
    .quickfacts dt{
        margin-top: 8px;
    }
}
#research dl, #service dl, #groupmember dl, #honors dl, #courseList dl, #serviceList dl, #groupmemberList dl{
    margin-left: 40px;
}
#research dt, #groupmember dt, #service dt, #honors dt, #courseList dt, #serviceList dt, #groupmemberList dt{
    display: list-item;
    margin-bottom: 0.08em;
    font-weight: 400;
}
#research dd, #service dd, #groupmember dd, #honors dd, #courseList dd, #serviceList dd, #groupmemberList dd{
    margin-left: 0px;
    letter-spacing: 0.05em;
}
#teaching dl, #service dl, #groupmember dl, #honors dl, #courseList dl, #serviceList dl, #groupmemberList dl{
    margin-left: 40px;
}
#teaching dt, #groupmember dt, #service dt, #honors dt, #courseList dt, #serviceList dt, #groupmemberList dt{
    display: list-item;
    margin-bottom: 0.08em;
    font-weight: 400;
}
#teaching dd, #service dd, #groupmember dd, #honors dd, #courseList dd, #serviceList dd, #groupmemberList dd{
    margin-left: 0px;
    letter-spacing: 0.05em;
}
#resources ul li, #education ul li{
    margin-bottom: 4px;
}
.publication li{
    margin-bottom: 1em;
    text-indent: -2em;
    list-style-type: decimal;
    list-style-position: inside;
    padding-left: 20px;
    /*display: inline-block;
    text-align: left;*/
}
#service .onlydt dt{
    margin-bottom: 0.15em;
}
.more{
    color: rgba(255,95,5,1);   
    font-weight: 600;
    margin-left:auto; 
    margin-right:0;
    width: 60px;
    font-size: 24px;
}
.more:hover{
    cursor: pointer;
    font-size: 26px;
}
#service h3{
    color: #707070;
}
#resources li a{
    color: #000000;
}
#education li, #courseList article, #teaching article, #groupmember dd, #groupmemberList dd, #service dl, #resources li{
    text-align: left;
}
.lists{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    z-index: 15;
    display: none;
}
#publicationList, #courseList, #groupmemberList, #serviceList{
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    padding: 0px 50px;
    display: none;
    width: 75%;
    height: 90%;
    overflow-y:scroll;
    overflow-x:hidden;
    border-radius: 50px;
    background: linear-gradient(0deg, rgba(225,242,251,0.7) 0%, rgba(232,245,252,0.9) 46%, rgba(232,245,252,0.8) 69%, rgba(225,242,251,0.6) 100%);
}
#publicationList h2, #courseList h2, #groupmemberList h2, #serviceList h2{
    color: rgba(255,95,5,1);  
    float:right;
    padding: 5px;
    background-color: rgba(19,41,75,1);
}
#publicationList h3, #courseList h3, #groupmemberList h3, #serviceList h3{
    color: rgba(19,41,75);
}
#publicationList article, #courseList article, #groupmemberList article, #serviceList article{
    position: relative;
    overflow-y:scroll;
    overflow-x:hidden;
    height: 85%;
    margin: 0px 10px 50px 0px;
    color: #000000;
    letter-spacing: 0.0525em;
    margin-bottom: 1em;
}
#publicationList article::-webkit-scrollbar, #courseList article::-webkit-scrollbar, #groupmemberList article::-webkit-scrollbar, #serviceList article::-webkit-scrollbar{
    display: none;
}
#footer{
    border-top: 5px solid rgba(255,95,5,1);
    padding: 20px;
    background: linear-gradient(0deg, rgba(19,41,75,1) 0%, rgba(19,41,75,0.9) 100%); 
    
}

#footer img{
    margin-right: 10px;
    height: 50px;
}
.mb1em{
    margin-bottom: 0.5em;
}
.ml20{
    margin-left: 20px;
}
.flex{
    display: flex;
}
.justify{
    justify-content: space-between;
    align-items: center;
}
.float-r:hover{
    font-size: 26px;
    cursor: pointer;
}
@media only screen and (max-width:1360px){
    .nav h1{
        width: 260px;
        font-size: 34px;
    }
    .header ul{
        padding-left: 0px;
        text-align: left;
    }
    .header li{
        display: inline-block;
        margin-left: 16px;
        margin-top: 4px;
    } 
    .avatar{
        width: 220px;
        height: 220px;
        border-radius: 50%;
        margin-right: 40px;
    }
    .image-container > div:nth-child(1){
        height: 300px;
        width: 100%;
    }
    .image{
        max-width: 100%;
        max-height: 100%;
    }
}

@media only screen and (max-width:1000px){
    .avatar{
        margin: 0;
    }
    .nav > div{
        height: 80px;
    }
    .menu{
        display: flex;
        justify-content: center;
        height: 80px;
    }
    .menu img{
        display: block;
        margin: auto;
        border: 1px solid #ffffff;
        border-radius: 10px;
        padding: 6px;
    }
    .menu img:hover{
        display: block;
        margin: auto;
        border: 1.2px solid rgba(255,95,5,1);
        border-radius: 10px;
        padding: 7px;
    }
    .menu:hover{
        cursor: pointer;
    }
    .header ul{
        display: none;
        position: absolute;
        right: 15%;
        top: 3%;
        /* top: 50px; */
        background-color: rgba(255, 255, 255, 0.8);
        padding: 10px 10px;
        border-radius: 10px;
    }
    .header li{
        display: block;
        color: rgba(19,41,75);
    }
    .avatar{
        width: 200px;
        height: 200px;
        border-radius: 50%;
        margin-bottom: 1em;
    }
    .about{
        flex-direction: column;
        align-items: center;
    }
    .main-container{
        width: 85%;
        margin: 0 auto;
        position: relative;
    }

    #publicationList, #courseList, #groupmemberList, #serviceList{
        padding: 0px 20px;
    }
    .image-container > div:nth-child(1){
        height: 200px;
        width: 100%;
    }
    .image{
        max-width: 100%;
        max-height: 100%;
    }
    #footer img{
        margin-right: 10px;
        height: 36px;
    }
}

@media only screen and (max-width:650px){
    .nav h1{
        width: 200px;
        font-size: 30px;
        margin: 0;
        height: 80px;
        line-height: 80px;
    }
    body, .lists{
        font-size: 16px;
    }
    .header li{
        font-size: 20px;
    }
    .header a{
        font-size: 18px;
        letter-spacing: 0.03em;
    }
}

/* --- Fix added for the 8-item nav (Publications/Projects added) ---
   1) Stop the site title from being squeezed and word-wrapped by the
      flexbox when the nav needs more room than it used to.
   2) Let the nav absorb the squeeze instead, wrapping to a 2nd line
      if needed, with slightly tighter spacing so that happens less often.
   3) Let the header grow to fit a wrapped 2-line nav instead of
      clipping it at a fixed 80px (paired with a small main.js addition
      that keeps the hero image positioned right below it). */
.nav > div:first-child{
    flex-shrink: 0;
}
.nav h1{
    white-space: nowrap;
}
.nav li{
    margin-right: 12px;
    font-size: 16px;
}
.header{
    height: auto;
    min-height: 80px;
}
