/* English images used by the original mobile header and industries section. */
.waphear .logo { background-image: url(../images/en/logo.svg); }
.application { background-image: url(../images/en/industry-applications.svg); }
.news { background-image: url(../images/en/news-background.svg); }

/* Keep wide banner artwork from tiling at intermediate screen widths. */
.banner-image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
/* Some category templates repeat the masthead directly after the header. */
.banner-image + .banner-image { display: none; }

/* Keep carousel controls visible over the homepage photography. */
.lb .swiper-pagination-bullet { box-shadow: var(--carousel-dot-ring, none); }
.lb .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
    background: var(--carousel-muted-dot, #687e9a);
}
.lb .swiper-button-prev { color: var(--carousel-prev-color, #1a5db6); }
.lb .swiper-button-next { color: var(--carousel-next-color, #1a5db6); }
.lb .swiper-container:has(.swiper-slide-active img[src$="slide-utility-marking-factory.webp"]),
.lb .swiper-container:has(.swiper-slide-active img[src$="slide-marker-posts-field.webp"]),
.lb .swiper-container:has(.swiper-slide-active .carousel-picture) {
    --carousel-muted-dot: #24496e;
    --carousel-dot-ring: 0 0 0 2px #eaf6ff;
    --carousel-prev-color: #eaf6ff;
}
.lb .swiper-container:has(.swiper-slide-active .carousel-picture) { --carousel-next-color: #eaf6ff; }
.lb .carousel-picture, .lb .swiper-slide .carousel-picture img { display: block; width: 100%; }

@media (min-width: 769px) {
    .header .top ul {
        display: flex;
        width: auto;
        gap: 12px;
    }
    .header .top ul li {
        width: auto;
        padding-right: 12px;
        white-space: nowrap;
    }
    .header .top ul li:last-child {
        margin-left: 0;
        padding-right: 0;
    }
    .header-logo {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
    }
    .header-logo h1 { min-width: 0; }
    .header-tel {
        display: flex;
        align-items: center;
        flex: 0 0 auto;
        gap: clamp(8px, 1vw, 16px);
        width: auto;
        margin: 0;
    }
    .header-tel img {
        width: clamp(24px, 2.2vw, 40px);
        margin: 0;
    }
    .header-tel .tel { width: auto; }
    .header-tel .tel span {
        width: auto;
        white-space: nowrap;
        font-size: clamp(16px, 1.55vw, 28px);
        line-height: 1.25;
    }
    .header-tel .tel span + span { margin-top: 4px; }
}

/* Give longer English labels room inside the original navigation and cards. */
.nva ul {
    display: flex;
}
.nva ul li {
    width: auto;
    float: none;
    flex: 1 1 auto;
}
.nva ul li a {
    padding-inline: 5px;
    box-sizing: border-box;
    white-space: nowrap;
    font-size: clamp(11px, 1.05vw, 14px);
}

.title-img {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
}
.title-img p {
    max-width: 94%;
    margin: 0;
    font-size: clamp(13px, 1.24vw, 19px);
    line-height: 1.15;
}
.title-img img {
    width: 23%;
    margin: 0;
}

.peo-title ul li a, .news .title ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 2px 5px;
    box-sizing: border-box;
    line-height: 1.15;
}
.peo-title ul li a {
    font-size: clamp(12px, 1.2vw, 16px);
}
.news .title ul li a {
    font-size: clamp(11px, 1.15vw, 15px);
}
.prgt-title {
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.25;
}
.prgt-title span {
    flex: 1;
    min-width: 0;
    font-size: clamp(13px, 1.25vw, 18px);
    overflow-wrap: anywhere;
}
.prgt-title i {
    flex: 0 0 20%;
    margin: 0;
}
.prgt ul li .prgt-p span {
    width: auto;
    min-width: 60px;
    max-width: 70%;
}
.case_list .h2, .news_list .h2 {
    white-space: normal;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.adv-title ul li {
    padding-inline: 5px;
    line-height: 1.2;
    font-size: clamp(12px, 1.1vw, 17px);
}
.right-title .zh {
    height: auto;
    padding: .55em .7em;
    background-size: 100% 100%;
    line-height: 1.3;
}
.about-moer {
    min-width: 106px;
}
.about .about-box .about-r .about-r-jj .about-r-nr {
    height: auto;
    max-height: none;
    font-size: clamp(15px, 1.15vw, 17px);
    line-height: 1.65;
    text-indent: 0;
    white-space: pre-line;
}
.inner-about .block-1 { margin-top: clamp(20px, 2.2vw, 32px); }
.inner-about .indexshow-title {
    height: auto;
    margin-bottom: 16px;
}
.inner-about .indexshow-title .cn {
    line-height: 1.2;
    text-transform: uppercase;
}
.inner-about .block-1 .cont {
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.7;
}
.inner-about .block-1 .cont p {
    margin: 0 0 16px;
    color: #595757;
    font-size: inherit;
}
.inner-about .block-1 .cont p:last-child { margin-bottom: 0; }

/* Keep article headlines, dates and previews inside the existing news columns. */
.news_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(18px, 2vw, 36px);
}
.news_list .column {
    width: auto;
    margin-inline: 0;
    padding-inline: 0;
}
.news_list .column > a {
    height: 100%;
    box-sizing: border-box;
}
.news_list .h2 > span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    height: 2.6em;
    overflow: hidden;
}
.news_tui .recommend h6 {
    height: auto;
    line-height: 1.3;
}
.news_tui .recommend p {
    height: auto;
    margin-block: 6px 10px;
}
.list_news ul li {
    display: flex;
    align-items: center;
    gap: 6px;
    box-sizing: border-box;
    min-height: 47px;
    height: auto;
    padding-block: 5px;
    line-height: 1.25;
}
.list_news ul li span {
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    margin: 0;
}
.list_news ul li a {
    width: auto;
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}
.list_news ul li i {
    flex: 0 0 auto;
    font-size: .82em;
    white-space: nowrap;
}
.right_news ul li p {
    line-height: 1.4;
}
.right_news ul li p:first-child {
    height: auto;
    min-height: 24px;
    overflow: visible;
}
.right_news ul li p:nth-child(2) {
    clear: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 24px;
}

.page-contact .center { border-bottom: 0; }
.page-contact .center ul {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
}
.page-contact .center .contact-address-row { border-top: 0; }
.page-contact .center ul li {
    display: flex;
    flex: 0 0 calc(100% / 6);
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
    min-height: 93px;
    height: auto;
    margin: 0;
    padding: 10px 7px;
    border-width: 0 1px 1px 0;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.page-contact .center ul li i {
    flex: 0 0 auto;
    margin-right: 7px;
}
.page-contact .center ul .li-2 {
    font-size: clamp(12px, 1.05vw, 15px);
}
.page-contact .center ul .li-2 a[href^="tel:"] {
    white-space: nowrap;
    font-size: clamp(12px, .94vw, 14px);
}
.page-contact .center ul .contact-website { flex-grow: 1; }
.page-contact .center ul .li-2.contact-address {
    flex: 1 0 0;
    justify-content: flex-start;
    padding-inline: clamp(12px, 1.7vw, 26px);
    text-align: left;
}
.footer {
    background-size: 100% 100%;
}
.footer .footer-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px clamp(10px, 1.15vw, 20px);
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #fff;
}
.footer .footer-nav a {
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.4;
    white-space: nowrap;
}
.footer .footer-box .footer-r {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(12px, 1.6vw, 28px);
}
.footer .footer-box .footer-r .footer-r-xx {
    float: none;
    width: auto;
    padding-right: clamp(8px, 1.4vw, 20px);
}
.footer .footer-box .footer-r .footer-r-xx li {
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.5;
    padding-block: 6px;
    overflow-wrap: anywhere;
}
.footer .footer-box .footer-r .footer-r-xx li img {
    flex: 0 0 auto;
    float: none;
    margin: 0;
}
.footer .footer-box .footer-r .footer-r-xx li span { min-width: 0; }
.footer-r-xx a + a {
    margin-left: .55em;
}
.footer .footer-box .footer-r .footer-r-ewm {
    float: none;
    width: clamp(76px, 8vw, 125px);
    margin-top: 0;
}
.footer .footer-box .footer-r .footer-r-ewm img { width: 100%; }

/* These old decorative URLs have no matching files. */
.indexshow-title, .qywh ul::after, .footer_float ul li {
    background-image: none;
}

@media (min-width: 769px) and (max-width: 920px) {
    .nva ul.middle { width: 96%; }
    .nva ul li a { padding-inline: 4px; }
    .footer .footer-box .footer-l p { padding-left: 0; }
}

@media (min-width: 769px) and (max-width: 1279px) {
    .page-contact .center ul li { padding-inline: 5px; }
    .page-contact .center ul .li-1 {
        flex-basis: 22%;
        font-size: 14px;
    }
    .page-contact .center ul .li-2 { flex-basis: 28%; }
    .page-contact .center ul li i {
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 22px;
    }
}

@media (max-width: 1000px) {
    .news_list { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 768px) {
    .lb:hover .swiper-button-prev, .lb:hover .swiper-button-next { display: none !important; }
    .lb .swiper-container-horizontal > .swiper-pagination-bullets {
        left: 0;
        width: 100%;
        justify-content: center;
        gap: 10px;
    }
    .lb .swiper-pagination-bullet {
        flex: 0 0 auto;
        margin: 0 !important;
    }
    .peo-title ul li a { font-size: 12px; }
    .prgt-title {
        height: 54px;
        padding: 4px 6px;
    }
    .prgt-title span { font-size: 12px; }
    .adv-title ul li {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 3px 4px;
    }
    .page-contact .center ul li { flex-basis: 50%; }
    .page-contact .center ul li.wapcont { display: none; }
    .page-contact .center ul .li-2 { font-size: 14px; }
    .page-contact .center ul .li-2 a[href^="tel:"] { font-size: clamp(11px, 3.5vw, 14px); }
    .footer { padding-bottom: 52px; }
    .footer .footer-nav { display: none; }
    .footer .footer-box .footer-r { display: block; }
    .footer .footer-box .footer-r .footer-r-xx { padding-right: 0; }
    .footer .footer-box .footer-l p:first-of-type { display: block; }
    .footer_float ul li {
        font-size: 14px;
        white-space: nowrap;
    }
    .case_list.wap_case {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 8px;
    }
    .case_list.wap_case > .column {
        width: auto;
        margin: 0;
    }
    .case_list.wap_case .h2 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        height: 2.6em;
        overflow: hidden;
    }
    .case_list.wap_case + .v9_pages:not(:empty) {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 18px;
    }
    .case_list.wap_case + .v9_pages > :is(a, span) { margin-bottom: 0; }
    .case_list.search-list { display: inline-block; }
    .case_list .search-empty { white-space: normal; }
}
