@charset "UTF-8";
:root { --header-h: 1.5rem; }        /* 实测的固定头部高度 */
html  { scroll-padding-top: var(--header-h); }
[id], [name] { scroll-margin-top: var(--header-h); }


.banner-box {
  position: relative;
}

.banner {
  position: relative;
}

.banner .slick-slide a:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1.6rem;
  z-index: 1;
  opacity: 0.8;
  background: linear-gradient(0deg, #00000066 0%, #00000000 100%);
}

.banner .slick-slide a {
  padding-top: 100vh;
  position: relative;
  width: 100%;
  display: block;
}

.banner .slick-slide.slick-active img {
  transition: 6s 1s linear;
  transform: scale(1.1);
}

.banner .slick-active img {}

.banner img {
  /* display: block; */
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  object-fit: cover;
}


.banner .slick-prev {
  width: .48rem;
  height: .46rem;
 
  left: auto;
  z-index: 9;
  top: auto;
  bottom: 0.43rem;
  right: 6.57rem;
  background-size: 100%;
}

.banner .slick-next {
  width: .46rem;
  height: .46rem;
 
  right: 2.04rem;
  z-index: 9;
  top: auto;
  bottom: 0.43rem;
  background-size: 100%;
}

.banner .slick-prev:hover,
.banner .slick-next:hover {
  opacity: 1
}

.banner .slick-dots {
  width: auto;
  transform: translateX(-50%);
  bottom: 0.4rem;
  height: .2rem;
  display: flex !important;
  align-items: center;
  height: 0.58rem;
  text-align: center;
  margin: 0 auto;
  left: 50%;
}



.banner .slick-dots li {
  width: 0.4rem;
  height: 0.3rem;
  margin: 0;
  box-sizing: border-box;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.1rem;
}

.banner .slick-dots li button {
  display: block;
  font-size: 0;
  color: #fff;
  width: 0.4rem;
  height: 0.05rem;
  border-radius: 2.95rem;
  opacity: 0.4;
  font-size: 0;
  background: #fff;
  border: 0;
  padding: 0;
}


.banner .slick-dots li.slick-active button {
  background: url(../images/dot.png) no-repeat center;
  height: 0.3rem;
  width: 0.3rem;
  opacity: 1;
  border-radius: 0;
}



@media screen and (max-width: 1600px) {
  .banner .slick-slide a {
    padding-top: 50%;
  }

  .banner .slick-dots {
    bottom: 0.3rem;
    right: auto;
    left: 50%;
  }

  .banner .slick-dots li {}

  .banner-box {
    top: 0 !important;
    margin-top: 0;
  }

  .banner .slick-prev {
    left: 0.2rem;
    bottom: auto;
    top: 50%;
    right: auto;
  }

  .banner .slick-next {
    right: 0.2rem;
    bottom: auto;
    top: 50%;
  }

  .banner-dots-number {
    display: none;
  }
}


* {
  padding: 0;
  margin: 0;
}

.modulepic {
  padding-top: 75%;
  position: relative;
  overflow: hidden;
}

.modulepic img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all 1s;
}

a:hover .modulepic img {
  transform: scale(1.05);
}


#home1 {
  height: auto;
}

.home1 {
  width: 100%;
  background: url(../images/bg1.png) no-repeat right top;
  background-size: 18.79rem;
  padding: 0.6rem 0 0.2rem;
  overflow: hidden;
}

.home1 * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  font-weight: normal;
  border: none;
  list-style: none;
  text-decoration: none;
}

.home1 .s1_wid {
  max-width: 16rem;
  margin: 0 auto;
}

.s1-left {
  width: 57.5%;
  float: left;
  margin-right: 0.75rem;
  position: relative;
}

/* s1-left slick轮播箭头 */
.s1-left .slick-prev,
.s1-left .slick-next {
  position: absolute;
  width: 0.48rem;
  height: 0.48rem;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  padding: 0;
  top: auto;
  bottom: auto;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
  background-color: #845943;
  background-size: 0.14rem auto;
  background-position: center;
  background-repeat: no-repeat;
}

.s1-left .slick-prev {
  left: auto;
  right: -0.55rem;
  top: 0;
  background-image: url(../images/s1_prev.png);
  border-radius: 0;
}

.s1-left .slick-next {
  right: -0.55rem;
  bottom: 0;
 
}

.s1-left .slick-arrow:hover {
  background-color: #a06e55;
}

.s1-left .slick-arrow::after {
  display: none;
}

.s1-right {
  width: 37.8125%;
  float: right;
}

.s1_tit {
  position: relative;
  margin-bottom: 0.3rem;
}

.s1_tit div {
  position: relative;
  display: flex;
  align-items: center;
}

.s1_tit div::after {
  content: "";
  flex: 1;

  margin-right: 1.3rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}


.s1_tit div h3 {
  text-align: left;
  color: #333333;
  font-size: 0.36rem;
  position: relative;
  display: flex;
  align-items: baseline;
  background: url(../images/tit2.png) no-repeat right bottom 0.15rem;
  padding-right: 1rem;
  gap: 0 0.05rem;
}


.s1_tit div h3 b {
  display: inline-block;
  color: #845943;
  position: relative;
  font-size: 0.64rem;
  z-index: 2;
  font-family: lixukexingshu;
  height: 1.1rem;
  font-weight: normal;
  background: url(../images/tit1.png) no-repeat;
  width: 1.2rem;
  text-align: center;
  line-height: 1.1rem;
}

.s1_tit div h3 span {
  display: inline-block;
  color: #845943;
  font-weight: normal;
  position: relative;
  z-index: 2;
  font-family: 'SourceHanSerifCNbold';
  font-size: 0.36rem;
  letter-spacing: 0;
}

.s1_tit a {
  position: absolute;
  right: 0;
  font-size: 0.18rem;
  color: #845943;
  top: 50%;
  transition: all 0.5s;
  background: url(../images/more.png) no-repeat center;
  width: 1.3rem;
  height: 0.4rem;
  text-align: center;
  line-height: 0.4rem;
  font-family: 'SourceHanSerifCNbold';
  transform: translateY(-50%);
}

.s1_tit a:hover {
  color: #6d2d2d;
  margin-right: 0.05rem;
}

.s1_tit a img {
  margin-left: 0.1rem;
}

.s1-left .s1_tit {
  margin-right: 0.47rem;
}

.s1_c {
  width: 100%;
  height: auto;
  /* overflow: hidden; */
}

.home1 .s1_l {
  width: 100%;
  position: relative;
  z-index: 2;
}

.home1 .s1_l .s1_llist1 {}

.home1 .s1_l .s1_llist1>ul {
  position: relative;
}

.home1 .s1_l .s1_llist1 li {
  padding: 0 0 0.1rem 0.1rem;
}

.home1 .s1_l .s1_llist1 li .moduleinfo {
  display: flex;
  padding: 0.23rem 0.4rem 0.24rem;
  flex-direction: column;
  width: calc(100% - 0.8rem);
  background: #fff;
  box-shadow: 0px 0px 9px 0px rgba(132, 89, 67, 0.2);
}

.home1 .s1_l .s1_llist1 li .moduleinfo .moduleDate {
  float: left;
  color: #845943;
  font-size: 0.18rem;
  line-height: 0.2rem;
  margin-bottom: 0.05rem;
}

.home1 .s1_l .s1_llist1 li .moduleinfo .moduleDate span {
  display: block;
  font-size: 0.36rem;
  line-height: 0.52rem;
  color: #6D2D2D;
  font-family: 'SourceHanSerifCN';
}

.home1 .s1_l .s1_llist1 li .moduleinfo .moduleDate p {
  font-size: 0.18rem;
  color: #fff;
  font-family: 'SourceHanSerifCN';
  margin-top: 0.06rem;
  padding: 0.03rem 0.1rem;
  background: #00324B;
  border-radius: 0.3rem;
  line-height: 0.2rem;
  margin-bottom: 0.1rem;
}

.home1 .s1_l .s1_llist1 li .moduleinfo h3 {
  font-size: 0.2rem;
  font-weight: 500;
  line-height: 0.32rem;
  text-transform: uppercase;
  letter-spacing: normal;
  color: #333333;
  margin-bottom: 0.08rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  flex: 1;
}

.home1 .s1_l .s1_llist1 li .moduleinfo p {
  font-size: 0.16rem;
  font-weight: normal;
  line-height: 0.24rem;
  text-align: justify;
  /* 浏览器可能不支持 */
  text-transform: uppercase;
  letter-spacing: normal;
  color: #959595;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.home1 .s1_l .s1_llist1 ul li a {
  display: block;
}

.home1 .s1_l .s1_llist1 ul li a .modulepic {
  padding-top: 55.5%;
}

.home1 .s1_l .s1_llist1 ul .slick-prev {
  width: 0.8rem;
  height: 0.8rem;
  background: url(../images/s1_prev.png) no-repeat #DBCFAA center;
  background-size: 0.24rem;
  left: auto;
  right: 0;
  top: auto;
  bottom: 0.9rem;
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.home1 .s1_l .s1_llist1 ul .slick-next {
  width: 0.8rem;
  height: 0.8rem;
  background: url(../images/s1_next.png) no-repeat #845943 center;
  background-size: 0.24rem;
  left: auto;
  top: auto;
  right: 0;
  bottom: 0.1rem;
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
  border-radius: 0;
}

.home1 .s1_l .s1_llist1 ul .slick-dots {
  left: 0.17rem;
  top: 0.23rem;
  transform: none;
  position: absolute;
  right: auto;
  width: 0.83rem;
}

.home1 .s1_l .s1_llist1 ul .slick-dots li {
  width: auto;
  height: auto;
  display: block;
  margin: 0;
}

.home1 .s1_l .s1_llist1 ul .slick-dots li button {
  position: relative;
}

.home1 .s1_l .s1_llist1 ul .slick-dots li div span {
  display: block;
  font-size: 0.22rem;
  font-weight: normal;
  line-height: 0.42rem;
  text-align: left;
  font-family: beaus;
  color: #9E9E9E;
  margin: 0.29rem 0;
}

.home1 .s1_l .s1_llist1 ul .slick-dots li div b {
  position: absolute;
  right: 0;
  display: block;
  transition: all 0.5s;
  width: 0;
  width: 0.34rem;
  top: 50%;
}

.home1 .s1_l .s1_llist1 ul .slick-dots li div b::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  border-bottom: 0.03rem solid #131478;
  width: 0;
  transition: all 0.5s;
}

.home1 .s1_l .s1_llist1 ul .slick-dots li.slick-active div span {
  color: #131478;
}

.home1 .s1_l .s1_llist1 ul .slick-dots li.slick-active div b::before {
  width: 0.34rem;
}

.home1 .s1_r {
  width: 30.34%;
  float: right;
  z-index: 1;
  position: relative;
}

.home1 .s1_r ul {}

.home1 .s1_r ul li {
  padding-left: 0.33rem;
  position: relative;
}

.home1 .s1_r ul li a {
  display: flex;
  padding: 0.19rem 0;
  width: 100%;
  height: auto;
  overflow: hidden;
  flex-direction: column;
}

.home1 .s1_r ul li:nth-child(1) a {

  padding-top: 0;
}


.home1 .s1_r ul li a .moduleText {
  overflow: hidden;
}

.home1 .s1_r ul li a .moduleText h3 {
  font-size: 0.18rem;
  line-height: 0.24rem;
  color: #212121;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-family: SourceHanSansCN;
  height: 0.5rem;
  margin-bottom: 0.15rem;
  position: relative;
}

.home1 .s1_r ul li .date {
  font-family: 'SourceHanSerifCN';
  font-size: 0.16rem;
  font-weight: normal;
  line-height: normal;
  letter-spacing: normal;
  color: #6D2D2D;
  display: flex;
  align-items: center;
  width: 1.2rem;
}

.home1 .s1_r ul li .date::before {
  width: calc(100% - 1.2rem);
  position: absolute;
  content: "";
  height: 0.006rem;
  right: 0;
  background: #D8D8D8;
  transition: all 0.5s;
}

.home1 .s1_r ul li .date::after {
  width: 1rem;
  position: absolute;
  content: "";
  height: 0.006rem;
  left: 1.2rem;
  background: #6D2D2D;
  transition: all 0.5s;
}

.home1 .s1_r ul li a .moduleText p {
  overflow: hidden;
  color: #9E9E9E;
  font-size: 0.14rem;
  line-height: 0.26rem;
  height: 0.52rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 0.05rem;
}

.home1 .s1_r ul li:hover a .moduleText h3 {
  color: #6D2D2D
}

.home1 .s1_r ul li:hover::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 0;
  width: 0.92rem;
  bottom: -0.01rem;
 
  background-position: right center;
  background-size: 100% 100%;
  z-index: 9;
}

.s1r_list {}

.s1r_list .first_item .modulepics {
  width: 3.1rem;
  position: relative;
}

.s1r_list .first_item .modulepics::after {
  position: absolute;
  content: "";
  background: rgba(132, 89, 67, 0.2);
  right: -0.15rem;
  top: 0.15rem;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.s1r_list .first_item .modulepic {
  padding-top: 58%;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.s1r_list .first_item a {
  display: flex;
}

.s1r_list .first_item .info {
  width: calc(100% - 3.1rem - 0.3rem);
  float: left;
  margin-right: 0.3rem;
}

.s1r_list .first_item .info h3 {
  font-size: 0.18rem;
  line-height: 0.32rem;
  color: #333333;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-family: 'SourceHanSansCN';
  height: 0.58rem;
  margin-bottom: 0.15rem;
  position: relative;
  margin-top: 0.14rem;
  text-align: justify;
}


.s1r_list .first_item .info p {
  font-size: 0.16rem;
  line-height: 0.24rem;
  text-align: justify;
  /* 浏览器可能不支持 */
  color: #959595;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.s1r_list .first_item .info .date {
  display: flex;
  align-items: baseline;
  gap: 0.1rem;
}

.s1r_list .first_item:hover .info h3 {
  color: #845943;
  font-weight:700;
}

.s1r_list .first_item .info span:first-child {
  color: #845943;
  font-family: Adamas;
  font-size: 0.26rem;
}

.s1r_list .first_item .info span {
  font-size: 0.16rem;
  font-weight: normal;
  line-height: normal;
  letter-spacing: normal;
  color: #959595;
  font-family: Adamas;
}

.s1r_list ul {
  padding: 0.24rem 0 0.2rem;
  margin-top: 0.24rem;
  position: relative;
}

.s1r_list ul li {
  display: flex;
  position: relative;
  width: 100%;
  margin-bottom: 0.2rem;
}

.s1r_list ul li a {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.s1r_list ul li:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.01rem;
  background: #D4D4D4;
  bottom: 0;
}

.s1r_list ul li h3 {
  font-size: 0.18rem;
  line-height: 0.4rem;
  color: #333333;
  margin-bottom: 0.29rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: 'SourceHanSansCN';
}

.s1r_list ul li:hover h3 {
  color: #835842;
  font-weight: 700;
}

.s1r_list ul li span {
  color: #845943;
  font-size: 0.18rem;
}


.home2 {
  width: 100%;
  background: url(../images/bg2.png) no-repeat center top;
  background-size: 100%;
  height: auto;
  overflow: hidden;
  padding: 0.5rem 0;
}

.s2_wid {
  width: 16rem;
  margin: 0 auto;
}

.s2_c {
  display: flex;
  justify-content: space-between;
}

/* 左侧通知公告 */
.s2_l {
  width: 47.5%;
}

.tz-list {
  list-style: none;
  margin-top: 0.15rem;
}

.tz-list li {
  border-radius: 0.1rem;
  margin-bottom: 0.25rem;
  transition: background 0.3s;
  background: url(../images/tz_li_bg.png) no-repeat;
  background-size: 100% 100%;
}

.tz-list li a {
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  padding: 0.28rem 0.24rem;
  text-decoration: none;
  overflow: hidden;
}

.tz-date {
  font-size: 0.18rem;
  color: #845943;
  min-width: 1.2rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 1.2rem;
  flex: 0 0 1.2rem;
}

.tz-tit {
  font-size: 0.18rem;
  color: #333;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
}

.tz-list li:hover .tz-tit {
  color: #835842;
  font-weight: 700;
}

/* 右侧开放时间 */
.s2_r {
  width: 47.5%;
}

.kf-content {
  margin-top: 0.15rem;
}

.kf-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.kf-period {
  font-size: 0.36rem;
  font-weight: bold;
  color: #845943;
  line-height: 0.52rem;
  font-family: 'SourceHanSerifCNbold';
}

.kf-note {
  font-size: 0.24rem;
  color: #333333;
  margin-top: 0.28rem;
  font-family: 'SourceHanSerifCNbold';
}

.kf-banner {
  display: block;
  margin-top: 0.63rem;
}

.kf-banner .pic {

  width: 100%;

  padding-top: 42.1%;
}

.kf-banner img {
  width: 100%;
  height: auto;
  display: block;
}

.home3 {
  width: 100%;
  background: url(../images/bg3.png) no-repeat center top;
  background-size: 100%;
  height: auto;
  overflow: hidden;
  padding: 0.5rem 0;
}

.s3_wid {
  width: 16rem;
  margin: 0 auto;
}

.s3_c {}

.s3_c .swiper-slide {
  width: 48.1875%;
}

.s3_c ul li a {
  display: block;
  position: relative;
 
}
.s3_c .swiper-slide-active a {
   padding-bottom: 0.2rem;
}
.s3_c ul li a::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.56rem;
  height: 0.56rem;
  background: url(../images/bf_btn.png) no-repeat center center / 100% 100%;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
}

.s3_c .swiper-slide-active a .pic::after {
  content: '';
  position: absolute;
  opacity: 0.5;
  background: linear-gradient(0deg, #000000 0%, #00000000 100%);
  width: 100%;
  height: 1.67rem;
  z-index: 1;
  left: 0;
  top: auto;
  bottom: 0;
  transform: none;
}

.s3_c ul li.swiper-slide-active a::after {
  opacity: 1;
  visibility: visible;
}

.s3_c ul li a .pic {
  padding-top: 67.48%;
}

.s3_c ul li a h3 {
  font-size: 0.2rem;
  font-weight: normal;
  line-height: 0.24rem;
  text-align: center;
  letter-spacing: normal;
  color: #FFFFFF;
  position: absolute;
  bottom: 0.4rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  opacity: 0;
}

.s3_c .swiper-slide-active h3 {
  opacity: 1;
}

.s3_c .swiper-button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0.5rem;
}

.s3_c .swiper-button .swiper-button-prev,
.s3_c .swiper-button .swiper-button-next {
  position: static;
  margin-top: 0;
  width: 0.4rem;
  height: 0.4rem;
  border: 1px solid #845943;
  border-radius: 50%;
  background-position: center center;
  background-size: 0.1rem auto;
  background-repeat: no-repeat;
  transition: all 0.5s;
}

.s3_c .swiper-button-prev {
  background-image: url(../images/s3_prev.png);
}



.s3_c .swiper-button-next {
  background-image: url(../images/s3_next.png);
}

.s3_c .swiper-button-prev::after,
.s3_c .swiper-button-next::after {
  display: none;
}

.s3_c .swiper-slide {
  clip-path: polygon(0 100%, 0 0, 100% 8%, 100% 92%);
  position: relative;
}



.s3_c .swiper-slide-active {
  clip-path: none;
}

.s3_c .swiper-slide-active a::before{
  position:absolute;
  content:"";
  width:90%;
  height: 0.2rem;
  border-radius: 0 0 0.2rem 0.2rem;
  background: rgba(132, 89, 67, 0.2);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  bottom: 0;
}

.s3_c .swiper-slide-active+.swiper-slide,
.s3_c .swiper-slide-active+.swiper-slide+.swiper-slide {
  clip-path: polygon(0 92%, 0% 8%, 100% 0%, 100% 100%);
}

.s3_c .swiper-progress {
  display: flex;
  align-items: center;
  margin: 0 0.1rem;
  flex: 1;
  max-width: 3.4rem;
}

.s3_c .swiper-num {
  font-size: 0.2rem;
  font-weight: bold;
  color: #845943;
  font-style: normal;
  white-space: nowrap;
  min-width: 0.3rem;
  text-align: center;
  font-family: 'SourceHanSerifCN';
}

.s3_c .swiper-bar {
  flex: 1;
  height: 0.01rem;
  background: #ccc;
  margin: 0 0.15rem;
  position: relative;
  /* overflow: hidden; */
}

.s3_c .swiper-bar-fill {
  position: absolute;
  left: 0;
  top: -0.01rem;
  height: 0.03rem;
  width: 40%;
  background: #835842;
  transition: width 0.6s ease;
}

.home4 {
  width: 100%;
  background: url(../images/bg4.png) no-repeat center top;
  background-size: 100%;
  height: auto;
  overflow: hidden;
  padding: 0.5rem 0;
}

.s4_wid {
  width: 16rem;
  margin: 0 auto;
}

.s4_c {}

/* ===== 历史沿革时间轴 ===== */
.timeline-wrap {
  position: relative;
}

.timeline-scroll {
  /* overflow: hidden; */
  padding: 0.4rem 0;
}

.timeline-track {
  position: relative;
  width: 100%;
  /* 上下预留卡片空间 */
  padding: .5rem 0 2.6rem;
}

/* 定位层：与折线图片同尺寸（图片撑开高度），固定不动 */
.qx-stage {
  position: relative;
  width: 100%;
  font-size: 0;
}

.qx-line {
  display: block;
  width: 100%;
  height: auto;
  z-index: 0;
  pointer-events: none;
  border: 0;
}

/* 固定圆点层 */
.tl-dots {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
    display: none;
}

/* 圆点：虚线圆环 + 实心圆心（固定在折线拐点，不移动） */
.tl-dot {
  position: absolute;
  width: 0.25rem;
  height: 0.25rem;
  border: 1px dashed #845943;
  border-radius: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.tl-dot::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.11rem;
  height: 0.11rem;
  margin: -0.055rem 0 0 -0.055rem;
  border-radius: 50%;
  background: #845943;
}

/* ===== 卡片定位在折线拐点上，整体平移切换 ===== */
.tl-cards {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
  /* 内容裁剪线：左右以箭头内侧为界（左箭头 0.79+0.57=1.36rem，右箭头 1.2+0.57=1.77rem），
     切换时卡片滑到箭头处即被裁掉，不会越过箭头；上下方向不裁剪（上下方卡片可超出折线区） */
  -webkit-clip-path: polygon(1.45rem -20rem, calc(100% - 1.7rem) -20rem, calc(100% - 1.7rem) 20rem, 1.45rem 20rem);
  clip-path: polygon(1.45rem -20rem, calc(100% - 1.7rem) -20rem, calc(100% - 1.7rem) 20rem, 1.45rem 20rem);
}

/* 单张卡片锚点（圆点位置）：JS 设置 left/top，相邻槽位切换时左右平滑过渡 */
.tl-move {
  position: absolute;
  width: 0;
  height: 0;
  z-index: 3;
  -webkit-transition: left 0.6s ease, top 0.6s ease;
  transition: left 0.6s ease, top 0.6s ease;
  pointer-events: auto;
}

/* 首尾循环瞬移：无动画 */
.tl-move.no-anim {
  -webkit-transition: none;
  transition: none;
}

/* 卡片容器：水平居中于锚点 */
.timeline-card {
  position: absolute;
  left: 0;
  /* -webkit-transform: translateX(-50%); */
  /* transform: translateX(-50%); */
  width: 2.6rem;
  margin-left: -0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  /* align-items: center; */
  /* text-align: center; */
}

/* 下方槽位：卡片在圆点下方（年份靠圆点、标题、图片依次往下） */
.tl-move.is-bottom .timeline-card {
  top: 0.18rem;
}

/* 上方槽位：卡片在圆点上方（图片、标题、年份依次到圆点） */
.tl-move.is-top .timeline-card {
  bottom: 0.18rem;
}

/* 下方顺序：年份-标题-图片 */
.is-bottom .tl-year {
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 0;
  order: 0;
}

.is-bottom .tl-title {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.is-bottom .tl-img {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

/* 上方顺序：图片-标题-年份 */
.is-top .tl-img {
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 0;
  order: 0;
}

.is-top .tl-title {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
/* 克隆节点只保留位置衔接，不显示文字 */
.tl-move.is-clone .tl-title,
.tl-move.is-clone .tl-year,
.tl-move.is-clone.is-duplicate {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.is-top .tl-year {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

/* 年份：紧靠圆点，加粗红棕 */
.tl-year {
  font-size: 0.28rem;
  font-weight: bold;
  color: #845943;
  line-height: 1.2;
  white-space: nowrap;
}

.is-top .tl-year {
  margin-top: 0.06rem;
}

.is-bottom .tl-year {
  margin-bottom: 0.06rem;
}

/* 标题：小一号，紧凑 */
.tl-title {
  font-size: 0.18rem;
  color: #333;
  line-height: 0.3rem;
  max-width: 2.5rem;
}

.tl-title.underline {
  color: #845943;
  text-decoration: underline;
}

/* 图片 */
.tl-img:hover {
  padding: 0.04rem;
  border-radius: 0.08rem;
  background: rgba(255, 255, 255, 0.6);
}

.is-bottom .tl-img {
  margin-top: 0.22rem;
  transition: all 0.5s;
  width: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.is-top .tl-img {
  margin-bottom: 0.22rem;
  max-width: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s;
  border-radius: 0.06rem;
}

.tl-img img {
width: 2.4rem;
    max-height: 2.3rem;
    display: inline-block;
    border-radius: 0.06rem;
    object-fit: contain;
}

/* 悬浮态 */
.tl-move:hover .tl-title {
  text-decoration: underline;
  color: #845943;
  font-weight: bold;
}


.timeline-card:hover .tl-img {
    width: 2.5rem;
  background: hsl(0deg 0% 100% / 30%);
  -webkit-box-shadow: 0 0 0.05rem #ddd;
  box-shadow: 0 0 0.05rem #ddd;
  border-radius: 0.1rem;
  margin: 0.22rem -0.05rem ;
}

/* 左右箭头（图片自带虚线圈+实心圆） */
.timeline-arrow {
  position: absolute;
  top: 50%;
  width: 0.57rem;
  height: 0.57rem;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.timeline-arrow img {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.timeline-prev {
  left: 0.79rem;
}

.timeline-next {
  right: 1.2rem;
}



.side .wl {
  position: relative;
  z-index: 1;
}

.side .wl::after {
  content: "";
  z-index: -1;
  position: absolute;
  left: 0px;
  bottom: 0px;
  height: 100%;
}


.side .rightFix {
  position: fixed;
  right: 0rem;
  top: 56%;
  transform: translateY(-50%);
  z-index: 9999;
  display: none;
  background: url(../images/sidebg.png) no-repeat;
  background-size: 100% 100% !important;
  padding: 0.5rem 0.15rem 0.2rem;
}

.side .rightFix::after {
  width: 1rem;
  height: 1rem;
  background: url(../images/side_logo.png) no-repeat;
  background-size: 100% !important;
  left: 50%;
  transform: translateX(-50%);
  top: -0.5rem;
}

.side .rightFix li {
  width: 0.7rem;
  color: #fff;
  text-align: center;
  font-size: 0.14rem;
  transition: .3s;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
}

.side .rightFix li a {
  display: block;
  padding: 15px 0;
}

.side .rightFix a span {
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  margin: 0 auto;
}

.side .rightFix li p {
  transition: 0.5s;
  line-height: 1.5;
  padding: 0 .05rem;
  color: #fff;
  line-height: 34px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.side .rightFix li.totop {
  cursor: pointer;
}

.side .rightFix li.totop p {
  font-size: 14px;
}

.side .rightFix li:last-child,
.side .rightFix li:nth-last-child(2) {
  border: none !important;
}

@media(min-width: 1200px) {
  .side .rightFix li:hover img {
    transform: rotateY(360deg);
    transition: 0.5s;
  }
}

@media(max-width: 1200px) {
  .rightFix {
    display: none !important;
  }

}





#side .chg_01_png_bg::after {

}

#side .chg_17_png_bg {
  background: url(../images/sidebg.png) no-repeat;
}

#side .chg_03 {
  color: #fff;
}