Skip to content
Snippets Groups Projects
App.css 35.50 KiB
@font-face {
  font-family: 'pangolin';
  src: url('https://static.igem.wiki/teams/5378/font/pangolin-regular.woff2') format('woff2'),
       url('https://static.igem.wiki/teams/5378/font/pangolin-regular.woff') format('woff'); 
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'LexieReadable';
  src: url('https://static.igem.wiki/teams/5378/font/lexiereadable-regular.woff') format('woff2'),
       url('https://static.igem.wiki/teams/5378/font/lexiereadable-bold.woff') format('woff'); 
  font-weight: normal;
  font-style: normal;
}


body {
  padding-top: 56px;
  overflow-x: hidden;
  /* overflow-y: hidden; */
  cursor: url("https://static.igem.wiki/teams/5378/image/dg-cursor2.png") 2 2, auto;
  font-family: 'LexieReadable', cursive !important;
  text-rendering: optimizeLegibility; 
  -webkit-font-smoothing: antialiased; 
  -moz-osx-font-smoothing: grayscale; 
  font-size: 2.1vh !important;
  /* cursor: help; */
}

body a, 
body button, 
body input[type="button"], 
body input[type="submit"], 
body [role="button"], 
body [onclick] {
  cursor: url('https://static.igem.wiki/teams/5378/image/dg-pointer2.png') 18 18, pointer;
}

h1 {
  font-size: 2.5em !important;
  font-weight: bold;
  line-height: 1.5;
}

h2 {
  font-size: 2em !important;
  font-weight: bold;
  line-height: 1.5;
}

h3 {
  font-size: 1.7em !important;
  font-weight: bold;
  line-height: 1.5;
}

h4 {
  font-size: 1.5em !important;
  font-weight: bold;
  line-height: 1.5;
}



.pangolin {
  font-family: 'pangolin', cursive !important;
  text-rendering: optimizeLegibility; 
  -webkit-font-smoothing: antialiased; 
  -moz-osx-font-smoothing: grayscale; 
}

.LexieReadable {
  font-family: 'LexieReadable', cursive !important;
  text-rendering: optimizeLegibility; 
  -webkit-font-smoothing: antialiased; 
  -moz-osx-font-smoothing: grayscale; 
}

.left-aligned {
  margin-left: auto;
}

.bg-gray {
  background-color: #A9A9A9;
}

.bg-dark {
  background-color: #343a40 !important;
}

.bg-hero {
  background-color: #45b06cff;
}

.bg-rice_yellow {
  background-color: rgb(245, 245, 220);
}

.bg-wine-red {
  background-color: #722F37;
}

/* CALLOUT */
.bd-callout {
  padding: 1.25rem;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  border: 1px solid #afc1d3;
  border-left-width: 0.5rem;
  border-radius: 0.25rem;
}

.bd-callout h4 {
  margin-bottom: 0.25rem;
}

.bd-callout p:last-child {
  margin-bottom: 0;
}

.bd-callout code {
  border-radius: 0.25rem;
}

.bd-callout + .bd-callout {
  margin-top: -0.25rem;
}

.bd-callout-info {
  border-left-color: #5bc0de;
}

.bd-callout-warning {
  border-left-color: #f0ad4e;
}

.bd-callout-danger {
  border-left-color: #d9534f;
}

/* footer */
footer a {
  color: white;
  font-weight: bold;
  text-decoration: none;
}

footer a:hover {
  color: white;
  text-decoration: underline;
}

/* navbar */
.custom-dropdown-menu {
  /* navbar folder的设置 */
  /* background-color: #1b1a1a;  //自定义背景色 */
  color: #030303;  /* 自定义文字颜色 */
  /* margin-left: 4vw;
  margin-right: 0vw; */
  cursor: url('https://static.igem.wiki/teams/5378/image/dg-pointer2.png') 18 18, pointer;
}

.custom-dropdown-menu.dropdown-item {
  /* navbar folder 展开时字体颜色与背景 */
  /* background-color: #4d4949; */
  color: #000000;  /* 自定义每个菜单项的文字颜色 */
  border-radius: 50px;
  cursor: url('https://static.igem.wiki/teams/5378/image/dg-pointer2.png') 18 18, pointer;
}

.custom-dropdown-menu.dropdown-item:hover {
  background-color: #e4dfb4;  /* 鼠标悬停时的背景色 */
  color: #39d197;  /* 鼠标悬停时的文字颜色 */
}

/* .custom-nav-item {
  margin-left: 200px;
  margin-right: 200px;
} */

/* header */
.custom-header-home {
  width: 100vw;
  height: 100vh;
  background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}

.custom-header-team {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}

.custom-header-attributions {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}

.custom-header-contribution {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}

.custom-header-description {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}

.custom-header-education {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://static.igem.wiki/teams/5378/education.webp'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-engineering {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-experiments {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}

.custom-header-human-practices {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-inclusivity {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://static.igem.wiki/teams/5378/award-inclusivity/8.webp'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}

.custom-header-model {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.7), rgba(245, 245, 220,0.7)),url('https://static.igem.wiki/teams/5378/model/model-page.webp'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-notebook {
  width: 100vw;
  height: 100vh;
  background-image: url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}

.custom-header-results {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-safety {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://static.igem.wiki/teams/5378/safety/0111111111.webp'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-collaboration {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-parts {
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(245, 245, 220,0.2), rgba(245, 245, 220,0.2)),url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}


.header-bar {
  position:absolute;
  width: 100vw;
  height: 100vh;
  margin-bottom: 0px;
  z-index: 1;
}

.promotion-video {
  width: 100%;
  height: 50vh; /* 设置高度为视口高度的80% */
  border: none; 
  border-radius: 30px; /* 圆角效果 */
}

.responsive-img {
  width: 100%; /* 图片宽度自适应容器 */
  height: auto; /* 保持图片纵横比 */
  display: block; /* 去掉图片下方的空隙 */
  margin: 2px;
}

.full-height-element {
  height: 100vh; /* 设置元素的高度为视口高度的 100% */
}

/* 以下几个是team member响应式卡片 */
.card-container {
  max-width: 300px;
  margin: auto;
  height: auto;
  margin-bottom: 150px;
}

.card {
  transition: transform 0.2s;
  width: 100%;
  border: 15px solid rgba(114, 47, 55, 1) !important;
  background-color: rgba(114, 47, 55, 1) !important;
  border-radius: 10px !important;
  /* height: 400px; */
}

.card-body {
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-title {
  display: flex;
  align-items: center;
  font-size: large;
  border-radius: 20px;
  background-color: #e4dfb4b0;
  padding: 15px;
}

.card-img-top {
  width: 100%;
  height: auto;
}

.card-container:hover .card {
  transform: scale(1.05);
}

.sticky-container {
  position: sticky;
  display: flex;
  flex-direction: column;
  top: 70px; /* 设置元素在滚动时保持与页面顶部的距离 */
  margin: 10px;
  margin-bottom: 150px;
  padding: 30px;
  border: 5px solid rgba(114, 47, 55, 1); 
  border-radius: 10px; 
  background-color: #f77001a6;
  height: auto;
  padding-bottom: 0px;
  align-items: center;
  justify-content: center;
}
.sticky-font {
  font-size: 1.3vh !important;
}
.sticky-title {
  font-size: 3vh !important;
}

.sticky-words {
  font-size: large;
  /* display: flex;
  align-items: center;
  justify-items: center; */
}
.sticky-img {
  width: auto; 
  /* height: 50vh;  */
  max-height: 50vh;
  margin: 2px;
  max-width: 100%;
  /* max-height: 60vh; */
}
.sticky-description {
  background-color: #e4dfb4b0;
  border-radius: 20px;
  padding: 5px;
  margin-top: 5px;
}

.row-custom-height-card {
  height: 300px; /* 你可以根据需要调整高度 */
}

.row-custom-height-card-space {
  height: 100px; /* 你可以根据需要调整高度 */
}

/* wet-lab,dry-lab用的内容框框 */
.rounded-border {
  margin: 50px;
  padding: 50px;
  border: 2px solid #e4dfb4b0; 
  /* 设置边框的宽度和颜色 */
  border-radius: 10px; /* 设置圆角半径 */
  margin-bottom: 100px;
  margin-left: 20px;
  /* max-width: 0.9vw; */
  background-color: #e4dfb4b0;
  /* box-shadow: 15px 15px 5px rgba(0,0,0,0.1); */
  /* display: flex;
  flex-direction: column;  */
}

.rounded-border:hover {
  margin: 50px;
  margin-left: 20px;
  padding: 50px;
  border: 2px solid #e4dfb4b0; 
  /* 设置边框的宽度和颜色 */
  border-radius: 10px; /* 设置圆角半径 */
  margin-bottom: 100px;
  /* max-width: 0.9vw; */
  background-color: #e4dfb4;
  box-shadow: 10px 10px 5px rgba(0,0,0,0.1);
  transform: scale(1.01);

}

.rounded-border.rounded-border{
  margin: 50px;
  padding: 50px;
  border: 2px solid #e4dfb4b0; 
  /* 设置边框的宽度和颜色 */
  border-radius: 10px; /* 设置圆角半径 */
  margin-bottom: 100px;
  /* max-width: 0.9vw; */
  background-color: #e4dfb4b0;
}

.rounded-border.rounded-border:hover{
  margin: 50px;
  padding: 50px;
  border: 2px solid #e4dfb4b0; 
  /* 设置边框的宽度和颜色 */
  border-radius: 10px; /* 设置圆角半径 */
  margin-bottom: 100px;
  /* max-width: 0.9vw; */
  background-color: #e4dfb4;
  box-shadow: 10px 10px 5px rgba(0,0,0,0.1);
  transform: scale(1.01);
}

/* 页面title的水平与垂直居中 */
.centered-title {
  height: 100%; /* Full height of the container */
  display: flex;
  align-items: center; /* Vertical center */
  justify-content: center; /* Horizontal center */
}

/* 文本居中 */
.center-text {
  text-align: center; /* 将文本水平居中 */
}

.model-font .center-text {
  padding-right: 20%;
}

/* 文本开头有缩进,起到空格作用 */
.indent {
  text-indent: 20px; /* 设置首行缩进 20px */
}
.model-nav .side-navbar .nav-link.active{
  width: 200px;
}

.side-navbar {
  width: 250px;
  position: sticky;
  top: 200px;
  left: 0;
  height: auto;
  background-color: rgba(245, 245, 220,0);
  padding: 20px;
  /* box-shadow: 2px 0 5px rgba(0,0,0,0.1); */
  /* margin-top: 500px; */
  margin-left: 20px;
  padding: 20px;
  margin-top: 100px;
  /* padding-top: 140px; */
}

.side-navbar .nav-link {
  margin-bottom: 10px;
  font-weight: bold;
  cursor: pointer;
}

.side-navbar .nav-link.active {
  background-color: rgb(172, 172, 108);
  cursor: url('https://static.igem.wiki/teams/5378/image/dg-pointer2.png') 18 18, pointer;
  transform: scale(1.2);
  border-radius: 30px;
}

.side-navbar .nav-link.notActive {
  background-color: rgba(245, 245, 220,0);
  cursor: url('https://static.igem.wiki/teams/5378/image/dg-pointer2.png') 18 18, pointer;
}

.side-navbar .nav-link.notActive:hover {
  background-color: rgb(204, 204, 168);
}

.bold-font{
  font-weight: bold;
}

.red-font{
  color: #d9534f;
}

.blue-font{
  color: #5bc0de;
}

.green-font{
  color: #39d197;
}


/* footer的切换动画 */
.slideshow-container {
  position: relative;
  max-width: 100%;
  width: 400px;
  height: 200px; 
  /* overflow: hidden; */
  justify-content: center; /* Center horizontally */
  align-items: center; /* Center vertically */
}

.slide-small {
  position: absolute;
  /* width: 100%; */
  /* height: 100%; */
  left: 25%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  justify-content: center; /* Center horizontally */
  align-items: center; /* Center vertically */
}

.slide-big {
  position: absolute;
  /* width: 100%; */
  /* height: 100%; */
  left: 5%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  justify-content: center; /* Center horizontally */
  align-items: center; /* Center vertically */
}

.fade-img {
  /* width: auto; */
  height: 200px;
  object-fit: cover;
  z-index: 2 !important;
}

.line-top {
  border-top:2px solid #504e4e38;
}

.fade1 {
  animation: fade1 9s infinite;
}

@keyframes fade1 {
  0% { opacity: 0; }
  5% { opacity: 1; }
  30% { opacity: 1; }
  35% { opacity: 0; }
  100% { opacity: 0; }
}

.fade2 {
  animation: fade2 9s infinite;
}

@keyframes fade2 {
  0% { opacity: 0; }
  30% { opacity: 0; }
  35% { opacity: 1; }
  65% { opacity: 1; }
  70% { opacity: 0; }
  100% { opacity: 0; }
}

.fade3 {
  animation: fade3 9s infinite;
}

@keyframes fade3 {
  0% { opacity: 0; }
  65% { opacity: 0; }
  70% { opacity: 1; }
  95% { opacity: 1; }
  100% { opacity: 0; }
}

.wave-container {
  position: relative;
  width: 100%;
  height: 50px; /* Full viewport height */
  overflow: hidden;
}

.wave1 {
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 200%; /* Ensure the wave extends beyond the viewport */
  height: 100px; /* Height of the wave */
  background: linear-gradient(90deg, rgba(114, 47, 55, 1) 0%, rgba(114, 47, 55, 0.4) 100%);
  border-radius: 100%;
  transform: rotate(180deg);
  animation: wave1Animation 10s linear infinite;
}

@keyframes wave1Animation {
  0% {
    transform: translateX(-100%) rotate(180deg);
  }
  100% {
    transform: translateX(100%) rotate(180deg);
  }
}
.wave2 {
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 200%; /* Ensure the wave extends beyond the viewport */
  height: 100px; /* Height of the wave */
  background: linear-gradient(90deg, rgba(114, 47, 55, 1) 0%, rgba(114, 47, 55, 0.4) 100%);
  border-radius: 100%;
  transform: rotate(180deg);
  animation: wave2Animation 30s linear infinite;
}

@keyframes wave2Animation {
  0% {
    transform: translateX(-100%) rotate(180deg);
  }
  100% {
    transform: translateX(100%) rotate(180deg);
  }
}

.wave3 {
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 200%; /* Ensure the wave extends beyond the viewport */
  height: 100px; /* Height of the wave */
  background: linear-gradient(90deg, rgba(114, 47, 55, 0.8) 0%, rgba(114, 47, 55, 0.4) 100%);
  border-radius: 100%;
  transform: rotate(180deg);
  animation: wave3Animation 15s linear infinite;
}

@keyframes wave3Animation {
  0% {
    transform: translateX(50%) rotate(180deg);
  }
  100% {
    transform: translateX(-150%) rotate(180deg);
  }
}

.wave4 {
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 200%; /* Ensure the wave extends beyond the viewport */
  height: 100px; /* Height of the wave */
  background: linear-gradient(90deg, rgba(114, 47, 55, 0.5) 0%, rgba(114, 47, 55, 0.5) 100%);
  border-radius: 100%;
  transform: rotate(180deg);
  animation: wave4Animation 50s linear infinite;
}

@keyframes wave4Animation {
  0% {
    transform: translateX(0%) rotate(180deg);
  }
  100% {
    transform: translateX(-100%) rotate(180deg);
  }
}


.center-block {
  height: 40%;
}


.fullpage-container {
  scroll-snap-type: y mandatory;
  height: 100vh;
  width: 100vw;
  overflow-y: scroll;
  overflow-x: hidden;
  /* overflow-y: hidden; */
}

.section {
  padding-top: 100px;
  height: 100vh;
  /* display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3rem; */
  scroll-snap-align: start; /* 滚动到页面开始 */
  transition: transform 0.5s ease-in-out; /* 添加滚动动画 */
}

.vh20 {
  height: 20vh;
}

.mt--8 {
  margin-top: -8vh;
}

.height100 {
  height: 100%;
}

.navbar-img {
  height: 80px;
  width:auto;
}

.header-img {
  height: auto;
  min-width: 40%;
  max-width: 60%;
  position: relative;
  z-index: 2;
}

.center-div {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

/* formula style*/


div.formula_content {
  position: relative;
  margin: 0 auto; /* 容器水平居中 */
  overflow-x: auto; /* 如果公式太长,允许水平滚动 */
  white-space: nowrap; /* 防止公式换行 */
  text-align: center;
  font-size: 0.9em;
  display: flex; /* 使用Flexbox布局 */
  align-items: center; /* 垂直居中所有子元素 */
}

div.formula_content .formula_line {
  flex: 0 0 80%; /* 分配80%宽度,不允许伸缩 */
  text-align: left; /* 公式左对齐 */
  max-width: 80%; /* 最大宽度为80% */
  overflow-x: auto; /* 超出部分显示滚动条 */
  white-space: nowrap; /* 防止公式换行 */
}

div.formula_content .formula_number {
  flex: 0 0 20%; /* 分配20%宽度,不允许伸缩 */
  text-align: left; /* 数字右对齐 */
}


span.formula_line::-webkit-scrollbar {
  width: 3px; 
  height: 3px; 
}

span.formula_line::-webkit-scrollbar-thumb {
  background-color: #f5deb3; /* 滚动条滑块的淡黄色 */
  border-radius: 10px; /* 使滚动条更圆滑 */
}

span.formula_line::-webkit-scrollbar-track {
  background: transparent; /* 滚动条背景透明 */
}

.margin-0 {
  margin: 0px !important;
}

.model-font p {
  padding-right: 20% !important;
}



.footer-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.footer-container-text {
  display: flex;
  align-items: center;
  justify-content: center;
}

.margin-20 {
  margin: 20px;
}

.caption {
  display: flex;
  font-size: 14px; 
  color: #555; 
  margin-top: 8px; 
  font-style: italic; 
  align-items: center;
  justify-content: center;
}

.image-wide {
  width: 70%;
  height: auto;
}

.image-height {
  width: auto;
  height: 60vh;
}

.image-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.small-font {
  font-size: small;
}


.table-head-line {
  border-bottom:2px solid #000000;
  border-top: 2px solid #000000;
  background-color: #e08a3ae5;
  width: 50vw;
}

.table-bottom-line {
  border-bottom:2px solid #000000;
}

.table-element-yellow {
  background-color: #faf2af;
}
.table-element-yellow:hover {
  background-color: #faf2af;
  transform: scale(1.02);
}
.table-element-orange {
  background-color: rgb(233, 188, 146);
}
.table-element-orange:hover {
  background-color: rgb(233, 188, 146);
  transform: scale(1.02);
}
.three-line-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}
.th,td {
  overflow: hidden; 
    text-overflow: ellipsis;
    white-space: nowrap; 
}

.accordion {
  width: 99%;
  margin: 20px auto;
  /* border: 1px solid #ccc; */
  border-radius: 8px;
  overflow: hidden;
}

.accordion-header {
  background-color: #e4dfb4;
  padding: 15px;
  width: 100%;
  cursor: pointer;
  user-select: none; 
  transition: background-color 0.3s ease;
}

.accordion-header:hover {
  background-color: #e0e0e0;
  cursor: url('https://static.igem.wiki/teams/5378/image/dg-pointer2.png') 18 18, pointer;
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  background-color: rgb(245, 245, 220);
  padding: 0 15px;
}

.accordion-content.open {
  max-height: 100vh; 
  padding: 15px;
  margin-left: 5px;
  border-left:3px solid #5bc0de ;
  background-color: rgb(245, 245, 220);
}

.accordion-content p {
  margin: 0;
  font-size: 2.1vh;
  color: #333;
}


.accordion-content-model {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  background-color: rgb(245, 245, 220);
  padding: 0 15px;
}

.accordion-content-model.open {
  max-height: 300vh; 
  padding: 15px;
  margin-left: 5px;
  border-left:3px solid #5bc0de ;
  background-color: rgb(245, 245, 220);
}

.accordion-content-model p {
  margin: 0;
  font-size: 2.1vh;
  color: #333;
}

.accordion-content-model img{
  max-width: 600px;
  margin: auto;
}

.home-container {
  position:relative;
  width: 100vw;
  height: auto;
}

.home-img {
  height: 100%;
  width: auto;
}
.home-img-wide {
  height: auto;
  width: 100%;
}

.page-container-1 {
  position:relative;
  min-height: 70vw;
}

.page-container-2 {
  position:relative;
  min-height: 60vw;
}

.page-container-3 {
  position:relative;
  min-height: 80vw;
}

.page-container-4 {
  position:relative;
  min-height: 30vw;
}

.page-container-5 {
  position:relative;
  min-height: 120vw;
}

.page-container-6 {
  position:relative;
  min-height: 100vw;
}

.page-container-7 {
  position:relative;
  min-height: 70vw;
}

.page-container-8 {
  position:relative;
  min-height: 170vw;
}

.page-container-9 {
  position:relative;
  min-height: 90vw;
}

.page-element-0 {
  position: absolute;
  left: 10vw;
  top: 10vw;
  height: auto;
  width: 20vw;
 }
 .element-0-animation {
  animation: element-0 8s linear ;
  opacity: 1;
}
@keyframes element-0 {
  0% { opacity: 0; }
  60% { opacity: 0; }
  70% { opacity: 1; }
  100% { opacity: 1; }
}

.page-element-1 {
 position: absolute;
 right: 0;
 top: 12px;
 height: auto;
 width: 60vw;
}
.element-1-animation {
  animation: element-1 5s linear ;
  opacity: 1;
}
@keyframes element-1 {
  0% { opacity: 0; }
  40% { opacity: 0; }
  70% { opacity: 1; }
  100% { opacity: 1; }
}

.page-element-2 {
  position: absolute;
  right: 20vw;
  top: 40vw;
  height: auto;
  width: 20vw;
 }
 .element-2-animation {
  animation: element-2 8s linear ;
  opacity: 1;
}
@keyframes element-2 {
  0% { opacity: 0; }
  70% { opacity: 0; }
  80% { opacity: 1; }
  100% { opacity: 1; }
}

 .page-element-3 {
  position: absolute;
  left: 1vw;
  top: 35vw;
  height: auto;
  width: 40vw;
 }
 .element-3-animation {
  animation: element-2 6s linear ;
  opacity: 1;
}
@keyframes element-3 {
  0% { opacity: 0; }
  60% { opacity: 0; }
  70% { opacity: 1; }
  100% { opacity: 1; }
}

 /* .page-element-4 {
  position: absolute;
  left: 10vw;
  top: 0;
  height: 100vh;
  width: 80vw;
 } */
 .page-element-4p {
  position: absolute;
  left: 60vw;
  top: 22vw;
  height: auto;
  width: 30vw;
 }
 .page-element-4p2 {
  position: absolute;
  left: 10vw;
  top: 13vw;
  height: auto;
  width: 40vw;
 }
 .img-4p2 {
  transform-origin: center; 
  animation: rotate 2s linear infinite; 
 }@keyframes rotate {
  0% {
    transform: rotate(0deg); /* 初始状态 */
  }
  100% {
    transform: rotate(360deg); /* 完成一整圈旋转 */
  }
}
 .page-element-4p3 {
  position: absolute;
  left: 36vw;
  top: 0;
  height: auto;
  width: 26vw;
 }
 .page-element-4p3 {
  position: absolute;
  left: 36vw;
  top: 0;
  height: auto;
  width: 26vw;
 }
 .img-4p3 {
  transform: translateX(0); 
  animation: element-4p3 3s linear infinite;
 }@keyframes element-4p3 {
  0% { scale: 1; }
  50% { scale: 1.05; }
  80% { scale: 1.1; }
  100% { scale: 1; }
}

 .page-element-4p4 {
  position: absolute;
  left: 3.2vw;
  top: 7.9vw;
  height: auto;
  width: 58vw;
 }
 .page-element-5 {
  position: absolute;
  left: 10vw;
  top: 10vw;
  height: auto;
  width: 60vw;
 }
 .img-5 {
  /* position: relative; */
  opacity: 0;
  transform: translateX(-20vw); 
  transition: transform 1s ease-out, opacity 1s ease-out;
 }
 .img-5-active {
  transform: translateX(0); 
  opacity: 1; 
  transition: transform 1s ease-out, opacity 1s ease-out;
 }
 .page-element-6 {
  position: absolute;
  right: 10vw;
  top: 40vw;
  height: auto;
  width: 60vw;
 }
 .img-6 {
  /* position: relative; */
  opacity: 0;
  transform: translateX(20vw); 
  transition: transform 1s ease-out, opacity 1s ease-out;
 }
 .img-6-active {
  transform: translateX(0); 
  opacity: 1; 
  transition: transform 1s ease-out, opacity 1s ease-out;
 }

 .page-element-7 {
  position: absolute;
  left: 20vw;
  top: 0;
  height: auto;
  width: 60vw;
 }
 .img-7 {
  scale: 0.4;
  transition: transform 1s ease-out, opacity 1s ease-out;
 }
 .img-7-active {
  transform: translateX(0); 
  scale: 1;
  opacity: 1; 
  transition: transform 1s ease-out, opacity 1s ease-out;
  animation: element-7 1.5s linear ;
 }@keyframes element-7 {
  0% { scale: 0; }
  50% { scale: 1.1; }
  80% { scale: 1.2; }
  100% { scale: 1; }
}
 .page-element-8 {
  position: absolute;
  left: 30vw;
  top: 13vw;
  height: auto;
  width: 30vw;
 }

 .img-8 {
  scale: 1;
  transition: transform 1s ease-out, opacity 1s ease-out;
 }
 .img-8-active {
  transform: translateX(0); 
  scale: 1;
  opacity: 1; 
  transition: transform 1s ease-out, opacity 1s ease-out;
  animation: element-8 0.8s linear infinite;
 }@keyframes element-8 {
  0% { transform: rotate(0deg); }
  33% { transform: rotate(6deg); }
  67% { transform: rotate(-10deg); }
  100% { transform: rotate(0deg); }
}

 .page-element-9 {
  position: absolute;
  left: 20vw;
  top: 20vw;
  height: auto;
  width: 60vw;
 }
 .page-element-10 {
  position: absolute;
  left: 16vw;
  top: 45vw;
  height: auto;
  width: 30vw;
 }
 .img-10 {
  transition: transform 1s ease-out, opacity 1s ease-out;
 }
 .img-10-active {
  transform: translateX(0); 
  transition: transform 1s ease-out, opacity 1s ease-out;
  animation: element-10 1s linear infinite;
 }@keyframes element-10 {
  0% { transform: rotate(0deg) scale(1); }
  33% { transform: rotate(3deg) scale(1.1); }
  67% { transform: rotate(-3deg) scale(1);}
  100% { transform: rotate(0deg) scale(1); }
}

 .page-element-11 {
  position: absolute;
  left: 22vw;
  top: 77vw;
  height: auto;
  width: 50vw;
 }
 .img-11 {
  transition: transform 1s ease-out, opacity 1s ease-out;
 }
 .img-11-active {
  transform: translateX(0); 
  transition: transform 1s ease-out, opacity 1s ease-out;
  animation: element-11 1s linear infinite;
 }@keyframes element-11 {
  0% { transform: translateX(0); }
  33% { transform: translateX(1vw); }
  67% { transform: translateX(-1vw);}
  100% { transform: translateX(0); }
}

 .page-element-12 {
  position: absolute;
  left: 50vw;
  top: 0;
  height: auto;
  width: 50vw;
 }
 .page-element-12:hover {
  position: absolute;
  left: 50vw;
  top: 0;
  height: auto;
  width: 50vw;
  transform: scale(1.1);
 }
 .page-element-13 {
  position: absolute;
  left: 0;
  top: 0;
  height: auto;
  width: 49vw;
 }
 .page-element-13:hover {
  position: absolute;
  left: 0;
  top: 0;
  height: auto;
  width: 49vw;
  transform: scale(1.1);
 }
 .page-element-14 {
  position: absolute;
  left: 0;
  top: 28vw;
  height: auto;
  width: 50vw;
 }
 .page-element-14:hover {
  position: absolute;
  left: 0;
  top: 28vw;
  height: auto;
  width: 50vw;
  transform: scale(1.1);
 }
 .page-element-15 {
  position: absolute;
  left: 30vw;
  top: 10vw;
  height: auto;
  width: 55vw;
 }
 .img-15 {
  transform-origin: center; 
  animation: rotate-head 7s linear infinite; 
 }@keyframes rotate-head {
  0% {
    transform: rotate(0deg) scale(0.7); 
  }
  50% {
    transform: rotate(180deg) scale(0.5);
  }
  100% {
    transform: rotate(360deg) scale(0.7);
  }
}


 .page-element-15p {
  position: absolute;
  left: 13vw;
  top: 60vw;
  height: auto;
  width: 70vw;
 }

 .page-element-16 {
  position: absolute;
  left: 70vw;
  top: 10vw;
  height: auto;
  width: 20vw;
 }
 .img-16 {
  opacity: 0;;
 }
 .img-16-active {
  transform: translateX(0); 
  transition: transform 1s ease-out, opacity 1s ease-out;
  animation: element-16 1s linear;
 }@keyframes element-16 {
  0% { 
    opacity: 0;
    transform: translateY(0) ; }
  33% { 
    opacity: 1;
    transform: translateY(1vw); }
  67% { 
    opacity: 1;
    transform: translateY(-1vw);}
  100% { 
    opacity: 1;
    transform: translateY(0); }
}

 .page-element-16p {
  position: absolute;
  left: -40vw;
  top: 0vw;
  height: auto;
  width: 40vw;
 }
 .img-16p {
  opacity: 0;
 }
 .img-16p-active {
  opacity: 1;
  animation: element-16p 1s linear;
 }@keyframes element-16p {
  0% { 
    opacity: 0; }
  33% { 
    opacity: 1; }
  67% { 
    opacity: 1;}
  100% { 
    opacity: 1;}
}

 .page-element-17 {
  position: absolute;
  left: 3vw;
  top: 35vw;
  height: auto;
  width: 80vw;
 }
 
 .img-17 {
  opacity: 0;
 }
 .img-17-active {
  opacity: 1;
  animation: element-17 1s linear;
 }@keyframes element-17 {
  0% { 
    opacity: 0;
    transform: translateY(0) ; }
  33% { 
    opacity: 1;
    transform: translateY(1vw); }
  67% { 
    opacity: 1;
    transform: translateY(-1vw);}
  100% { 
    opacity: 1;
    transform: translateY(0); }
}
 .page-element-18 {
  position: absolute;
  left: 75vw;
  top: 35vw;
  height: auto;
  width: 20vw;
 }
 .page-element-18p {
  position: absolute;
  left: 58vw;
  top: 35vw;
  height: auto;
  width: 34vw;
  z-index: 3;
 }
 .page-element-18p2 {
  position: absolute;
  left: 45vw;
  top: 60vw;
  height: auto;
  width: 40vw;
  z-index: 2;
 }
 .page-element-18p3 {
  position: absolute;
  left: 30vw;
  top: 10vw;
  height: auto;
  width: 60vw;
 }
 .page-element-18p4 {
  position: absolute;
  left: 5vw;
  top: 46vw;
  height: auto;
  width: 50vw;
 }
 .page-element-18p5 {
  position: absolute;
  left: 2vw;
  top: 80vw;
  height: auto;
  width: 95vw;
 }
 .page-element-18p6 {
  position: absolute;
  left: 2vw;
  top: 79vw;
  height: auto;
  width: 62vw;
  z-index: 3;
 }
 .page-element-18p7 {
  position: absolute;
  left: 2vw;
  top: 127vw;
  height: auto;
  width: 55vw;
 }
 .page-element-18p8 {
  position: absolute;
  left: 42vw;
  top: 127vw;
  height: auto;
  width: 55vw;
 }
 .page-element-19 {
  position: absolute;
  left: 7vw;
  top: 12vw;
  height: auto;
  width: 30vw;
 }
 .page-element-20 {
  position: absolute;
  left: 30vw;
  top: 100vw;
  height: auto;
  width: 40vw;
 }
 .page-element-21 {
  position: absolute;
  left: 32vw;
  top: 72vw;
  height: auto;
  width: 25vw;
 }
 .page-element-21p {
  position: absolute;
  left: 36vw;
  top: 15vw;
  height: auto;
  width: 8vw;
 }
 .page-element-22 {
  position: absolute;
  left: 5vw;
  top: 0;
  height: auto;
  width: 90vw;
 }
 .page-element-23 {
  position: absolute;
  left: 20vw;
  top: 30vw;
  height: auto;
  width: 60vw;
 }
.page-element-title {
  position: absolute;
  left: 20vw;
  top: 20vh;
  height: auto;
  width: 60vw;
}
.element-title-animation {
  animation: element-title 2s linear ;
  opacity: 0;
}
@keyframes element-title {
  0% { opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { opacity: 0; }
}

.col-10.model-font{
  padding-left: 40px;
}

.model-table.three-line-table th, .model-table.three-line-table td {
  width: 20%;
  max-width: 200px;
  word-wrap: break-word;
  word-break: break-all; /* 强制在边界处断字 */
  text-align: center;
  overflow:visible;
  white-space: normal;
}

.model-table.three-line-table td{
  padding-top: 15px;
  padding-bottom: 15px;
  padding-right: 15px;
}

.formula-scroll {
  white-space: nowrap;  
  overflow-x: auto;  

}

.formula-scroll::-webkit-scrollbar {
  width: 3px; 
  height: 3px; 
}

.formula-scroll::-webkit-scrollbar-thumb {
  background-color: #f5deb3; /* 滚动条滑块的淡黄色 */
  border-radius: 10px; /* 使滚动条更圆滑 */
}

.model-table.three-line-table{
  max-width: 80%;
}

.model-font .accordion-header{
  max-width: 80%;
}

.model-font .accordion-content-model.open{
  max-width: 80%;
}

.model-font h2{
  padding-right: 10%;
}