:root {
  --var-black: rgba(51, 51, 51, 1);
  --var-deep-blue: #0b3958;
  --var-white: rgba(242, 242, 242, 0.8);
  --var-color-white: #fff;
  --var-green: rgba(104, 130, 100, 1);
  --var-team-color: rgba(215, 194, 169, 1);
  --var-description-color: rgba(182, 200, 224, 1);
  --var-engineering-color: rgba(222, 128, 122, 1);
  --var-color1: #5a626f;
  --var-color2: rgba(247, 232, 227, 1);
  --var-color3: #7b4744;
  --var-color4: #4f6982;

  --var-ft12: 0.75rem;
  --var-ft13: 0.813rem;
  --var-ft18: 1.125rem;
  --var-ft19: 1.188rem;
  --var-ft20: 1.25rem;
  --var-ft24: 1.5rem;
  --var-ft36: 2.25rem;
  --var-ft64: 4rem;
  --var-ft80: 5rem;
  --var-ft85: 5.313rem;
  --var-ft90: 5.625rem;
  --var-ft96: 6rem;
  --var-ft100: 6.25rem;
  --var-ft144: 9rem;
  --var-ft28: 1.75rem;
}

html {
  font-size: 5px;
}

footer a {
  color: #fff;
}

/* patch */
@media (min-width: 1400px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1780px;
  }
}
/* patch */
@media (min-width: 2160px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 2160px;
  }
}

@media (min-width: 576px) {
  html {
    font-size: 5px;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  html {
    font-size: 8px;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  html {
    font-size: 10px;
  }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  html {
    font-size: 12px;
  }
}

/* XXL devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
  html {
    font-size: 16px;
  }
}

/* XXL devices (larger desktops, 1400px and up) */
@media (max-width: 1500px) {
  html {
    font-size: 13px;
  }
}

body {
  font-family: "Unbounded-Regular_Light", "Unbounded Light", "Unbounded",
    sans-serif;
  color: #333;
}
p {
  font-size: var(--var-ft24);
  line-height: 1.3;
  font-family: "Montserrat", "Montserrat-Regular", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: justify;
  margin-bottom: 0;
}
p + img,
img + p,
img + img {
  /* margin-top: 0.625rem; */
}

.img-container {
  margin: auto;
  text-align: center; /* 初始居中对齐 */
  max-width:100%;
}

.img-container img {
  display: block;
  margin: auto;
}

.img-container p {
  font-size: 1.3rem;
}

h1 {
  font-family: "Unbounded-Regular_Bold", "Unbounded Bold", "Unbounded",
    sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: var(--var-ft64);
}

.no-wrap {
  white-space: nowrap;
}

h1.section {
  font-size: var(--var-ft80);
  font-family: "Unbounded-Regular_Black", "Unbounded Black", "Unbounded",
    sans-serif;
  font-weight: 900;
  font-style: normal;
}

h2 {
  font-size: 4.3rem;
}

.h2{
  font-weight: 800;
  font-family:  "Unbounded";
  margin-bottom: 0;
}

h3 {
  font-family: "Unbounded-Regular_Black", "Unbounded Black", "Unbounded",
    sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: var(--var-ft24);
}

h3 + h1 {
  margin-top: -1rem;
}

.mauto {
  margin: auto;
}

.hide {
  display: none;
}

.ft20 {
  font-size: var(--var-ft20);
}

.ft24 {
  font-size: var(--var-ft24);
}

.ft36 {
  font-size: var(--var-ft36);
}

.ft80 {
  font-size: var(--var-ft80);
}
.ft85 {
  font-size: var(--var-ft85);
}
.ft90 {
  font-size: var(--var-ft90);
}

.ft96,
h1.ft96 {
  font-size: var(--var-ft96);
}

.ft100 {
  font-size: var(--var-ft100);
}

img {
  max-width: 100%;
}

.p2 {
  font-family: "Unbounded-Regular", "Unbounded", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: var(--var-ft28);
}

.mauto {
  display: block;
  margin: auto;
}
.ul,
.ol {
  display: flex;
}

.ol {
  flex-direction: column;
}

.ul .f1 {
  flex: 1;
}
.ul.center,
.ol.center {
  align-items: center;
}
.ul.centerl,
.ol.center1 {
  justify-content: center;
}
.mt-100 {
  margin-top: 6.25rem;
}
.white-bg,
.container-wrap.white-bg {
  background-color: #fff;
}
.yellow-bg,
.container-wrap.yellow-bg {
  background-color: rgba(245, 240, 202, 1);
}
.light-yellow-bg,
.container-wrap.light-yellow-bg {
  background-color: rgba(247, 243, 231, 1);
}
.dark-yellow-bg,
.container-wrap.dark-yellow-bg {
  background-color: rgba(249, 219, 162, 1);
}
.pink-bg,
.container-wrap.pink-bg {
  background-color: var(--var-color2);
}
.gray-bg,
.container-wrap.gray-bg {
  background-color: rgba(242, 242, 242, 1);
}
.blue-bg,
.container-wrap.blue-bg {
  background-color: var(--var-description-color);
}
.light-blue-bg,
.container-wrap.light-blue-bg {
  background-color: rgba(213, 233, 234, 1);
}
.brown-bg,
.container-wrap.brown-bg {
  background-color: rgba(215, 205, 193, 1);
}
.main-bg {
  background-color: var(--var-black);
}
.white-color {
  color: var(--var-color-white);
}
.dark-green-color {
  color: #435a40;
}

.deep-blue-color {
  color: var(--var-deep-blue);
}

.dark-pink-color {
  color: #6b3232;
}
.light-back-color {
  color: var(--var-color1);
}
.text-right {
  text-align: right;
}
.text-left {
  text-align: left;
}
.p50,
.row > .p50 {
  padding: 3.125rem;
}

.p-nolr,
.row > .p-nolr {
  padding-left: 0;
  padding-right: 0;
}

.p-nol,
.row > .p-nol {
  padding-left: 0;
}

.p-nor,
.row > .p-nor {
  padding-right: 0;
}

.p30 {
  padding: 1.875rem;
}
.pt60 {
  padding-top: 3.75rem;
}
.mt50 {
  margin-top: 3.125rem;
}

/* 链接动效 */

.link-theme1 {
  position: relative;
}
.link-theme1::after {
  content: "";
  display: block;
  position: absolute;
  height: 0.375rem;
  width: 0;
  background-color: var(--var-color-white);
  transition: all 0.5s ease;
}
.link-theme1:hover::after {
  width: calc(100%);
}
/* 容器 */
.container-wrap {
  background-color: var(--var-black);
  /* padding-bottom:0.0625rem;
	*/
}
.container-wrap__blue {
  background-color: rgba(118, 153, 174, 1);
}
.container-wrap__yellow {
  background-color: rgba(245, 240, 202, 1);
}

.container {
  overflow: auto;
}

.container > .row {
  --bs-gutter-x: 0;
}

/* 顶部海报 */
.banner {
  position: relative;
}
.banner-main {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.banner-title {
  font-family: "Unbounded-Regular_Black", "Unbounded Black", "Unbounded",
    sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: var(--var-ft144);
  color: var(--var-deep-blue);
  position: relative;
}
/* 导航 */

.nav-menu-wrap {
  padding: 0;
}

/* 导航高度 */
.nav-menu {
  /* height:4.375rem;
	overflow:hidden;
	*/

  background: linear-gradient(
    to bottom,
    var(--var-black) 5.625rem,
    var(--var-white) 5.625rem,
    var(--var-white) 100%
  );

  background: linear-gradient(
    to bottom,
    var(--var-black) 5.625rem,
    rgb(255 255 255 / 90%) 5.625rem,
    rgb(255 255 255) 100%
  );
}
.nav-menu .logo {
  position: absolute;
  top: 0.625rem;
}
.nav-menu .logo .navbar-brand {
  color: #fff;
  font-family: "Unbounded-Regular_Black", "Unbounded Black", "Unbounded",
    sans-serif;
  font-weight: 900;
  font-size: var(--var-ft18);
}

.nav-menu .logo .navbar-brand span {
  position: relative;
  left: -14%;
  top: var(--var-ft12);
}

.nav-menu.hover {
  overflow: visible;
}
.nav-menu.hover + .nav-bg {
  display: block;
}
.nav-menu li {
  display: none;
  height: 5rem;
  flex-direction: column;
  justify-content: center;
}
.nav-menu .nav-link {
  font-weight: 200;
  font-style: normal;
  font-size: var(--var-ft20);
  color: rgba(51, 51, 51, 1);
  display: inline-block;
  padding-left: 1.8rem;
  text-shadow: 0px 0px 3px #3333332e;
}
.nav-menu .nav-link:hover {
  font-weight: bold;
}
.nav-menu .nav-item a {
  position: absolute;
}
.nav-menu ul li:nth-of-type(1) .nav-link {
  font-weight: 400;
  font-style: normal;
  font-size: var(--var-ft36);
  font-size: 2rem;
  color: var(--var-color-white);
  display: block;
  position: relative;
}
.nav-menu ul li:nth-of-type(1) {
  display: flex;
  height: 5.625rem;
}
.nav-menu.hover li {
  display: flex;
}
.nav-page {
  font-family: "ToppanBunkyuMidashiGothicStdN-ExtraBold",
    "Toppan Bunkyu Midashi Gothic Extrabold", "Toppan Bunkyu Midashi Gothic",
    sans-serif;
  font-weight: 900;
  font-style: normal;
  /* background-color: rgba(215, 215, 215, 1); */
  color: var(--var-color1);
  text-align: right;
}
.nav-page .title {
  font-size: 4.375rem;
  position: relative;
}
.nav-page a {
  display: block;
  text-decoration: none;
  font-weight: 900;
  font-size: 2.89rem;
  font-family: "Unbounded-Regular_Black", "Unbounded Black", "Unbounded";
  color: var(--var-color4);
  margin-bottom: 1rem;
}
.nav-page .small {
  position: absolute;
  top: 5%;
  left: 57%;
}
.nav-page h1 {
  font-family: "Unbounded-Regular_Black", "Unbounded Black", "Unbounded",
    sans-serif;
  font-size: 4.3rem;
  word-break: break-all;
  font-weight: 900;
}

.nav-page h2 {
  font-family: "Unbounded-Regular_Black", "Unbounded Black", "Unbounded",
    sans-serif;
  font-size: 2.14rem;
  position: relative;
  font-weight: 900;

  top: -1rem;
}

.nav-page .item1::before,
.nav-page .item2::before {
  content: "";
  height: 6.875rem;
  width: 6.875rem;
  border-radius: 100%;
  display: inline-block;
  margin-right: 2rem;
  position: relative;
  top: 1.5rem;
  display: none;
}

.nav-page .item1::before {
  background-color: #b6c8e0;
}

.nav-page .item2::before {
  background-color: #f5f0ca;
}

.nav-page2 {
  font-weight: 900;
  font-family: "Unbounded-Regular_Black", "Unbounded Black", "Unbounded",
    "sans-serif";
  font-style: normal;
  font-size: 3rem;
}

.nav-page2 h2 {
  line-height: 0.8;
}

.nav-page2 a:nth-child(1) {
  text-decoration: none;
  margin-top: 0.3rem;
  display: block;
  margin-bottom: -0.8rem;
}

/* team */
/* 成员 */
.member-list {
  display: flex;
  padding-top: 6.25rem;
  flex-wrap: wrap;
  padding-bottom: 3.75rem;
}
.member-item {
  margin-bottom: 6.6rem;
  /* margin-left: 2.5rem; */
  text-align: center;
}
.member-item img,
.member-item .img {
  /* height: 15.3rem;
  width: 15.3rem; */
  border-radius: 100%;
  background-position: center;
  background-size: cover;
  margin: auto;
  box-shadow: 0.5rem 0.5rem 2rem #9b9b9b7d;
}

.member-item .name {
  margin: 1rem;
  font-size: 1.5rem;
}
.member-item .position {
  background: #333;
  display: inline-block;
  padding: 0.4rem 1rem;
  color: #fff;
  margin-top: -1rem;
  margin-bottom: 2rem;
  border-radius: 0.5rem;
}
.member-item .desc {
  padding: 0 2rem;
  text-align: left;
  height: 24rem;
  overflow: auto;
  line-height: 1.8;
  font-weight: 300;
  font-size: 1.1rem;
}

/* 底部 */

.footer-wrap {
  background-color: rgba(63, 63, 63, 1);
  color: #fff;
  padding: 6rem 0;
}

.footer-wrap .navbar-brand span {
  position: relative;
  left: -7%;
  top: var(--var-ft12);

  font-weight: 900;
  font-style: normal;
  font-size: var(--var-ft18);
}

.footer-wrap .logo-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 0.0625rem #666 solid;
  padding-right: 3.125rem;
  font-size: 1.13rem;
}
.footer-wrap .content-wrap {
  padding-left: 3.875rem;
}
.footer-wrap p {
  font-size: var(--var-ft13);
  line-height: 1;
}

.footer-wrap p + p {
  margin-bottom: 0.5rem;
}

.footer-wrap .link-theme {
  display: inline-block;
  position: relative;
  color: #fff;
  text-decoration: none;
  font-family: "Unbounded-Regular", "Unbounded", sans-serif;
  font-size: 1.5rem;
  margin-top: 1rem;
  font-weight: 400;
}

/* ============================================ */

.description-page-title {
  background: linear-gradient(
    to right,
    var(--var-black) 6.875rem,
    rgba(247, 232, 227, 1) 6.875rem,
    rgba(247, 232, 227, 1) 100%
  );
  padding-left: 9rem;
  position: relative;
}
.description-page-title::before {
  content: "";
  position: absolute;
  height: 5.0625rem;
  width: 5.0625rem;
  background-color: rgba(245, 240, 202, 1);
  border-radius: 100%;
  left: 0.8125rem;
  top: 4.125rem;
}
/* 轮播 */
.swiper {
  width: 100%;
  height: 100%;
}
.swiper-slide {
  text-align: center;
  font-size: var(--var-ft18);
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.swiper-pagination {
  text-align: center;
  background: #fff;
  padding-bottom: 0.625rem;
}
.swiper-pagination-bullet {
  width: 1.25rem;
  height: 1.25rem;
  text-align: center;
  line-height: 1.25rem;
  font-size: var(--var-ft12);
  color: #000;
  opacity: 1;
  background: rgba(0, 0, 0, 0.2);
}
.swiper-pagination-bullet-active {
  color: #fff;
  background-color: var(--var-black);
}
.swiper-pagination-bullet {
  height: 1.875rem;
  width: 1.875rem;
  display: inline-block;
  line-height: 1.875rem;
  border-radius: 100%;
  text-align: center;
  margin-left: 0.375rem;
  margin-top: 0.625rem;
  cursor: pointer;
}

/* logo特效 */

.image-container .toggle {
  background-image: url("/static/images/home/logo_team_01.svg");
}
.image-container .toggle:hover {
  background-image: url("/static/images/home/logo_team_02.svg");
}

/* 目录 */
.js-toc {
  position: fixed;
  right: 1.6%;
  background: #fff;
  padding: 2rem 0.5rem 2rem 0.5rem;
  box-shadow: 5px 3px 9px #33333373;
  z-index: 1;
  max-width: 23%!important;
}
.toc-list {
  list-style-type: none; /* 去除编号 */
  padding-left: 0; /* 可选：去除左侧内边距 */
}

li.toc-list-item {
  padding: 1rem;
}

.toc-link::before {
  display: none !important;
}


p a{
  color: inherit;
}

/* 参考 */
.references a {
  color: inherit;
  font-weight: 600;
}

/* 为所有滚动条设置基本样式 */
.desc::-webkit-scrollbar {
  width: 10px; /* 设置滚动条的宽度 */
  height: 10px; /* 设置滚动条的高度 */
}

/* 滚动条轨道 */
.desc::-webkit-scrollbar-track {
  background: var(--var-black); /* 设置轨道的背景颜色 */
  border-radius: 8px; /* 设置轨道的圆角 */
}

/* 滚动条的滑块 */
.desc::-webkit-scrollbar-thumb {
  background: #c1c1c1; /* 设置滑块的背景颜色 */
  border-radius: 8px; /* 设置滑块的圆角 */
  border: 1px solid #f1f1f1; /* 设置白色边框以实现内阴影效果 */
}

/* 当滑块悬停或活动时的样式 */
.desc::-webkit-scrollbar-thumb:hover {
  background: #a1a1a1; /* 更改滑块在悬停状态下的颜色 */
}



/* 参考文献 */
.references > p+p{
  margin-top: 1.95rem;
}


.references a{
  word-break: break-all;
}



/* ok 图标 */
.icon-ok{
  width: 1.5rem;
  display: inline-block;
  margin-right: .6rem;
  position: relative;
  top: -.2rem;
}

.icon-ok-2{
  margin-right: .2rem;
}


/* 表格 */
.table-wrap{
  overflow: auto;
}

.table-wrap table{
  border: none;
}

.table-wrap  td,.table-wrap  th{
  border-top: 1px #333 solid;
  border-bottom: 1px #333 solid;
  padding: 15px;

}

.table-wrap tr.firstRow {
  /* border-top: 1px #333 solid; */

}