@font-face {
    font-family: 'Franchise Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Franchise Bold'), url('/font/Franchise-Bold-hinted.woff') format('woff');
}

body {
    font-family: 'Barlow', 'Lato', sans-serif;
    font-size: 16px;
}

h4 {
    color: #666;
    font-weight: 600;
    font-size: 2rem;
}

h5 {
    color: #666;
}

a, u {
    text-decoration: none !important;
}

.overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 12;
    top: 0;
    right: 0;  /* Right-sided navigation */
    background-color: rgb(255,255,255);
    overflow-x: hidden;
    transition: 0.5s;
}

.overlay-content {
    position: relative;
    top: 25%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
    font-weight: 600;
}

.overlay a, .overlay i {
    padding: 8px;
    text-decoration: none;
    font-size: 2rem;
    color: #666;
    display: block;
    transition: 0.3s;
}

.overlay a:hover, .overlay a:focus {
    color: #721f6e;
    font-size: 2.5rem;
}

.overlay i:hover, .overlay i:focus {
    color: #721f6e;
}

.overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 2.5rem;
}

@media screen and (max-height: 450px) {
    .overlay a {font-size: 20px}
    .overlay .closebtn {
        font-size: 40px;
        top: 15px;
        right: 35px;
    }
}

.navbar {
    /* border-bottom: 1px solid #707070; */
    -webkit-filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
    color: #666;
    background-color: #fff;
    position: fixed;
    width: 100%;
    z-index: 11;
}

.navbar-brand {
    display: flex;
}

.navbar-brand-en {
    font-family: 'Franchise Bold', 'Barlow', 'Lato', sans-serif;
    font-size: 2rem;
    color: #666;
    align-items: center;
    margin-bottom: 0;
}

.navbar-brand-zh {
    font-family: 'Barlow', 'Lato', sans-serif;
    font-size: 1.6rem;
    color: #666;
    align-items: center;
    margin-bottom: 0;
}

.breadcrumb {
    background-color: transparent;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    color: #666;
}

.breadcrumb a {
    text-decoration: none;
    color: #666;
}

.breadcrumb .breadcrumb-item .current {
    color: #721f6e;
}

header {
    /* background-image: url("img/banner.png"); */
    background-size: cover; /* Resize the background image to cover the entire container */
    min-height: 468.5px;
}

.banner img {
    width: 100%;
    min-height: 468.5px;
}

.context .card-body, .common-card .card-body {
    /* , .collaboration .card-body, .people .card-body */
    background-color: #721f6e;
    border-radius: 0 0 5px 5px;
}

.context .card-body a, .context .card-body .card-text, .common-card .card-body .card-text {
    /* , .collaboration .card-body .card-text, .people .card-body .card-text */
    text-decoration: none;
    color: #fff;
}

.news .card-body {
    border: 1px solid #707070;
    border-radius: 5px;
}

.news .card-body .card-title {
    color: #666;
    font-weight: 600;
}

.news .card-body .card-subtitle {
    color: #bbb;
    font-weight: 300;
}

.news .card-body .card-text, .course .card-body .card-text {
    color: #666;
    font-weight: 500;
}

.news .card-body .card-link, .publication .card-title, .exhibition .card-body .card-link, .course .card-title {
    color: #721f6e;
    font-weight: 600;
    font-size: 1.5rem;
}

.publication .card-body .card-link, .course .card-body .card-link {
    color: #721f6e;
    font-size: 1.2rem;
}

.research-cith {
    padding: 10px;
    text-align: center;
    color: #777;
}

.research-citr {

}

.contact h5 {
    color: #721f6e;
}

.contact p, .people p {
    color: #666;
}

.contact .address {
    line-height: 1.5rem;
}

.contact .contact-email {
    font-weight: 600;
    text-decoration: underline;
}

footer {
    background-color: #000;
    text-align: center;
    color: #fff;
    padding: 30px;
}

footer .copyright {
    color: #fff;
    font-size: 1.3rem;
}

.form {
    border: 1px solid #707070;
    padding: 1.5rem;
    border-radius: 5px;
    padding: 2rem;
}

.form-row .col {
    padding-left: 0;
    padding-right: 0;
}

.form .form-control {
    border-radius: 0;
    border: 1px solid #707070;
    padding: 2rem 1rem 2rem 1rem;
    font-size: 1.2rem;
    font-weight: 600;
    color: #666;
    text-decoration: none;
    margin: 0;
}

.submit {
    flex-direction: row-reverse;
}

.submit .btn {
    background-color: #fff;
    color: #721f6e;
    font-weight: 600;
    border-radius: 0;
    padding: 1.5rem;
    border: 1px solid #707070;
}

.submit .btn:hover {
    color: #fff;
    background-color: #721f6e;
}

.course-cover {
    max-height: 300px;
    overflow: hidden;
    border: 1px solid #707070;
    border-radius: 5px;
}

.course-img img {
    border: 1px solid #707070;
    border-radius: 5px;
}

.member {
    text-align: center;
}

.research-icon {
    text-decoration: none;
    color: #721f6e;
    font-size: 20px;
}

.label-text {
    position: absolute;
    right: 20px;
    top: 5px;
    color: white;
    z-index: 10;
    white-space: nowrap;
}

.label {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 70px 65px 0;
    border-color: transparent #721f6e transparent transparent;
    position: absolute;
    top: 0px;
    right: 15px;
    z-index: 9;
}

.img-frame {
    height: 250px;      /* equals max image height */
    width: 100%;
    border: 1px solid #e0e0e0;
    white-space: nowrap;
    text-align: center;
    overflow: hidden;
}

.img-helper {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.img-frame img {
    vertical-align: middle;
    width: auto;
    max-height: 250px;
    max-width: 95%;
}

.people-img-frame {
    height: 250px;
    width: 100%;
    white-space: nowrap;
    text-align: center;
    overflow: hidden;
}