@charset "utf-8";
/* ========== 全局重置 ========== */

/* 富文本基础（仅保留通用） */
.yxedr-active p {
    font-size: 16px;
    line-height: 1.75;
    color: #666;
    margin-bottom: 12px
}
.yxedr-active img,.yxedr-active video {max-width: 100% !important;height: auto !important}
.yxedr-active iframe {max-width: 100%}
@media screen and (max-width:767px) {
    .yxedr-active iframe {max-height: 33vh}
}
.yxedr-active ol,.yxedr-ul {
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 40px
}
.yxedr-active ol li,.yxedr-active ul li {list-style: inherit}

/* ========== 通用容器宽度类 ========== */
.ys-cont1680 {
    width: 100vw;
    padding: 0 6.25vw;
    max-width: 1920px;
    margin: auto
}
.ys-cont1600 {width: 85vw;max-width: 1600px;margin: auto}
.ys-cont1560 {width: 85vw;max-width: 1560px;margin: auto}
.ys-cont1440 {width: 85vw;max-width: 1440px;margin: auto}
.ys-cont1400 {width: 85vw;max-width: 1400px;margin: auto}
.ys-cont1360 {width: 85vw;max-width: 1360px;margin: auto}
.ys-cont1280 {width: 85vw;max-width: 1280px;margin: auto}
.ys-cont1200 {width: 85vw;max-width: 1200px;margin: auto}
.ys-cont1000 {width: 85vw;max-width: 1000px;margin: auto}
.ys-cont950 {width: 85vw;max-width: 950px;margin: auto}
@media screen and (min-width:1921px) {
    .ys-cont1680 {padding: 0 120px}
}
@media screen and (max-width:767px) {
    .ys-cont1000,.ys-cont1200,.ys-cont1280,.ys-cont1360,.ys-cont1400,.ys-cont1440,.ys-cont1560,.ys-cont1600,.ys-cont1680,.ys-cont950 {
        padding: 0 20px;
        width: 100%;
        max-width: 100%
    }
}

/* ========== 显示隐藏/浮动/弹性工具类 ========== */
.ys-block,.ys-show {display: block}
.ys-hide {display: none}
.clearfix::after {display: block;clear: both;height: 0;content: ' '}
.clearfix {zoom: 1}
.fl {float: left}
.fr {float: right}
.ys-flex {display: flex;flex-wrap: wrap}
.ys-flex-center {display: flex;align-items: center}
.ys-pos-center {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%)}
.ys-pos-top {position: absolute;top: 0;left: 50%;transform: translateX(-50%)}
.ys-pos-bot {position: absolute;bottom: 0;left: 50%;transform: translateX(-50%)}
.ys-pos-cover {position: absolute;left: 0;top: 0;z-index: 10;width: 100%;height: 100%}
.ys-pos-under {position: absolute;left: 0;top: 0;z-index: -1;width: 100%;height: 100%}
.ys-page-wrap,body {display: flex;flex-direction: column}
.ys-page-wrap {min-height: 100vh}
.ys-main {flex-grow: 1}
.modal-open {overflow: hidden}

/* ========== 图片容器通用 ========== */
.ys-imgbox-contain,.ys-imgbox-cover {
    position: relative;
    overflow: hidden;
    transform: rotate(0);
    -webkit-transform: rotate(0)
}
.ys-imgbox-contain img,.ys-imgbox-cover img {
    width: 100%;
    transition: all .4s ease
}
.ys-imgbox-cover img:nth-child(2) {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%
}
.ys-imgbox-contain img:nth-child(2) {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: contain
}
@media screen and (min-width:1200px) {
    a:hover .ys-imgbox-cover img {transform: scale(1.05)}
}
.ys-imgbox-cut {overflow: hidden}
.ys-imgbox-cut img {
    width: auto;
    max-width: none;
    height: 100%;
    position: relative;
    left: 50%;
    transform: translateX(-50%)
}

/* ========== Slick轮播全局兼容 ========== */
.slick-track .slick-slide {display: block !important}
.slick-slider {
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text
}
.slick-track {display: flex}
.slick-slide {height: auto}
.slick-list {min-width: 100%}

/* ========== 动画关键帧（页面用到） ========== */
.ys-fadeInUpimg {transition: all 0.8s !important;animation: fadeInUpimg 2s ease 1;}
.ys-fadeInUpimg1 {transition: all 0.8s !important;animation: fadeInUpimg1 2s ease 1;}
.ys-fadeclip {animation: fadeclip 1.6s ease 1;}
.ys-fadeup1 {animation: ysfadeInUp .8s ease-in-out both;animation-delay: .2s}
.ys-fadeup2 {animation: ysfadeInUp .8s ease-in-out both;animation-delay: .3s}
.ys-fadeup3 {animation: ysfadeInUp .8s ease-in-out both;animation-delay: .4s}
.ys-fadeup4 {animation: ysfadeInUp .8s ease-in-out both;animation-delay: .5s}
.ys-fadeup5 {animation: ysfadeInUp .8s ease-in-out both;animation-delay: .6s}
.ys-fadeup6 {animation: ysfadeInUp .8s ease-in-out both;animation-delay: .7s}
.ys-fadein1 {animation: fadeIn .8s ease-in-out both;animation-delay: .2s}
.ys-fadedown1 {animation: fadeInDown .8s ease-in-out both;animation-delay: .2s}
.ys-fadeleft1 {animation: fadeInLeft .8s ease-in-out both;animation-delay: .2s}
.ys-faderight1 {animation: fadeInRight .8s ease-in-out both;animation-delay: .2s}
@keyframes fadeInUpimg1 {
    0% {transform: scale(0.6);}
    100% {transform: none;}
}
@keyframes fadeInUpimg {
    0% {transform: scale(1.5);}
    100% {transform: none;}
}
@keyframes fadeclip {
    0% {
        clip-path: polygon(0 0, 100% 0, 100% 0, 0 50%);
        transform: translateY(60px);
        opacity: 0;
    }
    100% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
        transform: translateY(0);
        opacity: 1;
    }
}
@-webkit-keyframes ysfadeInUp {
    0% {opacity: 0;-webkit-transform: translate3d(0, 60px, 0);transform: translate3d(0, 60px, 0)}
    to {opacity: 1;-webkit-transform: none;transform: none}
}
@keyframes ysfadeInUp {
    0% {opacity: 0;-webkit-transform: translate3d(0, 60px, 0);transform: translate3d(0, 60px, 0)}
    to {opacity: 1;-webkit-transform: none;transform: none}
}
.wow {visibility: hidden}
/* 字体抗锯齿全局 */
a,div,h1,h2,h3,h4,h5,h6,p,span {-webkit-font-smoothing: antialiased}
a,h1,h2,h3,h4,h5,h6,p,span {transition: all .4s ease}
/* 滚动条简易通用（保留） */
.mCSB-outside+.mCSB-scrollTools {right: 0 !important}
