@charset "utf-8";

/* cyrillic-ext */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/robotocondensed/v25/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meGCkYb9lecyVC4A.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/robotocondensed/v25/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meGCAYb9lecyVC4A.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/robotocondensed/v25/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meGCgYb9lecyVC4A.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/robotocondensed/v25/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meGCcYb9lecyVC4A.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}

/* vietnamese */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/robotocondensed/v25/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meGCsYb9lecyVC4A.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/robotocondensed/v25/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meGCoYb9lecyVC4A.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/robotocondensed/v25/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meGCQYb9lecyU.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* GOOGLE FONT SELF HOST START */
/* roboto-regular - latin */
@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 400;
    src: local(""), url("../fonts/roboto-v29-latin-regular.woff2") format("woff2"),
        /* Chrome 26+, Opera 23+, Firefox 39+ */ url("../fonts/roboto-v29-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-italic - latin */
@font-face {
    font-family: "Roboto";
    font-style: italic;
    font-weight: 400;
    src: local(""), url("../fonts/roboto-v29-latin-italic.woff2") format("woff2"),
        /* Chrome 26+, Opera 23+, Firefox 39+ */ url("../fonts/roboto-v29-latin-italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-700 - latin */
@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 700;
    src: local(""), url("../fonts/roboto-v29-latin-700.woff2") format("woff2"),
        /* Chrome 26+, Opera 23+, Firefox 39+ */ url("../fonts/roboto-v29-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-700italic - latin */
@font-face {
    font-family: "Roboto";
    font-style: italic;
    font-weight: 700;
    src: local(""),
    url("../fonts/roboto-v29-latin-700italic.woff2") format("woff2"),
        /* Chrome 26+, Opera 23+, Firefox 39+ */ url("../fonts/roboto-v29-latin-700italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* mulish-300 - latin */
@font-face {
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 300;
    src: local(''),
    url('../fonts/mulish-v7-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../fonts/mulish-v7-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* mulish-regular - latin */
@font-face {
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 400;
    src: local(''),
    url('../fonts/mulish-v7-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../fonts/mulish-v7-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* mulish-500 - latin */
@font-face {
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 500;
    src: local(''),
    url('../fonts/mulish-v7-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../fonts/mulish-v7-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* mulish-700 - latin */
@font-face {
    font-family: 'Mulish';
    font-style: normal;
    font-weight: 700;
    src: local(''),
    url('../fonts/mulish-v7-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../fonts/mulish-v7-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* GOOGLE FONT SELF HOST END*/

/* PUBLIC START */
:root {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

* {
    margin: 0;
}

html,
body {
    height: 100%;
}

body {
    line-height: 1.5;
    font-family: "Mulish", Helvetica, Arial, sans-serif;
    font-size: 14px;
}

/* https://css-tricks.com/couple-takes-sticky-footer/ */
body {
    display: flex;
    flex-direction: column;
}

body > .content {
    flex: 1 0 auto;
}

body > .footer {
    flex-shrink: 0;
}

input,
button,
textarea,
select {
    font: inherit;
}

.text-center {
    text-align: center !important;
}

.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 768px) {
    .container {
        width: 750px;
    }
}

@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}

@media (min-width: 1200px) {
    .container {
        width: 1170px;
    }
}

/* alpinejs */
[x-cloak] {
    display: none !important;
}

/* [0, 992] */
@media (max-width: 992px) {
    /* le = less than or equal to */
    .d-none-le-992 {
        display: none !important;
    }
}

a {
    text-decoration: none;
    color: inherit;
}

ul,
ol {
    list-style: none;
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
}

.iconfont {
    font-size: inherit;
}

.header {
    box-shadow: 0 1px 15px 0 #999999;
}

.header1-wrap {
    background-color: #0a2a44;
    color: #d2d1d1;
}

.header1 {
    display: flex;
    min-height: 40px;
    align-items: center;
}

.header1 .links-wrap {
    margin-right: auto;
}

.header1 .links {
    margin-left: 8px;
    display: inline-flex;
    column-gap: 8px;
}

.header1 .links a {
    font-weight: bolder;
    font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
}

.header1 .links a:hover {
    color: white;
}

.header1 .search-box {
    margin-right: 6%;
    display: flex;
    background-color: #fff;
}

.header1 .search-box select {
    border: 1px solid #D0D0CE;
    padding: 4px;
    color: #666;
}

.header1 .search-box input {
    border: 1px solid #D0D0CE;
    padding: 4px 8px;
    min-width: 200px;
}

.header1 .search-box button {
    border: 1px solid #D0D0CE;
    min-width: 32px;
    cursor: pointer;
    font-size: 18px;
}

.header1 .search {
    display: flex;
}

.header1 .search input {
    font-size: 14px;
    border: 1px solid #f4f4f4;
    border-right: none;
    padding: 3px 10px;
}

.header1 .search input:focus {
    outline: none;
}

.header1 .search button {
    border: none;
    background-color: #fff;
    color: #8c8c8c;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.header1 .search + .search {
    margin: 0 25px;
}

.header1 .lang {
    background-color: #222;
    border: 1px solid #8c8c8c;
    color: #8c8c8c;
    font-size: 14px;
    min-width: 148px;
    text-transform: uppercase;
    padding-top: 3px;
    padding-bottom: 3px;
}

.header1 .lang:focus {
    outline: none;
}

.header2 {
    display: flex;
}

.header2 .brand {
    position: relative;
}

.header2 .brand .image {
    position: absolute;
    left: 0;
    top: 9px;
    background-color: white;
    border-radius: 9999px;
    z-index: 2;
    height: calc(100% - 2 * 9px);
}

.header2 .brand .image img {
    display: block;
    width: auto;
    height: 100%;
}

.header2 .slogan {
    display: block;
    font-size: 20px;
    padding: 9px 20px;
    margin-left: 100px;
    letter-spacing: 1px;
}

.header2 .slogan-inner {
    background-color: #013d8e;
    color: #fff;
    padding: 3.5px 14px;
    display: block;
    position: relative;
}

.header2 .slogan-inner::before {
    content: "";
    display: block;
    position: absolute;
    width: 100vw;
    height: 100%;
    right: 100%;
    top: 0;
    background-color: #013d8e;
}

.header2 .slogan-inner::after {
    content: "";
    display: block;
    position: absolute;
    width: 28px;
    height: 100%;
    top: 0;
    right: -14px;
    background-color: #013d8e;
    border-radius: 50%;
}

.header2 .logo {
    display: flex;
    align-items: center;
    column-gap: 8px;
    font-size: 20px;
    font-weight: 700;
}

.header2 .logo img {
    display: block;
    height: 56px;
    width: auto;
}

.header2 .menu {
    align-self: flex-end;
    display: flex;
    margin-left: auto;
}

.header2 .menu .item {
    text-transform: uppercase;
    display: block;
    padding: 1em;
    font-size: 15px;
    color: #656565;
    font-weight: 700;
    will-change: color;
    transition: color 300ms;
}

[lang="en"] .header2 .menu .item {
    font-size: 14px;
    padding: 1em 0.75em;
}

[lang="zh"] .header2 .menu .item {
    padding: 1em 1em;
    font-size: 16px;
}

[lang="en"] .header2 .slogan {
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 18px;
}

/* [lang="zh"] .header2 .slogan {
    padding: calc(1em - 3.5px) 1em;
    font-size: 16px;
} */

.header2 .menu .item:hover,
.header2 .menu .item.active {
    transition: color 150ms;
    color: #007DC3;
}

.header2 .has-dropdown {
    position: relative;
}

.header2 .dropdown {
    position: absolute;
    left: 50%;
    top: 100%;
    background-color: #fff;
    box-shadow: 1px 3px 5px #00000029;
    /* TODO 注意看下 IE11 的备用方案 */
    width: max-content;
    max-width: 80vw;
    max-height: 80vh;
    overflow: auto;
    /* 需要高于 .swiper-wrapper 的 z-index 是 1 */
    z-index: 2;
    display: none;
    transform: translate(-50%, 0);
    animation: dropdownFadeEffect 400ms;
}

@keyframes dropdownFadeEffect {
    0% {
        opacity: 0;
        transform: translate(-50%, 10px) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, 0) scale(1);
    }
}

.header2 .has-dropdown:hover .dropdown {
    display: block;
}

.header2 .dropdown > li > a {
    font-size: 15px;
    display: block;
    padding: 8px 20px;
    will-change: color;
    transition: color 300ms;
}

[lang="zh"] .header2 .dropdown > li > a {
    font-size: 16px;
}

.header2 .dropdown > li > a:hover {
    transition: color 150ms;
    color: #007DC3;
}

.sidebar {
    position: fixed;
    right: 50px;
    bottom: 50px;
    z-index: 100;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-end;
}

.sidebar svg {
    display: block;
    height: 24px;
    width: 24px;
    flex-shrink: 0;
}

.sidebar .item {
    height: 40px;
    background-color: #5721d6;
    color: #fff;
    border-radius: 9999px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    padding: 8px;
    max-width: 40px;
    overflow: hidden;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    letter-spacing: 1px;
    font-size: 16px;
    transition: max-width 300ms cubic-bezier(.4, 0, .2, 1);
}

.sidebar .item .text {
    padding-right: 8px;
    transition: all 300ms cubic-bezier(.4, 0, .2, 1);
    visibility: hidden;
    opacity: 0;
}

.sidebar .item:not(.with-image):hover .text {
    visibility: visible;
    opacity: 1;
}

.sidebar .item:not(.with-image):hover {
    max-width: 300px;
}

.sidebar .item.with-image {
    position: relative;
    overflow: visible;
}

.sidebar .item.with-image .image {
    position: absolute;
    bottom: 0;
    right: calc(100% + 8px);
    width: 0;
    height: 0;
    background-color: #82cd01;
    border-radius: 4px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: all 300ms;
}

.sidebar .item.with-image .image img {
    display: block;
    padding: 4px;
}

.sidebar .item.with-image:hover .image {
    opacity: 1;
    width: 180px;
    height: 180px;
}

.mobile-header-wrap {
    display: none;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background-color: #fff;
    z-index: 3;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

/* [0, 992] */
@media (max-width: 992px) {
    .header {
        display: none;
    }

    .mobile-header-wrap {
        display: block;
    }

    .sidebar {
        display: none;
    }
}

.mobile-header {
    padding: 5px 0;
    display: flex;
    justify-content: space-between;
}

.mobile-header .btn {
    background: none;
    border: none;
    font-size: 30px;
    color: #767676;
    font-weight: 700;
    padding: 0;
}

.mobile-header .logo img {
    display: block;
    height: 45px;
    width: auto;
}

.products-dropdown {
    padding: 10px;
}

.products-dropdown .categories-list {
    width: calc(80vw - 20px);
    --cols: 4;
    --gap: 10px;
}

.products-dropdown .categories-list > li {
    width: calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
    margin-bottom: var(--gap);
    border: 1px solid #eee;
    transition: all 300ms ease-in;
}

.products-dropdown .categories-list > li:hover {
    transition: all 150ms ease-out;
    box-shadow: 0 0 5px rgb(171 171 171 / 50%);
}

.dropdown.products-dropdown.initial-hidden {
    display: block;
    opacity: 0;
    position: absolute;
    left: -1000px;
    top: -10000px;
}

.products-dropdown a {
    display: block;
    padding: 0.25em 0.5em;
    transition: background-color 100ms, color 100ms;
    /* border-radius: 5px; */
}

.products-dropdown a:hover {
    background-color: #219cdc !important;
    /* NOTE 优先级要比下面的高 */
    color: #fff !important;
}

.products-dropdown .level1 > li > a {
    font-size: 18px;
    font-weight: 700;
}

.products-dropdown .level2 > li > a {
    font-size: 16px;
    font-weight: 500;
    color: #333;
}

.products-dropdown .level3 > li > a {
    font-size: 13px;
    font-weight: 400;
    color: #666;
}

.products-dropdown .level2 {
     margin-left: 15px;
}

.products-dropdown .level3 {
    margin-left: 10px;
    display: flex;
    flex-wrap: wrap;
}

.products-dropdown .level3 > * {
    /* min-width: 50%; */
}

.legend-parent {
    position: relative;
}

.legend {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: flex-start;
}

.legend-item {
    display: flex;
    align-items: center;
}

.legend-item + .legend-item {
    margin-left: 10px;
}

.legend-item .color-box {
    width: 14px;
    height: 14px;
    margin-right: 4px;
}

.legend-item .legend-title {
    font-size: 12px;
}

.category-group-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.level1 .card {
    border: 1px solid #eee;
}

.level1 .card + .card {
    margin-top: 10px;
}

.level1 .card:hover {
    box-shadow: 0 0 5px rgb(171 171 171 / 50%);
}

.footer {
    background-color: #0a2a44;
    color: #fff;
    padding: 30px 0;
    margin-top: 40px;
}

.footer-main {
    display: flex;
    flex-wrap: wrap;
}

.footer-main .footer-info {
    max-width: 48%;
}

.footer-main .footer-info .intro {
    /*font-size: 12px;*/
}

.footer-main .footer-info .intro p + p {
    margin-top: 8px;
}

.follow {
    margin-top: 10px;
}

.follow h3 {
    text-transform: uppercase;
    font-size: 16px;
}

.follow-list {
    margin-top: 6px;
    display: flex;
}

.follow-list a + a {
    margin-left: 10px;
}

.follow-list a img {
    display: block;
}

.follow-list a .image {
    will-change: transform;
    transition: transform 300ms;
}

.follow-list a:hover .image {
    transition: transform 150ms;
    transform: translate(0, -10%) scale(1.1);
}

.footer-nav {
    max-width: 30%;
    padding-left: 10px;
    margin-left: 30px;
    align-self: flex-start;
}

.footer-nav-list.zk-grid {
    grid-column-gap: 2rem;
    grid-row-gap: 8px;
    grid-template-columns: 1fr 1fr;
}

.footer-nav-list {
    list-style: disc;
}

.footer-nav-list li::marker {
    color: #fe5828;
}

/* .footer-nav-list li a {
    padding-left: 5px;
}

.footer-nav-list li::before {
    content: "\2022 ";
    color: #fe5828;
} */

.footer-contact {
    font-size: 14px;
    margin-left: auto;
}

.footer-contact > * + * {
    margin-top: 4px;
}

/* 为了和上面邮箱图标保持一样视觉大小 */
.footer-contact .icon-squarecheckfill {
    font-size: 13px;
    padding: 1px;
}

.footer-contact .logos-list {
    margin-top: 8px;
    display: flex;
}

.footer-contact .logos-list > * + * {
    margin-left: 10px;
}

.footer-contact .logos-list img.logo {
    display: block;
}

.footer-contact .logos-list .qr {
    background-color: #fff;
    box-shadow: 1px -2px 3px rgb(0 0 0 / 30%);
}

.footer-contact .logos-list .qr img {
    display: block;
}

@media (max-width: 1200px) {
    .footer {
        padding: 20px 0;
    }


    .follow {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
    }

    .follow-list {
        margin: 0 0 0 1rem;
    }
}

.tippy-box[data-theme~='zk-light'] {
    background-color: #fff;
    color: #000;
}

.tippy-box[data-theme~='zk-light'] .tippy-content {
    padding: 0;
}

.tippy-box[data-theme~='zk-light'][data-placement^='top'] > .tippy-arrow::before {
    border-top-color: #fff;
}

.tippy-box[data-theme~='zk-light'][data-placement^='bottom'] > .tippy-arrow::before {
    border-bottom-color: #fff;
}

.tippy-box[data-theme~='zk-light'][data-placement^='left'] > .tippy-arrow::before {
    border-left-color: #fff;
}

.tippy-box[data-theme~='zk-light'][data-placement^='right'] > .tippy-arrow::before {
    border-right-color: #fff;
}

.footer-copyright {
    color: #87888a;
    font-size: 13px;
    margin: 20px 0;
}

@media (max-width: 992px) {
    .footer-main {
        flex-direction: column;
        align-items: center;
    }

    .footer-main .footer-info {
        max-width: unset;
        flex: 1;
    }

    .footer-main .footer-contact {
        margin-left: unset;
        flex: 1;
        margin-top: 1rem;
    }

    .footer-main .footer-contact .boring {
        display: none;
    }

    .footer-main .footer-contact .logos-list {
        justify-content: center;
    }

    .footer-copyright {
        text-align: center;
        display: flex;
        flex-direction: column;
    }
}

.breadcrumb-wrap {
    margin-top: 40px;
    padding: 20px 0;
    margin-bottom: 10px;
}

.breadcrumb {
    display: flex;
}

.breadcrumb-item {
    color: #747474;
}

.breadcrumb-item a:hover {
    text-decoration: underline;
}

.breadcrumb-item + .breadcrumb-item::before {
    display: inline-block;
    /*content: ">";*/
    /* icon-arrow-right */
    content: "\e743";
    font-family: "iconfont", sans-serif;
    -webkit-font-smoothing: antialiased;
    color: #333;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

@media (max-width: 992px) {
    .breadcrumb-wrap {
        margin-top: 10px;
    }

    .breadcrumb-item {
        font-size: 12px;
    }

    .breadcrumb-item + .breadcrumb-item::before {
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }
}

.page-h1 {
    color: #333;
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 20px;
}

.page-h1--border-bottom {
    padding-bottom: 10px;
    border-bottom: 1px solid #f2f2f2;
}

@media (max-width: 992px) {
    .page-h1 {
        font-size: 30px;
    }
}

.thinkphp-pagination-wrap > div {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

.thinkphp-pagination-wrap > div > * {
    line-height: 1;
    padding: 10px 15px;
    border: 1px solid #dee2e6;
    /* 避免 border 重复，思路来自 https://getbootstrap.com/docs/4.0/components/pagination/#alignment */
    margin-left: -1px;
}

.thinkphp-pagination-wrap > div > *.prev,
.thinkphp-pagination-wrap > div > *.next {
    color: #219cdc;
}

.thinkphp-pagination-wrap > div > *.thispage {
    color: #666;
}

.thinkphp-pagination-wrap > div > *.num {
    color: #219cdc;
}

.thinkphp-pagination-wrap > div > *:not(.thispage):hover {
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.mobile-only-contact {
    display: none;
    text-align: center;
    font-size: 16px;
    margin-top: 1rem;
}

@media (max-width: 992px) {
    .mobile-only-contact {
        display: block;
    }
}

/* PUBLIC END */

/* INDEX START */
.index-banner .image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: cover;
}

.index-banner {
    position: relative;
}

.index-banner .body {
    position: absolute;
    left: 60%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 10px;
    max-width: 330px;
    min-height: 146px;
    text-align: center;
}

.index-banner .body .title {
    font-size: 2.2em;
    line-height: 1.1;
    color: #fff;
    border-radius: 20px 10px 20px 10px;
    box-shadow: 0 0 4px rgb(255 255 255 / 35%);
    border: 1px solid #fff;
    padding: 10px;
}

[lang='zh'] .index-banner .body .title {
    font-size: 1.8em;
    line-height: 1.5;
}

.index-banner .body a.more {
    margin-top: 1.5rem;
    display: inline-block;
    background-color: #5721d6;
    color: #fff;
    font-size: 1.4em;
    line-height: 1;
    border-radius: 20px 0 20px 0;
    padding: 0.5em 1em;
}

.index-banner .body a.more:hover {
    text-decoration: underline;
}

.index-banners-list .swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    background-color: #fff;
}

.swiper-slide-active .index-banner .title {
    animation: fadeIn; /* referring directly to the animation's @keyframe declaration */
    animation-duration: 2s; /* don't forget to set a duration! */
}

@media (max-width: 992px) {
    .index-banner .body a.more {
        display: none;
    }

    .index-banner .body {
        left: 50%;
        top: 50%;
        min-height: unset;
    }

    .index-banner .body .title {
        font-size: 14px;
        padding: 4px;
        border-radius: 5px;
    }

    .index-banners-list .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
    }
}

.periodic-table {
    margin-top: 20px;
    --size: 64px;
    max-width: calc(18 * var(--size));
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-rows: repeat(10, 1fr);
    grid-template-columns: minmax(0, 1fr);
}

.periodic-table-item {
    width: var(--size);
    height: var(--size);
    border: 1px solid #fff;
    display: grid;
    place-items: center;
    border-radius: 4px;
    position: relative;
    transition: all 300ms;
}

.periodic-table-item:hover {
    z-index: 10;
    transform: scale(150%);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.periodic-table-item-symbol {
    font-size: calc(var(--size) / 2.6);
}

.periodic-table-item-name {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4px;
    padding-left: 2px;
    padding-right: 2px;
    font-family: 'Roboto Condensed', sans-serif;
}

.periodic-table-item-name-inner {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    text-align: center;
    font-size: max(calc(var(--size) / 5.5), 8px);
    font-family: 'Roboto Condensed', sans-serif;
}

.periodic-table-item-number-mass {
    position: absolute;
    left: 4px;
    right: 4px;
    top: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.periodic-table-item-number {
    font-size: calc(var(--size) / 5.5);
}

.periodic-table-item-mass {
    font-size: 6px;
    opacity: 0;
    visibility: hidden;
    transition: all 300ms;
}

.periodic-table-item:hover .periodic-table-item-mass {
    opacity: 1;
    visibility: visible;
}

.periodic-table-product {
    display: block;
    padding: 5px 12px;
    transition: color 150ms;
}

.periodic-table-product:hover {
    color: #007DC3;
}

@media (max-width: 1280px) {
    .periodic-table {
        --size: 54px;
    }
}

.index-tag2 {
    margin-top: 60px;
    margin-bottom: 60px;
}

.index-tag2 .tag-tab-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1rem;
    margin-bottom: 16px;
}

.index-tag2 .tag-tab-item {
    padding: 4px 12px;
    border-radius: 4px;
    background: none;
    border: 1px dotted #2d3441;
    cursor: pointer;
    transition: all 150ms;
}

.index-tag2 .tag-tab-item.active {
    background-color: #2d3441;
    color: #fff;
}

.index-tag2 .tag-items {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.index-tag2 .tag-items a {
    font-size: 1rem;
    color: #34079e;
    padding: 4px 10px;
}

.index-products-list-wrap {
    margin-top: 2rem;
}

.index-products-list {
    display: flex;
    flex-wrap: wrap;
}

.index-product {
    flex-basis: 25%;
    display: flex;
    flex-direction: column;
}

.index-product .image {
    position: relative;
}

.index-product .image img {
    display: block;
}

.index-product .image .title {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 5px 10px;
}

.index-product .intro {
    flex-grow: 1;
    background-color: #f1f1f1;
    color: #656565;
    padding: 20px;
}

.index-products-list-details {
    padding-top: 10px;
    background-color: #f1f1f1;
    margin-bottom: 20px;
}

.index-products-category {
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.index-products-category h3 {
    font-size: 20px;
    color: #219cdc;
    margin-bottom: 5px;
}

.index-products-category .image {
    overflow: hidden;
}

.index-products-category .image img {
    display: block;
    transition: transform 300ms;
}

.index-products-category:hover .image img {
    transform: scale(1.1);
}

.index-products-categories.zk-grid {
    grid-gap: 0;
}

.index-products-categories.zk-grid {
    display: none;
}

.index-products-categories.zk-grid.active {
    display: grid;
    animation: fadeEffect 800ms;
}

.index-product .image {
    transition: filter 300ms;
}

.index-products-list-section.active .index-product:not(.active) .image {
    filter: brightness(45%);
}

@media (max-width: 992px) {
    .index-product {
        flex-basis: 50%;
    }

    .index-product .image .title {
    }

    .index-product .intro {
        padding: 10px 10px 20px 10px;
    }
}

@media (max-width: 400px) {
    .index-product {
        flex-basis: 100%;
    }
}

.index-star-product-wrap {
    background-color: #00448a;
    color: #fff;
    padding: 20px 0;
}

.index-star-product {
    border-left: solid 2px;
    display: flex;
}

.index-star-product .text {
    padding: 1rem;
}

.index-star-product .image {
    min-width: 24%;
}

.index-star-product .image img {
    display: block;
    border: 1px solid;
}

.index-star-product ul {
    list-style-type: disc;
    padding-left: 40px;
}

.index-star-product .text > * + * {
    margin-top: 10px;
}

.index-star-product .white-btn-link-wrap {
    margin-top: 20px;
}

.index-star-product a.white-btn-link {
    display: inline-block;
    text-transform: uppercase;
    border: 1px solid;
    padding: 5px 12px;
    transition: background-color 300ms, color 300ms;
}

.index-star-product a.white-btn-link:hover {
    background-color: #fff;
    color: #00448a;
}

@media (max-width: 992px) {
    .index-star-product-wrap {
        display: none;
    }
}

.index-news-wrap {
    margin-top: 20px;
}

.index-news > h1 {
    font-size: 40px;
    font-weight: 300;
    text-transform: uppercase;
    color: #656565;
}

.index-news a.goto {
    color: #219cdc;
}

.index-news a.goto:hover {
    text-decoration: underline;
}

.index-news a.goto i.icon-arrow-right {
    vertical-align: middle;
}

.index-news-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
    margin-left: -15px;
}

.index-news-list .news {
    flex-basis: 33.3333%;
    padding-left: 15px;
    margin-bottom: 15px;
}

.index-news-list .news .image {
    overflow: hidden;
}

.index-news-list .news .image img {
    display: block;
    transition: transform 400ms;
}

.index-news-list .news:hover .image img {
    transform: scale(1.1);
}

.index-news-list .news h2 {
    color: #333;
    font-weight: 400;
    margin-top: 18px;
}

.index-news-list .news p {
    color: #666;
    font-size: 14px;
    margin: 0.5em 0;
}

.index-news-list .news time {
    font-size: 12px;
    color: #219cdc;
}

@media (max-width: 992px) {
    .index-news-list .news {
        flex-basis: 100%;
    }

    .index-news-list .news h2 {
        font-size: 16px;
        margin-top: 8px;
    }
}

.index-middle-banner {
    margin: 20px 0;
}

.index-middle-banner img {
    display: block;
    width: 100%;
    height: auto;
}

.index-about-wrap {
    margin-top: 20px;
    background-color: #219cdc;
    color: #fff;
}

.index-about {
    padding: 25px 0;
}

.index-about h1 {
    font-size: 40px;
}

.index-about .user-content {
    margin: 1em 0;
    font-size: 1rem;
}

.index-about .user-content p + p {
    margin-top: 0.4em;
}

.index-about .link-wrap a.btn {
    display: inline-block;
    text-transform: uppercase;
    border: 1px solid;
    padding: 6px 20px;
}

@media (max-width: 992px) {
    .index-about h1 {
        font-size: 18px;
    }

    .index-about .user-content {
        font-size: 12px;
        text-align: justify;
    }

    .index-about .link-wrap {
        text-align: center;
    }

    .index-about .link-wrap a.btn {
        padding: 4px 10px;
    }
}

.index-partners-list-wrap {
    padding-top: 40px;
    margin-bottom: -40px;
    padding-bottom: 40px;
}

.index-partners-list-wrap h1 {
    font-size: 40px;
    font-weight: 400;
    text-transform: uppercase;
    color: #656565;
}

.index-partners-list {
    margin-top: 15px;
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
}

.index-partner {
    flex-basis: 20%;
    padding-left: 15px;
    margin-bottom: 15px;
}

.index-partner .image {
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding: 10px;
}

.index-partner .image img {
    display: block;
    transition: transform 400ms;
}

.index-partner:hover .image img {
    transform: scale(1.05);
}

.index-partner .title {
    font-weight: 400;
    color: #666;
    margin-top: 5px;
    text-align: center;
}

@media (max-width: 992px) {
    .index-partners-list-wrap h1 {
        font-size: 2rem;
    }

    .index-partner {
        flex-basis: 33.3333%;
    }

    .index-partner .title {
        font-size: 14px;
    }
}

/* INDEX END */

/* FAQ START */
h1.faq-heading {
    font-size: 40px;
    color: #333;
}

.faq-list {
    margin-top: 20px;
}

.faq + .faq {
    margin-top: 10px;
}

.faq button.q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: none;
    text-align: left;
    background-color: #007DC3;
    color: #fff;
    padding: 10px 15px;
    cursor: pointer;
}

.faq button.q i {
    font-size: 20px;
    line-height: 1;
    transition: transform 400ms;
}

.faq.open button.q i {
    transform: rotate(180deg);
}

.faq .q h4 {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.1;
}

.faq .a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 400ms;
}

.faq .a .user-content {
    padding: 15px;
}

.faq.open .a {
    /* FIXME 300px 够吗？了解下更加靠谱的方法？JavaScript？JQuery？GreenSock？*/
    max-height: 300px;
}

/* FAQ END*/

/* CONTACT MAP START */
.contact-map {
    margin-top: 30px;
}

.contact-map h2 {
    font-size: 28px;
    font-weight: normal;
}

.contact-map p {
    font-size: 18px;
    font-weight: 700;
    color: #00448a;
    margin-top: 1em;
}

.contact-map .map {
    margin-top: 20px;
    min-height: 500px;
}

@media (max-width: 992px) {
    .contact-map .map {
        margin-left: -15px;
        margin-right: -15px;
        min-height: 50vh;
    }
}

/* CONTACT MAP END */

/* REQUEST A CONTACT START */
.contact-form {
    margin-top: 40px;
}

.form-group {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
}

.form-item {
    flex-basis: 50%;
    padding-left: 20px;
    margin-bottom: 15px;
}

.form-item.fullwidth {
    flex-basis: 100%;
}

.form-item label {
    display: inline-block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #333;
}

label.required::after,
.form-item.required label::after {
    content: '*';
    display: inline-block;
    padding-left: 2px;
    vertical-align: middle;
}

.form-item input:not([type="radio"]),
.form-item select {
    height: 35px;
    display: block;
    width: 100%;
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 6px 12px;
}

.form-item input:focus {
    border-color: #66afe9;
    outline: none;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px rgb(102 175 233 / 60%);
}

@media (max-width: 992px) {
    .form-item {
        flex-basis: 100%;
    }
}

/* 解决 Select2 高度不够的问题，代码来自 https://stackoverflow.com/a/41830955/2999892 */
.select2-selection__rendered {
    line-height: 31px !important;
}

.select2-container .select2-selection--single {
    height: 35px !important;
}

.select2-selection__arrow {
    height: 34px !important;
}

.form-item textarea {
    display: block;
    width: 100%;
    resize: vertical;
    padding: 0.8125rem 1rem;
}

.form-item.center {
    text-align: center;
}

.form-item .submit {
    color: #fff;
    background-color: #337ab7;
    border: none;
    padding: 6px 12px;
    cursor: pointer;
}

.form-item .submit:hover {
    background-color: #286090;
}

.form-item .tips {
    font-size: 12px;
    color: #666;
}

.form-item.consent label.ratio {
    font-weight: 400;
    display: flex;
    align-items: center;
}

.form-item.consent label.ratio input {
    margin-right: 5px;
}

/* REQUEST A CONTACT END */

/* NEWS DETAIL START */
.news-detail > h1 {
    color: #004488;
}

.news-detail > time {
    color: #219cdc;
    font-weight: 600;
}

.news-detail > .user-content {
    margin: 20px 0;
}

.news-detail > .user-content p + p {
    margin-top: 1em;
}

@media (max-width: 992px) {
    .news-detail > h1 {
        font-size: 22px;
    }
}

/* NEWS DETAIL END */

/* SERVICE INDEX START */
.service-index-border {
    border-bottom: 1px solid #f2f2f2;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.service-index-card {
    display: flex;
    flex-direction: column;
}

.service-index-card .image {
    overflow: hidden;
}

.service-index-card .image img {
    display: block;
    transition: transform 400ms;
}

.service-index-card:hover .image img {
    transform: scale(1.1);
}

.service-index-card .text {
    flex: 1;
    padding: 10px 0;
    border-bottom: 1px solid #f2f2f2;
}

.service-index-card h2 {
    font-size: 20px;
    color: #666;
    font-weight: 500;
}

.service-index-card p {
    font-size: 12px;
    color: #666;
}

.zk-grid {
    display: grid;
    grid-gap: 1.5rem;
}

.zk-grid--two {
    grid-template-rows: auto;
    grid-template-columns: repeat(2, 1fr);
}

.zk-grid--three {
    grid-template-rows: auto;
    grid-template-columns: repeat(3, 1fr);
}

.zk-grid--four {
    grid-template-rows: auto;
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 992px) {
    .service-index-cards-list {
        grid-template-columns: 1fr;
    }
}

/* SERVICE INDEX END */

/* SERVICE DETAIL START */
.service-detail-brief-image {
    display: flex;
    margin-top: 20px;
}

.service-detail-brief-image .user-content {
    color: #333;
    line-height: 1.7;
    font-size: 16px;
    padding-right: 1em;
}

.service-detail-brief-image .image {
    flex-basis: 40%;
    flex-shrink: 0;
}

.service-detail-brief-image .image img {
    display: block;
    object-fit: cover;
}

.service-detail-nav-wrap {
    margin-top: 50px;
    background-color: #219cdc;
    padding-top: 10px;
}

.service-detail-nav-list {
    display: flex;
    flex-wrap: wrap;
}

.service-detail-nav-btn {
    border: 0;
    background: none;
    color: #fff;
    font-size: 20px;
    padding: 10px;
    cursor: pointer;
    transition: color 150ms, background-color 150ms
}

.service-detail-nav-btn.active,
.service-detail-nav-btn:hover {
    background-color: #fff;
    color: #219cdc;
}

.service-detail-contents-wrap {
    margin-top: 30px;
}

.service-detail-content .brief-and-image {
    display: flex;
}

.service-detail-content .brief-and-image > img {
    max-width: 30%;
    height: auto;
    object-fit: cover;
}

.service-detail-content .brief-and-image .brief {
    margin-left: 20px;
    color: #333;
}

.service-detail-content .brief-and-image .brief h1 {
    font-weight: 400;
}

.service-detail-content .brief-and-image .brief p + p {
    margin-top: 1em;
}

.service-detail-content .related-wrap {
    margin-top: 40px;
    display: flex;
    margin-left: -15px;
}

.service-detail-content .related-wrap .related {
    flex: 1;
    padding-left: 15px;
    display: flex;
    flex-direction: column;
}

.service-detail-content .related-wrap h4 {
    color: #333;
    font-weight: 400;
    font-size: 18px;
    display: flex;
    align-items: center;
    margin-bottom: 4px;
}

.service-detail-content .related-wrap h4 i {
    color: #219cdc;
    font-size: 1.5em;
    padding-right: 6px;
}

.service-detail-content .related-wrap .links {
    list-style: disc;
    padding: 15px 15px 15px 30px;
    background-color: #808080;
    color: #fff;
    flex: 1;
}

.service-detail-content .related-wrap .links li + li {
    margin-top: 6px;
}

.service-detail-content .related-wrap .links.products {
    background-color: #3399ff;
}

.service-detail-content {
    display: none;
}

.service-detail-content.active {
    display: block;
}

.service-detail-more {
    color: #3399CC;
    font-size: 20px;
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.service-detail-more i {
    font-size: 1.5em;
    margin-right: 5px;
}

.service-detail-content {
    animation: fadeEffect 800ms;
}

.public-contact-us-to-learn-more {
    margin-top: 20px;
    color: #3399CC;
    font-size: 20px;
}

.public-contact-us-to-learn-more .icon-squarecheckfill {
    font-size: calc(1em - 2px);
    padding: 2px;
}

.public-contact-us-to-learn-more > * + * {
    margin-left: 1rem;
}

.public-contact-us-to-learn-more a {
    display: inline-block;
    padding: 1px 0;
    position: relative;
    overflow: hidden;
}

.public-contact-us-to-learn-more a::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #3399CC;
    transform: translate(-100%, 0);
    transition: transform 300ms;
}

.public-contact-us-to-learn-more a:hover::after {
    transform: translate(0, 0);
    transition: transform 150ms;
}

/* Go from zero to full opacity */
@keyframes fadeEffect {
    from {
        transform: translate(0, 20px);
        opacity: 0;
    }
    to {
        transform: translate(0, 0);
        opacity: 1;
    }
}

@media (max-width: 992px) {
    .service-detail-brief-image {
        flex-direction: column-reverse;
    }

    .service-detail-brief-image .user-content {
        padding-right: 0;
        margin-top: 10px;
    }

    .service-detail-nav-list {
        justify-content: space-evenly;
    }

    .service-detail-nav-btn {
        font-size: 18px;
        padding: 4px 8px;
        border-radius: 2px;
    }

    .service-detail-nav-wrap {
        margin-top: 30px;
        padding: 8px 0;
    }

    .service-detail-content .brief-and-image {
        flex-direction: column;
    }

    .service-detail-content .brief-and-image > img {
        max-width: 100%;
    }

    .service-detail-content .brief-and-image .brief {
        margin-left: 0;
    }

    .service-detail-content .related-wrap {
        flex-direction: column;
    }

    .service-detail-content .related-wrap .related + .related {
        margin-top: 10px;
    }
}

/* SERVICE DETAIL END */

/* PRODUCT START */
.product-top-category-card {
    color: #666;
    display: flex;
    flex-direction: column;
    will-change: transform;
    transition: transform 450ms;
    height: 100%;
}

.product-top-category-card-wrap:hover .product-top-category-card {
    transition: transform 125ms;
    transform: translate(0, -10px);
}

.product-top-category-card .image img {
    display: block;
}

.product-top-category-card .text {
    flex: 1;
    padding: 10px 0;
    border-bottom: 1px solid #f2f2f2;
    min-height: 120px;
}

.product-top-category-card .text h2 {
    will-change: color;
    transition: color 450ms;
    text-align: center;
}

.product-top-category-card-wrap:hover .product-top-category-card .text h2 {
    transition: color 125ms;
    color: #3399ff;
}

@media (max-width: 992px) {
    .zk-grid--one-le-992,
    .product-top-categories-list {
        grid-template-columns: 1fr;
    }
}

.product-level3-category > * + * {
    margin-top: 20px;
}

.product-level3-category .image-and-content {
    display: flex;
    justify-content: space-between;
}

.product-level3-category .image-and-content .user-content {
    padding-right: 1%;
    width: 75%;
}

.product-level3-category .image-and-content .image {
    width: 25%;
}

.product-level3-category .image-and-content .image img {
    display: block;
}

.product-level3-category .user-content {
    overflow-x: auto;
}

.product-level3-cards-list {
    margin-top: 40px;
}

.product-level3-card {
    padding-bottom: 10px;
    border-bottom: 1px solid #f2f2f2;
}

.product-level3-card h2 {
    color: #666;
    font-weight: 400;
    margin-bottom: 5px;
}

.product-level3-card h2 i {
    color: #219cdc;
}

.product-level3-card .body {
    display: flex;
}

.product-level3-card .body .image img {
    display: block;
}

.product-level3-card .body .intro {
    color: #666;
    padding-left: 15px;
}

.product-level3-card h2 .title {
    position: relative;
}

.product-level3-card h2 .title::after {
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translate(0, 100%);
    content: "";
    display: block;
    width: 0;
    height: 2px;
    background-color: #219cdc;
    will-change: width;
    transition: width 150ms;
}

.product-level3-card:hover h2 .title::after {
    transition: width 400ms;
    width: 100%;
}

.product-detail-section-1 {
    display: flex;
    margin-top: 30px;
}

.product-detail-section-1 .images-list {
    overflow: hidden;
    flex-shrink: 0;
    flex-basis: 32%;
}

.product-detail-section-1 .images-list img {
    display: block;
}

.product-detail-section-1 .user-content {
    padding: 0 10px;
}

.product-detail-section-1 .user-content > p + p {
    margin-top: 1em;
}

@media (max-width: 992px) {
    .product-detail-section-1 {
        flex-direction: column;
    }

    .product-detail-section-1 .user-content {
        padding: 0;
        margin-top: 10px;
    }

    .product-level3-category .image-and-content {
        flex-direction: column;
    }

    .product-level3-category .image-and-content .user-content {
        width: 100%;
        width: unset;
        padding-right: 0;
    }

    .product-level3-category .image-and-content .image {
        width: 100%;
        width: unset;
        padding: 5px 1rem;
    }
}

.product-detail-section-2 {
    margin-top: 50px;
    display: flex;
    margin-left: -15px;
}

.product-detail-section-2-content {
    flex: 1;
    padding-left: 15px;
    margin-bottom: 15px;
}

.product-detail-section-2-content h3 {
    font-size: 22px;
    color: #219cdc;
    display: flex;
    align-items: center;
}

.product-detail-section-2-content h3 .icon {
    width: 30px;
    height: 30px;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-detail-section-2-content h3 .icon .icon-check-circle-fill {
    font-size: 0.9em;
}

.product-detail-section-2-content h3 .title {
    margin-left: 10px;
}

.product-detail-section-2-content .user-content {
    margin-top: 10px;
    margin-left: calc(30px + 10px);
}

.product-detail-section-2-content .user-content > p + p {
    margin-top: 5px;
}

@media (max-width: 992px) {
    .product-detail-section-2 {
        flex-direction: column;
    }
}

.product-detail-section-3 {
    margin-top: 50px;
}

.product-detail-property + .product-detail-property {
    margin-top: 10px;
}

.product-detail-property button.toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: 0;
    background-color: #219cdc;
    color: #fff;
    text-align: left;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 18px;
}

.product-detail-property button.toggle h4 {
    font-weight: normal;
}

.product-detail-property button.toggle i {
    transition: transform 300ms;
}

.product-detail-property.open button.toggle i {
    transform: rotate(180deg);
}

.product-detail-property .body .user-content {
    padding: 10px 15px;
}

.product-detail-property .body .user-content > p + p {
    margin-top: 10px;
}

.product-detail-property .body .user-content table {
    border-collapse: collapse;
}

.product-detail-property .body .user-content th,
.product-detail-property .body .user-content td {
    border-width: 1px;
    border-style: solid;
}

.product-detail-property .body {
    display: none;
}

.product-detail-property.open .body {
    display: block;
    animation: fadeEffect 800ms;
}

.product-detail-section-4 {
    margin-top: 40px;
}

.product-detail-section-4 h2 {
    color: #333;
    font-size: 22px;
    font-weight: 400;
}

.product-detail-section-4 ul {
    margin-top: 10px;
    padding-left: 10px;
}

.product-detail-section-4 a {
    color: #333;
    font-size: 16px;
    padding: 5px;
    display: flex;
    align-items: center;
}

.product-detail-section-4 a i {
    color: #219cdc;
    font-size: 1.3em;
    margin-right: 2px;
}

.product-detail-section-4 a .size {
    margin-left: 10px;
    font-size: 14px;
    color: #666;
}

.product-detail-section-4 a .title {
    transition: color 300ms;
}

.product-detail-section-4 a:hover .title {
    color: #219cdc;
}

.fullwidth-search-form {
    display: flex;
    font-size: 18px;
    border: 1px solid;
}

.fullwidth-search-form input {
    flex: 1;
    padding: 8px;
    border: 0;
}

.fullwidth-search-form button {
    font-size: 20px;
    padding: 4px 12px;
    border: 0;
}

.product-search-results-wrap {
    margin-top: 40px;
}

.product-search-card {
    border-bottom: 1px solid rgb(0 0 0 / 17%);
    transition: transform 300ms;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-search-card .image {
    overflow: hidden;
}

.product-search-card .image img {
    display: block;
}

.product-search-card .text {
    padding: 10px 0;
    flex: 1;
}

.product-search-card .text h2 {
    text-align: center;
    color: #333;
    transition: color 300ms;
}

.product-search-card .text p {
    color: #666;
    margin-top: 4px;
}

.product-search-card-wrap:hover .product-search-card {
    transition: transform 150ms;
    transform: translate(0, -10px);
}

.product-search-card-wrap:hover .product-search-card .text h2 {
    transition: color 150ms;
    color: #013d8e;
}

.product-search-card .highlight {
    will-change: color;
    transition: color 300ms;
    color: #e50111;
}

.product-search-card-wrap:hover .highlight {
    transition: color 150ms;
    color: inherit;
}

/* PRODUCT END */

/* APPLICATION START */
.app-detail .user-content > p + p {
    margin-top: 10px;
}

.app-index > h2 {
    font-size: 24px;
    font-weight: 500;
    padding-bottom: 10px;
    position: relative;
    margin-bottom: 20px;
}

.app-index > h2::after {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    content: "";
    width: 3rem;
    height: 2px;
    background-color: #0086dc;
}

.app-index .user-content {
    margin-top: 30px;
}

.app-index-cards-list {
    margin-top: 40px;
}

.app-index-card {
    border: 1px solid #e4e4e4;
    position: relative;
    overflow: hidden;
}

.app-index-card .image img {
    display: block;
}

.app-index-card .text {
    padding: 1.5rem
}

.app-index-card .title {
    font-size: 18px;
    position: relative;
    padding-top: 1rem;
}

.app-index-card .title::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "";
    width: 3rem;
    height: 2px;
    background-color: #0086dc;
}

.app-index-card .overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    transform: translate(0, 100%);
    will-change: transform;
    transition: transform 300ms;
}

.app-index-card .overlay .title {
    padding-top: 0;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.app-index-card .overlay .title::before {
    top: 100%;
}

.app-index-card .overlay .intro {
    margin-top: 10px;
    margin-bottom: 20px;
    max-height: 60%;
    overflow-y: auto;
    line-height: 1.6;
}

.app-index-card .overlay .more {
    margin-top: auto;
    text-transform: uppercase;
    font-weight: 700;
    display: flex;
    align-items: center;
}

.app-index-card .overlay .more i {
    font-size: 1.6em;
    font-weight: 400;
    color: #0086dc;
    margin-left: 5px;
}

.app-index-card:hover .overlay {
    transform: translate(0, 0);
}

@media (max-width: 992px) {
    .app-index-cards-list {
        grid-template-columns: 1fr;
    }

    .app-index-card .text {
        padding: 1rem;
    }
}

/* APPLICATION END */

/* DOCUMENT START */
.document-nav-wrap {
    margin-top: 50px;
    background-color: #219cdc;
    padding-top: 10px;
}

.document-nav-list {
    display: flex;
    flex-wrap: wrap;
}

.document-nav-btn {
    border: 0;
    background: none;
    color: #fff;
    font-size: 20px;
    padding: 10px;
    cursor: pointer;
    transition: color 150ms, background-color 150ms
}

.document-nav-btn.active,
.document-nav-btn:hover {
    background-color: #fff;
    color: #219cdc;
}

.document-contents-wrap {
    margin-top: 50px;
}

.document-content {
    display: none;
    animation: fadeEffect 800ms;
}

.document-content.active {
    display: block;
}

.document-card-wrap {
    display: block;
}

.document-card-wrap + .document-card-wrap {
    margin-top: 30px;
}

.document-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-top: 1px solid #e4e4e4;
    will-change: box-shadow, transform;
    transition: box-shadow 300ms, transform 300ms;
}

.document-card .title {
    font-size: 18px;
    color: #333;
}

.document-card .intro {
    margin-top: 8px;
    color: #666;
}

.document-card .stats {
    margin-top: 8px;
    color: #7e7e7e;
}

.document-card .stats .format {
    text-transform: uppercase;
}

.document-card .download {
    font-size: 16px;
    color: #666;
    will-change: color;
    transition: color 300ms;
    display: flex;
    align-items: center;
}

.document-card .download i {
    font-size: 1.5em;
    margin-right: 2px;
}

.document-card-wrap:hover .document-card .download {
    color: #219cdc;
}

.document-card-wrap:hover .document-card {
    box-shadow: 4px 2px 9px 0 #00000038;
    transform: translate(0, -10px);
    transition: box-shadow 150ms, transform 150ms;
}

@media (max-width: 992px) {
    .document-nav-wrap {
        margin-top: 30px;
        padding: 8px 0;
    }

    .document-nav-list {
        justify-content: space-evenly;
    }

    .document-nav-btn {
        font-size: 18px;
        padding: 4px 8px;
    }

    .document-card-wrap + .document-card-wrap {
        margin-top: 15px;
    }
}

/* DOCUMENT END */

/* SITE SEARCH START */
.results {
    margin-top: 40px;
}

.results > * + * {
    border-top: 1px solid #e7e7e7;
    margin-top: 20px;
    padding-top: 20px;
}

.site-category-title {
    color: #666;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.site-title {
    color: #333;
    font-weight: 600;
    margin-top: 5px;
    will-change: color;
    transition: color 400ms;
}

.site-product-card .image {
    overflow: hidden;
}

.site-product-card .image img {
    display: block;
    transition: transform 400ms;
}

.site-product-card:hover .image img {
    transform: scale(1.05);
}

.site-product-card:hover .site-title {
    color: #013d8e;
}

.site-product-card:hover .site-title .search-result-highlight {
    color: inherit;
}

.search-no-result {
    font-size: 15px;
    color: #333;
}

.search-no-result .query {
    font-weight: bold;
}

.search-result-highlight {
    transition: 200ms;
    color: #e50111;
}

/* SITE SEARCH END */

/* PRODUCT MENU STRAT */
.product-menu {
    margin: 1rem 0;
    position: relative;
    width: max-content;
}

.product-menu:hover .dropdown {
    display: block;
    animation: fadeProductMenuDropdown 300ms;
}

@keyframes fadeProductMenuDropdown {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.product-menu .dropdown {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    background-color: rgba(255, 255, 255, 0.97);
    z-index: 1;
    border: 1px solid #004098;
}

.product-menu .dropdown a {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 10px;
    font-size: 16px;
    transition: color 200ms, background-color 200ms;
}

.product-menu .dropdown a i {
    margin-left: 2px;
}

.product-menu .dropdown a:hover {
    background-color: #004098;
    color: #fff;
}

.product-menu .dropdown li:hover > a {
    background-color: #004098;
    color: #fff;
}

.product-menu .level2,
.product-menu .level3 {
    display: none;
}

.product-menu .level1 {
    width: max-content;
}

.product-menu .level1 > li {
    position: relative;
}

.product-menu .level2 {
    position: absolute;
    width: max-content;
    left: calc(100% + 1px);
    top: 0;
    background-color: rgba(255, 255, 255, 0.97);
    border: 1px solid #004098;
}

.product-menu .level1 > li:hover .level2 {
    display: block;
}

.product-menu .level2 > li {
    position: relative;
}

.product-menu .level3 {
    position: absolute;
    width: max-content;
    left: calc(100% + 1px);
    top: 0;
    background-color: rgba(255, 255, 255, 0.97);
    border: 1px solid #004098;
}

.product-menu .level2 > li:hover .level3 {
    display: block;
}

.product-menu .trigger button {
    text-transform: uppercase;
    background: none;
    font-size: 16px;
    font-weight: 400;
    border: 1px solid #013d8e;
}

/* PRODUCT MENU END */

/* 1200px 以内 */
@media (max-width: 1199px) {
    /* .header2-wrap > .container {
        width: 100%;
    } */
    .header2 .brand .image img {
        /* width: 120px; */
        /* height: 120px; */
    }

    .header2 .slogan {
        font-size: 16px;
        margin-left: 120px;
        margin-top: 35px;
    }

    [lang="zh"] .header2 .menu .item {
        font-size: 15px;
        padding: 1em 0.75em;
    }

    [lang="en"] .header2 .menu .item {
        font-size: 14px;
        padding: 1em 0.6em;
    }

    .header2 .slogan-inner {
        padding-left: 5px;
    }
}

/* TEMP FIX FOR MY IPAD (1080px or 810px */
@media (max-width: 1080px) and (min-width: 540px) {
    .footer-main .footer-info {
        font-size: 12px;
    }

    .footer-nav-list.zk-grid {
        font-size: 12px;
        grid-column-gap: 8px;
        grid-row-gap: 4px;
    }

    .footer-contact .icon-squarecheckfill {
        font-size: 12px;
    }

    .footer-contact {
        font-size: 12px;
    }
}

/* TEMP FIX FOR MY IPAD (1080px or 810px */

/* LOGO ANIMATION START */
.logos-wrap {
    padding: 8px 0;
    overflow: hidden;
    position: relative;
    display: flex;
}

.logos-wrap::before,
.logos-wrap::after {
    content: "";
    display: block;
    position: absolute;
    left: -15px;
    top: -10px;
    height: 120%;
    width: 100px;
    z-index: 2;
    background-image: -webkit-linear-gradient(
        left,
        #ebedf0 20%,
        rgba(235, 237, 240, 0)
    );
}

.logos-wrap::after {
    left: auto;
    right: 0;
    background-image: -webkit-linear-gradient(
        right,
        #ebedf0 20%,
        rgba(235, 237, 240, 0)
    );
}

.logos-wrap:hover .logos {
    animation-play-state: paused;
}

.logos {
    flex-shrink: 0;
    display: flex;
    animation: logo-move 40s linear infinite;
}

.reversed .logos {
    animation-name: logo-move-reversed;
}

@keyframes logo-move {
    0% {
        transform: translate(0);
    }

    100% {
        transform: translate(-100%);
    }
}

@keyframes logo-move-reversed {
    0% {
        transform: translate(-100%);
    }

    100% {
        transform: translate(0);
    }
}

.logo {
    background-color: #fff;
    flex-shrink: 0;
    border-radius: 5px;
    /*box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);*/
    overflow: hidden;
    padding: 2px 5px;
    margin-right: 20px;
}

.logo img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.logo figcaption {
    margin-top: 5px;
    text-align: center;
    font-size: 13px;
    opacity: 0.5;
}

.index-partners-list-wrap {
    background-color: #ebedf0;
}

.index-partners-list-wrap h1 {
    margin-bottom: 10px;
}

@media (max-width: 640px) {
    .logo img {
        width: 100px;
    }

    .logo figcaption {
        font-size: 10px;
    }
}

/* LOGO ANIMATION END */
