@charset "utf-8";
html {
    font-size: 100px;
    /* 默认基准，通常用于大屏或初始状态 */
}
/* 平板/小屏笔记本 (1025px - 1400px) */
@media (min-width: 1025px) and (max-width:1400px) {
    html {
        font-size: calc(100 / 1400 * 100vw) !important;
    }
}
/* 移动端横屏/平板竖屏 (<= 1024px) */
@media (max-width: 1024px) {
    html {
        font-size: calc(100 / 1024 * 100vw);
    }
}
/* 小屏手机 (<= 640px) */
@media (max-width: 640px) {
    html {
        font-size: calc(100 / 480 * 100vw);
    }
}
body, input, pre, select, th, td, textarea {
    font-size: 0.16rem;
}
/* 容器最大宽度限制 */
.autoCon-1400 {
    max-width: 1400px;
    --autoWidth: 1400;
}
select.select-css {
    background-position: right 0.1rem center;
    padding-right: 0.2rem;
    padding-left: 0.1rem;
}
/******************************* open-search ********************************/
.top-search {}
.top-search[rel="absolute"] {
    max-width: 3.2rem;
}
.top-search .text {
    padding: 0 0.1rem;
}
.top-search .btn {
    width: 0.5rem;
}
/*open-menu*/
@media(max-width:1024px) {
    body.menu-show {
        overflow: hidden;
    }
    .open-menu {
        z-index: 10;
        width: 30px;
        height: 30px;
        cursor: pointer;
    }
    .open-menu[rel="relative"] {
        position: relative;
    }
    .open-menu[rel="absolute"] {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    .open-menu i {
        position: absolute;
        width: 100%;
        height: 2px;
        background: #000;
        left: 0;
        top: 50%;
        margin-top: -1px;
        transition: 0.3s;
    }
    .open-menu:not(.on) i:nth-child(1) {
        margin-top: -10px;
    }
    .open-menu:not(.on) i:nth-child(3) {
        margin-top: 8px;
    }
    .open-menu.on i:nth-child(2) {
        opacity: 0;
    }
    .open-menu.on i:nth-child(1) {
        transform: rotate(-45deg);
    }
    .open-menu.on i:nth-child(3) {
        transform: rotate(45deg);
    }
    header.back-white .open-menu i {
        background-color: #000;
    }
}
@media(max-width:640px) {
    .open-menu {
        width: 30px;
        height: 30px;
    }
    .open-menu i {
        height: 2px;
        margin-top: -1px;
    }
}
/************************************* whir_menu.2.0 **************************************/
@media(max-width:1024px) {
    .has-multi span, .has-sub span {
        position: relative;
        padding-right: 40px;
        overflow: hidden;
    }
    .has-multi span .op-multi, .has-sub span .op {
        position: absolute;
        width: 40px;
        height: 100%;
        transition: 0.3s;
        right: 0;
        top: 0;
    }
    .has-sub span .op.click:after {
        opacity: 0;
    }
    .has-multi span .op-multi:before, .has-multi span .op-multi:after, .has-sub span .op:before, .has-sub span .op:after {
        position: absolute;
        content: '';
        width: 12px;
        height: 2px;
        background: #333;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    .has-multi span .op-multi:after, .has-sub span .op:after {
        width: 2px;
        height: 12px;
    }
    .has-multi span .op-multi:before, .has-multi span .op-multi:after {
        background-color: #666;
    }
    .has-multi span .op-multi.click:after {
        opacity: 0;
    }
}
@media(max-width:1024px) {
    .has-multi span, .has-sub span {
        padding-right: 0.4rem;
    }
    .has-multi span .op-multi, .has-sub span .op {
        width: 0.4rem;
        cursor: pointer;
    }
    .has-multi span .op-multi:before, .has-multi span .op-multi:after, .has-sub span .op:before, .has-sub span .op:after {
        width: 0.12rem;
        height: 0.02rem;
    }
    .has-multi span .op-multi:after, .has-sub span .op:after {
        width: 0.02rem;
        height: 0.12rem;
    }
}
@media(max-width:640px) {
    .has-multi span .op-multi:before, .has-multi span .op-multi:after, .has-sub span .op:before, .has-sub span .op:after {
        width: 10px;
        height: 2px;
    }
    .has-multi span .op-multi:after, .has-sub span .op:after {
        width: 2px;
        height: 10px;
    }
}
[type="Vertical"] .sub dl {
    padding: 0.1rem;
}
[type="Vertical"] .sub dt {
    line-height: calc(24 / 14 * 1em);
    padding: 0.05rem 0;
    text-align: center;
}
[rel="relative"] {
    position: relative;
}
@media(min-width:1025px) {
    [rel="li-relative"] .sub {
        left: 50%;
        width: 1.4rem;
        margin-left: -0.7rem;
    }
}
@media(min-width:1025px) {
    [type="Vertical-hierarchy"] .hierarchy {
        padding: 0.1rem 0;
    }
}
/*局部根元素大小*/
.root-100 {
    font-size: 1rem;
}
@media (max-width:1024px) {
    .root-sz-16 {
        font-size: 0.16rem;
    }
}