:root {
    --page: 1200px;
    --blue: #1378bb;
    --text: #5a5a5a;
    --line: #e2e2e2;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; min-width: 1200px; background: #fff; color: var(--text); font: 12px/1.5 Arial, "Microsoft YaHei", SimSun, sans-serif; }
body { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; border: 0; }
#scroll_container { position: fixed; top: 0; right: 0; left: 0; width: 100%; height: 100vh; overflow-x: hidden; overflow-y: scroll; box-sizing: content-box; background: #fff; }
.site-shell { min-width: 1200px; padding-bottom: 2px; background: #fff; }

.topbar { height: 31px; color: #777; background: #f5f5f5 url("../images/beijing.jpg") repeat-x left top; }
.topbar-inner { position: relative; width: var(--page); height: 31px; margin: 0 auto; font-family: SimSun, serif; line-height: 30px; }
.top-date { margin-left: 23px; }
.top-time { margin-left: 8px; }
.language-switch { position: absolute; top: 0; right: 0; width: 183px; height: 30px; display: flex; align-items: center; }
.language-switch a { display: flex; flex: 0 0 auto; align-items: center; height: 30px; margin: 0 3px; padding-right: 7px; color: #333; font: 12px/30px Arial, SimSun, sans-serif; white-space: nowrap; }
.language-switch img { width: 27px; height: 19px; margin-right: 5px; }

.site-header { display: flex; width: var(--page); height: 107px; margin: 0 auto; background: #fff; }
.brand { flex: 0 0 296px; width: 296px; height: 107px; padding-top: 18px; overflow: hidden; }
.brand strong { display: block; height: 34px; color: #247ba9; font: 700 28px/34px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.brand small { display: block; color: #777; font: 18px/22px Arial, sans-serif; white-space: nowrap; }
.main-nav { display: flex; flex: 0 0 904px; width: 904px; height: 83px; margin-top: 19px; padding-left: 15px; }
.nav-item { position: relative; flex: 0 0 111px; width: 111px; height: 83px; text-align: center; }
.nav-link { display: block; width: 111px; height: 83px; overflow: hidden; color: #333; font: 18px/80px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.nav-link:hover, .nav-link.active { color: #fff; background: transparent url("../images/anniu_x9yx.jpg") center top repeat-x; }
.nav-submenu { display: none; position: absolute; z-index: 40; left: 0; top: 83px; width: 111px; padding: 4px 0; background: rgba(18, 120, 187, .94); box-shadow: 0 3px 5px rgba(0, 0, 0, .16); }
.nav-item:hover .nav-submenu { display: block; }
.nav-submenu a { display: block; height: 31px; color: #fff; font: 13px/31px "Microsoft YaHei", sans-serif; }
.nav-submenu a:hover { background: rgba(255, 255, 255, .15); }

.hero { position: relative; width: 100%; height: 500px; overflow: hidden; background: #dfe8eb; }
.hero-track { display: flex; width: 100%; height: 100%; transition: transform .7s ease; }
.hero-slide { display: block; flex: 0 0 100%; width: 100%; height: 500px; overflow: hidden; }
.hero-slide img { width: 100%; height: 500px; object-fit: cover; object-position: center top; }
.hero-dots { position: absolute; left: 0; right: 0; bottom: 18px; text-align: center; }
.hero-dots button { width: 10px; height: 10px; margin: 0 4px; padding: 0; border: 1px solid #666; border-radius: 50%; background: rgba(102, 102, 102, .4); cursor: pointer; }
.hero-dots button.active { background: #660000; border-color: #660000; }
.inner-banner { position: relative; width: 100%; height: 250px; overflow: hidden; background: #e8f4f8; }
.inner-banner img { position: absolute; top: 0; left: 50%; width: 1920px; max-width: none; height: 250px; transform: translateX(-50%); }
.inner-banner-en { height: 500px; }
.inner-banner-en img { left: 50%; width: auto; height: 500px; transform: translateX(-50%); object-fit: contain; }
html[lang="en"] .brand { flex-basis: 290px; width: 290px; }
html[lang="en"] .main-nav { flex-basis: 910px; width: 910px; padding-left: 0; }
html[lang="en"] .nav-link { font: 14px/80px Arial, sans-serif; }
html[lang="en"] .source-heading-news { padding-top: 6px; }
html[lang="en"] .news-main .category-tabs-inner { margin: 26px 0 19px; }
html[lang="en"] .news-detail-main .category-tabs-inner { margin: 26px 0 28px; }

.search-strip { height: 39px; background: #fff; }
.inner-banner + .search-strip { height: 48px; }
.search-inner { position: relative; width: var(--page); height: 100%; margin: 0 auto; }
.hotwords { position: absolute; left: 2px; top: 8px; height: 28px; line-height: 28px; color: #999; white-space: nowrap; }
.inner-banner + .search-strip .hotwords { top: 8px; }
.hotwords b { color: #777; font-weight: 700; }
.hotwords a { margin-right: 18px; color: #999; }
.hotwords a:hover { color: #009dff; }
.search-form { position: absolute; top: 8px; right: 2px; width: 300px; height: 28px; background: url("../images/c6.jpg") no-repeat left top; }
.inner-banner + .search-strip .search-form { top: 16px; }
.search-text { float: left; width: 242px; height: 18px; margin: 5px 8px 0 16px; padding: 0 5px; border: 0; outline: 0; color: #666; background: #fff; font-size: 12px; line-height: 18px; }
.search-form button { float: left; width: 27px; height: 25px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.search-separator { width: 100%; height: 10px; background: #fff url("../images/xian_3ncj.jpg") repeat-x left top; }

.content-main, .home-section { width: var(--page); margin: 0 auto; }
.content-main { min-height: 510px; padding-bottom: 65px; }
.source-heading { position: relative; text-align: center; }
.source-heading > img { margin: 0 auto; }
.source-separator { display: block; width: 383px; height: 5px; margin: 19px auto 0; background: url("../images/fengejz_k2q9.png") no-repeat center; }
.source-heading-label { position: absolute; left: 50%; bottom: -10px; width: 75px; min-width: 0; padding: 0; transform: translateX(-50%); color: #777; background: #fff; font: 400 18px/25.2px "Microsoft YaHei", sans-serif; font-style: normal; }
.source-heading-about { padding-top: 25px; }
.source-heading-about > img { width: 360px; height: 40px; }
.source-heading-culture { padding-top: 8px; }
.source-heading-culture > img { width: 360px; height: 47px; }
.source-heading-jobs { padding-top: 8px; }
.source-heading-jobs > img { width: 360px; height: 47px; }
.source-heading-products { padding-top: 22px; }
.source-heading-products > img { width: 333px; height: 45px; }
.source-heading-news { padding-top: 25px; }
.source-heading-news > img { width: 360px; height: 40px; }
.source-heading-equipment { padding-top: 29px; }
.source-heading-equipment > img { width: 360px; height: 47px; }
.source-heading-contact { padding-top: 34px; }
.source-heading-contact > img { width: 219px; height: 36px; }
.source-heading-contact .source-separator { margin-top: 24px; }

.about-tabs, .category-tabs { display: flex; justify-content: center; }
.about-tabs { position: relative; left: -5px; width: 400px; height: 50px; margin: 28px auto 33px; padding: 0 15px; background: #f3f3f3; }
.about-tabs a { width: 185px; height: 50px; color: #fff; text-align: center; font: 14px/50px "Microsoft YaHei", sans-serif; background: #3483bd; }
.about-tabs a:hover, .about-tabs a.active { color: #fff; background: #3483bd; }
.source-copy { padding: 0 4px 18px; color: #5a5a5a; font: 16px/22.4px "Microsoft YaHei", sans-serif; }
.source-copy p { margin: 0 0 13px; text-indent: 2em; }
html[lang="en"] .source-copy { padding: 0 14px; color: #000; font: 16px/35.2px Arial, sans-serif; }
html[lang="en"] .source-copy p { margin: 0 0 25px; text-indent: 0; }
.about-factory-image { position: relative; left: -2px; display: block; width: 1093px; height: 372px; margin: 25px auto 40px; object-fit: cover; }
html[lang="cn"] .generic-single .source-copy { width: 1175px; margin-left: 4px; padding: 0; }
html[lang="cn"] .generic-single .source-copy p { margin: 0; color: #000; font: 18px/39.6px "Microsoft YaHei", sans-serif; text-indent: 38px; }
html[lang="cn"] .generic-single .about-factory-image { margin-top: 52.25px; }
html[lang="cn"] .generic-single { padding-bottom: 23px; }
html[lang="en"] .generic-single { padding-bottom: 0; }
.culture-copy { width: 1175px; min-height: 310px; margin: 19px 0 0 20px; color: #5a5a5a; font-family: SimHei, "Microsoft YaHei", sans-serif; }
.culture-line { height: 129.6px; }
.culture-line strong { display: block; color: #f30; font: 700 24px/21.6px SimHei, sans-serif; }
.culture-line span { display: block; margin-top: 22px; margin-left: 76px; color: #1556b8; font: 400 18px/21.6px SimHei, sans-serif; word-spacing: 24px; white-space: pre; }
.culture-copy > p { display: none; }
.jobs-copy { min-height: 335px; padding: 45px 38px; color: #5a5a5a; font: 14px/2 "Microsoft YaHei", sans-serif; }

.category-tabs-inner { justify-content: flex-start; margin: 20px 0 26px; padding-left: 37px; gap: 10px; }
.category-tabs-inner a { width: 215px; height: 46px; color: #666; text-align: center; font: 18px/46px "Microsoft YaHei", sans-serif; background: url("../images/1_ngt4.jpg") center/100% 100% no-repeat; }
.category-tabs-inner a:hover, .category-tabs-inner a.active, .category-tabs-inner a:first-child { color: #fff; background-image: url("../images/2_7nrx.jpg"); }
.product-grid { display: grid; grid-template-columns: repeat(4, 267px); column-gap: 40px; row-gap: 30px; padding: 0 4px; }
.product-card { display: block; width: 267px; height: 257px; padding: 15px; overflow: hidden; border: 1px solid #d9d9d9; text-align: center; }
.product-image { display: flex; align-items: center; justify-content: center; width: 235px; height: 200px; overflow: hidden; background: #fff; }
.product-image img { width: 235px; height: 176px; object-fit: cover; transition: transform .25s ease; }
.product-card:hover .product-image img { transform: scale(1.04); }
.product-name { display: block; height: 27px; overflow: hidden; color: #5a5a5a; font: 14px/27px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.product-more { display: block; height: 16px; color: #aaa; font: 10px/16px Arial, sans-serif; opacity: 0; }
.product-card:hover .product-name { color: #1378bb; }
.product-card:hover .product-more { opacity: 1; }
.products-main .category-tabs-inner { margin-top: 28px; }
.equipment-main .category-tabs-inner { margin-top: 22px; }
.equipment-grid { margin-top: 0; }

.news-main .category-tabs-inner { position: relative; left: -5px; justify-content: center; margin-top: 29px; padding-left: 0; gap: 0; }
.news-main .category-tabs-inner a { width: 196px; height: 50px; color: #333; font: 16px/50px "Microsoft YaHei", sans-serif; background: #f8f8f8; }
.news-main .category-tabs-inner a:first-child { color: #333; background: #f8f8f8; }
.news-main .category-tabs-inner a:last-child { color: #fff; background: #72acda; }
.news-archive { width: 1170px; margin: 0 auto; }
.news-row { display: flex; align-items: center; height: 92px; padding: 10px 30px; border-bottom: 1px dotted #d7d7d7; color: #5a5a5a; font-family: "Microsoft YaHei", sans-serif; }
.news-row:hover { color: #009dff; }
.news-row-title { flex: 1; margin-left: 40px; overflow: hidden; font-size: 20px; line-height: 28px; white-space: nowrap; text-overflow: ellipsis; }
.news-row-date { display: block; flex: 0 0 60px; width: 60px; height: 59px; color: #fff; background: #3384bc; text-align: center; }
.news-row-date b { display: block; height: 37px; font: 400 25px/37px Arial, sans-serif; }
.news-row-date small { display: block; height: 22px; font: 12px/20px Arial, sans-serif; }
.empty-news { width: 1200px; height: 45px; padding-top: 14px; border-bottom: 1px dotted #ddd; color: #777; }
.news-archive:has(.news-row) + .empty-news { display: none; }
.pagination { margin: 35px auto 0; color: #666; text-align: center; }
.pagination a, .pagination span { display: inline-block; min-width: 24px; margin: 0 2px; padding: 2px 6px; border: 1px solid #ddd; }
.pagination a:hover, .pagination .active { color: #fff; background: #1378bb; border-color: #1378bb; }

.source-detail { width: 1130px; margin: 25px auto 0; padding: 18px 28px 32px; border: 1px solid #e5e5e5; text-align: center; }
.source-detail h1 { margin: 0; color: #444; font: 400 20px/35px "Microsoft YaHei", sans-serif; }
.detail-date { padding-bottom: 12px; color: #999; font-size: 12px; border-bottom: 1px solid #eee; }
.detail-image { display: block; width: 600px; margin: 25px auto 12px; cursor: zoom-in; }
.detail-image img { max-width: 600px; max-height: 500px; margin: 0 auto; object-fit: contain; }
.source-detail .rich-content { text-align: left; color: #5a5a5a; font: 14px/2 "Microsoft YaHei", sans-serif; }
.source-detail .rich-content img { max-width: 100%; height: auto; margin: 15px auto; }
.detail-nav { display: flex; justify-content: space-between; margin-top: 24px; padding-top: 15px; border-top: 1px solid #eee; color: #999; text-align: left; }
.detail-nav a:hover { color: #1378bb; }
.news-detail .rich-content { min-height: 230px; padding-top: 20px; }
.news-detail-main .category-tabs-inner { position: relative; left: -1px; justify-content: center; margin: 29px 0 27px; padding-left: 0; gap: 0; }
.news-detail-main .category-tabs-inner a { width: 196px; height: 50px; color: #333; background: #f8f8f8; font: 16px/50px "Microsoft YaHei", sans-serif; }
.news-detail-main .category-tabs-inner a:first-child { color: #333; background: #f8f8f8; }
.news-detail-main .category-tabs-inner a.active { color: #fff; background: #72acda; }
.news-source-detail { width: 1178px; min-height: 555px; margin: 0 0 0 10px; padding: 0; border: 0; text-align: center; }
.news-source-detail h1 { width: 1178px; height: 40px; margin: 0; color: #1378bc; font: 700 20px/34px "Microsoft YaHei", sans-serif; }
.news-detail-meta { width: 1178px; height: 47px; padding: 10px 0 15px; color: #5a5a5a; font: 14px/21px "Microsoft YaHei", sans-serif; }
.news-detail-meta { display: flex; justify-content: center; }
.news-detail-meta span { display: block; text-align: left; white-space: nowrap; }
.news-detail-meta span:nth-child(1) { width: 84px; }
.news-detail-meta span:nth-child(2) { width: 180px; }
.news-detail-meta span:nth-child(3) { width: 220px; }
.news-detail-meta span:nth-child(4) { width: 126px; }
.news-detail-meta span:nth-child(5) { width: 154px; }
.news-detail-meta i { display: inline-block; width: 25px; color: #777; font-style: normal; }
.news-share b { display: inline-block; width: 17px; height: 16px; margin: 2px 3px 0; vertical-align: top; background-position: center; background-repeat: no-repeat; }
.news-share .share-qq { background-image: url("../images/sha_sqqa.png"); }
.news-share .share-wechat { background-image: url("../images/sha_weixina.png"); }
.news-share .share-weibo { background-image: url("../images/sha_tsinaa.png"); }
.news-share .share-douban { background-image: url("../images/sha_doubana.png"); }
.news-detail-intro { width: 1178px; height: 12px; border: 1px solid #e5e5e5; }
.news-source-detail .rich-content { width: 1178px; height: 58px; min-height: 58px; margin-top: 10px; padding: 8px 0 22.8px; color: #5a5a5a; text-align: left; font: 16px/27.2px "Microsoft YaHei", sans-serif; }
.news-source-detail .rich-content p { margin: 0 0 0 0; }
.news-detail-nav { width: 1178px; min-height: 50px; margin-top: 20px; color: #5a5a5a; text-align: left; font: 12px/25px Arial, SimSun, sans-serif; }
.news-detail-nav div { width: 180px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.product-detail-main .category-tabs-inner { margin-bottom: 27px; }
.product-source-detail { width: 1182px; margin: 0; padding: 0; border-color: #d9d9d9; }
.product-source-detail h1 { width: 1180px; height: 36px; margin: 0; border-bottom: 3px dotted #666; color: #000; font: 700 19px/33px "Microsoft YaHei", sans-serif; }
.product-source-detail .detail-date { width: 1180px; height: 23px; padding: 0; border: 0; color: #5a5a5a; font: 12px/23px "Microsoft YaHei", sans-serif; }
.product-source-detail .detail-image { width: 733.33px; height: 550px; margin: 35px auto 0; }
.product-source-detail .detail-image img { width: 733.33px; max-width: none; height: 550px; max-height: none; object-fit: fill; }
.product-source-detail .rich-content { padding: 20px 28px; }
.product-source-detail .detail-nav { margin: 0 28px 24px; }

.source-contact { display: grid; grid-template-columns: 449px 654px; column-gap: 74px; padding: 32px 8px 55px 15px; }
.contact-main { padding-bottom: 23px; }
.contact-main .source-heading-contact { position: relative; left: -2.5px; padding-top: 35px; }
.contact-info h2 { margin: 0; color: #333; font: 700 24px/33.6px "Microsoft YaHei", sans-serif; }
.contact-item { display: flex; align-items: flex-start; width: 455px; height: 91px; box-sizing: border-box; border-bottom: 1px solid #d2d2d2; }
.contact-item:first-of-type { margin-top: 33px; }
.contact-item img { flex: 0 0 50px; width: 50px; height: 50px; margin-left: -9px; }
.contact-item-content { min-width: 0; margin-left: 9px; padding-top: 13px; color: #333; white-space: nowrap; font: 18px/25.2px Arial, "Microsoft YaHei", sans-serif; }
.contact-item:last-child .contact-item-content { width: 400px; white-space: normal; }
.contact-item-content span { color: #333; }
.contact-item-content strong { margin-left: 8px; color: #333; font: 400 18px/25.2px Arial, "Microsoft YaHei", sans-serif; }
.contact-map { position: relative; top: 4px; width: 100%; }
.contact-map .map-title { width: 230px; height: 40px; margin-left: 413px; }
.contact-map .map-image { width: 654px; height: 349px; margin-top: 16px; border: 1px solid #ddd; object-fit: cover; }

.home-section { position: relative; padding: 55px 0 60px; }
.section-heading { margin-bottom: 28px; text-align: center; }
.section-heading img { margin: 0 auto; }
.section-heading small { display: block; color: #aaa; font: 12px/26px Arial, sans-serif; }
.text-heading b { display: block; color: #173346; font: 700 24px/30px Arial, sans-serif; }
.text-heading span { color: #777; font: 24px/30px Arial, sans-serif; }
.text-heading small { margin-top: 4px; }
.home-section .category-tabs { gap: 35px; margin: -6px 0 25px; }
.home-section .category-tabs a { color: #888; }
.home-section .category-tabs a:hover { color: #1378bb; }
.section-more { display: block; margin: 30px auto 0; color: #aaa; text-align: center; }
.facility-grid { display: grid; grid-template-columns: repeat(4, 240px); gap: 28px 80px; }
.facility-card { color: #555; text-align: center; }
.facility-card img { width: 240px; height: 160px; object-fit: cover; transition: .25s; }
.facility-card:hover img { filter: brightness(.8); }
.facility-card span { display: block; line-height: 38px; }
.about-preview { display: flex; align-items: center; gap: 38px; padding-top: 72px; }
.about-image { flex: none; width: 583px; height: 199px; overflow: hidden; }
.about-image img { width: 100%; height: 100%; object-fit: cover; }
.about-copy { flex: 1; }
.about-copy .section-heading { margin-bottom: 14px; text-align: left; }
.about-copy p { height: 82px; margin: 0 0 22px; overflow: hidden; color: #888; line-height: 27px; }
.outline-button { display: inline-block; padding: 8px 22px; border: 1px solid #bbb; color: #777; }
.news-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; }
.news-feature > a { display: block; padding: 16px 0; border-top: 1px solid var(--line); }
.news-date, .news-feature b { display: block; }
.news-date { color: #1378bb; font: 12px/20px Arial; }
.news-feature b { color: #555; font: 400 15px/27px "Microsoft YaHei"; }
.news-feature p { margin: 9px 0 0; color: #999; line-height: 24px; }
.news-list a { display: flex; padding: 13px 0; border-bottom: 1px solid var(--line); line-height: 24px; }
.news-list span { width: 98px; color: #aaa; }
.contact-preview .section-heading { text-align: left; }
.contact-preview .section-heading img { height: 28px; margin: 0; }
.map-preview { width: 100%; height: 190px; border: 1px solid #eee; object-fit: cover; }

.site-footer { color: #fff; background: #0f70b0; }
.footer-nav { height: 50px; background: #07649f url("../images/dbj_dsh6.jpg") repeat-x left top; }
.footer-nav-inner { width: 1200px; height: 50px; margin: 0 auto; text-align: center; }
.footer-nav a { display: inline-block; height: 50px; margin: 0 20px; color: #fff; font: 14px/50px "Microsoft YaHei", sans-serif; }
.footer-nav a:hover { color: #bce8ff; }
.footer-meta { width: 1200px; min-height: 102px; margin: 0 auto; padding-top: 19px; color: #d7ecf7; text-align: center; font: 12px/25px Arial, "Microsoft YaHei", sans-serif; }
.footer-meta p { margin: 0; }
.footer-meta a:hover { color: #fff; }
html[lang="en"] .footer-nav,
html[lang="en"] .footer-nav-inner,
html[lang="en"] .footer-nav a { height: 51px; line-height: 51px; }
html[lang="en"] .footer-meta { min-height: 55px; padding-top: 5px; color: #d7ecf7; }
.back-top, .backtop { position: fixed; z-index: 20000; right: 19px; bottom: 100px; width: 40px; height: 40px; overflow: hidden; color: transparent; background: #888 url("../images/backtop.gif") center no-repeat; text-indent: -9999px; }
.back-top { display: none; }
.backtop { opacity: 0; visibility: hidden; transition: opacity .15s ease; }
.backtop.visible { opacity: 1; visibility: visible; }

.lightbox { position: fixed; z-index: 100; inset: 0; display: flex; align-items: center; justify-content: center; padding: 35px; background: rgba(0, 0, 0, .82); }
.lightbox img { max-width: 90vw; max-height: 88vh; object-fit: contain; }
.lightbox-close { position: absolute; top: 18px; right: 30px; color: #fff; font: 34px Arial; cursor: pointer; }
.search-modal { position: fixed; z-index: 120; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .55); }
.search-modal { align-items: flex-start; background: rgba(0, 0, 0, .42); }
.search-modal-panel { position: relative; width: 730px; height: 665px; margin-top: 10px; padding: 18px 20px 24px; overflow-y: auto; overflow-x: hidden; background: #fff; }
.search-modal-close { position: absolute; z-index: 2; top: 12px; right: 17px; border: 0; color: #999; background: none; font: 20px/22px Arial; cursor: pointer; }
.search-modal h2 { height: 38px; margin: 0; color: #222; font: 700 16px/30px Arial, sans-serif; }
.search-modal h2 small { color: #777; font-weight: 400; }
.search-modal-searchbar { display: flex; height: 48px; padding-bottom: 16px; border-bottom: 1px solid #ddd; }
.search-modal-searchbar input { flex: 1; height: 32px; padding: 4px 10px; border: 1px solid #c9c9c9; border-radius: 5px; color: #555; font: 14px/22px Arial, sans-serif; }
.search-modal-searchbar button { width: 72px; height: 32px; margin-left: 10px; border: 0; border-radius: 4px; color: #fff; background: #347cc3; font: 14px/32px Arial, sans-serif; }
.search-main { padding-top: 20px; }
.search-archive { width: 100%; }
.search-result-row { display: grid; grid-template-columns: 100px 1fr; grid-template-rows: 32px 1fr; column-gap: 20px; min-height: 173px; padding: 18px 0 30px; border-bottom: 1px solid #eee; color: #777; }
.search-result-row > b { grid-column: 1 / 3; display: block; color: #347bb8; font: 400 18px/30px Arial, sans-serif; }
.search-result-row > img { grid-column: 1; grid-row: 2; width: 100px; height: 67px; margin-top: 12px; object-fit: contain; background: #eee; }
.search-result-row > span { display: block; grid-column: 2; grid-row: 2; padding-top: 10px; }
.search-result-row em { display: block; margin-top: 12px; color: #666; font: 400 14px/22px Arial, sans-serif; font-style: normal; }
.search-result-row small { display: block; margin-top: 9px; color: #999; font: 13px/20px Arial, sans-serif; }
.search-modal .search-archive { margin: 0; }
.search-modal .search-result-row { min-height: 173px; padding: 18px 0 30px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 720px) {
    html, body, .site-shell { min-width: 1200px; }
    .topbar-inner, .site-header, .search-inner, .content-main, .home-section, .footer-nav-inner, .footer-meta { margin-left: 0; margin-right: 0; }
}

/* Source-faithful home composition and footer geometry. */
.products-section { height: 841px; padding: 30px 0 0; }
.products-section .home-products-heading { height: 117px; margin: 0; padding-top: 0; }
.products-section .home-category-tabs { justify-content: flex-start; width: auto; height: 46px; margin: 0 0 37px 31px; gap: 10px; }
.products-section .home-category-tabs a { flex: 0 0 215px; width: 215px; height: 46px; color: #333; text-align: center; font: 18px/46px "Microsoft YaHei", sans-serif; background: url("../images/1_ngt4.jpg") center/100% 100% no-repeat; }
.products-section .home-category-tabs a:first-child,
.products-section .home-category-tabs a:hover { color: #fff; background-image: url("../images/2_7nrx.jpg"); }
.home-product-grid { grid-template-columns: repeat(4, 267px); column-gap: 43px; row-gap: 10px; padding: 0 1px; }
.home-product-more { margin-top: 30px; }
.home-product-grid .product-card,
.product-grid-inner .product-card { height: 267px; padding: 15px; }
.home-product-grid .product-image,
.product-grid-inner .product-image { height: 210px; }
.home-product-grid .product-name,
.product-grid-inner .product-name { height: 25px; color: #5a5a5a; font: 18px/25.2px "Microsoft YaHei", sans-serif; }
.home-product-grid .product-more,
.product-grid-inner .product-more { display: none; }
.home-product-grid .product-card:hover .product-more,
.product-grid-inner .product-card:hover .product-more { display: block; }

.home-about-facility { position: relative; width: 100%; height: 543px; overflow: hidden; color: #fff; background: #0072b9 url("../images/lff7.jpg") repeat-x left top; }
.home-about-title { position: absolute; top: 16px; left: calc(50% - 594px); height: 42px; white-space: nowrap; }
.home-about-title b { display: inline-block; color: #fff; font: 700 30px/42px "Microsoft YaHei", sans-serif; }
.home-about-title span { display: inline-block; margin-left: 0; color: #d9d9d9; font: 22px/31px "Microsoft YaHei", sans-serif; vertical-align: 3px; }
.home-about-row { position: absolute; top: 65px; left: calc(50% - 593px); display: flex; gap: 22px; width: 1050px; height: 199px; }
.home-about-image { box-sizing: border-box; width: 317px; height: 199px; overflow: hidden; border: 2px solid #4ba1ee; }
.home-about-image img { width: 583px; height: 199px; max-width: none; transform: translateX(-133px); object-fit: cover; }
.home-about-copy { position: relative; width: 491px; height: 199px; }
.home-about-text { width: 491px; height: 179px; overflow: hidden; color: #fff; font: 14px/26.6px "Microsoft YaHei", sans-serif; }
.home-about-text p { margin: 0; }
.home-about-button { position: absolute; right: 0; bottom: -10px; display: block; width: 122px; height: 42px; border: 5px solid rgba(255,255,255,.8); color: #fff; text-align: center; font: 15px/32px "Microsoft YaHei", sans-serif; }
.home-about-rule { position: absolute; top: 305px; left: calc(50% - 593px); width: 832px; border-top: 1px dashed rgba(255,255,255,.55); }
.home-facility-rail { position: absolute; top: 339px; left: calc(50% - 593px); width: 1200px; height: 196px; overflow: hidden; }
.home-facility-track { display: flex; gap: 36px; width: max-content; }
.home-facility-card { flex: 0 0 240px; width: 240px; color: #fff; text-align: center; }
.home-facility-card img { width: 240px; height: 160px; object-fit: cover; }
.home-facility-card span { display: block; height: 26px; font: 14px/26px "Microsoft YaHei", sans-serif; }
.home-facility-card:hover img { filter: brightness(.8); }

.home-news-preview { position: relative; width: 1200px; height: 517px; margin: 0 auto; background: #fff; }
.home-news-heading { position: absolute; top: 34px; left: 0; width: 100%; height: 66px; text-align: center; }
.home-news-heading img { width: 360px; height: 40px; margin: 0 auto; }
.home-news-heading .source-separator { margin-top: 9px; }
.home-news-columns { position: absolute; top: 123px; left: 6px; display: grid; grid-template-columns: 580px 580px; gap: 32px; }
.home-news-empty { position: relative; height: 241px; color: #5a5a5a; font: 12px/18px Arial, "Microsoft YaHei", sans-serif; }
.home-news-empty a { position: absolute; top: 95px; left: 175px; display: block; width: 100px; height: 34px; color: #fff; background: #0078c3; text-align: center; font: 700 12px/34px Arial, sans-serif; }
.home-news-more { position: absolute; bottom: 15px; left: 50%; display: block; width: 50px; height: 50px; margin-left: -25px; border-radius: 50%; color: #fff; background: linear-gradient(#76b6e5,#1378bb); text-align: center; font: 12px/50px "Microsoft YaHei", sans-serif; }
.home-contact-preview { position: relative; width: 1200px; height: 691px; margin: 0 auto; overflow: hidden; background: linear-gradient(#fff 0 520px,#fff 520px); }
.home-contact-heading { position: absolute; top: 25px; left: 0; width: 100%; height: 101px; text-align: center; }
.home-contact-heading img { width: 219px; height: 36px; margin: 0 auto; }
.home-contact-heading .source-separator { margin-top: 24px; }
.home-contact-heading .source-heading-label { top: 50px; bottom: auto; left: calc(50% + 5.5px); width: 95px; transform: translateX(-50%); }
.home-map-preview { display: block; width: 1199px; height: 405px; margin: 124px 0 0 1px; object-fit: cover; }

.site-footer { position: relative; z-index: 1; width: 1200px; height: 148px; margin: 0 auto; background: transparent; }
.site-footer::before { content: ""; position: absolute; z-index: -1; top: 0; left: 50%; width: 100vw; height: 148px; transform: translateX(-50%); background: #0071bb url("../images/dbj_dsh6.jpg") repeat-x left top; }
.footer-nav { height: 52px; padding-top: 6px; box-sizing: border-box; background: transparent; overflow: hidden; }
.footer-nav-inner { display: flex; width: 1141px; height: 40px; margin: 0 0 0 21px; }
.footer-nav a { flex: 0 0 142px; width: 142px; height: 40px; margin: 0; padding: 0 15px; box-sizing: border-box; color: #fff; text-align: center; font: 14px/40px "Microsoft YaHei", sans-serif; }
.footer-nav a:nth-child(n+4) { flex-basis: 143px; width: 143px; }
.footer-nav a:hover { color: #fff; background: transparent; }
.footer-meta { position: relative; width: 1200px; height: 96px; min-height: 0; margin: 0 auto; padding-top: 22px; box-sizing: border-box; color: #fff; text-align: center; font: 12px/16.8px Arial, "Microsoft YaHei", sans-serif; }
.footer-meta p { margin: 0; }
.footer-copyright { height: 21px; font: 14px/19.6px "Microsoft YaHei", sans-serif; white-space: nowrap; }
.footer-license { position: relative; height: 39px; margin-top: 14px; font: 12px/16.8px Arial, "Microsoft YaHei", sans-serif; }
.footer-license a { color: #fff; }
.footer-icp { position: absolute; top: 2px; left: 224px; width: 170px; text-align: left; }
.footer-police { position: absolute; top: 0; left: 480px; display: flex; align-items: center; height: 20px; white-space: nowrap; }
.footer-police img { width: 20px; height: 20px; margin-right: 7px; }
.footer-police a { display: block; width: 205px; text-align: left; }
html[lang="en"] .site-shell { padding-bottom: 0; }
html[lang="en"] .home-products-heading { padding-top: 0; }
html[lang="en"] .products-section { padding-top: 21px; }
html[lang="en"] .home-products-heading .source-separator { margin-top: 34px; }
html[lang="en"] .home-products-heading .source-separator { position: relative; left: -6.5px; }
html[lang="en"] .home-products-heading .source-heading-label { top: 70px; bottom: auto; width: 97px; color: #434343; font: 18px/25.2px Arial, sans-serif; }
html[lang="en"] .home-products-heading .source-heading-label { left: calc(50% - 52px); transform: none; }
html[lang="en"] .home-products-heading .source-heading-label { height: 26px; overflow: hidden; }
html[lang="en"] .home-category-tabs { width: 1171px; height: 50px; margin: 5px 0 37px 12px; justify-content: flex-start; gap: 0; }
html[lang="en"] .home-category-tabs a { display: none; }
html[lang="en"] .home-category-tabs a:first-child { display: block; flex: 0 0 215px; width: 215px; height: 46px; margin: 0 0 0 20px; line-height: 46px; }
html[lang="en"] .home-category-tabs a:first-child { margin-left: 25px; }
html[lang="en"] .home-product-grid { position: relative; left: 1px; }
html[lang="en"] .home-product-more { display: none; }
html[lang="en"] .home-about-title { top: 15px; }
html[lang="en"] .home-about-title span { display: none; }
html[lang="en"] .home-about-row { gap: 25px; }
html[lang="en"] .home-about-rule { top: 290px; }
html[lang="en"] .home-facility-rail { top: 338px; left: calc(50% - 592px); width: 826px; }
html[lang="en"] .home-facility-track { transform: translateX(-7px); }
html[lang="en"] .home-about-button { right: 7px; bottom: -15px; width: 122px; height: 32px; border-width: 6px; line-height: 20px; }
html[lang="en"] .home-contact-preview { height: 520px; }
html[lang="en"] .home-map-preview { margin-top: 115px; }
html[lang="en"] .site-footer::before { height: 107px; }
html[lang="en"] .site-footer { height: 107px; }
html[lang="en"] .footer-nav { height: 52px; }
html[lang="en"] .footer-meta { height: 55px; padding-top: 7px; }
html[lang="en"] .footer-copyright { height: 21px; font: 14px/19.6px "Microsoft YaHei", sans-serif; }
html[lang="en"] .footer-copyright { height: 20.6px; }
html[lang="en"] .footer-en-address { font: 14px/19.6px Arial, SimSun, sans-serif; }
html[lang="en"] .footer-nav-inner { margin-left: 22px; }
html[lang="en"] .footer-license { position: static; height: 21px; margin-top: 0; font: 14px/19.6px "Microsoft YaHei", sans-serif; white-space: nowrap; }
html[lang="en"] .footer-license:not(.footer-license *) { }
html[lang="en"] .footer-meta p.footer-license { position: static; height: 21px; margin-top: 0; }
html[lang="cn"] .contact-main .source-contact { padding-bottom: 29.4px; }
html[lang="en"] .contact-main .source-heading-contact { position: relative; left: 0; height: 100px; box-sizing: border-box; padding-top: 13px; }
html[lang="en"] .contact-main .source-contact { position: relative; left: 2px; padding-top: 10px; padding-bottom: 26.4px; }
html[lang="en"] .contact-main .contact-map { width: 652px; }
html[lang="en"] .contact-main .contact-map .map-image { width: 652px; }

.honor-grid { display: grid; grid-template-columns: repeat(4, 262px); column-gap: 35px; row-gap: 10px; width: 1169px; margin: 0 auto; }
.honor-main { padding-top: 32px; padding-bottom: 57px; }
.honor-main .source-heading-about { position: relative; left: -5px; }
.honor-main .about-tabs { left: -7px; margin-top: 42px; margin-bottom: 40px; }
.honor-main .honor-grid { margin-left: 17px; margin-right: 0; }
.honor-main .pagination { height: 20px; margin-top: 44px; }
.honor-card { display: block; width: 262px; height: 282px; padding: 15px; border: 1px solid #e5e5e5; color: #5a5a5a; text-align: center; }
.honor-card:hover { border-color: #e04e0d; }
.honor-image { display: flex; align-items: center; justify-content: center; width: 230px; height: 230px; overflow: hidden; }
.honor-image img { max-width: 230px; max-height: 230px; object-fit: contain; }
.honor-name { display: block; width: 230px; height: 20px; overflow: hidden; color: #5a5a5a; text-align: left; font: 14px/20px "Microsoft YaHei", sans-serif; white-space: nowrap; text-overflow: ellipsis; }

/* Match the source site's compact pager rather than Pboot's default status blocks. */
.pagination { height: 25px; margin: 35px auto 0; color: #5a5a5a; text-align: center; font: 12px/16.8px Arial, SimSun, sans-serif; }
.pagination .page-status,
.pagination .page-index { display: none !important; }
.pagination .page-pre,
.pagination .page-numbar,
.pagination .page-last,
.pagination .page-next { display: inline; margin: 0; padding: 0; border: 0; }
.pagination .page-pre a,
.pagination .page-next a,
.pagination .page-numbar a,
.pagination .page-last a,
.pagination .page-numbar .page-num-current { display: inline-block; min-width: 0; width: auto; height: 20px; margin: 0 5px 0 0; padding: 2px 5px; box-sizing: border-box; border: 1px solid #2c2c2c; color: #fff; background: #2c2c2c; font: 12px/16.8px Arial, SimSun, sans-serif; vertical-align: top; }
.pagination .page-pre a { border-color: #f3f3f3; color: #ccc; background: transparent; }
.pagination .page-numbar .page-num-current { border-color: #aad83e; color: #fff; background: #aad83e; font-weight: 700; }
.pagination .page-pre a:hover,
.pagination .page-next a:hover,
.pagination .page-numbar a:hover { color: #fff; background: #1378bb; border-color: #1378bb; }

/* Responsive layout for phones. The source has no mobile site, so the desktop
   composition is reflowed without changing its colors, imagery or content. */
@media (max-width: 720px) {
    html, body { min-width: 0; width: 100%; overflow-x: hidden; }
    body { font-size: 13px; }
    #scroll_container { position: fixed; width: 100%; min-width: 0; box-sizing: border-box; overflow-x: hidden; }
    .site-shell { width: 100%; min-width: 0; padding-bottom: 0; overflow: hidden; }
    .topbar { height: auto; min-height: 34px; }
    .topbar-inner { width: 100%; height: auto; min-height: 34px; padding: 0 12px; box-sizing: border-box; line-height: 34px; white-space: nowrap; }
    .topbar-inner > span:first-child { display: inline-block; max-width: calc(100% - 105px); overflow: hidden; text-overflow: ellipsis; vertical-align: top; }
    .top-date, .top-time { display: none !important; }
    .language-switch { top: 0; right: 8px; width: 96px; height: 34px; justify-content: flex-end; }
    .language-switch a { height: 34px; margin: 0 0 0 5px; padding-right: 0; font-size: 11px; line-height: 34px; }
    .language-switch img { width: 22px; height: 16px; margin-right: 3px; }
    .site-header { display: block; width: 100%; height: auto; margin: 0; padding: 0 12px; box-sizing: border-box; }
    .brand { display: block; width: 100%; height: 66px; padding-top: 8px; }
    html[lang="en"] .brand { flex-basis: auto; width: 100%; }
    .brand strong { height: 28px; font-size: 22px; line-height: 28px; }
    .brand small { font-size: 12px; line-height: 18px; }
    .main-nav { display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; height: auto; margin: 0; padding: 0; }
    html[lang="en"] .main-nav { flex-basis: auto; width: 100%; padding-left: 0; }
    .nav-item, .nav-link { width: 100%; height: 38px; }
    .nav-link { font-size: 14px; line-height: 38px; }
    html[lang="en"] .nav-link { font-size: 12px; line-height: 38px; }
    .nav-link:hover, .nav-link.active { background-size: auto 38px; }
    .nav-submenu { top: 38px; width: 100%; }
    .nav-submenu a { height: 30px; font-size: 12px; line-height: 30px; }
    .hero { height: 220px; }
    .hero-slide { height: 220px; }
    .hero-slide img { height: 220px; object-fit: cover; }
    .hero-dots { bottom: 10px; }
    .inner-banner { height: 150px; }
    .inner-banner img { width: auto; height: 150px; }
    .inner-banner-en { height: 220px; }
    .inner-banner-en img { height: 220px; }
    .search-strip, .inner-banner + .search-strip { height: auto; min-height: 46px; }
    .search-inner { width: 100%; height: 46px; padding: 0 12px; box-sizing: border-box; }
    .hotwords { display: none; }
    .search-form, .inner-banner + .search-strip .search-form { top: 9px; right: 12px; width: min(300px, calc(100% - 24px)); }
    .search-text { width: calc(100% - 51px); margin-right: 0; }
    .search-separator { display: none; }
    .content-main, .home-section { width: 100%; min-width: 0; margin: 0; padding-left: 12px; padding-right: 12px; box-sizing: border-box; }
    .content-main { min-height: 0; padding-bottom: 36px; }
    .source-heading { width: 100%; }
    .source-heading > img { max-width: 100%; height: auto !important; }
    .source-heading-about > img, .source-heading-news > img, .source-heading-equipment > img { width: min(360px, 100%); }
    .source-heading-products > img { width: min(333px, 100%); }
    .source-heading-contact > img { width: min(219px, 100%); }
    .source-separator { max-width: 100%; background-size: contain; }
    .about-tabs { left: 0; width: 100%; height: auto; margin: 22px auto 26px; padding: 0; background: #f3f3f3; }
    .about-tabs a { flex: 1 1 0; width: auto; height: 46px; font-size: 14px; line-height: 46px; }
    .source-copy, html[lang="en"] .source-copy, html[lang="cn"] .generic-single .source-copy { width: 100%; margin: 0; padding: 0 2px 18px; font-size: 15px; line-height: 1.9; }
    html[lang="cn"] .generic-single .source-copy p { font-size: 15px; line-height: 1.9; text-indent: 2em; }
    html[lang="en"] .source-copy { line-height: 1.8; }
    .source-copy p, html[lang="en"] .source-copy p { margin-bottom: 14px; }
    .about-factory-image { left: 0; width: 100%; height: auto; margin: 18px auto 20px !important; object-fit: contain; }
    .category-tabs-inner { flex-wrap: wrap; width: 100%; margin: 18px 0 22px; padding-left: 0; gap: 8px; }
    .category-tabs-inner a { flex: 1 1 calc(50% - 8px); width: auto; min-width: 135px; height: 42px; font-size: 16px; line-height: 42px; }
    .product-grid, .honor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin: 0; padding: 0; gap: 14px 10px; }
    .product-card { width: 100%; height: auto !important; min-height: 0; padding: 9px; }
    .product-image, .product-image img { width: 100%; height: auto; aspect-ratio: 235 / 176; }
    .product-name { width: 100%; height: auto; min-height: 26px; font-size: 14px !important; line-height: 26px !important; }
    .honor-card { width: 100%; height: auto; min-height: 0; padding: 9px; }
    .honor-image { width: 100%; height: auto; aspect-ratio: 1; }
    .honor-image img { max-width: 100%; max-height: 100%; }
    .honor-name { width: 100%; font-size: 13px; }
    .pagination, .honor-main .pagination { width: 100%; height: 25px; margin-top: 28px; }
    .news-archive { width: 100%; margin: 0; }
    .news-row { height: auto; min-height: 74px; padding: 9px 0; }
    .news-row-title { margin-left: 12px; font-size: 15px; line-height: 23px; white-space: normal; }
    .news-row-date { flex: 0 0 52px; width: 52px; height: 52px; }
    .news-row-date b { height: 31px; font-size: 21px; line-height: 31px; }
    .news-row-date small { height: 18px; line-height: 18px; }
    .empty-news { width: 100%; height: auto; min-height: 42px; }
    .source-detail, .news-source-detail, .product-source-detail { width: 100%; min-height: 0; margin: 20px 0 0; padding: 14px 12px 22px; }
    .source-detail h1, .news-source-detail h1, .product-source-detail h1 { width: 100%; height: auto; font-size: 18px; line-height: 30px; }
    .detail-image, .product-source-detail .detail-image { width: 100%; height: auto; margin: 20px auto 12px; }
    .detail-image img, .product-source-detail .detail-image img { width: 100%; max-width: 100%; height: auto; max-height: none; object-fit: contain; }
    .source-detail .rich-content, .news-source-detail .rich-content, .product-source-detail .rich-content { width: 100%; height: auto; min-height: 0; padding: 14px 0; font-size: 14px; line-height: 1.8; }
    .news-detail-meta { display: block; width: 100%; height: auto; padding: 8px 0; line-height: 24px; }
    .news-detail-meta span { width: 100% !important; text-align: left; white-space: normal; }
    .news-detail-intro { width: 100%; height: 1px; }
    .news-detail-nav { width: 100%; min-height: 50px; margin-top: 8px; }
    .product-source-detail .detail-date { width: 100%; height: auto; }
    .source-contact { display: block; width: 100%; padding: 20px 0 30px; }
    .contact-info, .contact-map { width: 100% !important; }
    .contact-info h2 { font-size: 20px; line-height: 30px; }
    .contact-item { width: 100%; height: auto; min-height: 76px; align-items: flex-start; }
    .contact-item:first-of-type { margin-top: 18px; }
    .contact-item img { flex-basis: 44px; width: 44px; height: 44px; margin-left: 0; }
    .contact-item-content { margin-left: 10px; padding-top: 10px; white-space: normal; font-size: 15px; line-height: 24px; }
    .contact-item-content strong { font-size: 15px; line-height: 24px; }
    .contact-item:last-child .contact-item-content { width: auto; }
    .contact-map { top: 18px; }
    .contact-map .map-title { width: min(230px, 100%); height: auto; margin: 0 auto; }
    .contact-map .map-image { width: 100% !important; height: auto; aspect-ratio: 654 / 349; margin-top: 12px; }
    .home-section { padding-top: 38px; padding-bottom: 42px; }
    .products-section { height: auto; padding-top: 24px; }
    .products-section .home-products-heading { height: auto; margin-bottom: 24px; }
    .products-section .home-category-tabs { width: 100%; height: auto; margin: 0 0 22px; gap: 8px; }
    .products-section .home-category-tabs a { flex: 1 1 0; width: auto; height: 42px; font-size: 15px; line-height: 42px; }
    .home-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 14px 10px; }
    .home-product-grid .product-card { width: 100%; }
    .home-about-facility { height: auto; min-height: 0; padding: 28px 12px 26px; overflow: hidden; }
    .home-about-title, .home-about-row, .home-about-rule, .home-facility-rail { position: relative; top: auto; left: auto; width: 100%; }
    .home-about-title { height: auto; margin-bottom: 16px; }
    .home-about-title b { font-size: 24px; line-height: 32px; }
    .home-about-title span { font-size: 18px; line-height: 26px; }
    .home-about-row { display: flex; flex-direction: column; gap: 14px; height: auto; }
    .home-about-image { width: 100%; height: auto; aspect-ratio: 317 / 199; }
    .home-about-image img { width: 100%; height: 100%; transform: none; object-fit: cover; }
    .home-about-copy, .home-about-text { width: 100%; height: auto; }
    .home-about-text { max-height: 168px; font-size: 13px; line-height: 24px; }
    .home-about-button { position: relative; right: auto !important; bottom: auto !important; width: 112px; height: 36px; margin: 12px 0 0 auto; border-width: 4px; font-size: 14px; line-height: 28px; }
    .home-about-rule { margin: 24px 0 20px; border-top-color: rgba(255,255,255,.55); }
    .home-facility-rail { height: auto; }
    .home-facility-track { gap: 16px; }
    .home-facility-card { flex-basis: calc(50vw - 22px); width: calc(50vw - 22px); }
    .home-facility-card img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
    .home-facility-card span { height: 25px; font-size: 13px; line-height: 25px; }
    .home-news-preview, .home-contact-preview { width: 100%; height: auto; min-height: 0; padding: 30px 12px 42px; box-sizing: border-box; }
    .home-news-heading, .home-news-columns, .home-contact-heading, .home-map-preview { position: relative; top: auto; left: auto; width: 100%; }
    .home-news-heading { height: auto; margin-bottom: 22px; }
    .home-news-heading img { width: min(360px, 100%); height: auto; }
    .home-news-columns { display: block; }
    .home-news-empty { height: 145px; }
    .home-news-empty a { top: 52px; left: 50%; transform: translateX(-50%); }
    .home-news-more { position: relative; bottom: auto; left: auto; margin: 20px auto 0; }
    .home-contact-preview { background: #ccc; }
    .home-contact-heading { height: auto; margin-bottom: 20px; }
    .home-contact-heading img { width: min(219px, 100%); height: auto; }
    .home-map-preview { height: auto; aspect-ratio: 1199 / 405; margin: 0; object-fit: cover; }
    .site-footer, html[lang="en"] .site-footer { width: 100%; height: auto; margin: 0; }
    .site-footer::before, html[lang="en"] .site-footer::before { width: 100vw; height: 100%; }
    .footer-nav, html[lang="en"] .footer-nav { height: auto; padding: 0; }
    .footer-nav-inner { display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; height: auto; margin: 0; }
    .footer-nav a, html[lang="en"] .footer-nav a { width: 100% !important; height: 38px; padding: 0 3px; font-size: 12px; line-height: 38px; }
    .footer-meta, html[lang="en"] .footer-meta { width: 100%; height: auto; min-height: 74px; padding: 12px 10px 14px; font-size: 11px; line-height: 20px; }
    .footer-copyright, html[lang="en"] .footer-copyright { height: auto; white-space: normal; font-size: 12px; line-height: 20px; }
    .footer-license, html[lang="en"] .footer-license { position: static; height: auto; margin: 0; white-space: normal; font-size: 11px; line-height: 20px; }
    .footer-icp, .footer-police { position: static; display: inline-flex; width: auto; margin: 0 6px; }
    .footer-police a { width: auto; }
    .backtop { right: 10px; bottom: 18px; }
}
