body { padding-top: 76px;font-family:ArialMT,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,Arial, sans-serif;  }
.left-aligned { margin-left: auto; }
.bg-dark { background-color: #CADBB7 !important; }
.bg-hero { background-color: #45b06cff; }

/* 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: 1.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 }

/* footer */
footer a { color: #050505; font-weight: bold; text-decoration: none; }
footer a:hover { color: #050505; text-decoration: underline; }

.custom-tooltip {
  --bs-tooltip-bg: rgb(36,61,38);
  --bs-tooltip-color: rgb(255, 255, 255);
}

.f90 {
  font-size: 4.69vw;
}
.page-nav.navbar {
  background: #E9EEE9 !important;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}
.page-nav .nav-link {
  color: #7E7D7E;
  font-size: 20px;
  padding-left: 28px !important;
  padding-right: 28px !important;
}
.page-nav .nav-link.active {
  color: #1C3E23;
}
.page-nav .nav-link::after {
  display: none;
}
.navbar-nav {
  margin-right: 60px;
}
.page-nav .dropdown-menu {
  background: #E9EEE9;
  border-radius: 5px;
  border: none;
  padding-top: 8px !important;
}
.page-nav .dropdown-item {
  color: #7E7D7E;
  text-align: center;
  font-size: 20px;
}
.page-nav .dropdown-item:hover,
.page-nav .dropdown-item.active {
  color: #fff;
  background: #799131;
}
.home-banner {
  background: url("https://static.igem.wiki/teams/6005/home/banner-bg.webp");
  background-position-y: bottom;
  padding-bottom: 32%;
  background-size: 100% auto;
  font-size: 3.9vw;
  color: #fff;
  font-style: italic;
}
.home-content {
  background: url("https://static.igem.wiki/teams/6005/home/bg.webp");
  background-size: 100% 100%;
  font-style: italic;
  word-break: break-word;
}
.home-content .container {
  width: 65%;
}
.home-title {
  padding-bottom: 3.86vw;
  padding-top: 3.86vw;
}
.f50 {
  font-size:2.6vw;
}
.f35 {
  font-size: 1.82vw;
}
.text-green {
  color: #799131;
}
.home-1 {
  /* padding-left: 4.18vw;
  padding-right: 4.28vw; */
  font-size: 1.35vw;
}
.home-1 .title {
  font-size: 1.82vw;
  margin-bottom: 1.82vw;
}
.home-content  p {
  color: #1C3E23;
  font-size: 1.35vw;
}
.home-1 p {
  margin-bottom: 4.79vw;
}
.home-2 p {
  margin-top: 3.45vw;
}
.home-1-img {
  width: 6vw;
  top: -8%;
  right: -7.2vw;
}
.home-2-img {
  width: 7vw;
  top: 19%;
  left: -9vw;
}
.home-3-img {
  width: 6.25vw;
  bottom: -9vw;
  right: -3vw;
}
.home-4-img {
  width: 4.32vw;
  bottom: -60vw;
  left: 2.8vw;
}
.home-2 {
  margin-top: 3.68vw;
  margin-bottom: 9.1vw;
  /* padding-right: 4.28vw; */
}
.home-2 .l {
  width: 32.9%;
  /* background: #fff; */
  /* border: 1px solid #799131; */
  /* aspect-ratio: 10/14; */
  margin-left: 38px;
}
.home-3 {
  /* padding-left: 4.18vw;
  padding-right: 4.28vw; */
}
.home-3 .title {
  margin-bottom: 4.34vw;
}
.home-3 p {
  margin-top: 1.94vw;
  margin-bottom: 2.4vw;
}
.home-3-c {
  width: 32%;
  aspect-ratio: 9/10;
  background: #fff;
  border: 1px solid #799131;
}
.home-4 {
  margin-top: 3.12vw;
  margin-bottom: 8.75vw;
  /* border: 4px solid #DDE5CE;
  background: rgba(202, 219, 183, 0.59); */
}
.home-4 .l {
  width: 63.6%;
  background: #fff;
  aspect-ratio: 94/100;
}
.home-4 .title {
  margin-bottom: 2vw;
}
.home-team {
  padding-top: 2.97vw;
  padding-bottom: 3.64vw;
  background: rgba(202, 219, 183, 0.59);
}
.home-team .title {
  margin-bottom: 2.2vw;
}
.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #E6E2E7;
  opacity: 1;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #FEFEFD;
  opacity: 1;
}
.swiper-pagination {
  padding-right: 50px;
  text-align: right;
  padding-bottom: 30px;
}
.team-page-title {
  color: #FFFFFF;
  text-shadow: 0px 8px 16px rgba(13,12,12,0.5);
  font-style: italic;
  bottom: 10px;
  font-weight: bold;
}
.go-top {
  cursor: pointer;
  width: 50px;
  position: fixed;
  bottom: 40px;
  right: 20px;
  z-index: 100000;
}
.f32 {
  font-size: 1.5vw;
}
.home-link {
  padding-top: 8vw;
  padding-bottom: 7vw;
}
.home-link .link-card {
  width: 22%;
  aspect-ratio: 135/100;
  border-radius: 20px;
  padding-top: 1.5vw;
  padding-bottom: 1.5vw;
  text-decoration: none;
  box-shadow: 0px 0px 15px 0px rgba(28, 62, 35, 0.60);
}

.card-wrapper.flipped .card-front {
  transform: rotateY(180deg);
}

.card-wrapper.flipped .card-back {
  transform: rotateY(0deg);
}
.card-wrapper {
  perspective: 1000px;
  transform-style: preserve-3d;
  cursor: pointer;
  margin-bottom: 60px;
}
.team-card {
  aspect-ratio: 141/100;
  position: relative;
  background-size: 100% 100%;
  border-radius: 20px;
  box-shadow: 0px 1px 12px 2px rgba(92,112,129,0.4);
  border: 1.5px solid #799131;
  font-style: normal;
}
.flex-1 {
  flex: 1;
}
.f24 {
  font-size: 24px;
}
.f16 {
  font-size: 16px;
}
.card-front,
.card-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  transition: transform 0.6s;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  border-radius: 20px;
}
.card-front {
  background: #fff;
  padding: 0;
  overflow: hidden;
  background: #DADADD;
}
.card-back .name {
  color: #799131;
  font-size: 24px;
}
.card-front img {
  /* display: none; */
}
.card-back {
  background-color: #EBF5E0;
  transform: rotateY(180deg);
}
.card-text::-webkit-scrollbar {
  background: #B7BAB4;
  width: 2px;
  height: 2px;
  border-radius: 2px;
}
.card-text::-webkit-scrollbar-thumb {
  background-color: #799131;
  border-radius: 2px;
}
.card-top {
  width: 100%;
  height: 20px;
  border-radius: 20px 20px 0px 0px;
  background: #799131;
  transform: translateY(-1px);
}
@media (max-width: 1300px) {
  body {
    padding-top: 70px;
  }
  .page-nav .nav-link {
    font-size: 16px;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .page-nav .dropdown-item {
    font-size: 16px;
  }
}
.common-banner-1 {
  width: 17.2%;
  top: 50%;
  left: 60px;
  transform: translateY(-50%);
}
.common-banner-2 {
  width: 18.65%;
  top: 50%;
  right: 60px;
  transform: translateY(-50%);
}
.common-title {
  margin-top: -15%;
}
.desc {
  text-align: justify;
}
.desc .home-content {
  padding-top: 3.5%;
  padding-bottom: 3.4%;
  padding-right: 6%;
  font-style: normal;
}
.desc .navbar {
  box-shadow: none;
  background: transparent !important;
}
.navbar-desc {
  width: 25%;
  float: left;
  border-radius: 20px 20px 5px 5px;
}
.navbar-desc.sticky-top {
  top: 120px;
}
.navbar-desc .nav {
  display: block;
  margin: 0 auto;
  font-size: 20px;
  text-align: left;
}
.scrollspy-example {
  width: 75%;
  margin-left: 25%;
  padding: 3% 2% 5.6% 4%;
  font-size: 14px;
}
.scrollspy-example-1 {
  width: 100%;
  margin-left: 0;
}
.scrollspy-example .title {
  color: #000;
  width: fit-content;
  margin-bottom: 30px;
}

.nav-pills {
  max-height: calc(100vh - 200px);
  overflow-y: auto;
  padding-left: 0px;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #799131;
}
.nav-pills .nav-link {
  padding-left: 10px;
  padding-right: 20px;
  position: relative;
  color: #CADBB7;
  font-size: 20px;
  margin-top: 10px;
  font-weight: bold;
  cursor: pointer;
}
.nav-pills .sub-nav-link  {
   padding-left: 10px;
   margin-bottom: 6px;
  font-size: 16px;
  opacity: 0.4;
  cursor: pointer;
}
.nav-pills .sub-nav-link:hover {
  opacity: 1;
}
.nav-pills .nav-link:hover {
  color: #799131;
}
.desc-module {
  margin-bottom: 9%;
  color: #333;
  font-size: 14px;
  position: relative;
}

.desc-module:last-of-type {
  margin-bottom: 0;
}
.desc-module p {
  margin-top: 12px;
  margin-bottom: 12px;
}
.desc-module .title {
  font-weight: bold;
  font-size: 30px;
}
.desc-module .sub-title {
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 1em;
}
.desc-module h3 {
  color: #333 !important;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 1em;
}
.desc-module table p {
  all: unset; /* 或者覆盖上面的样式 */
}
.desc-module li {
  margin-bottom: 10px;
}
.desc-module ol {
  line-height: 1.75;
  margin-bottom: 10px;
  padding-left: 20px;
}
.desc-module .li-decimal {
  list-style-type: decimal;
}
.desc-module table {
  border: 2px solid;
  max-width: 100%;
  margin-top: 6px;
  margin-bottom: 10px;
}
.desc table td,
.desc table th {
  border: 2px solid;
  padding: 4px 6px;
  text-align: center;
}
.desc-module ul ul {
  list-style-type: disc;
}
ol.bracketed li::marker {
  content: "[" counter(list-item) "] ";
}
ol.bracketed1 li::marker {
  content: "(" counter(list-item) ") ";
}
ol[type="a"] li>strong {
  margin-bottom: 10px;
}
ol[type="a"] li::marker {
  content: counter(list-item, lower-alpha) ". ";
}
ol[type="1"] li::marker {
  content: counter(list-item) ". ";
}
@media (min-width: 992px) {
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 20px;
  }
  .dropdown-hover > .dropdown-toggle {
    pointer-events: none;
  }
  /* 启用 hover 触发 */
  .dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0px; /* 移除菜单间距 */
    top: 100%;
  }
}
@media (max-width:768px) {
  body {
    padding-top: 70px;
  }
  .desc .navbar-desc {
    display: none;
  }
  .scrollspy-example {
    width: 100%;
    margin-left: 0;
  }
  .scrollspy-example .title {
    font-size: 20px !important;
  }
}