@font-face {
    font-family: "Montserrat";
    font-weight: 400;
    src: url(../font/Montserrat-Light-6.otf);
}

@font-face {
    font-family: "Montserrat";
    font-weight: 600;
    src: url(../font/Montserrat-Medium-7.otf);
}


/* =====================================================================公共 */



/*滚动条宽高及背景*/
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

/*轨道颜色、内阴影及圆角*/
::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: fff;
    border-radius: 0px;
}

/*滑块*/
::-webkit-scrollbar-thumb {
    border-radius: 2px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: #bbb;
}

/*两端按钮*/
::-webkit-scrollbar-button {
    background-color: none;
    height: 0;
}

/*右下角汇合处样式*/
::-webkit-scrollbar-corner {
    background: khaki;
}


/*  */

.ban {
    width: 100%;
    height: 100vh;
    position: relative;
}

.banFirst {
    width: 100%;
    height: 100vh;
    position: relative;
    cursor: pointer;
}

.logo {
    width: 180px;
    position: absolute;
    left: 5%;
    top: 65px;
    z-index: 2;
}

.logo img {
    width: 100%;
}

.banImg {
    width: 100%;
    height: 100%;
    position: relative;
}

.banImg::after {
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    position: absolute;
    left: 0;
    top: 0;
}

.banImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.banImg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.banText {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 45%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.banText b {
    display: inline-block;
    color: #fff;
    text-align: center;
    padding: 2px 100px;
    font-size: 36px;
    letter-spacing: 20px;
    position: relative;
    margin-bottom: 40px;

    opacity: 0;
    transform: translateY(100px);
    transition: 1s;
}

.banText b::after {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, transparent, rgb(255 255 255 / 60%), transparent);
    position: absolute;
    left: 0;
    top: 0;
}

.banText span {
    white-space: nowrap;
    display: block;
    color: rgb(255 255 255 / 95%);
    text-align: center;
    font-size: 70px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 5px;
    position: relative;

    background-image: -webkit-linear-gradient(270deg, rgb(255 255 255) 60%, rgb(255 255 255 / 6%) 90%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    opacity: 0;
    transform: translateY(100px);
    transition: 1s;
}


.ban_p {
    position: absolute;
    left: 50%;
    bottom: 50px;
    transform: translateX(-50%) scale(0);
    z-index: 2;
    opacity: 0;
    transition: all 1.5s;
}

.ban_p p {
    white-space: nowrap;
    color: #fff;
    font-size: 36px;
    font-weight: 600;
    letter-spacing: 10px;
    padding: 0 80px 10px;
    border-bottom: 1px solid rgb(255 255 255 / 80%);
}

/*  */
.banText.on b {
    opacity: 1;
    transform: translateY(0);
}

.banText.on span {
    opacity: 1;
    transform: translateY(0);
}

.ban_p.on {
    opacity: 1;
    transform: translateX(-50%) scale(1);
}

/* ==== */

.banBox {
    width: 100%;
    height: 100%;
    background: url(../images/ban1.jpg) no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    justify-content: space-between;
    /* opacity: 0;
                transform: scale(0);
                transition: all 1s; */
    clip-path: inset(0 0 100% 0);
    -webkit-clip-path: inset(0 0 100% 0);

    transition: -webkit-clip-path 1s 1s ease-in-out;
    transition: clip-path 1s 1s ease-in-out;
    transition: clip-path 1s 1s ease-in-out,
        -webkit-clip-path 1s 1s ease-in-out;
}

.banBox.on {
    /* transform: scale(1);
                opacity: 1;
                z-index: 9; */
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
    z-index: 9;
}

.banBox::after {
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
    position: absolute;
    left: 0;
    top: 0;
    mix-blend-mode: difference;
}

.banItem {
    width: 25%;
    height: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    transition: all .48s;
}

.banItem svg {
    width: 45px;
    height: 45px;
    margin-bottom: 15px;
    transition: all .48s;
}

.banItem span {
    color: #fff;
    font-size: 36px;
    letter-spacing: 10px;
    display: block;
    margin-bottom: 50px;
    transition: all .48s;
}

.banItem p {
    color: #fff;
    font-size: 20px;
    padding: 0 30px;
    min-height: 58px;
}

.banItem:nth-child(1):hover {
    background: rgb(7 105 174 / 30%);
}
.banItem:nth-child(2):hover {
    background: rgb(124 189 194 / 40%);
}
.banItem:nth-child(3):hover {
    background: rgb(241 137 35 / 30%);
}
.banItem:nth-child(4):hover {
    background: rgb(158 93 91 / 40%);
}

.banItem:hover svg,
.banItem:hover span {
    transform: translateY(10px);
}


/* 响应 */

@media(max-width: 1680px) {
    .logo {
        width: 160px;
    }

    .banText b {
        font-size: 32px;
    }

    .banText span {
        font-size: 60px;
    }

    .ban_p p {
        font-size: 32px;
        padding: 0 70px 10px;
    }

    .banItem svg {
        width: 40px;
        height: 40px;
    }

    .banItem span {
        font-size: 32px;
        margin-bottom: 40px;
    }

    .banItem p {
        font-size: 18px;
    }

}

@media(max-width: 1480px) {
    .logo {
        width: 148px;
        top: 50px;
    }

    .banText b {
        font-size: 28px;
        padding: 2px 80px;
        margin-bottom: 30px;
    }

    .banText span {
        font-size: 48px;
    }

    .ban_p {
        bottom: 40px;
    }

    .ban_p p {
        font-size: 28px;
        padding: 0 60px 10px;
    }

    /*  */

    .banItem span {
        font-size: 28px;
    }

    .banItem p {
        font-size: 16px;
    }
}

@media(max-width: 1368px) {
    .banText b {
        font-size: 24px;
        letter-spacing: 15px;
        margin-bottom: 25px;
    }

    .banText span {
        font-size: 40px;
    }

    .ban_p p {
        font-size: 24px;
    }

    /*  */

    .banItem svg {
        width: 32px;
        height: 32px;
        margin-bottom: 10px;
    }

    .banItem span {
        font-size: 24px;
        margin-bottom: 30px;
    }

}

@media(max-width: 1024px) {
    .logo {
        width: 128px;
        top: 30px;
    }

    .banText b {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .banText span {
        font-size: 36px;
    }

    .ban_p p {
        font-size: 20px;
        padding: 0 40px 5px;
    }

    /*  */

    .banItem span {
        font-size: 20px;
        margin-bottom: 25px;
    }

    .banItem p {
        font-size: 14px;
    }
}

@media(max-width: 900px) {
    .ban_p p {
        font-size: 16px;
        letter-spacing: 8px;
        padding: 0 30px 5px
    }

    .banBox {
        flex-wrap: wrap;
    }

    .banItem {
        width: 50%;
        height: 50%;
        border-bottom: 1px solid rgb(255 255 255 / 8%);
    }
}


@media(max-width: 680px) {
    .banText b {
        letter-spacing: 12px;
        padding: 2px 40px
    }

    .banText span {
        font-size: 30px;
        letter-spacing: 4px;
    }

    .ban_p {
        bottom: 30px;
    }

    .ban_p p {
        font-size: 14px;
        letter-spacing: 1px;
        padding: 0 20px 5px;
    }

    /*  */


}

@media(max-width: 500px) {
    .banItem {
        width: 100%;
        height: 25%;
    }

    .banItem span {
        font-size: 18px;
        margin-bottom: 15px;
    }
}