:root{
    --logo-blue: #a89dd6; 
    /* rgb(67, 217, 217) */
    --logo-green1: #acccb4;
    /* rgb(107, 191, 128) */
    --logo-green2: #6a7bd9;
    /* rgb(141, 217, 106) */
    --logo-green3: #06a7d3;
    /* rgb(182, 217, 54) */
    --logo-light: #F2F2F2; 
    /* rgb(242, 242, 242) */

    --logo-blue-dark: #69b1bd;
    /* rgb(105, 177, 189) */
    --logo-green1-dark: #5d858f;
    --logo-green2-dark: #a8c9b8;
    --logo-green3-dark: #b2d3a8;

    --logo-blue-light: #c9e7ef;
    /* rgb(201, 231, 239) */
    --logo-green1-light: #76bbf4;
    --logo-green2-light: #7666ef;
    --logo-green3-light: #c2aee7;

    --lg-logo: linear-gradient(135deg, var(--logo-blue), var(--logo-green1), var(--logo-green2), var(--logo-green3));
    --lg-logo1-light: linear-gradient(135deg, var(--logo-blue-light),var(--logo-blue));
    --lg-logo2-light: linear-gradient(135deg, var(--logo-green1-light),var(--logo-green1));
    --lg-logo3-light: linear-gradient(135deg, var(--logo-green2-light),var(--logo-green2));
    --lg-logo4-light: linear-gradient(135deg, var(--logo-green3-light),var(--logo-green3));

    --lg-team: linear-gradient(135deg, var(--logo-blue-light) 45%, var(--logo-blue));
    --lg-proj: linear-gradient(135deg, var(--logo-blue-light), var(--logo-blue), var(--logo-blue-dark));
    --lg-wetl: linear-gradient(135deg, var(--logo-green1-light), var(--logo-green1), var(--logo-green1-dark));
    --lg-dryl: linear-gradient(135deg, var(--logo-green2-light), var(--logo-green2), var(--logo-green2-dark));
    --lg-hupr: linear-gradient(135deg, var(--logo-green3-light), var(--logo-green3), var(--logo-green3-dark));
}

body { 
    height: 100%;
    background-repeat: no-repeat;
    background-attachment: fixed; /* 添加这一行 */
    background-size: cover; /* 添加这一行 */
    background-color: rgb(17,24,53);
    color: white;
}

body *{
    scroll-margin-top: 100px;  

    /* font-family: 'Quicksand', sans-serif;  */
    /* color: #FFF; */
}
html {
    scroll-behavior: smooth;
    height: 100%;
}  
header{
    display: none;
}
.left-aligned { margin-left: auto; }
.bg-dark { background-color: #343a40 !important; }
.bg-hero { 
    /* background-color: #45b06cff;  */
    background: linear-gradient(135deg, var(--logo-blue), var(--logo-green1), var(--logo-green2), var(--logo-green3));
}
:target{
    background: rgba(107, 191, 128, .5);
    border-radius: 2px;
}
.styled-scrollbars {
    scrollbar-color: rgba(255,255,255,.8) var(--lg-logo);
}
.styled-scrollbars::-webkit-scrollbar {
    width: 10px; /* Mostly for vertical scrollbars */
    height: 10px; /* Mostly for horizontal scrollbars */
}
.styled-scrollbars::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.8);
}
.styled-scrollbars::-webkit-scrollbar-track {
    background: var(--lg-logo);
}
/* CALLOUT */
.bd-callout { padding:1.25rem; margin-top:1.25rem; margin-bottom:1.25rem; border:1px solid #e9ecef; border-left-width:.25rem; border-radius:.25rem }
.bd-callout h4 { margin-bottom:.25rem }
.bd-callout p:last-child { margin-bottom:0 }
.bd-callout code { border-radius:.25rem }
.bd-callout+.bd-callout { margin-top:-.25rem }
.bd-callout-info { border-left-color:#5bc0de }
.bd-callout-warning { border-left-color:#f0ad4e }
.bd-callout-danger { border-left-color:#d9534f }


/* Fonts */

/* Quicksand-regular - latin */
@font-face {
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 300;
    src: 
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-regular.woff') format('woff'), /* Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-regular.svg') format('svg'); /* Legacy iOS */
  }
  
  /* Quicksand-Lite */
  @font-face {
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 300;
    src:
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-300.woff') format('woff'), /* Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-v29-latin-300.svg') format('svg'); /* Legacy iOS */
  }
  
  /* Quicksand-Bold */
  @font-face {
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 400;
    src:
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-bold/quicksand-v29-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-bold/quicksand-v29-latin-600.woff') format('woff'), /* Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-bold/quicksand-v29-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
         url('https://static.igem.wiki/teams/4477/wiki/quicksand-bold/quicksand-v29-latin-600.svg') format('svg'); /* Legacy iOS */
  }
  
  /* open-sans-regular - latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src:
          url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
          url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-regular.woff') format('woff'), /* Modern Browsers */
          url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
          url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-regular.svg') format('svg'); /* Legacy iOS */
  }
  
  /* open-sans BOLD */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src:
         url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-700.woff') format('woff'), /* Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
         url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-700.svg') format('svg'); /* Legacy iOS */
  }
  
  /* open-sans ITALIC */
  @font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 300;
    src:
         url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-italic.woff') format('woff'), /* Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
         url('https://static.igem.wiki/teams/4477/wiki/open-sans-v29-latin-italic.svg') format('svg'); /* Legacy iOS */
  }
  
  /* Montserrat SuperBold */
  @font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    src:
         url('https://static.igem.wiki/teams/4477/wiki/montserrat-800-bold/montserrat-v25-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/montserrat-800-bold/montserrat-v25-latin-800.woff') format('woff'), /* Modern Browsers */
         url('https://static.igem.wiki/teams/4477/wiki/montserrat-800-bold/montserrat-v25-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
         url('https://static.igem.wiki/teams/4477/wiki/montserrat-800-bold/montserrat-v25-latin-800.svg.svg') format('svg'); /* Legacy iOS */
  }
  


/* navbar */
.dropdown-toggle::after{
    display: none;
}
.dropdown:hover .dropdown-menu {
    /* display: block; */
  }






.dropdown-menu.show{
    display:grid;
    grid-template-columns: 1fr 1fr; /* 两列布局 */
    /* grid-gap: 10px;  */
    background-color: #29313abd !important; 
    /* width: 400px;  */

}

.dropdown-item{
    display: flex; /* 让子元素横向排列 */
    align-items: center; /* 垂直居中对齐 */

    /* white-space: normal; */
    background-color: unset; 

}


.dropdown-item a{
    text-decoration: none;
    color: white;
    display: flex; /* 让子元素横向排列 */
    align-items: center; /* 垂直居中对齐 */


}

.dropdown-item img{
    filter: invert(100%);
    width: 30px;
    margin-right: 10px;
}

.dropdown-item:focus, .dropdown-item:hover {
    background-color: #1f232aab;
}


.image-row{
    display: flex;
    width: 100vw;
    transition: transform 0.5s ease-in-out;
    position: absolute;
}
.image-wall{
    width: 100vw;
    height: 100vh;
    display: flex;
    overflow: hidden;
    position: relative;
}
/* .dropdown-menu .dropdown-item {
    display: block;
    width: 100%;
    padding: .25rem 1rem;
    clear: both;
    font-weight: 400;
    color: #ffffff ; 
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color : #111835 ;
    border: 0;
    } */

/* Add this to your CSS file */










.navbar .underline{
	height: 2px;
	/* width: 200%; */
	background: #111835;
	transition: .5s ease;
    background-color : #111835;
}
a:hover .underline{
	background: #111835;
	width: 100%;
    background-color : #111835;

}
.navbar{
    background: rgba(25,25,25,.75);
    box-shadow: 2px 0px 2px 2px rgba(0,0,0,0.5);
    transition: .5s ease;
    user-select: none;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;

}

.navbar-transparent {
    background-color: rgba(17, 24, 53, 0.5); /* 初始透明度 */
}

.navbar-opaque {
    background-color: rgba(17, 24, 53, 0.5); /* 完全不透明 */

}


.navbar:hover{
    background: rgba(35,35,35,1);
    box-shadow: 2px 0px 2px 2px rgba(0,0,0,0.5);
}
.navbar *{
    color: #FFF;
    font-size: 1.2rem;
    font-weight: bold;
    
}


/* .navbar .container{
    border-bottom: 4px solid rgba(255,255,255,.9);
} */
.navbar hr{
    position: absolute;
    top: 30px;
    width: 100%;
    border: 2.5px solid #FFF;
    opacity: .75;
    display: flex;
    z-index: 9999;
}

.timeline-content.diagram img{
    width: 100%;
    max-width: 50vw;
    background-color:#fff;
}
.navbar-brand1 {
    float: left;
    line-height: 40px; /* 使文本垂直居中 */
    margin-left: 20px; /* 将margin-left改为padding-left */

}

.navbar a{
    padding: 0;

}

.navbar img {
    height: 40px;
    display: block;
    /* Other properties can be adjusted as needed */
}
.navbar h3{
    /* font-size:  2rem; */
    /* font-weight: 400; */
    line-height: 1.5;
    margin: 0px 1px;
    padding: 4px 8px;
    transition: .5s ease;
    border-radius: 20px 20px 0px 0px;
}
.navbar h3:hover{
    background: rgba(255,255,255,.7);
    border-radius: 5px 5px 0px 0px;
    color: #FFF;
}
.nav-item ul{
    background: rgba(0,0,0,.5);
    color: #FFF;
    margin: 0;
    padding: 0px;
    margin-left: 2px;
    padding-left: 3px;
    padding-bottom: 10px;
    border-radius: 0px 0px 5px 5px;
    border: 0;
}
.navbar #team h3:hover{ background: rgba(201, 231, 239, .7)}
.navbar #team ul{       background: rgba(201, 231, 239, .9)}
.navbar #proj h3:hover{ background: rgba(67, 217, 217, .7)}
.navbar #proj ul{       background: rgba(67, 217, 217, .9)}
.navbar #wetl h3:hover{ background: rgba(107, 191, 128, .7)}
.navbar #wetl ul{       background: rgba(107, 191, 128, .9)}
.navbar #dryl h3:hover{ background: rgba(141, 217, 106, .7)}
.navbar #dryl ul{       background: rgba(141, 217, 106, .9)}
.navbar #hupr h3:hover{ background: rgba(182, 217, 54, .7)}
.navbar #hupr ul{       background: rgba(182, 217, 54, .9)}

.nav-item li a{
    color: #FFF;
    padding: 0px 7px;
}

footer{
    background: rgb(35,35,35);
    margin-top: 0;
    padding: 10px 0px;
    padding-top: 6px;
    position: relative;
}

footer img{
    width: 50%; /* 设置图片宽度为容器宽度的50% */
    height: auto; /* 保持图片的宽高比 */
    display: block; /* 将图片设置为块级元素 */
    margin: 0 auto; /* 水平居中 */
  }

footer .sitemap{
    font-size: 1.25rem;
}
footer .sitemap .space{
    padding: 0px 10px;
}
footer .mascot{
    height: 200px;
    position: absolute;
    right: 20px;
    top:-50px;
    z-index: 99999;
    filter: brightness(1);
    transition: .5s ease;
}
footer .mascot:hover{
    filter: brightness(1.1);
}
footer .name h1{
    font-size: 6vw;
    margin: 0;
    margin-top: -15px;
    margin-left: -5px;
}
footer h5, footer hr{
    margin: 0;
}

.row-content {
    display: flex; flex-direction: column;
}

.contact-link {
    display: flex;
    align-items: flex-start;
    margin-right: 20px;
    margin-bottom: 10px; /* Optional: adds some space between each contact link */
  }
  .contact-link img{
    margin-right: 13px;
  }
  
.col-content {
    display: flex; flex-direction: row;
}

.col-content img{
    margin: 20px;
}

footer p{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-size: large;
    margin-left: 1%;
}

footer .p2{
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-size: normal;
    margin-left: 15%;
    padding-top: 10px;

}

footer hr{
    position: absolute;
    top:6;
    left:0;
    right:0;
    border: 2.5px solid #FFF;
    opacity: .75;
    display: flex;
    z-index: 9999;
}
footer .footer-main{
    float: left;
    padding-top: 5px;
}
footer .footer-aside{
    padding-left: 5%;
    position: relative;
    float: left;
    padding-top: 5px;
}
footer .footer-aside img{
    display: block;
    width: 150px;
    height: auto;
    padding-top: 10px;

}
footer .links{
    position: absolute;
    bottom: 20px;
    right: 20px;
}
footer .links span{
    padding: 4px 8px;
    border-radius: 6px;
    transition: .5s ease;
    border: 1px solid #000;
}
footer .links span:hover{
    border: 1px solid #F2F2F2;
}
/* cover */
/* #cover{
    height: 100%;;
    overflow: hidden;
    position: relative;
    padding-top: 56px;
    background: #1E1E1E;
    display: flex;
    align-items: center;
} */
.cover-content{

    display: flex;
    /* margin: auto; */
    justify-content: center;
    align-items: center;
    /* pointer-events: none; */
    user-select: none;
    font-weight: bold; /* 添加这一行以加粗字体 */
    font-family: 'Montserrat' ;
}

.cover-content-v{
    position: absolute;
    width: 100%;
    text-align: center;

    display: flex;
    /* margin: auto; */
    justify-content: center;
    align-items: center;
}

.cover-content li {
    margin: 20px 0; /* 增加上下间距 */
    font-size: 1.3em; /* 增加字体大小 */
}

.cover-content p{
    font-style: normal;
    margin: 20px 0; /* 增加上下间距 */
    font-size: 1.3em; /* 增加字体大小 */
    color: rgb(248, 237, 237); 
}

/* .cover-content h1{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 800;
    font-size: 50px;
    color: rgb(248, 237, 237); 
    margin: 0;
    padding: 10px 0px;
} */


.text-grad-logo{
    background: var(--lg-logo);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-grad-team{
    background: var(--lg-team);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* .text-grad-proj{
    background: var(--lg-proj);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
} */
.text-grad-proj {
    color: white; /* 白色文本 */
    /* text-shadow: -1px -1px 0 purple, 
                 1px -1px 0 purple,  
                 -1px 1px 0 purple, 
                 1px 1px 0 purple;    */
}

.text-grad-wetl{
    background: var(--lg-wetl);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-grad-dryl{
    background: var(--lg-dryl);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.text-grad-hupr{
    background: var(--lg-hupr);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.cover-header-wrap{
    padding: 20px;
    padding-bottom: 10%;
}
.cover-content img{
    width: 70%;
}
.cover-content .underline{
    background: var(--lg-logo);
    opacity: .5;
	height: 10px;
	width: 0;
	transition: .5s ease;
    margin-top: -10px;
    z-index: -5;
}
.cover-content h1:hover .underline{
	width: 100%;
}
.cover-small h1{
    font-size: 68px;
}
.cover-small{
    margin-left: 12.5%;
}
#cover .img-bkg{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* filter: blur(1px); */
}
#cover .container{
    z-index: 9;
}
#banner{
    width: 100%;
    position: fixed;
    top: 0;
    z-index:99;
}
.para-img img{
    width: 110%;
    transform: translate(-5%,-5%);
}
.para-txt{
    padding-left: 100px;
}
/* sections */
.section-wrap{
    position: relative;
    padding: 50px 0px; 

}
.section-wrap a{
    scroll-margin-top: 106px; 
}
.section-wrap .linker, .home-wrap .linker{
    position: absolute;
    top: 0;
    transform: translateY(-40%) scale(0.8,0.8);
    left: 50px;
    z-index:999;
    user-select: none;
}
.home-wrap{
    overflow: hidden;
    display: flex;
    justify-content:center;
    align-content: center;
    flex-wrap: wrap;
    position: relative;
}
.divide{
    border: 3px solid rgba(255,255,255,.2);
    box-sizing:border-box;
    /* position: absolute; */
    margin: 0;
    top: -5px;
    width: 100%;
    z-index: 999;
}
.home-wrap .full-bkg{
    position: absolute;
    width: 110%;
    margin-left: -5%;
    margin-top: -20px;
    top: 0;
    z-index:-2;
}
.home-wrap .full-black{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    z-index:-1;
}
.home-wrap .home-text{
    color: #FFF;
    padding: 0px 200px;
    font-size: 2rem;
    text-shadow: 1.5px 1px 2px #000;

}
.home-wrap [class*="p"]{
    transition: 2s ease;
}
.home-wrap .full-bkg{
    filter: blur(10px);
    transition: 1s ease;
    display: block;
}
.home-wrap:hover .full-bkg{
    filter: blur(0px);
}

.home-wrap .p1{
    opacity: 0.95;
    background: linear-gradient(#1E1E1E, #3E3E3E); 
}
.home-wrap:hover .p1{opacity: 0}
.home-wrap .p2{
    opacity: 0.95;
    background: linear-gradient(#3E3E3E, #5E5E5E); 
}
.home-wrap:hover .p2{opacity: 0}
.home-wrap .p3{
    opacity: 0.8;
    background: linear-gradient(#5E5E5E, #7E7E7E); 
}
.home-wrap:hover .p3{opacity: 0}
.home-wrap .p4{
    opacity: .75;
    background: linear-gradient(#7E7E7E, #A9B7BF);
}
.home-wrap:hover .p4{opacity: 0}
.home-wrap .p5{
    opacity: .75;
    background: linear-gradient(#A9B7BF, var(--logo-blue-light) 40%, var(--logo-blue)); 
}
.home-wrap:hover .p5{opacity: 0}
.home-wrap .p6{
    opacity: .9;
    background: linear-gradient(var(--logo-blue), var(--logo-green1)); 
}
.home-wrap:hover .p7{opacity: 0}
.home-wrap .p7{
    opacity: .6;
    background: linear-gradient(var(--logo-green1), var(--logo-green3)); 
}
.home-wrap:hover .p6{opacity: 0}
/* footer */
footer a { color: white; font-weight: bold; text-decoration: none; }
footer a:hover { color: white; text-decoration: underline; }

.box{
    margin: 20px 0px;
    padding: 10px;
    border: 1px solid #000;
    border-radius: 4px;
}

/* WIKI PAGE COMMON ELEMENTS */
/* Responsive grid lineup 3/1 */


.wrap-resp{
    width: 100%;
    margin: auto;
    overflow: auto;
}
.container-resp{
    width: 33.33%;
    float: left;
    overflow: hidden;
    height: auto;
    padding: 5px;
}
/* 1:1 aspect ratio */
.square{
    position: relative;
    width: 100%;
    overflow: hidden;
}
.square::before{
    content: "";
    display: block;
    padding-top: 100%;
}
/* fit image in div */
.img-fit img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img-wrap{
    position: absolute;
    top:0;
    padding-top: 56px;
    left:0;
    width: 100%;
    height: 100%;
}
.img-tile{
    width: 25%;
    float: left;
    height: 25%;
    filter: saturate(0.4) brightness(0.6) blur(2px);
    transition: 2s ease;
}
.img-tile:hover{
    filter: saturate(1) brightness(1) blur(0);
    transition: .1s ease;
}
.hide{
    height: 0;
}
.hide .cover-content{
    transform: translateY(-50%);
}
/* clearfix for floats */
.clearfix{
    content: "";
    clear: both;
    /* display: table; */
}
/* image wrapper */
.img-flexor{
    white-space: nowrap;
    overflow-x: auto;
    height: 200px;
    max-width: 70vw;
    margin: 10px 0px;
    padding: 5px;
    border-radius: 5px;
}
.img-flexor:nth-child(4n){
    background: var(--logo-blue-light);
}
.img-flexor:nth-child(4n+1){
    background: var(--logo-green1-light);
}
.img-flexor:nth-child(4n+2){
    background: var(--logo-green2-light);
}
.img-flexor:nth-child(4n+3){
    background: var(--logo-green3-light);
}
.img-flexor img{
    height: 100%;
    width: auto;
}
/* text styling */
span[class|="s"]{
    transition: .5s ease;
    font-weight: bold;
    white-space: nowrap;
}
span[class|="s"]:hover{
    color: #FFF !important;
}
.s-g1{color: var(--logo-green1-dark)}
.s-g2{color: var(--logo-green2-dark)}
.s-g3{color: var(--logo-green3-dark)}
.s-b{color: var(--logo-blue-dark)}
span[class*="s-"]{
    position: relative;
}
.s-g1 .highlight{background: var(--logo-green1-dark)}
.s-g2 .highlight{background: var(--logo-green2-dark)}
.s-g3 .highlight{background: var(--logo-green3-dark)}
.s-b  .highlight{background: var(--logo-blue-dark)}
span[class*="s-"] .highlight{
    position: absolute;
    left: 0;
    height: 100%;
    width: 100%;
    transform-origin: center left;
    transform: scaleX(0%);
    transition: .5s ease;
    z-index: -1;
}
span[class*="s-"]:hover .highlight{
    transform: scaleX(100%);
}
/* links */
.citations a{
    color: #000;
}
.citations p{
    margin: 0;
}
.contents-main a[id*="r"]{
    color: var(--logo-blue-dark);
}
.collapsible-content{
    background: #57467f2e;
    padding: 5px;
    max-height: auto;
    overflow: hidden;
    transition: max-height 0.5s ease;
    border-radius: 0px 0px 5px 5px;
    margin-bottom: 5px;
    padding-bottom: 3%;
    
}

.collapsible-img{
    background: #57467f2e;
    padding: 5px;
    max-height: auto;
    overflow: hidden;
    transition: max-height 0.5s ease;
    border-radius: 0px 0px 5px 5px;
    margin-bottom: 5px;
    display: flex;
    justify-content: center; /* 水平居中 */
    align-items: center; /* 垂直居中 */
    flex-direction: column;
    
}

.collapsible-img img{
    max-width: 40rem;
    margin: 10px; /* 让图片在容器中水平和垂直居中 */
}

.collapsible-img p{
    font-style: italic;
    font-size: 0.8rem;
}

.collapsible{
    padding: 5px;
    border-radius: 5px 5px 0px 0px;
    border-bottom: 2px solid #000;
    cursor: pointer;
    font-size: calc(1.3rem + .6vw);
    font-weight: normal;
    transition: .5s ease;
}
.collapsible:hover{
    filter: brightness(1.1);
}
.collapsible:nth-of-type(4n+1){background: rgb(103, 81, 163)}
.collapsible:nth-of-type(4n+2){background: rgb(103, 81, 163)}
.collapsible:nth-of-type(4n+3){background: rgb(103, 81, 163)}
.collapsible:nth-of-type(4n){background: rgb(103, 81, 163)}
.bland{
    background: #FFF !important;
    border: 2px solid #CACACA;
}

/* past team page css, partially used */
.box-resp{
    width: 100%;
    overflow: hidden;
    border: 2px solid #000;
    padding: 10px;
    border-radius: 5px;
}
.box-resp h3{
    margin: 0;
    padding-bottom: 5px;
}
.box-resp .img{
    position: relative;
    width: 100%;
    overflow: hidden;
}
.box-resp .img::before{
    content: "";
    display: block;
    padding-top: 66.67%;
}
.box-resp .img img{
    position: absolute;
    top:0;
    height: 100%;
}
.box-resp .img p{
    width: 100%;
    height: 0%;
    position: absolute;
    top: 0;
    overflow-x: auto;
    transition: .5s ease;
    color: #FFF;
    padding: 0px 10px;

    box-sizing: border-box;
    margin: 0;
}
.container-resp:nth-child(4n+1) p{background: rgba(117, 107, 192, 0.7)}
.container-resp:nth-child(4n+2) p{background: rgba(67, 217, 217, .7)}
.container-resp:nth-child(4n+3) p{background: rgba(54, 152, 217, 0.7)}
.container-resp:nth-child(4n) p{background: rgba(106, 208, 217, 0.7)}

.box-resp .img:hover p{
    height: 100%;
    padding: 10px;
}
.box-resp .tags{
    padding: 2px 0px;
}
.tag{
    padding: 0px 4px;
    border: 1px solid #000;
    border-radius: 5px;
    margin-right: 2px;
    font-size: 8px;
    font-weight: normal;
    white-space:nowrap;
}
.tag-school{
    background: #3255A4;
    color: #FFF;
}
.bar{
    border: 1px solid #000;
    padding: 10px;
    position: relative;
}
.bar h4{
    margin:0;
}
.dropbar{
    max-height: 0;
    transition: 1s;
    overflow: hidden;
}
.dropbar-show{
    max-height: 100px;
}

/* new css for team page, including animations */
.circle-wrap .img{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    overflow: hidden;
    transition: .5s ease;
}
.circle-wrap .img .label{
    position: absolute;
    bottom: 10%;
    text-align: center;
    width: 100%;
    color: #FFF;
}
.circle-wrap .overlay{
    position: absolute;
    top: 0;
    transform: scaleX(0%);
    overflow: hidden;
    height: 100%;
    transition: .5s ease;
}
.circle-wrap:hover .overlay{
    transform: scaleX(100%);
}
.circle-wrap:hover .img{
    transform: scaleX(0%);
}
.circle-wrap .overlay .img-half{
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    overflow: hidden;
}
.circle-wrap .overlay .img-half img{
    width: 50%;
}
.circle-wrap .overlay .desc-half{
    width: 50%;
    height: 100%;
    position: absolute;
    top:0;
    right: 0;
    background: var(--logo-green1-light);
    padding: 10px;
}

/* past description page styles (1) */
.contentbox:nth-child(4n-3){
    background: var(--logo-blue);
}
.contentbox:nth-child(4n-2){
    background: var(--logo-green1);
}
.contentbox:nth-child(4n-1){
    background: var(--logo-green2);
}
.contentbox:nth-child(4n){
    background: var(--logo-green3);
}
.contentbox{
    padding: 20px;
}
.contentbox h3{
    position: relative;
}

/* past description page styles (2) */
.cdrop-wrap{
    height: 30vh;
    padding: 10px;
    margin-bottom: 3vw;
    position: relative;
}
.cdrop{
    position: absolute;
    top: -5vh;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40vh;
    width: 40vh;
    background: var(--lg-logo);
    border: 4px solid #EAEAEA;
    border-radius: 100%;
    color: #FFF;
}
.cdrop h2{
    text-align: center;
}
.cdrop:nth-child(odd){
    left: -5vh;
}
.cdrop:nth-child(even){
    right: -5vh;
}
.cdrop-label{
    display: flex;
    height: 100%;
    align-items: center;
    background: #FAFAFA;
    border-top: 2px solid #000;
}
.cdrop-label:nth-child(even){
    padding-left: 35vh;
    padding-right: 10px;
}
.cdrop-label:nth-child(odd){
    padding-right: 35vh;
    padding-left: 10px;
    text-align: right;
}
.cdrop{
    box-shadow: 1px 1px 4px 2px rgba(0,0,0,.3);
}

/* timeline styles, used in Human Practices page */
.contents-wrap{
    width: 100%;
    color: white;
}
.contents-aside{
    float: left;
    width: 25%;
    position: sticky;
    top: 100px;
}

.contents-table-index {
border: #FFF;

}

.fixed-height-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.fixed-height-list li {
    height: 50px; /* Set a fixed height for each list item */
    line-height: 50px; /* Align text vertically in the middle */
    margin-bottom: 10px; /* Add some space between items */
}

.fixed-height-list li a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.fixed-height-list li a h5 {
    margin: 0;
    display: inline-block;
    vertical-align: middle;
    line-height: normal; /* Reset line height for the text */
}


.contents-main{
    float: left;
    width: 75%;
    position: relative;
}
.contents-table{
    border: 2px solid #000;
    border-radius: 10px;
    /* padding: 10px; */
    /* box-shadow: 0px 1px 4px 2px rgba(0,0,0,.2); */
    user-select: none;
}
.contents-table ul{
    list-style: none;
    margin: 0; 
    padding: 0;
    font-size: 0;
}
.contents-table a{
    /* color: #000; */
    text-decoration: none;
    padding-bottom: 2px;
}
.contents-table li{
    position: relative;
    padding: 5px 0px;
    padding-left: 40px;
}
.contents-table .contents-table-highlight{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    transition: .25s ease;
    z-index: -1;
    transform: scaleY(0%);
    white-space: nowrap;
}
.contents-table .contents-table-bullet{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    width: 5%;
    border: 1px solid #000;
    border-radius: 100%;
    transition: .25s ease;
}
.contents-table h5{
    margin: 0;
}
.contents-table li:hover .contents-table-highlight:not(.active){
    background: var(--logo-green2-light);
    transform: scaleY(100%);
}
.contents-table ul li .active .contents-table-highlight{
    /* background: var(--logo-blue); */
    transform: scaleY(100%);
}
.contents-table ul li .active:hover .contents-table-highlight{
    /* background: var(--logo-blue); */
    transform: scaleY(100%);
}
.contents-table ul li .active .contents-table-bullet{
    background: #000;
    /* box-shadow: 0px 0px 4px 2px rgba(0,0,0,.2); */
}
.contents-table .contents-table-bullet{
    background: #FFF; 
}


.contents-table .sub-list {
    display: block; 
    padding-left: 20px;
}

.contents-table .sub-list li {
    padding: 5px 0;
    height: 100%;
}

.contents-table .sub-list a {
    text-decoration: none;
}

.contents-table .sub-list a:hover {
    text-decoration: underline;
}



.timeline-wrap{
    position: relative;
    margin-left: 20px;
}
.timeline-bar{
    position: absolute;
    width: 4px;
    height: 100%;
    background: #fff;
    transform: translateX(-50%);
    margin-top: 10px;

}
.timeline-block{
    position: absolute;
    height: 30px;
    width: 30px;
    /* border: 4px solid #000; */
    background:  #FFF;
    border-radius: 100%;
    margin-left: -50px;
}
.timeline-block-sep{
    position: absolute;
    height: 30px;
    width: 30px;
    border: 4px solid #FFF;
    background: rgb(17,24,53);
    border-radius: 100%;
    margin-left: -45px;

}
.timeline-mod{
    margin-left: -50px !important;
}
.timeline-content-wrap{
    padding-left: 30px;
    padding-bottom: 20px;
}
.timeline-content {
    padding-top: 5px;

}

.timeline-content p{
    padding-top: 10px;

}

.timeline-content h2, .timeline-content h3{
    position: relative;
    margin: 0;
    margin-top: 5px;
}
.timeline-content a{
    color: var(--logo-green1-dark);
}
.timeline-content .equation{
    width: 100%;
    height: 50px;
    padding-bottom: 1rem;
}
.timeline-content .equation img{
    display: block;
    height: 100%;
    margin: auto;
}
.timeline-content .diagram{
    width: 80%;
    margin: auto;
    padding-bottom: 2rem;
}
.timeline-content .diagram img{
    width: 100%;
    background-color: #ffffff;
}
.timeline-content .caption{
    text-align: center;
    font-style: italic;
}
.timeline-content table{
    margin: auto;
}
.timeline-content table td, .timeline-content table th{
    border: 1px solid #4e555d91;
    padding: 15px 10px;
    border-width: 2px;
    background-color:rgb(123, 82, 7,0.1) ;


}
.timeline-content p+ul, .timeline-content p+ol{
    margin-top:-1rem;
}
.timeline-content p:last-child{
    margin: 0;
}
.table-wrap table{
    width: 100%;
    table-layout: fixed;
    position: sticky;
    top:70px;
}
.table-wrap tr{
    position: relative;
}
.table-wrap td{
    border: 1px solid #000;
}
.table-wrap .y-label{
    width: 20%;
    text-align: right;
    border-left: 0;

}
.table-wrap .x-label td{
    border: 0;
    padding-top: 5px;
    transform: rotate(135deg) scaleY(-100%) scaleX(-100%);
    transform-origin: right;
    white-space: nowrap;
}
.table-wrap .x-label td .label-text{
    position: absolute;
    right: 0;
    text-align: right;
    top: 0;
}
.table-wrap tr .table-bar{
    position: absolute;
    top: 25%;
    left: 20%;
    width: 10%;
    height: 50%;
    background: #000;
    transition: 1s ease;
}
.table-wrap .table-blank{
    height: 200px;
}
tr #y1{background: var(--logo-green1-dark)}
tr #y2{background: var(--logo-blue-dark)}
tr #y3{background: var(--logo-green3-dark)}
tr #y4{background: var(--logo-green2-dark)}
tr #y5{background: var(--logo-green1)}
tr #y6{background: var(--logo-blue)}
tr #y7{background: var(--logo-green3)}
tr #y8{background: var(--logo-green2)}
tr #y9{background: var(--logo-blue-light)}

.controls button, .controls input{
    border: 0;
    border-radius: 15px;
    padding: 2px 10px;
    transition: .2s ease;
}
.controls button:hover, .controls input:hover{
    background: #CACACA;
    color: #FFF;
}
.controls{
    background: var(--lg-logo);
    padding: 8px 12px;
    border-radius:10px;
}


.container {
    padding-left: 50px; /* 设置左侧内边距 */
    padding-right: 50px; /* 设置右侧内边距 */
    max-width: 1200px; /* 可选：设置最大宽度以限制内容宽度 */
    margin: 0 auto; /* 可选：使内容居中 */
}

/* override bootstrap */
/* 1080p 分辨率适配 */
@media (max-width: 1920px) {
    body {
        font-size: 18px;
    }
    .navbar * {
        font-size: 1.25rem;
    }
    .cover-content h1 {
        font-size: 4.5vw;
    }
    .cover-content p {
        font-size: 1.85em;
    }
    .footer .name h1 {
        font-size: 5vw;
    }

    .container {
        padding-left: 20px;
        padding-right: 20px;
        max-width: 1200px;
    }

}


@media  (min-width: 1920px) {
    footer p{
        font-size: x-large;
    }
    footer .p2 {
        font-size: larger;
    }
    footer img{
        width: 80%;
    }
    .cover-image-container {

        margin-top: 68px !important;
    }

}

/* 2K 分辨率适配 */
@media (min-width: 1921px) {
    body {
        font-size: 18px;
    }
    .navbar * {
        font-size: 1.8rem;
    }
    .cover-content h1 {
        font-size: 3vw;
    }
    .cover-content p {
        font-size: 1.7em;
    }
    .footer .name h1 {
        font-size: 4vw;
    }
    .container {
        padding-left: 60px;
        padding-right: 60px;
        max-width: 1400px;
    }
}

@media (min-width: 2560px) {
    .cover-content p {
        font-size: 1.8em;
    }
    .navbar * {
        font-size: 1.8rem;
    }
    .container {
        padding-left: 60px;
        padding-right: 60px;
        max-width: 1808px;
    }
    body {
        font-size: 26px;
    }
    

}



/* mobile optimization */
@media  (max-width: 1280px){
    .container {
        padding-left: 20px;
        padding-right: 20px;
        max-width: 100%;
    }
    .container-resp{
        width: 100%;
    }
    .navbar img{
        margin-left: 0px;
    }
    .navbar .navbar-brand{
        margin: auto;
        padding-left: 50px;
    }
    .cover-content h1{
        font-size: 4vw;
    }
    .cover-content p {
        font-size: 1.2rem;
    }

    .contents-wrap .contents-aside{
        width: 25%;
        z-index: 99;
        /* background: #FFF; */
        top:60px;
    }
    #cover{
        height: auto;
        min-height: 50%;
    }
    #cover .cover-content{
        display: block;
    }
    .contents-table .contents-table-bullet{
        width: 10px;
    }

    .timeline-wrap{
        width: 100%;
        margin-left: 35px;
    }
    footer .sitemap{
        font-size: 3vw;
    }
    footer .name h1{
        margin: 0;
        font-size: 8vw;
    }
    footer .footer-main, footer .footer-aside{
        width:100%;
    }
    footer .mascot{
        height: 100px;
        top:-90px;
    }
    .row-content {
        padding: 10px; /* 增加内边距以提高可读性 */
    }
}


@media  (max-width: 768px){
    .container {
        padding-left: 20px;
        padding-right: 20px;
        max-width: 100%;
    }

    .cover-content h1{
        font-size: 3vw;
    }
    .cover-content p {
        font-size: 1rem;
    }
    .contents-aside {
        width: 10px;
        display: none;
    
    }
}

@media  (max-width: 480px) {
    .container {
        padding-left: 10px;
        padding-right: 10px;
        max-width: 100%;
    }
    .cover-content h1{
        font-size: 3vw;

    }
    .cover-content p {
        font-size: 0.9rem;
        background-color: rgba(128, 128, 128, 0.6); /* 透明灰色背景 */
        padding: 20px;
        border-radius: 10px; /* 圆弧框 */
    }
    .align-items-center{
        align-items: center!important;
        margin-right: unset !important;
        margin-left: unset !important;
    }
    /* .video-container  {
        display: flex;
        position: absolute !important;
        width: 100%;
        text-align: center;
        margin-block-start: 0em;
        margin-block-end: 0em;
        padding: 0 10px;
       
    } */



}



  .counter-container p {
    margin-bottom: 0; /* 移除默认的底部间距 */
    color: rgb(0, 0, 0);
    /* background-color: rgb(255, 255, 255);  */
    text-shadow: -1px -1px 0 white, 1px -1px 0 white, -1px 1px 0 white, 1px 1px 0 white; /* 增加白色文字轮廓 */

  }

/* testing svg changes */
#Layer_1{
    transform-origin: center;
    width: 50%;
    height: 50%;
    margin: auto;
}
.gear, .surround, .center{
    transform-origin: 50%;

    animation-name: spin;
    animation-duration:5s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    position: absolute;
    top: 50%;
    left: 50%;
}
.surround{
    animation-direction: reverse;
}
.dot{
    transform-origin: center;
    transform: scale(100%);
    animation-name: float;
    animation-duration:3s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

@keyframes spin{
    0%{
        transform: rotate(0deg)
    }
    100%{
        transform: rotate(360deg);
    }
}

@keyframes float{
    0%{
        transform: rotate(0deg) scale(90%);
    }
    25%{
        transform: rotate(90deg) scale(110%);
    }
    50%{
        transform: rotate(180deg) scale(100%);
    }
    75%{
        transform: rotate(270deg) scale(110%);
    }
    100%{
        transform: rotate(360deg) scale(90%);
    }
}


.shaking-image {
    animation: shake 10s infinite;
    z-index: 1005; /* 确保图片在其他元素之上 */
  }
  @keyframes shake {
    0% { transform: translate(1px, 1px) rotate(0deg); }
    10% { transform: translate(-1px, -2px) rotate(-1deg); }
    20% { transform: translate(-3px, 0px) rotate(1deg); }
    30% { transform: translate(3px, 2px) rotate(0deg); }
    40% { transform: translate(1px, -1px) rotate(1deg); }
    50% { transform: translate(-1px, 2px) rotate(-1deg); }
    60% { transform: translate(-3px, 1px) rotate(0deg); }
    70% { transform: translate(3px, 1px) rotate(-1deg); }
    80% { transform: translate(-1px, -1px) rotate(1deg); }
    90% { transform: translate(1px, 2px) rotate(0deg); }
    100% { transform: translate(1px, -2px) rotate(-1deg); }
  }

  .rotating-image {
    animation: rotate 10s linear infinite; /* 2s 是动画的持续时间，可以根据需要调整 */

    /* animation: rotate 10s cubic-bezier(0.68, -0.55, 0.27, 1) infinite; */
    z-index: 1005; /* 确保图片在其他元素之上 */
    position: absolute; /* 确保图像可以相对于某个圆心定位 */
    top: 50%; /* 调整这些值以设置圆心的位置 */
    left: 50%;
    transform-origin: center center; /* 设置旋转的中心点为图像中心向右和向下各偏移 120% 120%*/
}

@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}

/* 
@keyframes rotate {
    0% { transform: rotate(0deg) translate(-20%, -30%); }
    50% { transform: rotate(180deg) translate(-30%, -30%); animation-timing-function: ease-in; }
    100% { transform: rotate(360deg) translate(-20%, -30%); }
} */

.moving-image {
    animation: moveLeftRight 2s ease-in-out infinite alternate;
    z-index: 1005; /* 确保图片在其他元素之上 */
    position: absolute; /* 确保图像可以相对于某个位置定位 */
    top: 50%; /* 调整这些值以设置初始位置 */
    left: 0;
}

@keyframes moveLeftRight {
    0% { transform: translateX(0); }
    100% { transform: translateX(100%); }
}


.sliding-image {
    animation: slide 2s ease-in-out infinite alternate;
    position: absolute;
    top: 50%;
    right: 10%;
    transform-origin: right center; /* 设置滑动方向为右侧 */
}

@keyframes slide {
    0% { transform: translateX(0) rotate(0deg); }
    50% { transform: translateX(-50%) rotate(-45deg); }
    100% { transform: translateX(0) rotate(0deg); }
}


.cool-img {
    height: auto; /* 保持图片的宽高比 */
    display: block; /* 确保图片以块级元素显示 */
    margin: 0 auto; /* 使图片在容器中水平居中 */
}

.top-image {
    max-width: 6%; 

    top: 0%; 
    left: 38%;
    transform: translateX(-50%);
}
.top-image2 {
    max-width: 6%; 

    top: 87%; 
    left: 14%;
    transform: translateX(-50%);
}
.top-image3 {
    max-width: 6%; 

    top: 50%; 
    left: 88%;
    transform: translateX(-50%);
}
.top-image4 {
    max-width: 13%; 

    top: 91%; 
    left: 72%;
    transform: translateX(-50%);
}

.bottom-image {
    max-width: 11%;

    transform: translateX(-50%);
}





/* 确保视频容器在不同屏幕尺寸下都能正确显示 */
.video-container {
    position: relative;
    width: 50vw;
    min-width: 480px;
    min-height: 250px;
    padding-bottom: 30%; /* 16:9 aspect ratio */
    height: 0;
    z-index: 2; /* Ensure it's above other elements */
    overflow: hidden; /* 隐藏超出容器的内容 */

}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* 缩放内容以填满容器 */

  }
  
.cover-image-container {
    width: 100vw;
    height: auto; /* Full viewport height */
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px; /* Rounded corners */
    text-align: center; /* 使容器内的所有内容居中 */
    margin-top: 56px; /* 添加这一行以向下移动容器 */

}
.cover-image {
    width: 100vw;
    height: auto;
    object-fit: cover; /* Ensures the image covers the entire container */
    display: block;
    border-radius: 15px; /* Rounded corners */
    transition: transform 0.1s ease; /* Smooth transition for the effect */
}
.cover-text {
    position: absolute;
    text-align: center;
    /* color: white;  */
    font-size: 4em; /* Adjust font size as needed */
    font-weight: bold;
    padding: 20px;
    padding-bottom: 10%;
    top: 70%; /* Adjust this value to move it down */
    /* left: 10%; */
    display: inline-block; /* 使文本块可以居中 */

}

.swiper-slide img {
    width: 100vw;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain; /* 不拉伸图片 */

}

.photo-frame {
    border: 5px solid white; /* Thin white border around the image */
    border-radius: 15px; /* Curved border */
    background-color: white; /* White background */
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    overflow: hidden; /* Prevents overflow */
    height: 90%;
    width: auto;
    object-fit: cover; /* Ensures the image fits the container and may crop */
}


  
  .bg-light {
    background-color: rgba(248, 249, 250, 0.893) !important; /* Light gray background with 50% opacity */
  }

  
  .text-dark {
    color: black !important; /* Black text */
  }
  

  /* Card Container */
  .flip-card {
    perspective: 1000px; /* Enables 3D space for the flip */
    height: 200px; /* 可以根据需要调整高度 */

  }
  
  .flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.6s;
    transform-style: preserve-3d;
  }
  
  .flip-card:hover .flip-card-inner {
    transform: rotateY(180deg); /* Flips the card when hovered */
  }
  
  .flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    backface-visibility: hidden; /* Hides the back side when the front is visible */
    color: black !important; /* Black text */
    background-color: rgba(248, 249, 250, 0.893) !important; /* Light gray background with 50% opacity */
    border-radius: 15px; /* Adjust this value for more or less roundness */

  }
  
  

  .flip-card-front {
    z-index: 2; /* Keeps the front face visible until the flip happens */

  }
  
  .flip-card-back {
    transform: rotateY(180deg); /* Initially rotates the back face to hide it */

  }


  .card {
    background-color: #bbc9d7; /* 灰色背景 */
    color: #000; /* 黑色文字 */
    border: none; 
    border-radius: 8px; /* 圆角 */
  }
  
  .card img {
    border-radius: 8px  8px  8px 8px; /* 图片圆角 */
  }
  
  .card-title {
    font-size: 1.25rem;
    font-weight: bold;
  }
  
  .card-text {
    font-size: 1rem;
  }
  



  
.index-padding{
    padding-block: 5rem;
  }
  
  .index-item{
    /* padding-block: 0.25rem; */
    /* padding-inline: 0.2rem; */
    font-style: normal;
    /* font-weight: 600; */
    text-decoration: none;
    color: rgb(255, 255, 255);
    display: flex;
    align-items: flex-start;
    transition: transform 0.3s ease; /* 添加过渡效果 */
   

  }
  
  .index-item img{
    width: 10px;
    margin-right: 6px;
    margin-top: 6px;

  }

  .index-item a{
    text-decoration:none!important;
    color: rgb(255, 255, 255)!important;

    
  }

  .tab.hidden{
    display: none!important;
  }
  

  

  .index-item::before {
    content: '';
    -webkit-border-radius: 0.375rem;
    /* border-radius: 0.375rem; */
    display: inline-block;
    /* width: 10px;
    height: 10px; */
    /* margin-right: 0.5rem; */
    background-size: cover;
    /* background-image: url(https://static.igem.wiki/teams/5461/icon/fen.png); */
    transition: margin-right 0.3s ease; 
    background-position: center; 


}

.index-item.active {
    /* font-weight: bold; */
    transform: translateX(1rem); /* 激活时向右位移 */

}

.index-item.active::before {
    margin-right: 0.5rem; /* 激活时图标向右位移 */
}
  
  .index-item.indented{
    /* font-style: normal; */
    font-weight: 400;
    padding-left: 1rem;
    font-size: 0.85em;

  }
  
  .top-select{
    text-align: center;
    padding-inline: 1rem;
    border-radius: 0.5rem;
    padding-block: 0.3rem;
    box-shadow: 9px 9px 16px rgba(163, 177, 198, 0.3), -9px -9px 16px rgba(255, 255, 255, 0.5);
  }
  
  .top-select.active{
    box-shadow: inset 3px 3px 7px rgba(136, 165, 191, 0.3), inset -3px -3px 7px #FFFFFF;
    border-radius: 0.5rem;
    text-decoration: none;
  }
  
  

  .body-container.narrow{
    margin-inline: 11rem;
    margin-top: 5rem;
    /* max-width: 60rem; */
    margin-bottom: 7rem;
    /* background-color: #fcfbfb; */
  }
  
  .body-container{
    padding-inline: 3rem;
    margin-top: 5rem;
    margin-bottom: 7rem;
    /* background-color: #fefefe; */
    box-shadow: -1px 4px 25px -4px rgba(0,0,0,0.5);
    -webkit-box-shadow: -1px 4px 25px -4px rgba(0,0,0,0.5);
    -moz-box-shadow: -1px 4px 25px -4px rgba(0,0,0,0.5);
  }
  
  
  .text-wrapper{
    text-align: justify;
    word-break: keep-all;
  }
  
  @media (max-width: 768px) {
    .body-container.narrow {
      margin-inline: 1rem; /* 减少内边距 */
      margin-top: 2rem; /* 减少上边距 */
      margin-bottom: 3rem; /* 减少下边距 */
    }
  
    .body-container {
      padding-inline: 1rem; /* 减少内边距 */
      margin-top: 2rem; /* 减少上边距 */
      margin-bottom: 3rem; /* 减少下边距 */
      box-shadow: none; /* 移除阴影效果 */
      -webkit-box-shadow: none;
      -moz-box-shadow: none;
    }
  
    .text-wrapper {
      text-align: left; /* 调整文本对齐方式 */
      word-break: break-word; /* 允许单词换行 */
    }
  }
  
  .index_highlight {
    background-color: rgba(255, 165, 0, 0.1);
    padding: 12px;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    flex-direction: column; 
}

.index_highlight1 {
    background-color:rgb(123, 82, 7,0.5) ;
    padding: 12px;
    border-radius: 15px;
    font-size: 1.05em;
    height: 100%;
}


.index_highlight_a {
    font-weight: bold !important;
    color: rgba(255, 165, 0) !important; 

}

.collapsible-content h3{
    font-weight: bolder;
    margin-top: 5%;
}

.collapsible-content h4{
    font-weight: bolder;
    margin-top: 3%;
}

.col-8 {
    display:flex; justify-content: center; align-items: center;
}

.card-body {
    padding: 1%;
}


.collapsible-content h6{
    font-size: 1.05em !important;
    font-weight: bold !important;
    text-decoration: underline !important;
    margin-top: 20px;
}

/* .collapsible-content tbody, td, tfoot, th, thead, tr {
    border-width: 1px;
    border-style: solid;
    border-color: rgb(123, 82, 7,0.5);
} */




.email-container {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    /* border: 1px solid #ccc; */
    border-radius: 5px;
    background-color: rgb(123, 82, 7,0.5);
}
.email-header {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
}
.email-content {
    margin-bottom: 20px;
}
.email-content p {
    margin: 10px 0;
}
.email-content strong {
    font-weight: bold;
}
.email-content ul {
    list-style-type: disc;
    padding-left: 20px;
}
.email-content li {
    margin: 5px 0;
}
.email-footer {
    font-size: 0.9em;
    color: #666;
}






.slider-container {
    position: relative;
    height: 100%;
    max-width: 50rem;
    margin: auto;
    overflow: hidden;
  }
  
  .slider {
    display: flex;
    transition: transform 0.5s ease-in-out;
    position: relative;
    justify-content: center;
    align-items: center;
    width: 100%; 
  }
  
  .slide {
    min-width: 33.33%; /* 33.33% for 3 slides */
    box-sizing: border-box;
  }
  
  .slide img {
    height: 200px;
    display: block;
    padding: 15px;
  }
  
  .prev-btn, .next-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
  }
  
  .prev-btn {
    left: 0;
  }
  
  .next-btn {
    right: 0;
  }



  .blink-warning {
    animation: blinker 4s linear infinite;
}
@keyframes blinker {
    50% {
        opacity: 0;
    }
}
.text-danger {
    color: #ff0000;
    font-size: 2em;
    font-weight: bold;
    background-color: rgba(255, 255, 153, 0.7);
}
.text-grad-proj1 {
background: linear-gradient(to right, #ff0000, #000000); /* Gradient colors */
background-clip: text; /* Applies gradient to the text */
-webkit-background-clip: text; /* WebKit browsers */
color: transparent; /* Text color set to transparent */
-webkit-text-fill-color: transparent; /* WebKit browsers */
}




/* 修改弹窗的宽度和最大宽度 */
.modal-dialog {
    max-width: 800px;
    width: 100%;
}

/* 修改弹窗标题的样式 */
.modal-title {
    color: #333;
    font-size: 0.8em;
}

/* 修改弹窗内容的样式 */
#modalMessage {
    background-color: #f8d7da;
    color: #cd091c;
    padding: 20px;
    border-radius: 10px;
    font-size: 2em !important;
}

/* 修改弹窗按钮的样式 */
.modal-footer .btn-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
}

.modal-footer .btn-secondary:hover {
    background-color: #5a6268;
    border-color: #545b62;
}


.attributions-page {
background-color: #EAEAEA;
border-radius: 10px; 
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 
}

.cover-content-v img{
    min-width: 100px ;
    width: 10vw;
}

.modal-footer {
    display: flex;
    flex-wrap: wrap;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding: .75rem;
    border-top: 1px solid #ffc107;
    border-bottom-right-radius: calc(.3rem - 1px);
    border-bottom-left-radius: calc(.3rem - 1px);
    /* background-color: #ffc107; */
}

.btn-primary {
    color: #fff;
    background-color: #ffc107;
    /* border-color: rgba(13,110,253,.25); */
}

.modal-content {
    background-image: url("https://static.igem.wiki/teams/5460/tanchuang/bg1-pichi.png");
}

#closeModalButton {
    border: none;
    background: none;
    padding: 0;
    outline: none;
}

#closeModalButton span {
    display: block;
}

#modalMessage {
    background-image: url("https://static.igem.wiki/teams/5460/tanchuang/bg2.png");
    background-size: cover; /* 图片满宽且完整拉伸 */
    background-repeat: no-repeat; /* 不重复 */
    background-position: center; /* 图片居中 */
    color: white;
}


.proposal-p{
 margin: 5%;
}

.proposal-p p{
    text-align: left;
}

.proposal-p h4{
    text-align: center;
}



.interviews h2{
    text-align: center;
    font-weight: bolder; 
}
.interviews h4{
    text-align: center;
}

.interviews img {
    max-height: 40vh;
    max-width: 40vw;
}