:root {
    --site-shell-max: 1600px;
}

html {
    min-width: 320px;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    min-width: 320px;
    overflow-x: hidden;
}

@supports (overflow: clip) {
    body {
        overflow-x: clip;
    }
}

main,
main > * {
    min-width: 0;
}

img,
picture,
video,
canvas,
svg,
iframe {
    max-width: 100%;
}

img,
video {
    height: auto;
}

iframe {
    border: 0;
}

/* Keep content readable on wide and zoomed-out desktop viewports. */
.container {
    width: calc(100% - 48px);
    max-width: var(--site-shell-max) !important;
}

.seo-list-heading h1,
.seo-page-heading h1,
.page-content-title,
.case-item-title,
.product-item-title {
    overflow-wrap: anywhere;
}

.neibanner {
    height: 320px;
}

.neibanner .neibannerdesc h1 {
    margin-top: 5px;
    font-size: 44px;
    font-weight: 400;
    letter-spacing: 0;
}

.page-list.case-wrapper .container > .row > [class*="col-"] {
    display: flex;
    margin-bottom: 24px;
}

.page-list.case-wrapper .case-item {
    width: 100%;
    height: 100%;
    margin-bottom: 0;
}

.page-list.case-wrapper .case-item > a {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
}

.page-list.case-wrapper .case-item-img {
    aspect-ratio: 4 / 3;
    background: #f7f9fb;
}

.page-list.case-wrapper .case-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-list.case-wrapper .case-content-wrapper {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.page-list.case-wrapper .case-item-info {
    line-height: 1.75;
}

.page-list.product-wrapper .product-list .product-item {
    display: flex;
}

.page-list.product-wrapper .product-item-wrapper {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
}

.page-list.product-wrapper .product-list .pic {
    aspect-ratio: 4 / 3;
    background: #f7f9fb;
}

.page-list.product-wrapper .product-list .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-list.product-wrapper .product-list .content-wrapper,
.page-list.product-wrapper .product-item-content-wrapper {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.page-list.product-wrapper .product-item-bottom {
    margin-top: auto;
}

.page-content .card-body {
    min-width: 0;
    overflow-x: auto;
}

.page-content .card-body img {
    max-width: 100%;
}

.page-content table {
    max-width: 100%;
}

.footer-link,
.footer-link .left,
.footer-link-wrapper,
.footer-contact .qrcodes {
    min-width: 0;
    flex-wrap: wrap;
}

@media (min-width: 1400px) {
    .page-list.case-wrapper .container > .row > .col-xl-4 {
        flex: 0 0 25%;
        max-width: 25%;
    }
}

@media (max-width: 1199.98px) {
    .neibanner {
        height: 240px;
    }

    .neibanner .neibannerdesc .neibannerdesc-title {
        margin-bottom: 28px;
    }
}

@media (max-width: 991.98px) {
    .container {
        width: calc(100% - 32px);
    }

    .page-list.case-wrapper .container > .row > [class*="col-"],
    .page-list.product-wrapper .product-list .product-item {
        margin-bottom: 20px;
    }

    .page-content .page-content-card .card-body {
        padding: 24px;
    }
}

@media (max-width: 767.98px) {
    .container {
        width: 100%;
        max-width: 100% !important;
    }

    .neibanner {
        height: 210px;
    }

    .neibanner .neibannerdesc .neibannerdesc-title {
        margin-bottom: 24px;
    }

    .neibanner .neibannerdesc h1,
    .neibanner .neibannerdesc h2 {
        font-size: 32px;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .neibanner .neibannerdesc p {
        font-size: 15px;
        line-height: 1.5;
    }

    .page-list.case-wrapper,
    .page-list.product-wrapper,
    .page-content {
        padding-top: 22px;
        padding-bottom: 28px;
    }

    .page-list.product-wrapper {
        margin-top: 0;
    }

    .page-list .seo-list-heading,
    .page-list .seo-page-heading {
        margin-bottom: 20px;
        padding: 18px;
    }

    .page-list .seo-list-heading h1,
    .page-list .seo-page-heading h1 {
        font-size: 22px;
        line-height: 1.4;
    }

    .page-list .seo-list-heading p,
    .page-list .seo-page-heading p,
    .page-list .seo-list-keywords {
        font-size: 14px;
        line-height: 1.75;
    }

    .page-list .seo-longtail-panel,
    .page-list .seo-category-longtail,
    .page-list .seo-faq-panel {
        margin-top: 24px;
        padding: 20px;
    }

    .page-list .seo-longtail-panel h2,
    .page-list .seo-category-longtail h2,
    .page-list .seo-faq-panel h2 {
        font-size: 22px;
        line-height: 1.4;
    }

    .page-list.case-wrapper .container > .row > [class*="col-"],
    .page-list.product-wrapper .product-list .product-item {
        margin-bottom: 16px;
    }

    .page-list.case-wrapper .case-content-wrapper {
        padding: 14px 16px 16px;
    }

    .page-content .page-content-card .card-body {
        padding: 18px;
    }

    .page-content .page-content-title {
        font-size: 23px;
        line-height: 1.4;
    }

    .page-content .tabs {
        gap: 24px;
        padding: 18px 18px 0;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .page-content .tabs .tabs-item {
        flex: 0 0 auto;
        margin-right: 0;
        white-space: nowrap;
    }

    .page-pagination {
        overflow: hidden;
    }

    .page-pagination .pagination,
    .page-pagination .pager {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px;
        margin: 20px 0;
    }

    .page-pagination .pagination > li > a,
    .page-pagination .pagination > li > span,
    .page-pagination .pager > li > a,
    .page-pagination .pager > li > span {
        float: none;
        min-width: 38px;
        margin-left: 0;
        padding: 8px 10px;
        text-align: center;
    }

    .page-pagination .pagination .jumpto {
        display: flex;
        max-width: 100%;
        margin: 0;
    }

    .page-pagination .pagination .jumpto .page_number {
        width: 92px;
        min-width: 0;
    }

    footer {
        padding-top: 28px;
        padding-bottom: 24px;
    }

    .footer-link {
        display: block !important;
    }

    .footer-contact {
        width: 100%;
    }

    .copyriht {
        line-height: 1.8;
    }

    input,
    select,
    textarea {
        font-size: 16px !important;
    }
}

@media (max-width: 575.98px) {
    .main-slider.main-slider {
        --home-banner-height: 520px;
    }

    .main-slider .swiper-slide-content {
        padding-right: 16px;
        padding-left: 16px;
    }

    .main-slider.main-slider .home-hero-slide .main-slider__content {
        padding: 20px 18px 22px;
    }

    .main-slider.main-slider .home-hero-slide h2 {
        font-size: 38px;
        line-height: 1.08;
    }

    #main-slider-pagination {
        bottom: 16px;
    }

    .page-list.case-wrapper .case-item-title,
    .page-list.product-wrapper .product-item-title {
        font-size: 15px;
        line-height: 1.55;
    }

    .page-list.case-wrapper .case-item-info,
    .page-list.product-wrapper .product-item-info {
        font-size: 13px;
    }

    .page-list .seo-longtail-grid,
    .page-list .seo-category-grid,
    .page-list .seo-support-grid,
    .page-list .seo-faq-list {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (max-width: 575.98px) and (max-height: 620px) {
    .main-slider.main-slider {
        --home-banner-height: 450px;
    }
}

@media (hover: none) {
    .page-list.case-wrapper .case-item:hover,
    .page-list.product-wrapper .product-item-wrapper:hover {
        top: 0;
    }

    .page-list.case-wrapper .case-item:hover .case-item-img img,
    .page-list.product-wrapper .product-item-wrapper:hover .pic img {
        transform: none;
    }

    .page-list.case-wrapper .case-item:hover .case-content-wrapper,
    .page-list.product-wrapper .product-item-wrapper:hover .content-wrapper {
        color: inherit;
        background-color: #fff;
    }

    .page-list.case-wrapper .case-item:hover .case-item-title,
    .page-list.product-wrapper .product-item-wrapper:hover .product-item-title {
        color: #000;
    }

    .page-list.case-wrapper .case-item:hover .case-item-info {
        color: #666;
    }

    .page-list.product-wrapper .product-item-wrapper:hover .product-item-info {
        color: #999;
    }

    .page-list.product-wrapper .product-item-wrapper:hover .public-more {
        color: #333;
    }

    .page-list.product-wrapper .product-item-wrapper:hover .product-item-mask {
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
