@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: 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: 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: 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: 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: url('https://placehold.co/1200x600'); /* 背景图片路径 */
  background-size: cover;        /* 使背景图片覆盖整个容器 */
  background-position: center;   /* 居中对齐背景图片 */
  background-repeat: no-repeat;  /* 防止背景图片重复 */
  background-attachment: fixed;  /* 固定背景图片,使其在滚动时不移动 */
}
.custom-header-engineering {
  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-experiments {
  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-human-practices {
  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-inclusivity {
  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-model {
  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-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: 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: 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: 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: 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; /* 将文本水平居中 */
}

/* 文本开头有缩进,起到空格作用 */
.indent {
  text-indent: 20px; /* 设置首行缩进 20px */
}

.side-navbar {
  width: 250px;
  position: sticky;
  top: 200px;
  left: 0;
  height: auto;
  background-color: rgb(245, 245, 220);
  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: rgb(245, 245, 220);
  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: 30%;
  width: auto;
  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;
}

.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: 70vw;
}

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

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

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

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

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

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

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

.page-element-0 {
  position: absolute;
  left: 10vw;
  top: 10vw;
  height: auto;
  width: 20vw;
 }

.page-element-1 {
 position: absolute;
 right: 0;
 top: 12px;
 height: auto;
 width: 60vw;
}

.page-element-2 {
  position: absolute;
  right: 20vw;
  top: 40vw;
  height: auto;
  width: 20vw;
 }
 .page-element-3 {
  position: absolute;
  left: 1vw;
  top: 35vw;
  height: auto;
  width: 40vw;
 }
 .page-element-4 {
  position: absolute;
  left: auto;
  top: 0;
  height: 100vh;
  width: 95vw;
 }
 .page-element-5 {
  position: absolute;
  left: 10vw;
  top: 22vw;
  height: auto;
  width: 60vw;
 }
 .page-element-6 {
  position: absolute;
  right: 10vw;
  top: 55vw;
  height: auto;
  width: 60vw;
 }
 .page-element-7 {
  position: absolute;
  left: 20vw;
  top: 0;
  height: auto;
  width: 60vw;
 }
 .page-element-8 {
  position: absolute;
  left: 30vw;
  top: 13vw;
  height: auto;
  width: 30vw;
 }
 .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;
 }
 .page-element-11 {
  position: absolute;
  left: 22vw;
  top: 77vw;
  height: auto;
  width: 50vw;
 }
 .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: 35vw;
  top: 10vw;
  height: auto;
  width: 40vw;
 }
 

 .page-element-16 {
  position: absolute;
  left: 17vw;
  top: 0;
  height: auto;
  width: 80vw;
 }
 .page-element-17 {
  position: absolute;
  left: 3vw;
  top: 35vw;
  height: auto;
  width: 80vw;
 }
 .page-element-18 {
  position: absolute;
  left: 75vw;
  top: 35vw;
  height: auto;
  width: 20vw;
 }
 .page-element-19 {
  position: absolute;
  left: 20vw;
  top: 10vw;
  height: auto;
  width: 50vw;
 }
 .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: 10vw;
  top: 6vw;
  height: auto;
  width: 17vw;
 }
 .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;
 }