.timeline-container {
  padding-bottom: 21vw;
  overflow-x: hidden;
}

.timeline__main-title {
  margin-bottom: 5.6vw;
  font-size: 7.2vw;
  font-family: 'charter_bold';
  line-height: 9.0667vw;
}

.timeline-detail {
  position: relative;
  z-index: 1;
  margin: 0 2vw;
  padding: 2.6667vw 3.2vw;
  background-color: #fff;
}

.news-info--outer {
  margin-bottom: 4vw;
  padding-bottom: 5.3333vw;
  border-bottom: 1px solid #dfdfdf;
}

.news-info--inner {
  padding-left: 2.1333vw;
  border-left: 1.8667vw solid #4387e3;
  color: #555;
  font-size: 3.7333vw;
  line-height: 4.5333vw;
}

.timeline__main-content,
.timeline__sub-content {
  color: #333;
}

.timeline__main-content > p,
.timeline__sub-content > p,
.timeline__main-content > div,
.timeline__sub-content > div,
.timeline__main-content > ul,
.timeline__sub-content > ul,
.timeline__main-content > ol,
.timeline__sub-content > ol,
.timeline__main-content > table,
.timeline__sub-content > table,
.timeline__main-content > img,
.timeline__sub-content > img,
.timeline__main-content > .video-placeholder,
.timeline__sub-content > .video-placeholder {
  margin-top: 3.2vw !important;
  margin-bottom: 3.2vw !important;
}

.timeline__main-content > p {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.timeline__main-content ul,
.timeline__sub-content ul,
.timeline__main-content ol,
.timeline__sub-content ol {
  padding-left: 4.8vw;
  list-style: disc;
}

.timeline__main-content img,
.timeline__sub-content img {
  display: block;
  width: 100%;
  max-width: initial !important;
  margin-top: 3.2vw;
  margin-bottom: 3.2vw;
}

.timeline__main-content a:not(.ke-insertfile),
.timeline__sub-content a:not(.ke-insertfile) {
  color: #000 !important;
  text-decoration: underline !important;
  font-family: 'charter_bold' !important;
  font-weight: bold !important;
}

.timeline__sub-content {
  padding-top: 3.2vw;
  padding-bottom: 3.2vw;
}

.timeline__sub {
  position: relative;
  z-index: 1;
}

.timeline-sub__item-line {
  position: absolute;
  top: 1.6vw;
  left: -2.4vw;
  z-index: 2;
  width: 1px;
  height: 100%;
  background: url('../imgs/icon-timeline-line.svg') repeat-y;
  content: '';
}

.timeline-menu__item-line {
  position: absolute;
  top: 2.1333vw;
  left: 1.3333vw;
  z-index: 2;
  width: 1px;
  height: 100%;
  background: url('../imgs/icon-timeline-line.svg') repeat-y;
  content: '';
}

.timeline__sub-time {
  position: relative;
  z-index: 1;
  margin-bottom: 1.0667vw;
  color: #4387e3;
  font-size: 4.2667vw;
  font-family: 'charter_bold';
  line-height: 5.2vw;
}

.timeline__sub-time::before {
  position: absolute;
  left: -3.7333vw;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  width: 3.2vw;
  height: 3.2vw;
  border-radius: 50%;
  background-color: rgba(81, 169, 255, 0.3);
  content: '';
}

.timeline__sub-time::after {
  position: absolute;
  top: 50%;
  left: -2.9333vw;
  z-index: 2;
  transform: translateY(-50%);
  width: 1.6vw;
  height: 1.6vw;
  border-radius: 50%;
  background-color: #51a9ff;
  content: '';
}

.timeline__sub-title {
  font-size: 5.0667vw;
  font-family: 'charter_bold';
  line-height: 6.6667vw;
}

.timeline__sub-item {
  position: relative;
  z-index: 1;
}

.timeline__sub-btn {
  display: flex;
  justify-content: flex-end;
  padding-bottom: 2.6667vw;
}

.timeline-menu {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 101;
  max-height: 13.3333vw;
  overflow: hidden;
  border-radius: 2.6667vw 2.6667vw 0 0;
  background: #4aabff;
}

.timeline-menu__hd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 13.3333vw;
  padding: 0 5.3333vw;
  cursor: pointer;
}

.timeline-menu__bd {
  min-height: 0;
  max-height: 0;
  overflow-y: auto;
  background-color: #fff;
  overscroll-behavior: contain;
}

.timeline-menu__title {
  font-size: 4.2667vw;
  font-family: 'charter_bold' !important;
  font-weight: bold;
  color: #ffffff;
}

.timeline-menu__item {
  display: block;
  position: relative;
  z-index: 1;
  padding-left: 5.0667vw;
  cursor: pointer;
}

.timeline-menu__item + .timeline-menu__item {
  margin-top: 2.6667vw;
}

.timeline-menu__item-time {
  margin-bottom: 0.5333vw;
  font-size: 3.7333vw;
  font-family: 'charter_regular' !important;
  font-weight: bold;
  color: #333333;
  line-height: 5.6vw;
  letter-spacing: 1px;
}

.timeline-menu__item-title {
  font-size: 3.2vw;
  font-family: 'charter_regular' !important;
  font-weight: normal;
  color: #999999;
  line-height: 4.2667vw;
}

.timeline-menu__item-point {
  position: absolute;
  top: 1.0667vw;
  left: 0;
  width: 2.9333vw;
  height: 2.9333vw;
  background: url('../imgs/icon-timeline-circle.png') no-repeat 50% 50%;
  background-size: 100% 100%;
}

.timeline-children__item:last-child .news-template__menu-line {
  display: none;
}

.timeline-menu.active {
  max-height: 70vh;
  background-color: #fff;
  transition: max-height 0.5s linear;
}

.timeline-menu.active .timeline-menu__hd {
  background-color: #4aabff;
}

.timeline-menu.active .timeline-menu__bd {
  min-height: 24vh;
  max-height: 50vh;
  padding: 3.2vw 5.3333vw 6vw;
}

.timeline__sub-ft {
  display: flex;
  justify-content: flex-end;
  padding-right: 5.3333vw;
}

.timeline__btn-link {
  width: 5.0667vw;
  height: 5.0667vw;
  background: url('../imgs/icon-link.svg') no-repeat 50% 50%;
  background-size: contain;
  cursor: pointer;
}

.timeline__btn-share {
  width: 5.0667vw;
  height: 5.0667vw;
  margin-left: 4vw;
  background: url('../imgs/icon-share-2.svg') no-repeat 50% 50%;
  background-size: contain;
  cursor: pointer;
}

.timeline-menu .arrow {
  width: 2.1333vw;
  height: 2.8667vw;
  background: url('../imgs/icon-arrow-2.svg') no-repeat 50% 50%;
  background-size: cover;
}

.timeline-menu.active .arrow {
  transform: rotate(180deg);
}

.timeline-menu {
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

/* 字号切换 */

.fn-font-s .timeline__main-content,
.fn-font-s .timeline__sub-content {
  font-size: 4.2667vw;
  line-height: 6.1333vw;
}

.fn-font-m .timeline__main-content,
.fn-font-m .timeline__sub-content {
  font-size: 5.3333vw;
  line-height: 8.2667vw;
}

.fn-font-l .timeline__main-content,
.fn-font-l .timeline__sub-content {
  font-size: 5.8667vw;
  line-height: 8.2667vw;
}

.fn-font-xl .timeline__main-content,
.fn-font-xl .timeline__sub-content {
  font-size: 6.6667vw;
  line-height: 8.2667vw;
}
