{"id":39883,"date":"2025-11-26T07:46:27","date_gmt":"2025-11-25T23:46:27","guid":{"rendered":"https:\/\/smartairfilters.com\/?page_id=39883"},"modified":"2025-12-31T21:26:36","modified_gmt":"2025-12-31T13:26:36","slug":"contact-smart-air","status":"publish","type":"page","link":"https:\/\/smartairfilters.com\/zh\/contact-smart-air\/","title":{"rendered":"\u8054\u7cfb\u6211\u4eec"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"39883\" class=\"elementor elementor-39883\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1d818bc7 e-con-full banner-clouds e-flex elementor-invisible e-con e-parent\" data-id=\"1d818bc7\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-752c8837 newh1-banner elementor-widget elementor-widget-heading\" data-id=\"752c8837\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Contact Smart Air<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63e8a97f elementor-widget__width-initial newh2-banner elementor-widget elementor-widget-heading\" data-id=\"63e8a97f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Reach out to learn more about our clean air solutions and support<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-474cf27f e-con-full e-flex e-con e-parent\" data-id=\"474cf27f\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-410398c5 elementor-widget__width-initial new-subheader elementor-hidden-mobile elementor-widget elementor-widget-heading\" data-id=\"410398c5\" data-element_type=\"widget\" data-settings=\"{&quot;_animation_mobile&quot;:&quot;fadeInDown&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Connect with Us<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a595041 e-con-full e-flex e-con e-child\" data-id=\"a595041\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-92be962 elementor-widget__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"92be962\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tReach out to Smart Air\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8f6bf3 elementor-widget__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"a8f6bf3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tFrom bustling cities to quiet towns, our team is here to assist you with any questions or needs. We\u2019re dedicated to supporting you in creating a healthier environment with our clean air solutions\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1331245 elementor-widget elementor-widget-html\" data-id=\"1331245\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script type=\"text\/javascript\" src=\"https:\/\/mailing.smartairfilters.com\/form\/generate.js?id=40\"><\/script>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n    var message = document.getElementById('mauticform_contactusform_message');\n    var submitWrapper = document.getElementById('mauticform_contactusform_submit');\n\n    if (message && submitWrapper) {\n        submitWrapper.parentNode.insertBefore(message, submitWrapper);\n    }\n});\n<\/script>\n\n\n<style>\n\n\n.e-con.e-con>.e-con-inner>.elementor-widget, .elementor.elementor .e-con>.elementor-widget{\n    max-width:inherit !important;\n}\n\n\/* Two-column grid *\/\n#mauticform_wrapper_contactusform .mauticform-page-wrapper {\n  display: grid !important;\n  grid-template-columns: 1fr 1fr;\n  gap: 30px 40px;\nfont-family: 'Inter', sans-serif; \n\n}\n\n\/* Labels *\/\n#mauticform_wrapper_contactusform .mauticform-label {\n  display: block;\n  font-size: 15px;\n  font-weight: 600;\n  margin-bottom: 40px;\n  color: #333;\n}\n\n\/* Inputs *\/\n#mauticform_wrapper_contactusform .mauticform-input {\n  width: 285px !important;\n  padding: 18px 15px;\n  border: 1px solid transparent;\n  border-radius: 8px;\n  font-size: 14px;\n  box-sizing: border-box;\n  background: #fff;\n}\n.mauticform-helpmessage{\n    display:none !important;\n}\n\/* Submit button centered *\/\n#mauticform_wrapper_contactusform .mauticform-button-wrapper {\n  grid-column: span 2; \/* center button across both columns *\/\n  text-align: center;\n}\n\n#mauticform_wrapper_contactusform .mauticform-button {\n margin-top: 20px;\n  background: #bfbfbf;\n  border: none;\n  padding: 10px 30px;\n  border-radius: 20px;\n  font-size: 14px;\n  cursor: pointer;\n  transition: background 0.3s;\n  width:150px;\n}\n\n#mauticform_wrapper_contactusform .mauticform-button:hover {\n  background: #999;\n  color: #fff;\n}\n\n#mauticform_contactusform_f_message {\n  grid-column: span 2;\n  border-radius: 9px !important;\n  height: 200px;\n}\n\n\/* Full-width Mautic success message *\/\n#mauticform_contactusform_message {\n    width: 100%;\n    display: block;\n    box-sizing: border-box;\n grid-column: 1 \/ -1; \n   text-align: center; \n    color:#A7D7C5; \n    \n    padding: 16px 20px;\n    margin-bottom: 20px;\n\n    border-radius: 4px;\n    font-weight: 500;\n}\n\n\/* Ensure it is not constrained by row styling *\/\n#mauticform_contactusform_message.mauticform-message {\n    max-width: 100% !important;\n}\n\n\n\n\n@media (max-width: 768px) { #mauticform_wrapper_contactusform .mauticform-page-wrapper {\n    display: block !important;\n    grid-template-columns: 1fr; gap: 20px; \n    \n} \n\n.mauticform-row{\n    margin-bottom:65px;\n    text-align-last: center;\n\n    \n} \n    \n}\n\n<\/style>\n\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1e2246d1 e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"1e2246d1\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6e3371d1 elementor-widget__width-initial new-subheader elementor-widget elementor-widget-heading\" data-id=\"6e3371d1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Call Us<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-16fd04d elementor-widget__width-initial new-subheader elementor-widget elementor-widget-heading\" data-id=\"16fd04d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Telephone: (+86) (010) 8447 6121<BR>\nMobile: (+86) 138 1027 2652<BR>\n<BR>\n\n\n\nMon to Fri, 10 AM \u2013 6 PM<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-452ee02 elementor-widget__width-initial new-subheader elementor-widget elementor-widget-heading\" data-id=\"452ee02\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Head Office Address<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2bf1aef elementor-widget__width-initial new-subheader elementor-widget elementor-widget-heading\" data-id=\"2bf1aef\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">901-B, Huapu Huayuan, 9 Dongzhimen Nan Da Jie,<br>\nDongcheng District, 100007<br>\nBeijing, China<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9d00b5 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"c9d00b5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/smartairfilters.com\/wordpress\/wp-content\/uploads\/2025\/12\/SCAQMD-South-Coast-Air-Quality-Management-District-11-2-1024x512.png\" class=\"attachment-large size-large wp-image-39995\" alt=\"\" srcset=\"https:\/\/smartairfilters.com\/wordpress\/wp-content\/uploads\/2025\/12\/SCAQMD-South-Coast-Air-Quality-Management-District-11-2-1024x512.png 1024w, https:\/\/smartairfilters.com\/wordpress\/wp-content\/uploads\/2025\/12\/SCAQMD-South-Coast-Air-Quality-Management-District-11-2-600x300.png 600w, https:\/\/smartairfilters.com\/wordpress\/wp-content\/uploads\/2025\/12\/SCAQMD-South-Coast-Air-Quality-Management-District-11-2-300x150.png 300w, https:\/\/smartairfilters.com\/wordpress\/wp-content\/uploads\/2025\/12\/SCAQMD-South-Coast-Air-Quality-Management-District-11-2-768x384.png 768w, https:\/\/smartairfilters.com\/wordpress\/wp-content\/uploads\/2025\/12\/SCAQMD-South-Coast-Air-Quality-Management-District-11-2.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc8a53b elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"fc8a53b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Media &amp; Press Enquiries<\/p><p><a href=\"mailto:media@smartairfilters.com\">media@smartairfilters.com<\/a><\/p><p>Partnership &amp; Distribution Enquiries<\/p><p><a href=\"https:\/\/smartairfilters.com\/cn\/distribute-smart-air-global-partners\/\">Distributor Contact Form<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-369b79f0 e-con-full quick-links-homepage e-flex e-con e-parent\" data-id=\"369b79f0\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-39716a15 elementor-widget__width-initial new-subheader elementor-widget elementor-widget-heading\" data-id=\"39716a15\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Quick Links<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2b8dabe9 e-grid e-con-boxed e-con e-child\" data-id=\"2b8dabe9\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6e4be7ce elementor-align-justify elementor-widget__width-inherit elementor-widget elementor-widget-button\" data-id=\"6e4be7ce\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/smartairfilters.com\/en\/volunteer-at-smart-air\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Join Volunteers<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59e45828 elementor-align-justify elementor-widget__width-inherit elementor-widget elementor-widget-button\" data-id=\"59e45828\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/smartairfilters.com\/en\/about\/our-impact\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Our Impact<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2943fc3e e-con-full scroll-bg e-flex e-con e-parent\" data-id=\"2943fc3e\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2cfe23bb e-flex e-con-boxed e-con e-parent\" data-id=\"2cfe23bb\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-78c11a03 elementor-widget elementor-widget-html\" data-id=\"78c11a03\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n .homepage-textgradient {\r\n  background: linear-gradient(\r\n    175deg,\r\n    #8CA6DB 0%,\r\n    #8CA6DB 40%,\r\n    #111111 70%,\r\n    #333333 100%\r\n  );\r\n  -webkit-background-clip: text;\r\n  -webkit-text-fill-color: transparent;\r\n  display: inline-block;\r\n}\r\n\r\n\r\n.scroll-bg {\r\n  \r\n  background-repeat: repeat-x;\r\n  background-position: 0 0;\r\n  background-size: cover; \/* or contain, depending on your image *\/\r\n  animation: scrollBackground 30s linear infinite;\r\n  height: 300px; \/* adjust as needed *\/\r\n  width: 100%;\r\n}\r\n\r\n\/* Animation keyframes *\/\r\n@keyframes scrollBackground {\r\n  0% {\r\n    background-position: 0 0;\r\n  }\r\n  100% {\r\n    background-position: -1000px 0; \r\n  }\r\n}\r\n\r\n#homepage-tab1,\r\n#homepage-tab2,\r\n#homepage-tab3 {\r\n  border: none;\r\n \r\n  padding: 5px 40px;\r\n  border-radius: 30px;\r\n  font-size: 16px;\r\n  cursor: pointer;\r\n  transition: background 0.3s, color 0.3s;\r\n  color: black;\r\n}\r\n\r\n\/* Active tab style *\/\r\n#homepage-tab1[aria-selected=\"true\"],\r\n#homepage-tab2[aria-selected=\"true\"],\r\n#homepage-tab3[aria-selected=\"true\"] {\r\n  background-color: #5dade2; \r\n  color: white;\r\n}\r\n.e-n-tabs-heading {\r\n  display: flex;\r\n  background-color: #e0e0e0; \r\n  padding: 0px;\r\n  border-radius: 30px;\r\n  width: fit-content;\r\n}\r\n.homepage-cards-singlecard{\r\n    height:200px;\r\n}\r\n.homepage-hoverclass {\r\n  position: relative; \/* Needed for ::before to align properly *\/\r\n  background-repeat: no-repeat !important;\r\n  background-position: bottom center !important;\r\n  transition: background-size 1.3s ease !important;\r\n  will-change: background-size;\r\n  overflow: hidden; \/* Optional: hide any overflows *\/\r\n}\r\n\r\n.homepage-hoverclass.zoom-small,.homepage-hoverclass.zoom-small-3{\r\n    justify-self: self-end !important;\r\n}\r\n\/* Zoom on hover *\/\r\n.zoom-small {\r\n  background-size: 100% !important;\r\n  transition: background-size 0.4s ease-in-out;\r\n  background-position: center 10px !important;\r\n  background-repeat: no-repeat;\r\n  \r\n}\r\n\r\n\r\n\r\n.homepage-hoverclass.zoom-small, .homepage-hoverclass.zoom-large,.homepage-hoverclass.zoom-large-4{\r\n    height:413px !important;\r\n}\r\n\r\n@media (min-width: 768px) {.banner-clouds {\r\n  position: relative;\r\n}\r\n.zoom-small:hover {\r\n  background-size: 103% !important;\r\n   background-position: center 10px !important;\r\n}\r\n.zoom-small-3 {\r\n  background-size: 100% auto !important;\r\n}\r\n.zoom-small-3:hover {\r\n  background-size: 105% auto !important;\r\n}\r\n.zoom-large {\r\n  background-size: 110% auto !important;\r\n}\r\n.zoom-large:hover {\r\n  background-size: 115% auto !important;\r\n}\r\n.zoom-large-4{\r\n  background-size: 103% auto !important;\r\n}\r\n.zoom-large-4:hover {\r\n  background-size: 108% auto !important;\r\n}\r\n\r\n.fixed-b-corp {\r\n  transition: opacity 0.4s ease;\r\n  opacity: 1;\r\n}\r\n.fixed-b-corp.fade-out {\r\n  opacity: 0;\r\n  pointer-events: none; \/* optional, disables hover\/click when invisible *\/\r\n}\r\n\r\n.fixed-b-corp {\r\n  position: absolute;\r\n  bottom: 20px;\r\n  right: 20px;\r\n  z-index: 999;\r\n  transition: none;\r\n}\r\n\r\n.fixed-b-corp.sticking {\r\n  position: fixed !important;\r\n  bottom: 20px;\r\n  right: 20px;\r\n}\r\n\r\n.fixed-b-corp.stopped {\r\n  position: absolute !important;\r\n  bottom: unset !important;\r\n  top: auto !important;\r\n}\r\n}\r\n\r\n\r\n@media (max-width: 768px) {\r\n \r\n .elementor-widget-container{\r\n     text-wrap-mode: wrap; \r\n }\r\n\/* .horiz-scrol-homepage-mobile {\r\n  overflow-x: auto;\r\n  -webkit-overflow-scrolling: touch; \/* enables momentum scroll & dots on iOS \r\n  white-space: nowrap;\r\n}*\/\r\n\r\n\r\n\/* Container should behave normally *\/\r\n\/*.elementor-element-7c63c65 {\r\n  display: block !important;\r\n  overflow: hidden;\r\n}\r\n\r\n\r\n.elementor-element-1ad7031 {\r\n  float: right;\r\n}\r\n\r\n\r\n.elementor-element-958df5e {\r\n  float: left;\r\n}\r\n\r\n\r\n.elementor-button {\r\n  width: auto !important;\r\n  padding: 10px 20px;\r\n  white-space: nowrap;\r\n}*\/\r\n\r\n  .homepage-hoverclass{\r\n      box-shadow:none !important;\r\n  }\r\n  .scroll-left.disabled,\r\n.scroll-right.disabled {\r\n  opacity: 0.3;\r\n  pointer-events: none;\r\n}\r\n\r\n  .scroll-arrows {\r\n    display: none;\r\n    justify-content: center;\r\n    gap: 20px;\r\n    margin: 10px 0;\r\n  }\r\n\r\n  .scroll-arrows img {\r\n      \r\n    width: 24px;\r\n    height: 24px;\r\n    cursor: pointer;\r\n    transition: transform 0.2s ease;\r\n  }\r\n\r\n  .scroll-arrows img:hover {\r\n    transform: scale(1.1);\r\n  }\r\n\r\n  .horiz-scrol-homepage-mobile {\r\n    display: flex;\r\n    overflow-x: auto;\r\n    scroll-snap-type: x mandatory;\r\n    -webkit-overflow-scrolling: touch;\r\n    scroll-behavior: smooth;\r\n    gap: 20px;\r\n    width: 100%;\r\n     -ms-overflow-style: none;  \/* IE and Edge *\/\r\n  scrollbar-width: none;     \/* Firefox *\/\r\n  }\r\n.horiz-scrol-homepage-mobile::-webkit-scrollbar {\r\n  display: none;             \/* Chrome, Safari, Opera *\/\r\n}\r\n  .horiz-scrol-homepage-mobile > .e-con {\r\n    flex: 0 0 100%;\r\n    scroll-snap-align: center;\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  .scroll-dots {\r\n    display: flex;\r\n    justify-content: center;\r\n    gap: 8px;\r\n    margin-top: 10px;\r\n  }\r\n\r\n  .scroll-dots .dot {\r\n    width: 5px;\r\n    height: 5px;\r\n    background: #ccc;\r\n    border-radius: 50%;\r\n    cursor: pointer;\r\n    transition: background 0.3s;\r\n  }\r\n\r\n  .scroll-dots .dot.active {\r\n    background: #333;\r\n  }\r\n  \/* === Generic Button Container Centering === *\/\r\n.homepage-button-group-mobile {\r\n  display: flex !important;\r\n  justify-content: center !important;\r\n  align-items: center;\r\n  \/\/gap: 16px; \/* spacing between buttons *\/\r\n  row-gap:10px;\r\n  flex-wrap: wrap;\r\n  text-align: center;\r\n}\r\n\r\n\/* === Button Styling for all groups === *\/\r\n\/*.homepage-button-single-mobile {\r\n  width: auto !important;\r\n  min-width: auto !important;\r\n  padding: 10px 20px;\r\n  display: inline-flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  border-radius: 100px; \/* keeps pill shape *\/\r\n}*\/\r\n\r\n\/* Ensure button wrappers don\u2019t interfere *\/\r\n.elementor-button-wrapper {\r\n  display: inline-flex !important;\r\n}\r\n.site-content{\r\n        overflow-x: hidden;\r\n\r\n}\r\n}\r\n\r\n\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n    if (window.innerWidth >= 768) return;\r\n  const scrollSections = document.querySelectorAll(\".scroll-block-homepage-1, .scroll-block-homepage-2\");\r\n\r\n  scrollSections.forEach(section => {\r\n    const scrollWrapper = section.querySelector(\".horiz-scrol-homepage-mobile\");\r\n    const dotsContainer = section.querySelector(\".scroll-dots\");\r\n    const leftArrow = section.querySelector(\".scroll-left\");\r\n    const rightArrow = section.querySelector(\".scroll-right\");\r\n\r\n    if (!scrollWrapper || !leftArrow || !rightArrow || !dotsContainer) return;\r\n\r\n    const cards = Array.from(scrollWrapper.children).filter(el => el.classList.contains(\"e-con\"));\r\n    const scrollStep = scrollWrapper.offsetWidth;\r\n\r\n    \/\/ Create dots\r\n    dotsContainer.innerHTML = \"\";\r\n    cards.forEach((_, i) => {\r\n      const dot = document.createElement(\"span\");\r\n      dot.classList.add(\"dot\");\r\n      if (i === 0) dot.classList.add(\"active\");\r\n      dot.addEventListener(\"click\", () => {\r\n        scrollWrapper.scrollTo({ left: scrollStep * i, behavior: \"smooth\" });\r\n      });\r\n      dotsContainer.appendChild(dot);\r\n    });\r\n\r\n    \/\/ Sync dot and arrows\r\n    function updateState() {\r\n      const scrollLeft = scrollWrapper.scrollLeft;\r\n      const maxScrollLeft = scrollWrapper.scrollWidth - scrollWrapper.clientWidth;\r\n      const index = Math.round(scrollLeft \/ scrollStep);\r\n\r\n      \/\/ Highlight active dot\r\n      dotsContainer.querySelectorAll(\".dot\").forEach((dot, i) => {\r\n        dot.classList.toggle(\"active\", i === index);\r\n      });\r\n\r\n      \/\/ Enable\/disable arrows\r\n      if (scrollLeft <= 0) {\r\n        leftArrow.classList.add(\"disabled\");\r\n      } else {\r\n        leftArrow.classList.remove(\"disabled\");\r\n      }\r\n\r\n      if (scrollLeft >= maxScrollLeft - 1) {\r\n        rightArrow.classList.add(\"disabled\");\r\n      } else {\r\n        rightArrow.classList.remove(\"disabled\");\r\n      }\r\n    }\r\n\r\n    scrollWrapper.addEventListener(\"scroll\", updateState);\r\n\r\n    leftArrow.addEventListener(\"click\", () => {\r\n      scrollWrapper.scrollBy({ left: -scrollStep, behavior: \"smooth\" });\r\n    });\r\n\r\n    rightArrow.addEventListener(\"click\", () => {\r\n      scrollWrapper.scrollBy({ left: scrollStep, behavior: \"smooth\" });\r\n    });\r\n\r\n    \/\/ Initial state\r\n    updateState();\r\n  });\r\n});\r\n<\/script>\r\n\r\n<script>\/*\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n  const sticky = document.querySelector(\".fixed-b-corp\");\r\n  const banner = document.querySelector(\".banner-clouds\");\r\n  const stopTarget = document.querySelector(\".quick-links-homepage\");\r\n\r\n  if (!sticky || !banner || !stopTarget) return;\r\n\r\n  const bottomOffset = 20; \/\/ px from bottom of viewport\r\n  const rightOffset = 20;\r\n\r\n  function updatePosition() {\r\n    const scrollY = window.scrollY;\r\n    const viewportHeight = window.innerHeight;\r\n    const stickyHeight = sticky.offsetHeight;\r\n\r\n    const bannerTop = banner.offsetTop;\r\n    const bannerBottom = bannerTop + banner.offsetHeight;\r\n\r\n    const stopTop = stopTarget.offsetTop;\r\n    const stopHeight = stopTarget.offsetHeight;\r\n    const stopBottom = stopTop + stopHeight;\r\n\r\n    const stickyBottomIfFixed = scrollY + viewportHeight - bottomOffset;\r\n\r\n    \/\/ Case 1: Still in banner \u2014 start position\r\n    if (scrollY + viewportHeight < bannerBottom + stickyHeight) {\r\n      sticky.style.position = \"absolute\";\r\n      sticky.style.bottom = `${bottomOffset}px`;\r\n      sticky.style.top = \"auto\";\r\n      sticky.style.right = `${rightOffset}px`;\r\n    }\r\n    \/\/ Case 2: Sticky bottom would pass stop section's end \u2014 pin it at the bottom of stop section\r\n    else if (stickyBottomIfFixed >= stopBottom) {\r\n      sticky.style.position = \"absolute\";\r\n      sticky.style.top = `${stopBottom - stickyHeight - bannerTop - bottomOffset}px`;\r\n      sticky.style.bottom = \"auto\";\r\n      sticky.style.right = `${rightOffset}px`;\r\n    }\r\n    \/\/ Case 3: Normal scroll \u2014 fixed to screen\r\n    else {\r\n      sticky.style.position = \"fixed\";\r\n      sticky.style.bottom = `${bottomOffset}px`;\r\n      sticky.style.top = \"auto\";\r\n      sticky.style.right = `${rightOffset}px`;\r\n    }\r\n  }\r\n\r\n  window.addEventListener(\"scroll\", updatePosition);\r\n  window.addEventListener(\"resize\", updatePosition);\r\n  updatePosition();\r\n});\r\n*\/\r\n\r\n\/*document.addEventListener(\"DOMContentLoaded\", function () {\r\n  const sticky = document.querySelector(\".fixed-b-corp\");\r\n  const banner = document.querySelector(\".banner-clouds\");\r\n  const stopTarget = document.querySelector(\".quick-links-homepage\");\r\n\r\n  if (!sticky || !banner || !stopTarget) return;\r\n\r\n  const bottomOffset = 20; \/\/ distance from bottom of screen when fixed\r\n  const rightOffset = 20;  \/\/ distance from right of screen\r\n  const fadeOutDistance = 200; \/\/ fade-out starts this many px before stop section ends\r\n\r\n  function updatePosition() {\r\n    const scrollY = window.scrollY;\r\n    const viewportHeight = window.innerHeight;\r\n    const stickyHeight = sticky.offsetHeight;\r\n\r\n    const bannerTop = banner.offsetTop;\r\n    const bannerBottom = bannerTop + banner.offsetHeight;\r\n\r\n    const stopTop = stopTarget.offsetTop;\r\n    const stopBottom = stopTop + stopTarget.offsetHeight;\r\n\r\n    const stickyBottomIfFixed = scrollY + viewportHeight - bottomOffset;\r\n\r\n    \/\/ 1. If still within banner \u2014 absolute positioning\r\n    if (scrollY + viewportHeight < bannerBottom + stickyHeight) {\r\n      sticky.style.position = \"absolute\";\r\n      sticky.style.bottom = `${bottomOffset}px`;\r\n      sticky.style.top = \"auto\";\r\n      sticky.style.right = `${rightOffset}px`;\r\n    }\r\n    \/\/ 2. Scrolling normally \u2014 fixed position\r\n    else {\r\n      sticky.style.position = \"fixed\";\r\n      sticky.style.bottom = `${bottomOffset}px`;\r\n      sticky.style.top = \"auto\";\r\n      sticky.style.right = `${rightOffset}px`;\r\n    }\r\n\r\n    \/\/ 3. Fade out as we near the bottom of stopTarget\r\n    const fadeOutStart = stopBottom - fadeOutDistance;\r\n    const fadeOutEnd = stopBottom;\r\n\r\n    if (stickyBottomIfFixed >= fadeOutStart) {\r\n      const progress = Math.min(1, (stickyBottomIfFixed - fadeOutStart) \/ (fadeOutEnd - fadeOutStart));\r\n      sticky.style.opacity = `${1 - progress}`;\r\n      sticky.style.pointerEvents = 'none'; \/\/ optional: disables clicks while fading\r\n    } else {\r\n      sticky.style.opacity = \"1\";\r\n      sticky.style.pointerEvents = 'auto';\r\n    }\r\n  }\r\n\r\n  window.addEventListener(\"scroll\", updatePosition);\r\n  window.addEventListener(\"resize\", updatePosition);\r\n  updatePosition(); \/\/ run on load\r\n});*\/\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n  if (window.innerWidth < 768) return; \/\/ <-- prevent running on mobile\r\n\r\n  const sticky = document.querySelector(\".fixed-b-corp\");\r\n  const banner = document.querySelector(\".banner-clouds\");\r\n  const stopTarget = document.querySelector(\".quick-links-homepage\");\r\n\r\n  if (!sticky || !banner || !stopTarget) return;\r\n\r\n  const bottomOffset = 20; \/\/ distance from bottom of screen when fixed\r\n  const rightOffset = 20;\r\n  const fadeOutDistance = 200; \/\/ fade-out starts this many px before stop section ends\r\n\r\n  function updatePosition() {\r\n    const scrollY = window.scrollY;\r\n    const viewportHeight = window.innerHeight;\r\n    const stickyHeight = sticky.offsetHeight;\r\n\r\n    const bannerTop = banner.offsetTop;\r\n    const bannerBottom = bannerTop + banner.offsetHeight;\r\n\r\n    const stopTop = stopTarget.offsetTop;\r\n    const stopBottom = stopTop + stopTarget.offsetHeight;\r\n\r\n    const stickyBottomIfFixed = scrollY + viewportHeight - bottomOffset;\r\n\r\n    \/\/ Case 1: Still within banner\r\n    if (scrollY + viewportHeight < bannerBottom + stickyHeight) {\r\n      sticky.style.position = \"absolute\";\r\n      sticky.style.bottom = `${bottomOffset}px`;\r\n      sticky.style.top = \"auto\";\r\n      sticky.style.right = `${rightOffset}px`;\r\n    }\r\n    \/\/ Case 2: Normal scroll\r\n    else {\r\n      sticky.style.position = \"fixed\";\r\n      sticky.style.bottom = `${bottomOffset}px`;\r\n      sticky.style.top = \"auto\";\r\n      sticky.style.right = `${rightOffset}px`;\r\n    }\r\n\r\n    \/\/ Case 3: Fade out near stop section\r\n    const fadeOutStart = stopBottom - fadeOutDistance;\r\n    const fadeOutEnd = stopBottom;\r\n\r\n    if (stickyBottomIfFixed >= fadeOutStart) {\r\n      const progress = Math.min(1, (stickyBottomIfFixed - fadeOutStart) \/ (fadeOutEnd - fadeOutStart));\r\n      sticky.style.opacity = `${1 - progress}`;\r\n      sticky.style.pointerEvents = 'none';\r\n    } else {\r\n      sticky.style.opacity = \"1\";\r\n      sticky.style.pointerEvents = 'auto';\r\n    }\r\n  }\r\n\r\n  window.addEventListener(\"scroll\", updatePosition);\r\n  window.addEventListener(\"resize\", updatePosition);\r\n  updatePosition(); \/\/ Run on load\r\n});\r\n\r\n\r\n<\/script>\r\n\r\n\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Contact Smart Air Reach out to learn more about ou &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"\u8054\u7cfb\u6211\u4eec\" class=\"read-more button\" href=\"https:\/\/smartairfilters.com\/zh\/contact-smart-air\/#more-39883\" aria-label=\"\u9605\u8bfb \u8054\u7cfb\u6211\u4eec\">Read more<\/a><\/p>\n","protected":false},"author":11231,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"8420,11658,19596,38599,8058,5463","_relevanssi_noindex_reason":"","footnotes":""},"class_list":["post-39883","page","type-page","status-publish"],"acf":[],"_links":{"self":[{"href":"https:\/\/smartairfilters.com\/zh\/wp-json\/wp\/v2\/pages\/39883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smartairfilters.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/smartairfilters.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/smartairfilters.com\/zh\/wp-json\/wp\/v2\/users\/11231"}],"replies":[{"embeddable":true,"href":"https:\/\/smartairfilters.com\/zh\/wp-json\/wp\/v2\/comments?post=39883"}],"version-history":[{"count":122,"href":"https:\/\/smartairfilters.com\/zh\/wp-json\/wp\/v2\/pages\/39883\/revisions"}],"predecessor-version":[{"id":40157,"href":"https:\/\/smartairfilters.com\/zh\/wp-json\/wp\/v2\/pages\/39883\/revisions\/40157"}],"wp:attachment":[{"href":"https:\/\/smartairfilters.com\/zh\/wp-json\/wp\/v2\/media?parent=39883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}