.banner_box {
	position:relative;
}
.banner_box .swiper-slide {
	position:relative;
	max-height:100vh;
	overflow:hidden;
}
.banner_box .swiper-slide a {
	display:block;
	position:relative;
	width:100%;
	max-height:100vh;
	overflow:hidden;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-align-items:center;
	align-items:center;
}
.banner_box .swiper-slide a>img {
	display:block;
	width:100%;
	min-height:100%;
}
.banner_box .swiper-slide a .banner_txt {
	position:absolute;
	top:0;
	right:0;
	margin-top:-150px;
	margin-right:-230px;
	z-index:5;
	width:1200px;
	height:100%;
	color:#fff;
	/* display:-webkit-box; */
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
}
.banner_box .swiper-slide a .banner_txt img {
	display:block;
	max-height:80%;
	max-width:100%;
}
.banner_box .zygm-pagination.swiper-pagination {
	bottom:25px;
	position:absolute;
}
.zygm-pagination.swiper-pagination {
	position:static;
	width:100%;
	text-align:center;
}
.zygm-pagination .swiper-pagination-bullet {
	width:30px;
	height:6px;
	border:solid 1px #ceb37f;
	border-radius:200px;
	opacity:1;
	background:none;
	margin:0 5px;
}
.zygm-pagination .swiper-pagination-bullet-active {
	background:#ceb37f;
}
.banner_box .swiper-button-white {
	width:60px;
	height:60px;
	border:solid 1px rgba(255, 255, 255, .5);
	border-radius:50%;
	opacity:0;
 transition:all .35s;
}
.banner_box:hover .swiper-button-white {
	opacity:1;
	transform:translateX(0);
}
.banner_box .swiper-button-white:hover {
	border-color:var(--curColor);
	color:var(--curColor);
}
.banner_box .swiper-button-white:after {
	font-size:26px;
	transition:all 0s;
}
.banner_box .swiper-button-prev {
	left:3vw;
	transform:translateX(-10vw);
}
.banner_box .swiper-button-next {
	right:3vw;
	transform:translateX(10vw);
}
.banner_box .banner_ops {
	position:absolute;
	width:100%;
	z-index:5;
	bottom:30px;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
}
.banner_box .banner_mouse {
	position:absolute;
	color:#fff;
	bottom:100px;
	left:50%;
	margin-left:-25px;
	z-index:85;
	width:50px;
	text-align:center;
	cursor:pointer;
	display:none;
}
.banner_box .banner_mouse .iconfont {
	display:inline-block;
	font-size:30px;
	-webkit-animation: start 2s infinite ease-in-out;
	-moz-animation: start 2s infinite ease-in-out;
	-o-animation: start 2s infinite ease-in-out;
	animation: start 2s infinite ease-in-out;
}
@-webkit-keyframes start {
 0%, 30% {
opacity: 0;
-webkit-transform: translate(0, -20px);
}
 60% {
opacity: 1;
-webkit-transform: translate(0, 0);
}
 100% {
opacity: 0;
-webkit-transform: translate(0, 20px);
}
}
@-moz-keyframes start {
 0%, 30% {
opacity: 0;
-moz-transform: translate(0, -20px);
}
 60% {
opacity: 1;
-moz-transform: translate(0, 0);
}
 100% {
opacity: 0;
-moz-transform: translate(0, 20px);
}
}
@-o-keyframes start {
 0%, 30% {
opacity:0;
-o-transform:translate(0, -20px);
}
 60% {
opacity:1;
-o-transform:translate(0, 0);
}
 100% {
opacity:0;
-o-transform:translate(0, 20px);
}
}
@keyframes start {
 0%, 30% {
opacity: 0;
transform: translate(0, -20px);
}
 60% {
opacity: 1;
transform: translate(0, 0);
}
 100% {
opacity: 0;
transform: translate(0, 20px);
}
}

#kmyCarousel{
    -webkit-animation: gfadeIn 1s 0.4s both;
    -moz-animation: gfadeIn 1s 0.4s both;
    animation: gfadeIn 1s 0.4s both;
}

#kmyCarousel .carousel-inner .active.left, #kmyCarousel .carousel-inner .active.right{
    -webkit-transition: all .5s ease-in;
    -moz-transition: all .5s ease-in;
    -ms-transition: all .5s ease-in;
    -o-transition: all .5s ease-in;
    transition: all .5s ease-in;
}

.carousel-fade .carousel-inner .item {
   /* transition-property: opacity;*/
    opacity: 0;
            transition: opacity 1s ease;
}
.carousel-fade .carousel-inner .item,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
    opacity: 0;
}
.carousel-fade .carousel-inner .active,
.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
    opacity: 1;
}
.zoom-img {
    transform: scale(1.12);
    transition: transform 5s ease-in-out;
}
.carousel-inner .active .zoom-img {
    transform: scale(1);
}
.text-slide-up {
  /*  transform: translateY(50px);
    opacity: 0;
    transition: all 1s ease 0.5s;*/
	
	 opacity: 0;
            transform: translateY(50px);
            animation: slideUp 0.8s forwards 0.3s;
}
.banner-content {
            opacity: 0;
            animation: fadeIn 0.8s forwards 0.5s;
        }
        
        .banner-desc {
            opacity: 0;
            animation: fadeIn 0.8s forwards 0.7s;
        }
.carousel-inner .active .text-slide-up {
    transform: translateY(0);
    opacity: 1;
}

.carousel-inner > .active,
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
    display: block;
    opacity: 1;
}
.carousel-inner > .next,
.carousel-inner > .prev,
.carousel-inner > .active.left,
.carousel-inner > .active.right {
    display: block;
    opacity: 0;
}
.carousel-fade .carousel-control {
    z-index: 2;
}
.module_banner{
    padding-top: 140px;
    position: relative;
    width: 100%;
	z-index:800;
}
@keyframes slideUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        @keyframes fadeIn {
            to { opacity: 1; }
        }
		
.flip_front{-webkit-animation:flipOutX 0.4s linear both; -moz-animation:flipOutX 0.4s linear both; animation:flipOutX 0.4s linear both;}
@-webkit-keyframes flipOutX{
    0%{-webkit-transform:perspective(800px) rotateX(0deg) scale(1);}
    100%{-webkit-transform:perspective(800px) rotateX(-90deg) scale(0.86);}
}
@-moz-keyframes flipOutX{
    0%{-moz-transform:perspective(800px) rotateX(0deg) scale(1)}
    100%{-moz-transform:perspective(800px) rotateX(-90deg) scale(0.86)}
}
@keyframes flipOutX{
    0%{transform:perspective(800px) rotateX(0deg) scale(1);}
    100%{transform:perspective(800px) rotateX(-90deg) scale(0.86);}
}

.flip_back{-webkit-animation:flipInX 0.8s ease both; -moz-animation:flipInX 0.8s ease both; animation:flipInX 0.8s ease both;}
@-webkit-keyframes flipInX{
    0%{-webkit-transform:perspective(800px) rotateX(90deg) scale(0.86);}
    40%{-webkit-transform:perspective(800px) rotateX(-10deg);}
    70%{-webkit-transform:perspective(800px) rotateX(10deg);}
    100%{-webkit-transform:perspective(800px) rotateX(0deg) scale(1);}
}
@-moz-keyframes flipInX{
    0%{-moz-transform:perspective(800px) rotateX(90deg) scale(0.86);}
    40%{-moz-transform:perspective(800px) rotateX(-10deg);}
    70%{-moz-transform:perspective(800px) rotateX(10deg);}
    100%{-moz-transform:perspective(800px) rotateX(0deg) scale(1);}
}
@keyframes flipInX{
    0%{transform:perspective(800px) rotateX(90deg) scale(0.86);}
    40%{transform:perspective(800px) rotateX(-10deg);}
    70%{transform:perspective(800px) rotateX(10deg);}
    100%{transform:perspective(800px) rotateX(0deg) scale(1);}
}

.bannerin { width: 100%;min-height:535px; position: relative; margin:0 auto; text-align:center; overflow:hidden;}
.bannerin img{ max-width: 100%; width:100vw; text-align:center; transition: transform 0.9s ease-in-out;
  transform-origin: center center;}
.bannerin:hover img{
  transform: scale(1.02);
}
.bannerin .floatcontent{ width:1200px; margin:0 auto; height:100%; position:absolute;top: 0;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2;
            display: flex;
            flex-direction: column;
            padding: 60px 0 40px;}
.floatcontent img{width:auto; height:auto;}

.floatcontent > div {
            margin-bottom: 20px;
            display: flex;
            align-items: flex-start;
        }
                
        .floatcontent > div:first-child {
           position: relative;  color:var(--light-blue); font-size:12px; 
        }
        
        .floatcontent > div:nth-child(2) {
            margin-bottom: 60px;
        }
        
       .floatcontent > div:nth-child(2) img {
            width: 470px;
            height: auto;
            max-width: 100%;
        }
        
        .floatcontent > div:nth-child(3) {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            width: 40%;
        }
        
        .floatcontent > div:nth-child(3) img {
            width: 7px;
            height: 7px;
			margin-top:5px;
        }
        
        .floatcontent > div:nth-child(3) p {
            font-size: 16px;
            color: #333;
            text-align: left;
            flex: 1;
        }
        
        .floatcontent > div:nth-child(4) {
            position: absolute;
            left: 340px;
            top: 170px;
        }
        
        .floatcontent > div:nth-child(4) img {
            width: 130px;
            /* height: 65px; */
        }
				
.content-list {
  list-style: none;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

/* 列表项 */
.content-item {
  display: flex;
  padding:40px 0;
}
.acontent-item {
  display: flex;
  gap: 40px;
  padding:40px 0;
}
.bcontent-item {
  flex: 1;
}
.bcontent-item{
  width: 100%;
  position: relative;
  padding:100px 0;
}
.bcontent-item .lnjk{ text-align:center; display:flex;gap: 10px; align-items: center;justify-content: center}
.bcontent-item i{ font-size:35px; font-weight:bold; color:#014099;  line-height:1;}
.bcontent-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: #F9F9F9;
  z-index: -1;
}
/* 交替背景色 */
.content-item:nth-child(even),.acontent-item:nth-child(even) {
  background: #fff;
  width: 100%;
  position: relative;
  padding:40px 0;
}

.content-item:nth-child(even)::before,.acontent-item:nth-child(even)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: #fff;
  z-index: -1;
}

/* 文字区块 */
.text-content {
  flex: 1;
  padding: 10px 35px;
  display: flex;
  flex-direction: column;
  background:#F9F9F9;
}
.text-content h2 {
  font-size: 26px;
  color: #023894;
  position: relative;
  padding-left: 0;
  font-weight: bold;
  margin: 2em 0;
}
.text-content span {
  display: block;
  color: #000;
  font-size: 20px;
   font-weight: bold;
  margin-bottom: 1em;
  margin-left:-10px;
}
.text-content p {
  font-size: 14px;
  color: #5C5C5C;
  line-height: 26px;
}

/* 图片区块 */
.image-content {
  flex: 1;
  min-width: 0;
  overflow:hidden;
}
.image-content img {
  width: 100%;
  height: auto;
  display: block; 
    overflow: hidden;
transition: transform 0.6s ease-in-out;
  transform-origin: center center;
}
 .image-content:hover img {
  transform: scale(1.02);
}
/* 交替布局 */
.content-item:nth-child(even) .text-content,.acontent-item:nth-child(even) .text-content {
  order: 2;
}
.content-item:nth-child(even) .image-content,.acontent-item:nth-child(even) .image-content {
  order: 1;
}


.cfs i{ font-size:30px; font-weight:bold; color:#014099; padding-right:10px; }
.cfs p:nth-child(1){color:#000;font-size:20px; font-weight:bold; line-height:45px; }
.cfs p:nth-child(2){color:#000; font-size:16px;font-weight:lighter; text-decoration:underline; text-indent:20px;}


.nshow{ padding-bottom:30px;}
.nshow .t { text-align:center;font-weight:bold;font-size:26px; line-height: 35px;padding:30px 0 20px 0; color:#666;}
.nshow .c h3 {font-size:20px; line-height: 28px;font-weight:normal;padding:1px 5px; display: inline-block;margin:10px 0}
.nshow .c p {line-height: 28px;}
.nshow .prenext{ padding:10px;}



 .map-container {
            max-width: 1280px;
            margin: 0 auto;
            position: relative;
            overflow: hidden;
        }
        
        .map-image {
            width: 100%;
            height: auto;
            display: block;
        }
        
        .mapmarker {
            position: absolute;
            width: 28px;
            height: 40px;
            left: 46%;
            top: 31%;
            transform: translate(-50%, -50%);
            cursor: pointer;
            z-index: 10;
            animation: bounce 1.5s infinite ease-in-out;
        }
        
        .mapmarker img {
            width: 100%;
            height: auto;
        }
        
       .mappopup {
            position: absolute;
            width: 240px;
            /* background: white; */
            /* border-radius: 8px; */
            /* padding: 15px; */
            /* box-shadow: 0 4px 12px rgba(0,0,0,0.15); */
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            z-index: 20;
        }
        
        
        .mapmarker:hover + .mappopup {
            opacity: 1;
            visibility: visible;
        }
        
        .mappopup img {
            width: 100%;
            height: auto;
            border-radius: 4px;
            margin-bottom: 10px;
        }
        
        
        @keyframes bounce {
            0%, 100% {
                transform: translate(-50%, -50%) translateY(0);
            }
            50% {
                transform: translate(-50%, -50%) translateY(-15px);
            }
        }
        
  
        .fzcontainer {
            max-width: 1100px;
            height: 740px;
            display: flex;
            border-radius: 12px;
            overflow: hidden;
        }
        
       
        .left-fixed {
            width: 120px;
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: #014099;
            position: relative;
        }
        .myear{ display:none;}
        .fixed-number {
            font-size: 100px;
            font-weight: bold;
           
        }
                
      
        .right-scrollable {
            flex: 1;
            height: 100%;
           overflow-y: auto;
          /*  scroll-snap-type: y mandatory;
            scroll-behavior: smooth;*/
        }
        
		
		 /* .right-scrollable::-webkit-scrollbar {
                display: none;
            }
            
            .right-scrollable {
                -ms-overflow-style: none;
                scrollbar-width: none;
            }*/
			
        .yearcontent-container {
            padding: 0;	 height: 100%;
		
        }
        
        .year-content-item {
            height: 740px;
            display: flex;
  scroll-snap-align: start;
                scroll-snap-stop: always;
        }
        
        .year-display {
            width: 180px;
            height: 100%;
            display: flex;
            flex-direction: column;
          /*  align-items: center;*/
            justify-content: center;
          /*  padding: 40px 20px;*/

        }
        
        .year-number {
            font-size: 100px;
            font-weight: bold;
            color: #014099;
			position:relative; display: flex;
                align-items: baseline;
           
        }
        
        .year-suffix {
            font-size: 20px;
            color: #cbd5e0;
        }
        
        .yearcontent-area {
            flex: 1;
            padding: 40px;
            display: flex;
            flex-direction: column;
        }
        
        .yearcontent-header {
            display: flex;
            justify-content: space-between;
            margin-bottom: 0px;
        }
        
        .yearcontent-title {
          color:var(--light-blue); font-size:12px; font-weight:bold;
        }
        
        .yearcontent-image {
            width: 723px;
            height: 464px;
            margin-bottom: 30px;
            border-radius: 8px;
            overflow: hidden;
        }
        
        .yearcontent-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        .yearcontent-text {
            flex: 1;
            background: #F9F9F9;
            padding: 25px;
            border-radius: 4px;
            color: #000;
			font-size:16px;
            line-height: 1.6;
        }
        .yearcontent-text span{ color:#2058a5; font-weight:bold; font-size:14px;}
       
	   
	    /* 吸附效果样式 */
            .snap-active .year-number {
                animation: snapGlow 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            }
            
            .snap-active .fixed-number {
                animation: fixedSnap 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            }
            
            @keyframes snapGlow {
                0% {
                    transform: translateX(0);
                    text-shadow: 0 0 0 rgba(1, 64, 153, 0);
                }
                50% {
                    transform: translateX(-5px);
                    text-shadow: 0 0 20px rgba(1, 64, 153, 0.4);
                }
                100% {
                    transform: translateX(0);
                    text-shadow: 0 0 0 rgba(1, 64, 153, 0);
                }
            }
            
            @keyframes fixedSnap {
                0% {
                    transform: scale(1);
                }
                50% {
                    transform: scale(1.05);
                }
                100% {
                    transform: scale(1);
                }
            }
            
            /* 连接线效果 */
            .magnetic-connection {
                position: absolute;
                width: 60px;
                height: 2px;
                background: linear-gradient(90deg, var(--primary-blue), var(--light-blue), var(--primary-blue));
                top: 50%;
                left: -70px;
                transform: translateY(-50%);
                border-radius: 1px;
                opacity: 0;
                transition: opacity 0.3s ease;
            }
            
            .snap-active .magnetic-connection {
                    opacity: 1;
                }
	   
	   
        ::-webkit-scrollbar {
            width: 8px;
        }
        

        ::-webkit-scrollbar-track {
            background: rgba(0, 0, 0, 0.05);
            border-radius: 4px;
        }
        
        ::-webkit-scrollbar-thumb {
            background: rgba(0, 0, 0, 0.2);
            border-radius: 4px;
        }
        
       
        .connector-line {
            position: absolute; font-size:10px; top:20px; right:20px;
        }
        
        .active-indicator {
		 font-size:36px; position: absolute; bottom:28px; right:35px;font-weight:normal
        }
		
		.page{text-align: center; width:70%;}
.page a{margin: 0 5px;display: inline-block;width: 40px;height: 40px;border: solid 1px #d9d9d9;line-height: 38px;text-align: center;font-size: 14px;color: #666;}
.page a.p-01{color: transparent;background: url('../images/a-01.png') no-repeat center center;}
.page a.p-01:hover{background: #2058a5 url('../images/a-11.png') no-repeat center center;color: transparent;}
.page a.p-02{color: transparent;background: url('../images/a-02.png') no-repeat center center;}
.page a.p-02:hover{background: #2058a5 url('../images/a-22.png') no-repeat center center;color: transparent;}
.page a:hover,.page a.active{color: #fff;border: 1px solid #2058a5;background-color: #2058a5;}
.page a:nth-child(1),
.page a:last-child{width: 60px;}

@media (max-width: 767px) {
.page{margin-top: 30px;}
.page a{font-size: 12px;width: 20px;height: 25px;line-height: 23px;margin: 0 3px;}
.page a:nth-child(1), .page a:last-child{width: 40px;}}