
:root{
    /* --gradient-color:linear-gradient(245.59deg, #142474 0%, #0473d3 28.53%, #17e6ca 75.52%); */
	--gradient-color: linear-gradient(360.59deg, #142474 8%, #0473d3 37.53%, #17e6ca 75.52%);
    --body-font: "Poppins", sans-serif;
    --second-font: "Lora", serif;
	--part-color:#227ccbf8;
}






*{
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-family: 'Poppins', sans-serif;
	list-style: none;
	text-decoration: none;

}
/*nav*/
header{
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1000;
	width: 100%;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 33px 9%;
	background: rgba(24, 144, 255, .2);
	backdrop-filter: blur(10px);
}
body.home header {
	background: transparent !important; /* 无色 */
}
header.hidden {
    transform: translateY(-100%);
	transition: transform 0.3s ease-in-out;
}
.logo{
	font-size: 35px;
	font-weight: 700;
	color: white;
    font-family: var(--second-font);
}
.navlist{
	display: flex;
}
.navlist a{
	color: white;
	margin-left: 60px;
	font-size: 19px;
	font-weight: 600;
	border-bottom: 2px solid transparent;
	transition: all .55s ease;
}
.navlist a:hover{
	border-bottom: 2px solid white;
}

/* dropdown */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #0473d3;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
	top: 100%;
    left: 50%; 
    transform: translateX(-50%); 
}

.dropdown-content a {
    color: white;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    margin-left: 0; 
	border-bottom: 2px solid transparent; 
    transition: all .55s ease; 
}

.dropdown-content a:hover {
    border-bottom: 2px solid white;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown:hover .dropbtn {
    border-bottom: 2px solid white;
}


/*sub-dropdown*/
.sub-dropdown {
    position: relative; 
}
.sub-dropdown-content {
    display: none; 
	position: absolute;
    top: 100%; 
    left: 0; 

    background-color: #0473d3; 
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    backdrop-filter: blur(100px);
}

.sub-dropdown:hover .sub-dropdown-content {
    display: block; 
}


.dropdown-content a:hover .sub-dropdown-content {
    display: block; 
}


.sub-dropdown-content a {
    color: white;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    border-bottom: 2px solid transparent;
    transition: all .55s ease;
}

.sub-dropdown-content a:hover {
    border-bottom: 2px solid white; 
}

#menu-icon{
	color: white;
	font-size: 35px;
	z-index: 10001;
	cursor: pointer;
	display: none;
}

.haide{
	height: 100%;
	width: 100%;
	min-height: 100vh;
	position: relative;
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 2rem;
	justify-content: center;
	align-items: start;
}
section{
	padding: 0 4%;
}

.responsive-video{
	position: fixed;
	right: 0;
	bottom: 0;
	min-width: 100%;
	min-height: 100%;
}
/*content*/
.centered-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; 
    background: var(--gradient-color);
}

.centered-container h1 {
    margin: auto; 
    font-family: var(--second-font);
    /* Remove the left: 35% that's causing the offset */
}

/*sidebar*/
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
	display: block;
}
::-webkit-scrollbar-thumb {
	border-radius: 3px;
	background: #1376df;
	box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
}
::-webkit-scrollbar-track {
	border-radius: 3px;
	background: white;
	box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.08);
}
.side{
	position: sticky;
    font-family: var(--second-font);
	/* color: #ffffff; */
	width: 300px;
	top: 100px;
	margin-right: 20px;

	/* left: 5%; */ /* 移除left定位，让网格布局控制位置 */
	background-color: transparent;
	padding: 20px;
	padding-bottom: 20px;
	box-shadow: -1px 5px 35px -9px rgba(0, 0, 0, 0.1);

	/* border-left: 3px solid #ffffff; */
	scrollbar-width: thin;


}
.side-titel{
	color: #383838;
	text-align: center;
	font-size: 20px;
}

.hr {
	height: 2px;
	background: linear-gradient(90deg, transparent, #ddd, transparent);
	margin: 10px 0;
	border: none;
}

.side div ul li,.catalog{
	margin-bottom: 10px;
}
.side div ul li a,.catalog a{
	display: block;
	width: 100%;
	font-size: 12px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	font-weight: 100;
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.dir{
	height: 250px;
	overflow-y: scroll;
	
}
.catalog-active{
	color: #474747;
	border-left: 3px solid #000000;
	font-weight: normal;
}
.catalog-active a{
	color: #000000;
	font-weight: bold;
}
/*homeview*/
iframe {
    width: 100%;
    height: 100%;
}
.video-background{
	position: relative;
    width: 100%;
    height: 100vh;
	z-index: inherit !important;
    overflow: auto;
}

.responsive-video{
	position: fixed;
	right: 0;
	bottom: 0;
    width: 100%;
    height: 100%;
	z-index: -2 !important;
	object-fit: cover;
}
@media(min-aspect-ratio: 16/9){
	.responsive-video{
		height: 300%;
		top: -100%;
	}
}
@media(max-aspect-ratio: 16/9){
	.responsive-video{
		width: 300%;
		left: -100%;
	}
}
.haide-text{
    font-family: var(--body-font);
	grid-column: 2;
}
.haide-text h5{
	font-size: 14px;
	font-weight: 400;
	color: white;
	margin-bottom: 40px;
}
.haide-text h2,h3{
	color:black;
}
.haide-text h2{
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 10px;
	text-align: center;
}
.haide-text h1{
	position: absolute;
	top: 40%;
	z-index: 2;
	font-family: var(--second-font);
	font-size: 70px;
	line-height: 1;
	color: white;
	margin: 0 0 45px;
}
.haide-text h4{
	font-size: 25px;
	font-weight: 600;
	color: #000000;
	margin-bottom: 10px;
	text-align: center;
}
.haide-text p{
	color: #000000;
	font-size: 20px;
	line-height: 1.9;
	margin-bottom: 40px;
	 /* margin-bottom: 20px; */
	text-align: justify;
}
.left-align {
	color: #000000;
	font-size: 15px;
	line-height: 1.9;
	margin-bottom: 40px;
	text-align: justify; 
	margin-left: 2em; 
}
.haide-text .img{
	text-align: center;  
	justify-content: center;
    max-width: 100%;     
	display: flex;
    border: none;        
}
.haide-text .img img{
	max-width: 100%;     
	border: none;        
	height: auto;
}
.haide-text p.footnote {
	font-style: italic;
    font-size: 20px;    
    margin: 0;           
    padding: 0;          
}
.haide-text table p.footnote {
    text-align: center;  
}
.haide-text .img td {
    padding: 0;  
    border: none;  
	font-size: 0; 
}

.uniform-img {
    width: 50%; 
    height: auto; 
    display: block; 
    margin: 0; 
}
.haide table {
    background: none;
}
.haide table.img {
    margin-left: auto;
    margin-right: auto;
}
.haide-img img{
	width: 700px;
	height: auto;
}
.haide-text a{
	display: inline-block;
	color: black;
	background: #17e6ca;
	border: 1px solid transparent;
	padding: 12px 30px;
	line-height: 1.4;
	font-size: 14px;
	font-weight: 500;
	border-radius: 30px;
	text-transform: uppercase;
	transition: all .55s ease;
}
.haide-text a:hover{
	background: transparent;
	border: 1px solid white;
	transform: translateX(8px);
}
.haide-text a.ctaa{
	background: transparent;
	border: 1px solid white;
	margin-left: 20px;
}
.haide-text a.ctaa i{
	vertical-align: middle;
	margin-right: 5px;
}

.icons{
	position: absolute;
	top: 50%;
	padding: 0 9%;
	transform: translateY(-50%);
}
.icons i{
	display: block;
	margin: 26px 0;
	font-size: 24px;
	color: white;
	transition: all .50s ease;
}
.icons i:hover{
	color: #4d9559;
	transform: translateY(-5px);
}
.scroll-down{
	position: absolute;
	bottom: 6%;
	right: 9%;
}
.scroll-down i{
	display: block;
	padding: 12px;
	font-size: 25px;
	color: white;
	background: #0473d3;
	border-radius: 30px;
	transition: all .50s ease;
}
.scroll-down i:hover{
	transform: translateY(-5px);
}
/*响应式*/
@media (max-width: 1535px){
	header{
		padding: 15px 3%;
		transition: .2s;
	}
	.icons{
		padding: 0 3%;
		transition: .2s;
	}
	.scroll-down{
		right: 3%;
		transition: .2s;
	}
	.home-title3{
		display: none;
	}
    
}
@media (max-width: 1460px){
	section{
		padding: 0 12%;
		transition: .2s;
	}
}
@media (max-width: 1340px){
	.hero-img img{
		width: 100%;
		height: auto;
	}
	.centered-container h1{
		margin: 0 0 30px;
		font-size: 75px;
	}
	.haide-text h1{
		font-size: 75px;
		margin: 0 0 30px;
	}
	.haide-text h5{
		margin-bottom: 25px;
	}
}
@media (max-width: 1195px){
	section{
		padding: 0 3%;
		transition: .2s;
	}
	.haide-text{
		padding-top: 115px;
	}
	.haide-img{
		text-align: center;
	}
	.haide-img img{
		width: 560px;
		height: auto;
	}
	.haide{
		height: 100%;
		gap: 1rem;
		grid-template-columns: 1fr;
	}
	.icons{
		display: none;
	}
	.scroll-down{
		display: none;
	}
	.side {
		display: none;
	}
	.home-circle{
		margin: auto;
	}

}

@media (max-width: 990px){
	#menu-icon{
		display: block;
	}
	.navlist{
		position: absolute;
		top: 100%;
		right: -300px;
		width: 300px;
		height: 40vh;
		background: #0473d3;
		display: flex;
		align-items: center;
		flex-direction: column;
		padding: 50px 20px;
		transition: all .55s ease;
	}
	.navlist a{
		margin-left: 0;
		display: block;
		margin: 7px 0;
	}
	.navlist.open{
		right: 0;
	}
    .dropdown-content {
        background-color: #0473d3;
    }
	.side {
		display: none;
	}
	/* 确保新侧边栏在移动端也能正常显示 */
	.reusable-side {
		display: block;
	}
	.home-circle{
		display: none;
	}
	.home-title1{
		margin: auto;
	}

	body.home #footer{
		display: none;
	}

}


@media (max-width: 680px){
	.hero-img img{
		width: 100%;
		height: auto;
	}
}

/* footer */
/*=============== footer ===============*/
#footer {
	
    text-align: center;
    background: transparent;
    position: relative;
    width: 100%;
}
#footer a {
    color: #f5f5f5;
    text-decoration: none; 
}

#footer a:hover {
    color: #428aca; 
    text-decoration: underline; 
}
#footer .footer-content p {
    margin: 0;
}

#footer .footer-links {
    list-style: none;
    padding: 0;
}

#footer .footer-links li {
    display: inline;
    margin: 0 10px;
}

#footer .footer-links li a {
    color: #ffffff;
    text-decoration: none;
}

#footer .footer-links li a:hover {
    color: #428aca;
}

.content{
    display: flex;
    justify-content: left;
    align-items: center;
    height: 100vh;
    background: #f5f5f5;
}
.footer-content{
  display: block;
  background: #0473d3;
}
#footer .container{
	background: #0473d3;
	justify-content: center;
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 20px 0;
}
.waves {
    position: relative;
	background: var(--part-color);
    width: 100%;
    height: 15vh;
    margin-bottom: -7px; /*Fix for safari gap*/
    min-height: 100px;
    max-height: 150px;
}
body.home .waves {
	background: transparent !important; /* 无色 */
}
/* Animation */
.parallax > use {
    animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
.parallax > use:nth-child(1) {
    animation-delay: -2s;
    animation-duration: 7s;
}
.parallax > use:nth-child(2) {
    animation-delay: -3s;
    animation-duration: 10s;
}
.parallax > use:nth-child(3) {
    animation-delay: -4s;
    animation-duration: 13s;
}
.parallax > use:nth-child(4) {
    animation-delay: -5s;
    animation-duration: 20s;
}
@keyframes move-forever {
    0% {
        transform: translate3d(-90px, 0, 0);
    }
    100% {
        transform: translate3d(85px, 0, 0);
    }
}
.box {

	width: 100%;
	max-width: 1000px;
	overflow: hidden;
	position: relative;
	height: 100px;
	
}
.list{
	display:flex;
	position: absolute;
	left: 0;
}
.box-home{
    width: 100%;
    max-width: 1000px;
    overflow: hidden;
    position: relative;
    height: 350px;
    margin: auto;    
}
.list-home{
	display:flex;
	position: absolute;
	left: 0;
}
.list div{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 100px;
	
	margin-left: 2px;
	margin-right: 30px; 
	font-size: 60px;
	
}
.list div img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
}

.school-logo img {

    width: 125px; 
    height: 100%; 
    margin: 5px; 
	object-fit: contain;

}
.more-logo img {

    width: 125px; 
    height: 100%; 
    margin: 10px; 
	object-fit: contain;

}


/*t-box*/
.t-container {
	/* margin: 200px auto;  */
	margin: 200px auto 76px;
	position: relative; 
	width: 500px;
	height: 500px; 
}
.image {
	width: 100%;
	height: auto; 
	display: block;
}
.t-box{
	position: absolute;
	width: 360px; 
	height: 275px;
	background: rgba(24,144,255,.2); 
	border: 1px solid rgba(255, 255, 255, 0.2); 
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); 
	backdrop-filter: blur(10px); 
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	transition: transform 0.3s ease, opacity 0.3s ease; 
	border-radius: 10px;
	opacity: 1; 
}
.t-box:hover {
	transform: scale(1.05); 
	opacity: 0.9; 
}
.t-box::before {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 40px;
	background-color: rgba(255, 255, 255, .05);
	display: flex;
	justify-content: center;
	align-items: center;

	opacity: 0; 
	transition: opacity 0.3s ease;
}
.t-box:hover::before {
	opacity: 1; 
}
.t-box p {
    font-size: 14px;
    position: absolute;
    top: -215px;
    color: black;
    padding: 0 10px;
    opacity: 0;
    transition: opacity 0.3s ease;
    text-align: justify;
}

.t-container .t-box:hover p {
	opacity: 1; 
}
.original-text {
	position: absolute;
	color: black;
	transition: opacity 0.3s ease; 
	opacity: 1; 
}
.hover-text {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 40px;
    background-color: rgba(255, 255, 255, .05);
    display: flex;
    justify-content: center;
    align-items: center;
    color: black;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.t-box:hover .original-text {
	opacity: 0; 
}
.t-box:hover .hover-text {
	opacity: 1; 
}
/* position four box */
.box1 { top: -200px; left: -200px; } /* 上方左侧 */
.box2 { top: -200px; right: -200px; } /* 上方右侧 */
.box3 { bottom: 20px; left: -200px; } /* 下方左侧 */
.box4 { bottom: 20px; right: -200px; } /* 下方右侧 */


.t-container .box1 { opacity: 1; } 
.t-container .box2 { opacity: 1; } 
.t-container .box3 { opacity: 1; } 
.t-container .box4 { opacity: 1; } 

.box5 { top: -180px; left: -200px; } /* 上方左侧 */
.box6 { top: -180px; right: -200px; } /* 上方右侧 */
.box7 { bottom: -10px; left: -200px; } /* 下方左侧 */
.box8 { bottom: -10px; right: -200px; } /* 下方右侧 */


.t-container .box5 { opacity: 1; } 
.t-container .box6 { opacity: 1; } 
.t-container .box7 { opacity: 1; } 
.t-container .box8 { opacity: 1; } 

/*sider*/



.l-box {
	height: 500px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.slider {
	width: 41em;
	height: 25em;
	background: rgba(24,144,255,.2);
	padding: .5em;
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
	position: absolute;
	backdrop-filter: blur(10px);
}

.slider:before {
	position: absolute;
	bottom: -2.5em;
	top: -2.5em;
	left: -2.5em;
	right: -2.5em;
	content: "";
	z-index: -1;
}

.slider:after {

	position: absolute;
	bottom: -1.5em;
	top: -1.5em;
	right: -1.5em;
	left: -1.5em;
	content: "";
	z-index: -1;
}

.slider li {
	list-style: none;
	position: absolute;
}

.slider input {
	display: none;
}

.slider label {
	width: .5em;
	height: .5em;
	background: black;
	border: .1em solid white;
	border-radius: 100%;
	position: absolute;
	bottom: .5em;
	left: 24em;
	transition: .25s;
	visibility: hidden;
	z-index: 10;
	cursor: pointer;
	opacity: 0;
	display: block;
}

.slider:hover label {
	opacity: 1;
	visibility: visible;
}

.slider input:checked + label {
	background-color: white;
	border: .1em solid black;
	box-shadow: .1em .1em .1em white;
}

.slider:hover li:nth-child(1) label {
	left: .5em;
}

.slider:hover li:nth-child(2) label {
	left: 2em;
}

.slider:hover li:nth-child(3) label {
	left: 3.5em;
}

.slider:hover li:nth-child(4) label {
	left: 5em;
}

.slider:hover li:nth-child(5) label {
	left: 6.5em;
}

.slider:hover li:nth-child(6) label {
	left: 8em;
}

.slider:hover li:nth-child(7) label {
	left: 9.5em;
}

.slider:hover li:nth-child(8) label {
	left: 11em;
}

.slider:hover li:nth-child(9) label {
	left: 12.5em;
}

.slider:hover li:nth-child(10) label {
	left: 14em;
}
.slider:hover li:nth-child(11) label {
	left: 15.5em;
}
.slider:hover li:nth-child(12) label {
	left: 17em;
}
.slider:hover li:nth-child(13) label {
	left: 18.5em;
}
.slider:hover li:nth-child(14) label {
	left: 20em;
}
.slider:hover li:nth-child(15) label {
	left: 21.5em;
}
.slider:hover li:nth-child(16) label {
	left: 23em;
}
.slider:hover li:nth-child(17) label {
	left: 24.99em;
}
.slider:hover li:nth-child(18) label {
	left: 26em;
}
.slider:hover li:nth-child(19) label {
	left: 27.5em;
}
.slider:hover li:nth-child(20) label {
	left: 29em;
}

.slider:hover li:nth-child(21) label {
	left: 30.5em;
}
.slider:hover li:nth-child(22) label {
	left: 32em;
}
.slider:hover li:nth-child(23) label {
	left: 33.5em;
}


.slider img {
	width: 41em;
	height: 25em;
	opacity: 0;
	transition: .25s;
	vertical-align: top;
	visibility: hidden;
}

.slider li input:checked ~ img {
	opacity: 1;
	visibility: visible;
	z-index: 10;
}

.circle {
	padding: 3em;
    box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.2); 
    border-radius: 40px; 
	background: #00c8ff00;
	width: 90%;
}
.circle-mb{
	padding: 3em;
	box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.2); 
	width: 80%;
	margin: 0 auto;
	border-radius: 40px;	 
	background: rgba(255, 255, 255, 0.24);
/*new pairs*/
.shell{
	width: 100%;
	height: 658px;
	position: relative;
	overflow-x: hidden;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.1); 

box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); 
backdrop-filter: blur(10px); 
}
.q-images{
	width: 500%;
	height: 100%;
	display: flex;
	position: absolute;
	left: 0;
	transition: .2s;
}
.q-img{
	width: 100%;
	background-size: cover;
}
.q-img:nth-child(1){
	background-image: url("https://static.igem.wiki/teams/5314/paris/1-compressed.webp");
}
.q-img:nth-child(2){
	background-image: url("https://static.igem.wiki/teams/5314/paris/2.webp");
}
.q-img:nth-child(3){
	background-image: url("https://static.igem.wiki/teams/5314/paris/3.webp");
}
.q-img:nth-child(4){
	background-image: url("https://static.igem.wiki/teams/5314/paris/4.webp"); 
}
.q-img:nth-child(5){
	background-image: url("https://static.igem.wiki/teams/5314/paris/5.webp");
}
.min-images{
	display: flex;
	justify-content: space-evenly;
	position: absolute;
	bottom: 20px;
	width: 40%;
	z-index: 999;
	right: 10%;
}


.button{
	width: 100%;
	height: 100%;
	position: absolute;
	display: flex;
	justify-content: space-between;
	user-select: none;
}
.button-left,
.button-right{
	font-size: 50px;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);

	
	
	padding: 0 20px;
	line-height: 650px;
	cursor: pointer;
}
