* {
    margin: 0;
    padding: 0;
    /* -webkit-tap-highlight-color: transparent; */
}

/* 预加载动画样式 */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('bg01.jpg');
    background-size: cover;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.preloader.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.preloader-content {
    text-align: center;
    color: #fff;
}

.preloader-spinner {
    width: 60px;
    height: 60px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: preloaderSpin 1s linear infinite;
    margin: 0 auto 20px auto;
}

@keyframes preloaderSpin {
    to {
        transform: rotate(360deg);
    }
}

.preloader-text {
    font-size: 18px;
    margin-bottom: 15px;
    font-weight: normal;
}

.preloader-progress {
    width: 200px;
    height: 4px;
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 2px;
    overflow: hidden;
    margin: 0 auto;
}

.preloader-progress-bar {
    height: 100%;
    width: 0%;
    background-color: #fff;
    border-radius: 2px;
    transition: width 0.3s ease;
}

html {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

body {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #555;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.flexBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
img{
    width: auto;
    max-width: 100%;
}
.swiper{
    width: 100%;
    height: 100%;
}
.main {
    height: 100%;
    width: auto;
    position: absolute;
    left: 0;
}

.main {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-items: center;
    justify-content: center;
}

.container {
    width: 100%;
    height: 100%;
    overflow: auto;
    white-space: nowrap; 
}

 .animated{
    display: none;
 }

.content {
    width: auto;
    height: 100%; 
}
 
div::-webkit-scrollbar {
    width: 12px;  
    height: 12px;  
}

div::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 10px;
}

div::-webkit-scrollbar-thumb {
    background: rgba(167,167,167,0.5);  
    border-radius: 10px;  
}

div::-webkit-scrollbar-thumb:hover {
    background: #555;  
}
.page{
    width: 100%;
    height: 100%;
     background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-image: url('bg01.jpg');
}
.page-content{
    width:auto;
    max-width: 1400px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    
}
.swiper-slide-active .animated{
    display: block;
}
/**page01**/
/* #page01,#page03{
    background-image: url('bg01.jpg');
   
} */
/* #page02{
    background-image: url('ft.jpg');} */
/* #page04{
background-image: url('fm04.jpg');
} */
.login-box{
    max-width: 54.3rem;
    display: block;
    text-align: center;   
}
.login-box>img{
    display: block;
    margin-bottom: 5.5rem; 
}
button{
      display: block;
    position: relative;   
    background: none;
    border: none;
    margin: 0 auto;
}
button:hover{
    cursor: pointer;
}
.login-box button{
  
    width: 57%;
    animation-delay: 1s;
}
.login-box button>img{
    width: auto;
    /* max-width: 31.3rem; */
}


 .hand {
    position: absolute;
    width: 52.7rem;
    height: auto;
    opacity: 0;
    pointer-events: none;
    z-index: 10;
    right: 0;
    left: 0;
    top: 0;
}

  .hand img {
    width: 100%;
    height: auto;
    display: block;
}
.background{
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: -1;
    top: 0;
    left: 0;
    opacity: 1;
    transition: opacity 0.3s ease;
    background-size: cover;
    background-position: center;
}

.background.background-hidden video {
    opacity: 0;
}

 .background video{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
 }

 .title{
    width: 57%;
    position: relative;
    margin: 0 auto;
 }
 .title>img{
    display: block;
    width: auto;
    max-width: 100%;
 }
.title .icon{
    position: absolute;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}
.icon01{
    width: 9.26%;
    top: 12%;
    left: 17.5%;
    animation-name: iconPulse;
    animation-delay: 0s;
}
.icon02{
    width: 6.5%;
    top: 74.5%;
    right: 2.5%;
    animation-name: iconFloat;
    animation-delay: 0.2s;
    animation-duration: 2.5s;
}
.icon03{
    width: 11.26%;
    bottom: 0;
    left: 15.4%;
    animation-name: iconScale;
    animation-delay: 0.4s;
    animation-duration: 2.2s;
}
.icon04{
    width: 6.38%;
    top: 2%;
    left: 36.6%;
    animation-name: iconBounce;
    animation-delay: 0.6s;
    animation-duration: 2.3s;
}
.icon05{
    width: 6.38%;
    top: 31%;
    left: 68%;
    animation-name: iconFade;
    animation-delay: 0.8s;
    animation-duration: 2.4s;
}
.icon06{
    width: 6.38%;
    top: 75.5%;
    left: 0;
    animation-name: iconRotate;
    animation-delay: 1s;
    animation-duration: 2.1s;
}
.icon07{
    width: 7.13%;
    top: 85%;
    right: 23.6%;
    animation-name: iconPulse;
    animation-delay: 1.2s;
    animation-duration: 2.5s;
}
.icon08{
    width: 26.66%;
    top: 10.6%;
    right: 2.6%;
    animation-name: iconFloat;
    animation-delay: 1.4s;
    animation-duration: 2.2s;
}
.icon09{
    width: 7.13%;
    left: 85.5%;
    top: 34%;
    animation-name: iconScale;
    animation-delay: 1.6s;
    animation-duration: 2.3s;
}
.icon10{
    width: 11.8%;
    top: 21.4%;
    left: 6.4%;
    animation-name: iconBounce;
    animation-delay: 1.8s;
    animation-duration: 2.4s;
}
.icon11{
    width:36.29%;
    bottom: 1.3%;
    left: 29.5%;
    /* animation-name: iconRotate;
    animation-delay: 2s;
    animation-duration: 2.1s; */
}
.bThand{
    width:100%;
    position: absolute;
    top:70%;
    left: 0% ;  
    text-align: center; 
     
    animation: bThandFloat 2s ease-in-out infinite; 
}
.bThand>img{
    width: auto;
    max-width: 153.9rem;
    margin: 0 auto;
}
.start{
    width: 17.8%;
    margin-top: 8%;
    margin-bottom: 15%;
    animation-name: iconScale;
    animation-delay: 0.4s;
    animation-duration: 2.2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}
.loadingBg{
    width: 68.2rem;
    height: 8.2rem;
    background-image: url('lodingBg01.png');
    background-size: 100% 100%;
    /* display: flex; */
    /* justify-content: center; */
    align-items: center;
    padding-top: 1.6rem;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
 }
.loadingText{
    width: 64.9rem;
    height: 4rem;
   
    margin: 0 auto;
    position: relative;
}
.loading-progress {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
     background-image: url('loadingBg02.png');
    background-size: auto 100%;
    background-position: left center;
    /* background: linear-gradient(90deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.3) 100%); */
    z-index: 1;
}
.loadingTice{
    width: 52.2rem;
    height:6.3rem;
    position: relative;
    overflow: hidden;  
    margin: 3rem auto 0 auto;
    background-image: url('loadingText.png');
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: left center;
}
.loadingTice-progress {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left:44.7rem;
    height: 2.1rem;
    width: 0%;
    background-image: url('sf.png');
    background-size: auto 100%;
    background-position: left center;
    animation: loadingTiceAnim 2s ease-in-out infinite;
}
@keyframes loadingTiceAnim {
    0% {
        width: 0;
    }
    100% {
        width: 7.5rem;
    }
}
.zhezhao{
    position: absolute;
    width:7.5rem;
    height: 2.1rem;
    left: 44.7rem;
    top: 50%;
    transform: translateY(-50%);
}
@keyframes iconPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0.8;
    }
    50% {
        transform: scale(1.05);
        opacity: 1;
    }
}

@keyframes iconFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

@keyframes iconScale {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.08);
    }
}

@keyframes iconBounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

@keyframes iconFade {
    0%, 100% {
        opacity: 0.7;
    }
    50% {
        opacity: 1;
    }
}

@keyframes iconRotate {
    0%, 100% {
        transform: rotate(0deg) scale(1);
    }
    50% {
        transform: rotate(5deg) scale(1.05);
    }
}



@keyframes bThandFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20px);
    }
}
@media (orientation: landscape) {
 
    .container {
        overflow-x: auto;
        overflow-y: hidden;
        flex-direction: row;
    }

    .content {
        height: 100%;
        width: auto;
    } 
   
}
/*page04*/
.page04 .swiper{
    height: auto;
}
.page04 .page-content>.flexBox{
      width: 100%;
      height: 100%;
      align-items: flex-end;
}
.page04 .leftBox,.page04 .rightBox{
    width:50%;
    /* height: 100%; */
    margin-bottom: 2%;
}
.page04 .leftBox .swiper-slide{
    display: flex;
    align-items: flex-end
}
.person{
    height:auto;
    width: 100%;
    height: 100%;
    position: relative;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
}
.person>img{
    max-width: 85vh;
    height: 85%;
    margin: 0 auto;
    display: block;
}
.person .qs{
    width: 36%;
    position: absolute;
    top: 15%;
    right: 0;
}
#page04>.page-content>.flexBox .swiper-slide .animated.qs{
    display: none ;
    animation-delay: 0.5s;
}
#page04>.page-content>.flexBox .swiper-slide.swiper-slide-active .animated.qs{
    display: block;
} 
.name{
        position: absolute;
    bottom: 25%;
    left: 50%;
    transform: translateX(-50%);
}
.vidoFixBg{
    position: absolute;
    left: 0;
    right: 0;
    height: auto;
    bottom: 0;
}
.vidoFixBg img{
    width: 100%;
    display: block;
}
.icon-box{
    background-image: url('perIcon.png');
    background-repeat: no-repeat;
    background-size: 100% auto;
    /* margin: 0 auto; */
}
.page04 .flexBox .leftBox .swiper-slide{
    display: flex;
    align-items: stretch;
    height: auto;
}
.page04 .rightBox{
    display: flex;
    align-items: flex-end;
}
.tab{
    width: 84%;
    height: auto;
    margin: 0 auto 20% auto;
    align-items: flex-start;
}
.item{
    flex: 1;
    width: 0;
}
.item .item-box:nth-of-type(1):hover{cursor: pointer;}
.item-box{
    /* width: 63.6%; */
    margin: 0 auto;
    /* padding-top: 20%; */
}
.item .item-box:nth-of-type(1){
    display: block;
}
.item .item-box:nth-of-type(2){
    display: none;
}
.item.current .item-box:nth-of-type(1){
    display: none;
}
.item.current .item-box:nth-of-type(2){
    display: block;
}
.item.current{
   /* background-image: url('hoverBg.png'); */
   background-repeat: no-repeat;
   background-size: 100% auto;
}
.item-box button{
    opacity: 0;
    width: 73%;
}
.item-box button.queBtnActive{
    opacity: 1;
}
.page04 .flexBox .leftBox .swiper-button-next::after,
.page04 .flexBox .leftBox .swiper-button-prev::after{
    display: none;
}
.page04 .flexBox .leftBox .swiper-button-next,
.page04 .flexBox .leftBox .swiper-button-prev{
    width: 4.6rem;
    height: 7.6rem;
    background-size: 100% auto;
    background-repeat: no-repeat;
    top: auto;
    bottom: 43%;
}
.page04 .flexBox .leftBox .swiper-button-next{
    background-image: url('next.png');
}
.page04 .flexBox .leftBox .swiper-button-prev{
    background-image: url('prev.png');
}
/* 寮圭獥鏍峰紡 */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background-color: #ffffff; */
    z-index: 9999;
    display: none;
    justify-content: center;
    align-items: center;
    /* padding: 7rem 2rem; */
    box-sizing: border-box;
    background-image: url('zhiyeBg01.jpg');
    background-repeat: no-repeat;
    background-size: cover;
}

.popup-overlay.active {
    display: flex;
}
#detailPopupOverlay{
    background: #ffffff;
}

.popup-content {
    position: relative;
    width: 100%;
    /* max-width: 1200px; */
    height: 100%;
    /* max-height: 800px; */
    /* background: #fff; */
    border-radius: 10px;
    overflow: hidden;
    /* box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); */
    /* padding: 2rem 2rem 10rem 2rem; */
    box-sizing: border-box;
}
#videoPopupOverlay .popup-content{
    display: flex;
    align-items: center;
    background-image: url('zhiyeBg01.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.popup-close {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    width: 13rem;
    height: auto;
    cursor: pointer;
    z-index: 10;
    transform: translateX(-50%);
}

.popup-close img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.popup-iframe-container {
    width: 100%;
    height: calc(100% - 10rem);
}

.popup-iframe-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* 视频容器 */
.popup-video-container {
    width: 100%;
    height: 85%;
    display: flex;
    justify-content: center;
    align-items: self-end;
    gap: 3rem;
}

.popup-video-container video {
    max-width: 100%;
    max-height: 100%;
    display: block;
    border: 1rem solid #60ba61;
    border-radius: 1rem;
    aspect-ratio:  9 / 16;
}

/* 弹窗按钮容器 */
.popup-buttons {
    /* display: flex; */
    /* justify-content: center; */
    margin-top: 2rem;
}

.popup-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: inline-block;
}

.popup-btn img {
    display: block;
    width: auto;
    /* max-width: 20rem; */
}

/* 详情弹窗样式 */
#detailPopupOverlay {
    z-index: 10000;
}
.btnBox{
    width: 13rem;
}
.top{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
  
    background-image: url('topBg.jpg');
    background-repeat: repeat-x;
    background-position: center center;
}
.top .flexBox{
    padding: 0 6rem;
    height: 6rem;
    max-width: 180rem;
    margin: 0 auto;
}
.logo{
    max-width: 19.7rem;
}
.top .right{
    max-width: 24.7rem;
}
.heart{
    display: flex;
    justify-content:center;
    /* gap: 0.5rem; */
    align-items: center;
}
.heart img{
    width: 3rem;
    height: 3rem;
    /* height: auto; */
}
.top .left{
    display: flex;
}
 
 
.music-control {
    position: fixed;
    top: 1rem;
    right: 1rem;
    width: 4rem;
    height: 4rem;
    z-index: 1000;
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
        box-shadow: 0 0 4px rgba(1,37,75 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.music-control.playing {
    background-color: rgba(255, 255, 255, 0.4);
}

.music-control.paused {
    background-color: rgba(200, 200, 200, 0.9);
}

.music-icon {
    width: 60%;
    height: 60%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.3s ease;
}

 
.music-control.playing .music-icon {
    background-image: url('music.gif');
    animation: musicRotate 3s linear infinite;
}

 
.music-control.paused .music-icon {
    background-image: url('music_off.png');
    animation: none;
    opacity: 0.7;
}

@keyframes musicRotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

 
.music-control::before {
    content: ' ';
    position: absolute;
    bottom: -2.5rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.2rem;
    color: #fff;
    white-space: nowrap;
    text-shadow: 0 0 5px rgba(0, 0, 0.5);
}

.music-control.playing::before {
    content: ' ';
}

.music-control.paused::before {
    content: ' ';
}

@media screen and (max-width: 1400px) {
    .login-box {
        max-width: 39%;
    } 
    .page-content{max-width: 95%;}
    /* .bThand>img{
       max-width: 80%
    } */
    /* .loading-main{
        transform: scale(0.5);
    } */
     .page04 .leftBox
     {
width: 45%;
     }
      .page04 .rightBox{
width: 55%;
      }
    .person>img{
        max-width: 60vh;
    }
    .title{
        width: 50%;
    }
    .start{
        margin-top: 3rem;
        margin-bottom:0
    }
}
@media screen and (max-width: 1024px) {
    .login-box>img{
        margin-bottom: 3rem;
    }
}
@media screen and(max-height:1080px){
    .title>img{
        max-height: 48%;
    }
    .person{max-height: 60%;}
    .person>img{
        max-width: 60vh;
        max-height: 60%;        
    }
    
}
@media (orientation: portrait) {
 
    html {
        /* width: 100vh;
        height: 100vw;
        overflow: hidden; */
    }
    
    body {
        transform-origin: 0 0;
        transform: rotateZ(90deg) translateY(-100%);
        width: 100vh;
        height: 100vw;
        overflow: hidden;
        position: fixed;
        top: 0;
        left: 0;
    }
    
    .main {
        width: 100vh;
        height: 100vw;
        position: absolute;
        top: 0;
        left: 0;
    }

    .container {
        width: 100vh;
        height: 100vw !important;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .content { 
        width: auto;
        height: 100%;
    }
     .person>img{
        max-width: 60vw;
        max-height: 85vw;
    }
.popup-content{
    width: auto;
    padding: 2rem;
}
     
}