/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap'); */
@import url("https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/bootstrap-icons/1.8.1/font/bootstrap-icons.min.css");

html {
  height: 100%;
  display: flex;
  font-family: 'Noto Sans SC', "PingFang SC", "Microsoft YaHei", 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  flex-direction: column;
}

body {
  color: #333;
  display: flex;
  flex: 1;
  flex-direction: column;
  font-weight: 400;
  font-size: 1.05rem;
}

h1,
h2,
h3 {
  font-weight: 600;
  /* 标题适当加粗 */
}

.conf-title {
  font-weight: 600;
}

.navbar {
  background-color: #f3f4f6b8;
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(20px) saturate(180%);
}

.nav-link:hover {
  text-decoration: underline dotted #3f6993;
  text-underline-offset: 0.35em;
}

.nav-link.active {
  text-decoration: underline;
  text-decoration-color: #003366;
  text-underline-offset: 0.35em;
}

.carousel-item img {
  height: 55vh;
  object-fit: cover;
}

.carousel-caption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, rgba(10, 102, 187, 0.487) 30%, rgba(0, 212, 255, 0.1) 70%);
  color: #fff;
  right: 0;
  left: 0;
  bottom: 0;
  top: 0;
  text-align: left;
  mix-blend-mode: hard-light;
}

footer {
  /* background-color: #003366; */
  background: rgb(0, 51, 102);
  background: linear-gradient(34deg, rgba(0, 51, 102, 1) 0%, rgba(0, 89, 150, 1) 100%);
  color: #b3c4de;
  padding: 20px 0;
}

footer a {
  color: #eee;
  text-decoration: none;
}

footer a:hover {
  color: #ccc;
  text-decoration: underline dotted #ccc;
  text-underline-offset: 0.15em;
}

.main {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.separator {
  background-color: #08a3e1;
  width: 6vw;
  height: 4px;
  margin: 0 auto;
}

.swup-progress-bar {
  height: 2px;
  background: linear-gradient(90deg, #29c2ff, #cc84ff);
  box-shadow: 0 1px 3px rgba(1, 225, 255, 0.502);
}

.banner {
  height: 35vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 40%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.banner-header {
  font-weight: 600;
  color: white;
  text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black, 2px 2px 4px black;
}

.banner-header-dimed {
  font-weight: 400;
  color: #fff;
  text-shadow: -1px 0 rgb(64, 64, 64), 0 1px rgb(64, 64, 64), 1px 0 rgb(64, 64, 64), 0 -1px rgb(64, 64, 64), 2px 2px 4px rgb(64, 64, 64);
}

.header-bar {
  height: 25vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 20%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.bg-grey {
  background-color: #f7f8fc;
}

/* The actual timeline (the vertical ruler) */
.main-timeline-5 {
  position: relative;
  max-width: 50%;
  margin: 0 auto;
}

/* The actual timeline (the vertical ruler) */
.main-timeline-5::after {
  content: '';
  position: absolute;
  width: 3px;
  background-color: #22cef4;
  top: 0;
  bottom: 0;
  left: auto;
  margin-left: -3px;
}

/* Container around content */
.timeline-5 {
  position: relative;
  background-color: inherit;
  width: 100%;
}

/* The circles on the timeline */
.timeline-5::after {
  content: '';
  position: absolute;
  width: 17px;
  height: 17px;
  right: 1px;
  background-color: #08a3e1;
  top: 18px;
  border-radius: 50%;
  z-index: 1;
}

/* Place the container to the right */
.right-5 {
  padding: 0px 0px 20px 40px;
  left: auto;
}

/* Add arrows to the right container (pointing left) */
.right-5::before {
  content: " ";
  position: absolute;
  top: 18px;
  z-index: 1;
  left: 30px;
  border: medium solid #fff;
  border-width: 10px 10px 10px 0;
  border-color: transparent #fff transparent transparent;
}

/* Fix the circle for containers on the right side */
.right-5::after {
  left: -10px;
}

@media (max-width: 991px) {
  .main-timeline-5 {
    max-width: 100%;
  }
}