1 <!DOCTYPE html> 2 <html lang="en" dir="ltr" style="--color--primary-hue:219;--color--primary-saturation:46%;--color--primary-lightness:48"> 3 4 <head> 5 <!-- cache-bust: 2026-09-29 --> 6 <meta name="google-site-verification" content="eNKx8rPBoeisP-0KJS7Qpva9CEWUG33mBCGyaFiTfXQ" /> 7 <!-- Google Tag Manager --> 8
8<script>
vendor: 331 bytes, lines 8-12
8(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 9 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 10 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 11 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 12 })(window,document,'script','dataLayer','
12GTM-KN2WJZVZ
vendor: 3 bytes, line 12
12');
12</script>
12 13 <!-- End Google Tag Manager --> 14 15
15<script type="text/javascript"> 16 (function(c,l,a,r,i,t,y){ 17 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 18 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 19 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 20 })(window, document, "clarity", "script", "wxy4x0xxev"); 21</script>
21 22 <div id='preloader' style='display:none'> 23 24 25 <section class="wrapper dark"> 26 <div class="spinner"> 27 <i></i> 28 <i></i> 29 <i></i> 30 <i></i> 31 <i></i> 32 <i></i> 33 <i></i> 34 </div> 35 <div class="spinner-img"><img style='max-width:200px' src="/sites/default/files/logo-reflect.png" alt="Home" fetchpriority="high"></div> 36 </section> 37 <style> 38 #preloader{ 39 width: 100vw; 40 height: 100vh; 41 background: white;/*#313134;*/ 42 position: fixed; 43 height: 100vh; 44 z-index: 99999999999999; 45 46 } 47 48 .spinner-img{ 49 max-width: 200px; 50 margin: auto; 51 width:100%; 52 margin-top: 125px; 53 } 54 55 * { 56 -webkit-box-sizing: border-box; 57 -moz-box-sizing: border-box; 58 box-sizing: border-box; 59 } 60 61 section.wrapper { 62 position: fixed; 63 top: 50%; 64 left: 50%; 65 transform: translate(-50%, -50%); 66 display: flex; 67 flex-direction: column; /* Stack vertically */ 68 align-items: center; /* Center horizontally */ 69 justify-content: center; /* Center vertically within the container */ 70 padding: 40px 0; 71 } 72 section.wrapper.dark { 73 74 } 75 76 div.spinner { 77 -moz-animation: rotate 10s infinite linear; 78 -webkit-animation: rotate 10s infinite linear; 79 animation: rotate 10s infinite linear; 80 position: fixed; 81 display: block; 82 margin: auto; 83 width: 142px; 84 height: 142px; 85 margin-bottom: 125px; /* Space between spinner and image */ 86 } 87 div.spinner i { 88 -moz-animation: rotate 3s infinite cubic-bezier(0.09, 0.6, 0.8, 0.03); 89 -webkit-animation: rotate 3s infinite cubic-bezier(0.09, 0.6, 0.8, 0.03); 90 animation: rotate 3s infinite cubic-bezier(0.09, 0.6, 0.8, 0.03); 91 -moz-transform-origin: 50% 100% 0; 92 -webkit-transform-origin: 50% 100% 0; 93 transform-origin: 50% 100% 0; 94 position: absolute; 95 display: inline-block; 96 top: 50%; 97 left: 50%; 98 border: solid 6px transparent; 99 border-bottom: none; 100 } 101 div.spinner i:nth-child(1) { 102 -moz-animation-timing-function: cubic-bezier(0.09, 0.3, 0.12, 0.03); 103 -webkit-animation-timing-function: cubic-bezier(0.09, 0.3, 0.12, 0.03); 104 animation-timing-function: cubic-bezier(0.09, 0.3, 0.12, 0.03); 105 width: 44px; 106 height: 22px; 107 margin-top: -22px; 108 margin-left: -22px; 109 border-color: white; 110 border-top-left-radius: 36px; 111 border-top-right-radius: 36px; 112 } 113 div.spinner i:nth-child(2) { 114 -moz-animation-timing-function: cubic-bezier(0.09, 0.6, 0.24, 0.03); 115 -webkit-animation-timing-function: cubic-bezier(0.09, 0.6, 0.24, 0.03); 116 animation-timing-function: cubic-bezier(0.09, 0.6, 0.24, 0.03); 117 width: 58px; 118 height: 29px; 119 margin-top: -29px; 120 margin-left: -29px; 121 border-color: #F36F21; 122 border-top-left-radius: 42px; 123 border-top-right-radius: 42px; 124 } 125 div.spinner i:nth-child(3) { 126 -moz-animation-timing-function: cubic-bezier(0.09, 0.9, 0.36, 0.03); 127 -webkit-animation-timing-function: cubic-bezier(0.09, 0.9, 0.36, 0.03); 128 animation-timing-function: cubic-bezier(0.09, 0.9, 0.36, 0.03); 129 width: 72px; 130 height: 36px; 131 margin-top: -36px; 132 margin-left: -36px; 133 border-color: #F36F21; 134 border-top-left-radius: 48px; 135 border-top-right-radius: 48px; 136 } 137 div.spinner i:nth-child(4) { 138 -moz-animation-timing-function: cubic-bezier(0.09, 1.2, 0.48, 0.03); 139 -webkit-animation-timing-function: cubic-bezier(0.09, 1.2, 0.48, 0.03); 140 animation-timing-function: cubic-bezier(0.09, 1.2, 0.48, 0.03); 141 width: 86px; 142 height: 43px; 143 margin-top: -43px; 144 margin-left: -43px; 145 border-color: #436ab3; 146 border-top-left-radius: 54px; 147 border-top-right-radius: 54px; 148 } 149 div.spinner i:nth-child(5) { 150 -moz-animation-timing-function: cubic-bezier(0.09, 1.5, 0.6, 0.03); 151 -webkit-animation-timing-function: cubic-bezier(0.09, 1.5, 0.6, 0.03); 152 animation-timing-function: cubic-bezier(0.09, 1.5, 0.6, 0.03); 153 width: 100px; 154 height: 50px; 155 margin-top: -50px; 156 margin-left: -50px; 157 border-color: white; 158 border-top-left-radius: 60px; 159 border-top-right-radius: 60px; 160 } 161 div.spinner i:nth-child(6) { 162 -moz-animation-timing-function: cubic-bezier(0.09, 1.8, 0.72, 0.03); 163 -webkit-animation-timing-function: cubic-bezier(0.09, 1.8, 0.72, 0.03); 164 animation-timing-function: cubic-bezier(0.09, 1.8, 0.72, 0.03); 165 width: 114px; 166 height: 57px; 167 margin-top: -57px; 168 margin-left: -57px; 169 border-color: #4c9ad3; 170 border-top-left-radius: 66px; 171 border-top-right-radius: 66px; 172 } 173 div.spinner i:nth-child(7) { 174 -moz-animation-timing-function: cubic-bezier(0.09, 2.1, 0.84, 0.03); 175 -webkit-animation-timing-function: cubic-bezier(0.09, 2.1, 0.84, 0.03); 176 animation-timing-function: cubic-bezier(0.09, 2.1, 0.84, 0.03); 177 width: 128px; 178 height: 64px; 179 margin-top: -64px; 180 margin-left: -64px; 181 border-color: #F36F21; 182 border-top-left-radius: 72px; 183 border-top-right-radius: 72px; 184 } 185 div.spinner i:nth-child(8) { 186 -moz-animation-timing-function: cubic-bezier(0.09, 2.4, 0.96, 0.03); 187 -webkit-animation-timing-function: cubic-bezier(0.09, 2.4, 0.96, 0.03); 188 animation-timing-function: cubic-bezier(0.09, 2.4, 0.96, 0.03); 189 width: 142px; 190 height: 71px; 191 margin-top: -71px; 192 margin-left: -71px; 193 border-color: #5d3191; 194 border-top-left-radius: 78px; 195 border-top-right-radius: 78px; 196 } 197 198 @-moz-keyframes rotate { 199 to { 200 -moz-transform: rotate(360deg); 201 transform: rotate(360deg); 202 } 203 } 204 @-webkit-keyframes rotate { 205 to { 206 -webkit-transform: rotate(360deg); 207 transform: rotate(360deg); 208 } 209 } 210 @keyframes rotate { 211 to { 212 -moz-transform: rotate(360deg); 213 -ms-transform: rotate(360deg); 214 -webkit-transform: rotate(360deg); 215 transform: rotate(360deg); 216 } 217 } 218 </style> 219 </div> 220 <meta charset="utf-8" /> 221<noscript><style>form.antibot * :not(.antibot-message) { display: none !important; }</style> 222</noscript><style id="ductcare-chatbot-desktop-zindex">@media (min-width: 1024px) { 223 #ductcare-chatbot-window.ductcare-chatbot-window, 224 #ductcare-chatbot-button, 225 .ductcare-chatbot-trigger, 226 #ductcare-chatbot-debug-popup { 227 z-index: 2147483640 !important; 228 } 229 }</style>
230<link rel="icon" href="https://cleanductsflorida.com/sites/default/files/favicon.ico" type="image/x-icon" /> 231<link rel="shortcut icon" href="https://cleanductsflorida.com/sites/default/files/favicon.ico" type="image/x-icon" /> 232<link rel="canonical" href="https://book.ductcare.com/inquiry" /> 233<meta name="Generator" content="Drupal 10 (https://www.drupal.org); Commerce 2" /> 234<meta name="MobileOptimized" content="width" /> 235<meta name="HandheldFriendly" content="true" /> 236<meta name="viewport" content="width=device-width, initial-scale=1.0" /> 237<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway:100,100italic,200,200italic,300,300italic,500,500italic,600,600italic,700,700italic,regular,italic,900italic,800italic,900,800|Raleway+Dots:regular&subset=cyrillic,cyrillic-ext,latin,latin-ext,vietnamese&display=swap" media="all" /> 238<link rel="icon" href="/sites/default/files/favicon.ico" type="image/vnd.microsoft.icon" /> 239 240 241 <title>Request Air Duct Cleaning Quote</title> 242 <link rel="stylesheet" media="all" href="/core/modules/system/css/components/align.module.css?tm5kjm" /> 243<link rel="stylesheet" media="all" href="/core/modules/system/css/components/fieldgroup.module.css?tm5kjm" /> 244<link rel="stylesheet" media="all" href="/core/modules/system/css/components/container-inline.module.css?tm5kjm" /> 245<link rel="stylesheet" media="all" href="/core/modules/system/css/components/clearfix.module.css?tm5kjm" /> 246<link rel="stylesheet" media="all" href="/core/modules/system/css/components/details.module.css?tm5kjm" /> 247<link rel="stylesheet" media="all" href="/core/modules/system/css/components/hidden.module.css?tm5kjm" /> 248<link rel="stylesheet" media="all" href="/core/modules/system/css/components/item-list.module.css?tm5kjm" /> 249<link rel="stylesheet" media="all" href="/core/modules/system/css/components/js.module.css?tm5kjm" /> 250<link rel="stylesheet" media="all" href="/core/modules/system/css/components/nowrap.module.css?tm5kjm" /> 251<link rel="stylesheet" media="all" href="/core/modules/system/css/components/position-container.module.css?tm5kjm" /> 252<link rel="stylesheet" media="all" href="/core/modules/system/css/components/reset-appearance.module.css?tm5kjm" /> 253<link rel="stylesheet" media="all" href="/core/modules/system/css/components/resize.module.css?tm5kjm" /> 254<link rel="stylesheet" media="all" href="/core/modules/system/css/components/system-status-counter.css?tm5kjm" /> 255<link rel="stylesheet" media="all" href="/core/modules/system/css/components/system-status-report-counters.css?tm5kjm" /> 256<link rel="stylesheet" media="all" href="/core/modules/system/css/components/system-status-report-general-info.css?tm5kjm" /> 257<link rel="stylesheet" media="all" href="/core/modules/system/css/components/tablesort.module.css?tm5kjm" /> 258<link rel="stylesheet" media="all" href="/core/misc/components/progress.module.css?tm5kjm" /> 259<link rel="stylesheet" media="all" href="/core/misc/components/ajax-progress.module.css?tm5kjm" /> 260<link rel="stylesheet" media="all" href="/modules/contrib/webform/css/webform.element.message.css?tm5kjm" /> 261<link rel="stylesheet" media="all" href="/modules/contrib/webform/css/webform.form.css?tm5kjm" /> 262<link rel="stylesheet" media="all" href="/modules/contrib/webform/css/webform.element.details.toggle.css?tm5kjm" /> 263<link rel="stylesheet" media="all" href="/modules/contrib/antibot/css/antibot.css?tm5kjm" /> 264<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.4.0/css/all.css" /> 265<link rel="stylesheet" media="all" href="https://use.fontawesome.com/releases/v6.4.0/css/v4-shims.css" /> 266<link rel="stylesheet" media="all" href="/modules/contrib/webform/css/webform.theme.olivero.css?tm5kjm" /> 267<link rel="stylesheet" media="all" href="/modules/contrib/captcha/css/captcha.css?tm5kjm" /> 268<link rel="stylesheet" media="all" href="/core/modules/custom/ductcare_chatbot/css/ductcare-chatbot.css?tm5kjm" /> 269<link rel="stylesheet" media="all" href="/core/themes/olivero/css/base/fonts.css?tm5kjm" /> 270<link rel="stylesheet" media="all" href="/core/themes/olivero/css/base/variables.css?tm5kjm" /> 271<link rel="stylesheet" media="all" href="/core/themes/olivero/css/base/base.css?tm5kjm" /> 272<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/layout.css?tm5kjm" /> 273<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/grid.css?tm5kjm" /> 274<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/layout-content-narrow.css?tm5kjm" /> 275<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/layout-content-medium.css?tm5kjm" /> 276<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/layout-footer.css?tm5kjm" /> 277<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/region.css?tm5kjm" /> 278<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/region-content.css?tm5kjm" /> 279<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/region-
279hero.css?tm5kjm" /> 280<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/region-secondary-menu.css?tm5kjm" /> 281<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/social-bar.css?tm5kjm" /> 282<link rel="stylesheet" media="all" href="/core/themes/olivero/css/layout/views.css?tm5kjm" /> 283<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/progress.css?tm5kjm" /> 284<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/block.css?tm5kjm" /> 285<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/breadcrumb.css?tm5kjm" /> 286<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/embedded-media.css?tm5kjm" /> 287<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/footer.css?tm5kjm" /> 288<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/button.css?tm5kjm" /> 289<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/container-inline.module.css?tm5kjm" /> 290<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/fieldset.css?tm5kjm" /> 291<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/field.css?tm5kjm" /> 292<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/form.css?tm5kjm" /> 293<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/form-boolean.css?tm5kjm" /> 294<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/form-text.css?tm5kjm" /> 295<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/form-textarea.css?tm5kjm" /> 296<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/form-select.css?tm5kjm" /> 297<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/header-buttons-mobile.css?tm5kjm" /> 298<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/header-navigation.css?tm5kjm" /> 299<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/header-site-branding.css?tm5kjm" /> 300<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/header-sticky-toggle.css?tm5kjm" /> 301<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/hero.css?tm5kjm" /> 302<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/links.css?tm5kjm" /> 303<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/messages.css?tm5kjm" /> 304<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/navigation/nav-button-mobile.css?tm5kjm" /> 305<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/node.css?tm5kjm" /> 306<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/node-teaser.css?tm5kjm" /> 307<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/page-title.css?tm5kjm" /> 308<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/site-header.css?tm5kjm" /> 309<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/skip-link.css?tm5kjm" /> 310<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/pager.css?tm5kjm" /> 311<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/table.css?tm5kjm" /> 312<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/text-content.css?tm5kjm" /> 313<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/wide-content.css?tm5kjm" /> 314<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/header-search-narrow.css?tm5kjm" /> 315<link rel="stylesheet" media="all" href="/core/themes/olivero/css/components/feed.css?tm5kjm" /> 316 317
317<script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"webform\/customer_inquiry","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"gtm":{"tagId":null,"settings":{"data_layer":"dataLayer","include_environment":false},"tagIds":["GTM-KN2WJZVZ"]},"gtag":{"tagId":"","consentMode":false,"otherIds":[],"events":[],"additionalConfigInfo":[]},"ajaxPageState":{"libraries":"eJyFUe1yhCAMfCEKj8REXJHWwJVEbd--3Gkdex3n_rAfWcIkUNbUFXW0oR1KZRPopmEk15HA9HPQQBW-OXqP7miGkpVWSGG4E7cruruUlwErY2ITS4kTvFJ0sR3P2tI7ff012ZQpLajFDUB_CAHVML5lqrWsJ7cuKcBXfM4Q9TJ3nNRU_A65tbaH4ZFP1YMZ-RYFbzt5TFDZ7WgxgZHV9lBKUxuMltchLbE9fBlL-TYrk3xcJhgiFK87SCNB_5UfX_xs6tju2H1pP-RHz7A","theme":"olivero","theme_token":null},"ajaxTrustedUrl":{"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM":true,"\/search\/node":true},"field_group":{"html_element":{"mode":"default","context":"view","settings":{"classes":"col-md-4","show_empty_fields":false,"id":"","label_as_html":false,"element":"div","show_label":false,"label_element":"h3","label_element_classes":"","attributes":"","effect":"none","speed":"fast"}}},"antibot":{"forms":{"webform-submission-customer-inquiry-add-form":{"id":"webform-submission-customer-inquiry-add-form","key":"wqz7VQfCphOVFPYkA6mG4YZL_cC1IPLAbG07oQgBtM9"}}},"ductcare_chatbot":{"chatEndpoint":"https:\/\/book.ductcare.com\/ductcare-chatbot\/chat","historyEndpoint":"https:\/\/book.ductcare.com\/ductcare-chatbot\/history","csrfToken":"4UenQlfGP7Q91ArWi40aFpkTY-NwA1y2HN_HvSrDPMU","buttonSelector":"#ductcare-chatbot-button","windowSelector":"#ductcare-chatbot-window","debug":false,"desktopPosition":"bottom_left","mobilePosition":"bottom_left","chatTimezone":"America\/New_York"},"user":{"uid":0,"permissionsHash":"800c66f5f4869ecabf92a00a8c01a503b4c0b82a0d48921789d51cf33cdab1f1"}}</script>
vendor: 1 bytes, line 317
317
318<script src="/core/misc/drupalSettingsLoader.js?v=10.3.5"></script>
vendor: 1 bytes, line 318
318
319<script src="/modules/contrib/google_tag/js/gtm.js?tm5kjm"></script>
vendor: 1 bytes, line 319
319
320<script src="/modules/contrib/google_tag/js/gtag.js?tm5kjm"></script>
vendor: 140 bytes, lines 320-323
320 321<script src="https://www.google.com/recaptcha/api.js?hl=en&render=explicit&onload=drupalRecaptchaOnload" async defer></script> 322 323
324<link rel="preload" href="/core/themes/olivero/fonts/metropolis/Metropolis-Regular.woff2" as="font" type="font/woff2" crossorigin> 325<link rel="preload" href="/core/themes/olivero/fonts/metropolis/Metropolis-SemiBold.woff2" as="font" type="font/woff2" crossorigin> 326<link rel="preload" href="/core/themes/olivero/fonts/metropolis/Metropolis-Bold.woff2" as="font" type="font/woff2" crossorigin> 327<link rel="preload" href="/core/themes/olivero/fonts/lora/lora-v14-latin-regular.woff2" as="font" type="font/woff2" crossorigin> 328 <noscript><link rel="stylesheet" href="/core/themes/olivero/css/components/navigation/nav-primary-no-js.css?tm5kjm" /> 329</noscript> 330
330<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
330 331 332 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> 333
333<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
333 334
334<script src="https://kit.fontawesome.com/d4799c9152.js" crossorigin="anonymous"></script>
334 335 <!-- Add jQuery Form Plugin --> 336
336<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.form/4.3.0/jquery.form.min.js"></script>
336 337 <link href="/themes/ductcare/css/style.css?v=1.0.0.1062" rel="stylesheet" > 338 339
339<script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/min/tiny-slider.js"></script>
339 340 <link rel="preconnect" href="https://fonts.googleapis.com"> 341 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 342 <link href="https://fonts.googleapis.com/css2?family=Kaushan+Script&display=swap" rel="stylesheet"> 343 <!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 343-344
343 344<script async src="https://www.googletagmanager.com/gtag/js?id=
344G-JGEPFS657D
vendor: 12 bytes, line 344
344"></script>
345<script> 346 window.dataLayer = window.dataLayer || []; 347 function gtag(){dataLayer.push(arguments);} 348 gtag('js', new Date()); 349 350 gtag('config', 'G\u002DJGEPFS657D'); 351 window.ductcareGaMeasurementId = 'G\u002DJGEPFS657D'; 352</script>
352 353 <link 354 rel="stylesheet" 355 href="https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.css" 356 /> 357 358 359 360 361
361<script src="https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.js"></script>
361 362 </head> 363 <body class="fontyourface path-webform"> 364
364<script src="/themes/ductcare/js/homepage-redirect.js?v=3" crossorigin="anonymous"></script>
364 365 <!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 365-366
365 366 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
366GTM-KN2WJZVZ
vendor: 85 bytes, lines 366-368
366" 367 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 368
368<!-- End Google Tag Manager (noscript) --> 369 <a href="#main-content" class="visually-hidden focusable skip-link"> 370 Skip to main content 371 </a> 372 <div id="ductcare-dev-environment-banner" class="ductcare-dev-environment-banner" hidden role="banner" aria-label="Development environment notice"> 373 <div class="ductcare-dev-environment-banner__inner"> 374 <strong>Development site</strong> 375 <span class="ductcare-dev-environment-banner__sep" aria-hidden="true"> â </span> 376 <span class="ductcare-dev-environment-banner__host" id="ductcare-dev-environment-banner-host"></span> 377 <span class="ductcare-dev-environment-banner__sep ductcare-dev-environment-banner__sep--link" hidden aria-hidden="true"> · </span> 378 <a id="ductcare-dev-environment-banner-production" class="ductcare-dev-environment-banner__production" href="#" hidden>Switch to production site</a> 379 </div> 380 </div> 381 <style> 382 /* Fallback until JS measures the real banner height. */ 383 body.is-ductcare-dev-host { 384 --ductcare-dev-banner-height: 2.75rem; 385 --drupal-toolbar-bar-height: 2.4375rem; 386 --drupal-toolbar-body-padding-tray-open: 4.91331rem; 387 padding-top: var(--ductcare-dev-banner-height); 388 } 389 .ductcare-dev-environment-banner { 390 display: none; 391 position: fixed; 392 top: 0; 393 left: 0; 394 right: 0; 395 z-index: 10050; 396 background: #9a3412; 397 color: #fff; 398 text-align: center; 399 font: 600 0.875rem/1.35 system-ui, -apple-system, Segoe UI, sans-serif; 400 padding: 0.45rem 0.75rem; 401 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); 402 } 403 body.is-ductcare-dev-host .ductcare-dev-environment-banner { 404 display: block; 405 } 406 .ductcare-dev-environment-banner__inner { 407 display: flex; 408 flex-wrap: wrap; 409 align-items: baseline; 410 justify-content: center; 411 gap: 0.15rem 0.35rem; 412 } 413 .ductcare-dev-environment-banner__production { 414 color: #fff; 415 text-decoration: underline; 416 text-underline-offset: 2px; 417 font-weight: 700; 418 white-space: nowrap; 419 } 420 .ductcare-dev-environment-banner__production:hover, 421 .ductcare-dev-environment-banner__production:focus { 422 color: #fde68a; 423 } 424 .ductcare-dev-environment-banner__production[hidden], 425 .ductcare-dev-environment-banner__sep--link[hidden] { 426 display: none !important; 427 } 428 /* Keep admin toolbar fully visible below the fixed dev banner. */ 429 body.is-ductcare-dev-host .toolbar-oriented .toolbar-bar { 430 top: var(--ductcare-dev-banner-height); 431 } 432 body.is-ductcare-dev-host .toolbar-horizontal .toolbar-tray.is-active { 433 top: calc(var(--ductcare-dev-banner-height) + var(--drupal-toolbar-bar-height)); 434 } 435 body.is-ductcare-dev-host.toolbar-vertical.toolbar-fixed .toolbar .toolbar-tray-vertical { 436 top: calc(var(--ductcare-dev-banner-height) + var(--drupal-toolbar-bar-height)); 437 } 438 /* Match Drupalâs toolbar body offset so page content clears banner + toolbar. */ 439 body.is-ductcare-dev-host.toolbar-fixed.toolbar-horizontal:not(.toolbar-tray-open) { 440 padding-top: calc(var(--ductcare-dev-banner-height) + var(--drupal-toolbar-bar-height)); 441 } 442 body.is-ductcare-dev-host.toolbar-fixed.toolbar-horizontal.toolbar-tray-open { 443 padding-top: calc(var(--ductcare-dev-banner-height) + var(--drupal-toolbar-body-padding-tray-open)); 444 } 445 body.is-ductcare-dev-host.toolbar-fixed.toolbar-vertical:not(.toolbar-tray-open) { 446 padding-top: calc(var(--ductcare-dev-banner-height) + var(--drupal-toolbar-bar-height)); 447 } 448 </style> 449
449<script> 450 (function () { 451 var host = (window.location && window.location.hostname) ? String(window.location.hostname) : ''; 452 if (!host.toLowerCase().startsWith('dev')) { 453 return; 454 } 455 document.body.classList.add('is-ductcare-dev-host'); 456 var bar = document.getElementById('ductcare-dev-environment-banner'); 457 var hostEl = document.getElementById('ductcare-dev-environment-banner-host'); 458 var prodLink = document.getElementById('ductcare-dev-environment-banner-production'); 459 var prodSep = document.querySelector('.ductcare-dev-environment-banner__sep--link'); 460 if (bar) { 461 bar.removeAttribute('hidden'); 462 } 463 if (hostEl) { 464 hostEl.textContent = host; 465 } 466 if (prodLink) { 467 var prodHost = host.replace(/^dev\.|^dev-/i, ''); 468 if (prodHost && prodHost.toLowerCase() !== host.toLowerCase()) { 469 var loc = window.location; 470 prodLink.href = loc.protocol + '//' + prodHost + (loc.port ? ':' + loc.port : '') + loc.pathname + loc.search + loc.hash; 471 prodLink.removeAttribute('hidden'); 472 if (prodSep) { 473 prodSep.removeAttribute('hidden'); 474 } 475 } 476 else { 477 prodLink.setAttribute('hidden', ''); 478 if (prodSep) { 479 prodSep.setAttribute('hidden', ''); 480 } 481 } 482 } 483 function syncDevBannerHeight() { 484 if (!bar || bar.hasAttribute('hidden')) { 485 return; 486 } 487 var h = Math.ceil(bar.getBoundingClientRect().height); 488 document.body.style.setProperty('--ductcare-dev-banner-height', h + 'px'); 489 } 490 syncDevBannerHeight(); 491 window.addEventListener('resize', syncDevBannerHeight); 492 window.addEventListener('load', syncDevBannerHeight); 493 })(); 494 </script>
vendor: 70 bytes, lines 494-495
494 495 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
495GTM-KN2WJZVZ
vendor: 106 bytes, lines 495-498
495" 496 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 497 498
498<div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> 499 500 <div id="page-wrapper" class="page-wrapper"> 501
501<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
501 502 503 <div id="page"> 504 505 <div id='top-header' style='display: none;' class='row'> 506 <div style="width:80px"> </div> 507 <div class='col-md-5 start'> <a href="/">Better Air Duct Cleaning & Dryer Vent Cleaning</a></div> 508 <div class='col-md-6 end'> 509 <a href="https://www.facebook.com/pages/Better-Air/761294443890791" target='_blank'><i class="fa-brands fa-facebook"></i> Facebook </a> 510 <a href="https://www.tiktok.com/@betterairductclean" target='_blank'><i class="fa-brands fa-tiktok"></i> TikTok </a> 511 <a href="https://www.instagram.com/betterairfl" target='_blank'><i class="fa-brands fa-instagram"></i> Instagram </a> 512 <a href="https://www.youtube.com/user/breathebetterair" target='_blank'><i class="fa-brands fa-youtube"></i> Youtube </a> 513 <a href="/cdn-cgi/l/email-protection#c5acaba3aa85a1b0a6b1a6a4b7a0eba6aaa8" target='_blank'><i class="fa-solid fa-envelope"></i> Email</a></div> 514 </div> 515 516 <header id="header" class="site-header site-header--inner" data-drupal-selector="site-header" role="banner"> 517 518 <div class="site-header__fixable" data-drupal-selector="site-header-fixable"> 519 <div class="site-header__initial"> 520 <button class="sticky-header-toggle" data-drupal-selector="sticky-header-toggle" role="switch" aria-controls="site-header__inner" aria-label="Sticky header" aria-checked="false"> 521 <span class="sticky-header-toggle__icon"> 522 <span></span> 523 <span></span> 524 <span></span> 525 </span> 526 </button> 527 </div> 528 529 <div id="site-header__inner" class="site-header__inner" data-drupal-selector="site-header-inner"> 530 <div class="container site-header__inner__container"> 531 532 <div class="ductcare-header-branding-column"> 533 <div class="ductcare-desktop-header-cta ductcare-desktop-header-cta--specials"> 534 <a href="/specialscoupon-request-form" class="ductcare-desktop-cta-btn ductcare-desktop-cta-btn--specials"> 535 <span class="ductcare-desktop-cta-btn__icon" aria-hidden="true"><i class="fa-solid fa-tags"></i></span> 536 <span class="ductcare-desktop-cta-btn__label">View Specials</span> 537 </a> 538 </div> 539 540 541 542<div id="block-olivero-site-branding" class="site-branding block block-system block-system-branding-block"> 543 544 545 <div class="site-branding__inner"> 546 <a href="/" rel="home" class="site-branding__logo"> 547 <img src="/sites/default/files/logo-reflect.png" alt="Home" fetchpriority="high" /> 548 </a> 549 <div style='display:block'><span style="color:#F36F21;"> 550<a href="tel:1-(800)-382-8227" class="style2">1-(800)-<span style="color:#436AB3;">DUCT</span>-<span style="color:#436AB3;">CARE</span></a></span></div> 551 </div> 552</div> 553 554<div class="header-nav-overlay" data-drupal-selector="header-nav-overlay"></div> 555 556 </div> 557 558 <div class="mobile-buttons" data-drupal-selector="mobile-buttons"> 559 <button class="mobile-nav-button" data-drupal-selector="mobile-nav-button" aria-label="Main Menu" aria-controls="header-nav" aria-expanded="false"> 560 <span class="mobile-nav-button__label">Menu</span> 561 <span class="mobile-nav-button__icon"></span> 562 </button> 563 </div> 564 565 <div class='row nav-holder'> 566 <div class="ductcare-header-slogan-column"> 567 <div class="ductcare-desktop-header-cta ductcare-desktop-header-cta--schedule"> 568 <a href="/inquiry" class="ductcare-desktop-cta-btn ductcare-desktop-cta-btn--schedule"> 569 <span class="ductcare-desktop-cta-btn__icon" aria-hidden="true"><i class="fa-solid fa-calendar-days"></i></span> 570 <span class="ductcare-desktop-cta-btn__label">Schedule Now</span> 571 </a> 572 </div> 573 <div class='slogan'> 574 <div id="slogan-text"> 575 <span class="slogan-line slogan-line--call"> 576 <strong>For BETTER AIR Call <br></strong> 577 </span> 578 <div class="slogan-line slogan-line--tollfree"><span> 579 <a href="tel:1-(800)-382-8227" class="style2" tabindex="-1">1-(800)-<span class="slogan-highlight">DUCT</span>-<span class="slogan-highlight">CARE</span></a></span> 580 </div> 581 <span class="slogan-line slogan-line--local"><a href="tel:1-(800)-382-8227" class="style2">1-(800)-382-8227 </a></span> 582 </div> 583 584 </div> 585 </div> 586 <div id="header-nav" class="header-nav" data-drupal-selector="header-nav"> 587 588<div class="search-block-form block block-search-narrow" data-drupal-selector="search-block-form" id="block-olivero-search-form-narrow" role="search"> 589 590 591 <div class="content"> 592 <form action="/search/node" method="get" id="search-block-form" accept-charset="UTF-8" class="search-form search-block-form"> 593 <div class="js-form-item form-item js-form-type-search form-item-keys js-form-item-keys form-no-label"> 594 <label for="edit-keys" class="form-item__label visually-hidden">Search</label>
595 <input title="Enter the terms you wish to search for." placeholder="Search by keyword or phrase." data-drupal-selector="edit-keys" type="search" id="edit-keys" name="keys" value="" size="15" maxlength="128" class="form-search form-element form-element--type-search form-element--api-search" /> 596 597 </div> 598<div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions"><button class="button--primary search-form__submit button js-form-submit form-submit" data-drupal-selector="edit-submit" type="submit" id="edit-submit" value="Search"> 599 <span class="icon--search"></span> 600 <span class="visually-hidden">Search</span> 601</button> 602 603</div> 604 605</form> 606 607 </div> 608 </div> 609 610 611 612 </div> 613 </div> 614 615 616 </div> 617 </div> 618 </div> 619 </header> 620 <div id='ad-container'> 621 622 623 <div class="region region--ad grid-full layout--pass--content-medium" id="content"> 624 625 626<div id="block-olivero-adbookingpages" class="block block-block-content block-block-contentd8177478-4f7b-47bf-bdf6-c6018155aade"> 627 628 629 <div class="block__content"> 630 631 <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><div id="ad"><div class="row"><div class="col-md-6 ad-col-1"><img style="=max-height:360px;margin-bottom:-50px;margin-top:-50px;" src="https://book.ductcare.com/sites/default/files/2025-05/dust-mite-giant-glow.png" alt width="360" height="375" class="align-center" loading="lazy"></div><div class="col-md-6 ad-col-2"><p><img src="/sites/default/files/inline-images/dirty_duct_mite_0.png" data-entity-uuid="664f69db-ca50-45d0-a10c-8f4ffa869caf" data-entity-type="file" alt width="570" height="230" loading="lazy"></p><h2>IF ITâS IN YOUR DUCTS YOUâRE BREATHING IT.</h2></div></div></div><div id="ad-footer">WE REMOVE DUST MITES ⢠MOLD ⢠BACTERIA ⢠POLLEN ⢠MICE FECES</div></div> 632 633 <div class="text-content clearfix field field--name-field-css field--type-text-long field--label-hidden field__item"><style> 634#ad { 635background-image: url("/sites/default/files/2025-05/dust-mites-background-land.PNG"); 636 background-position: center; 637 background-size: cover; 638 padding: 0px; 639 margin: -5px; 640} 641#ad-footer{ 642background: #f36f21; 643 padding: 20px; 644 text-align: center; 645 color: white; 646 font-weight: 900; 647 font-size: 32px; 648line-height: 1; 649} 650#button-ad{ 651max-width: 300px; 652width:100%; 653left:25vw; 654right:0; 655position: relative; 656} 657#ad h1{ 658font-size: 65px; 659 font-family: 'TradeGothic'; 660 font-weight:800; 661text-shadow: 7px 3px 5px black; 662} 663#ad h2{ 664 font-family: 'TradeGothic'; 665 font-style: normal; 666font-weight:200; 667text-shadow: 7px 3px 5px black; 668font-size: 40px; 669} 670.ad-col-1{ 671 text-align: end; 672 vertical-align: middle; 673 padding: 50px; 674 text-shadow: 1px 1px black; 675} 676@media only screen and (max-width: 768px) { 677 .ad-col-2 { 678 padding: 20px !important; 679 margin-top: -170px !important; 680 } 681} 682</style></div> 683 684 </div> 685 </div> 686 687 </div> 688 689 <div> 690 <div id="main-wrapper" class="layout-main-wrapper layout-container"> 691 <div id="main" class="layout-main"> 692 <div class="main-content"> 693 <a id="main-content" tabindex="-1"></a> 694 695 <div class="region region--hero"> 696 697 698<div id="block-olivero-chatwindow" class="block block-block-content block-block-content1a752ad3-19fb-4b4e-82d5-fdd76d63f1e6"> 699 700 701 <div class="block__content"> 702 703 <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><div style="display:none;" id="layerChatWindow"><div id="wb_chatWindowTitle"><span style="color:#FBFBFB;"><strong>Duct Bot</strong></span></div><div id="wb_chatWindowReset"><div id="chatWindowReset"><em><i class="fa fa-refresh"> </i></em></div></div><div id="wb_chatWindowClose"><div id="chatWindowClose"><em><i class="fa fa-window-close"> </i></em></div></div><div name="indexTextArea1" id="chatTextArea" rows="12" cols="34" spellcheck="false" placeholder="Hi I am Duct Bot! - How can i help you!"><div class="message bot-message">Hi, I am Duct Bot! How can I help you?</div></div><div id="chatTextBox_layout"><input type="text" id="chatTextBox" name="indexEditbox1" value="" spellcheck="false" placeholder="Please Enter Your Message"></div><div id="wb_chatSend"><div id="chatSend"><button class="chat-button"><em><i class="fa fa-arrow-circle-right"> </i></em></button></div></div></div></div> 704 705 <div class="text-content clearfix field field--name-field-bottom-divider field--type-text-long field--label-hidden field__item">
vendor: 108 bytes, line 705
705<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
705<script> 706 707</script>
707</div> 708 709 <div class="text-content clearfix field field--name-field-css field--type-text-long field--label-hidden field__item"><style> 710#block-olivero-chatwindow{ 711 position: fixed; 712 bottom: 15px; 713 height: 50vh; 714 width: 40vw; 715 left: -100%; 716 z-index: 20000; 717 visibility: visible; 718} 719#layerChatWindow{ 720 position: absolute; 721 text-align: left; 722 width: 100%; 723 height: 100%; 724 background-color: #F36F21; 725 background-image: none; 726 border: 1px solid #CCCCCC; 727 border-radius: 5px; 728 box-shadow: 2px 2px 1px rgba(0,0,0,0.80); 729margin-top: -40px; 730} 731#wb_chatWindowTitle { 732 color: #FBFBFB; 733 font-family: Raleway; 734 font-weight: normal; 735 font-size: 20px; 736} 737#wb_chatWindowTitle { 738 background-color: transparent; 739 background-image: none; 740 border: 0px solid #000000; 741 padding: 0; 742 margin: 0; 743 text-align: left; 744 left: 13px; 745 position: absolute; 746 top: 10px; 747} 748#chatTextBox { 749 border: 1px solid #CCCCCC; 750 border-radius: 4px; 751 background-color: #FFFFFF; 752 background-image: none; 753 color: #000000; 754 font-family: Raleway; 755 font-weight: normal; 756 font-style: normal; 757 font-size: 13px; 758 line-height: 18px; 759 padding: 4px 4px 4px 4px; 760 margin: 0; 761 text-align: left; 762 position: relative; 763 left: 0px; 764 top: 0px; 765 width: 100%; 766 height: 100%; 767} 768#chatTextBox_layout{ 769 position: relative; 770left: 13px; 771 bottom: -57px; 772 width: 33vw; 773 height: 16px; 774 z-index: 159; 775} 776#wb_chatWindowClose { 777 background-color: transparent; 778 background-image: none; 779 border: 0px solid #245580; 780 text-align: center; 781 margin: 0; 782 padding: 0; 783 vertical-align: top; 784 position: absolute; 785 right: 10px; 786 top: 10px; 787 width: 37px; 788 height: 33px; 789 text-align: center; 790 z-index: 160; 791cursor: pointer; 792} 793#wb_chatWindowReset { 794 background-color: transparent; 795 background-image: none; 796 border: 0px solid #245580; 797 text-align: center; 798 margin: 0; 799 padding: 0; 800 vertical-align: top; 801 position: absolute; 802 right: 50px; 803 top: 10px; 804 width: 37px; 805 height: 33px; 806 text-align: center; 807 z-index: 160; 808cursor: pointer; 809} 810#wb_chatWindow { 811 background-color: transparent; 812 background-image: none; 813 border: 0px solid #245580; 814 text-align: center; 815 margin: 0; 816 padding: 0; 817 vertical-align: top; 818 position: absolute; 819 right: 10px; 820 top: 10px; 821 width: 37px; 822 height: 33px; 823 text-align: center; 824 z-index: 160; 825cursor: pointer; 826} 827#chatTextArea { 828 border: 1px solid #CCCCCC; 829 border-radius: 4px; 830 background-color: #FFFFFF; 831 background-image: none; 832 color: #000000; 833 font-family: Raleway; 834 font-weight: normal; 835 font-style: normal; 836 font-size: 13px; 837 padding: 4px 4px 4px 4px; 838 margin: 0; 839 text-align: left; 840 overflow: auto; 841 resize: none; 842 position: relative; 843 left: 13px; 844 top: 50px; 845 width: 94%; 846 height: 75%; 847 z-index: 161; 848left:12px; 849} 850#wb_chatSend { 851 background-color: transparent; 852 background-image: none; 853 border: 0px solid #245580; 854 text-align: center; 855 margin: 0; 856 padding: 0; 857 vertical-align: top; 858 position: relative; 859 right: -34vw; 860 top: 41px; 861 width: 50px; 862 height: 33px; 863 text-align: center; 864 z-index: 162; 865max-height: 54px; 866cursor: pointer; 867} 868#chatWindowClose i { 869 color: #0963AD; 870 display: inline-block; 871 font-size: 33px; 872 line-height: 33px; 873 vertical-align: middle; 874 width: 32px; 875} 876#chatWindowReset i { 877 color: #0963AD; 878 display: inline-block; 879 font-size: 33px; 880 line-height: 33px; 881 vertical-align: middle; 882 width: 32px; 883} 884#chatSend i { 885 color: #0963AD; 886 display: inline-block; 887 font-size: 33px; 888 line-height: 33px; 889 vertical-align: middle; 890 width: 27px; 891} 892/* Basic styles for the chat UI */ 893 .chat-container { 894 width: 800px; 895 border-radius: 10px; 896 background-color: #ff7300; 897 padding: 15px; 898 position: fixed; 899 bottom: 20px; 900 right: 20px; 901 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); 902 font-family: Arial, sans-serif; 903 } 904 .chat-header { 905 font-size: 20px; 906 font-weight: bold; 907 color: #fff; 908 text-align: center; 909 margin-bottom: 10px; 910 } 911 .chat-messages { 912 height: 600px; 913 overflow-y: auto; 914 background-color: #fff; 915 padding: 10px; 916 border-radius: 5px; 917 margin-bottom: 10px; 918 } 919 .chat-input { 920 width: 100%; 921 padding: 10px; 922 border-radius: 5px; 923 border: none; 924 margin-bottom: 10px; 925 } 926 .chat-button { 927 width: 100%; 928 padding: 10px; 929 color: #fff; 930 border: none; 931 border-radius: 5px; 932 cursor: pointer; 933background-color: transparent; 934 max-height: 54px; 935 } 936 .chat-button:hover { 937 background-color: #0056b3; 938 } 939 .message { 940 padding: 5px; 941 margin-bottom: 5px; 942 line-height: 1.2; 943 } 944 .user-message { 945 text-align: right; 946 background-color: #d1e7dd; 947 border-radius: 5px; 948 } 949 .bot-message { 950 text-align: left; 951 background-color: #f8d7da; 952 border-radius: 5px; 953 } 954</style></div> 955 956 </div> 957 </div> 958 959 960<div id="block-olivero-chatbotwindow" class="block block-ductcare-chatbot block-ductcare-chatbot-chatwindow"> 961 962 963 <div class="block__content"> 964 <div id="ductcare-chatbot-window" class="ductcare-chatbot-window ductcare-chatbot-desktop-bottom_left ductcare-chatbot-mobile-bottom_left"> 965 <div class="ductcare-chatbot-header"> 966 <div class="ductcare-chatbot-header-left"> 967 <div class="ductcare-chatbot-mascot" aria-hidden="true"></div>
968 <span class="ductcare-chatbot-title">Breeze The DuctBot - Better Air</span> 969 </div> 970 <div class="ductcare-chatbot-header-actions"> 971 <button type="button" id="ductcare-chatbot-close" class="ductcare-chatbot-close" aria-label="Close chat"><span class="ductcare-chatbot-close-label">Close</span><span class="ductcare-chatbot-close-icon" aria-hidden="true">×</span></button> 972 </div> 973 </div> 974 <div id="ductcare-chatbot-messages" class="ductcare-chatbot-messages"> 975 <div class="ductcare-chatbot-welcome message bot-message ductcare-chatbot-ductbot-message"> 976 <div class="ductcare-chatbot-message-sender"> 977 <div class="ductcare-chatbot-message-avatar ductcare-chatbot-ductbot-avatar" aria-hidden="true"></div> 978 <span class="ductcare-chatbot-sender-name">Breeze</span> 979 </div> 980 <div class="ductcare-chatbot-message-content">Hi, I'm Breeze with Better Air. Welcome. Do you need residential or commercial duct cleaning?</div> 981 </div> 982 </div> 983 <div class="ductcare-chatbot-input-wrapper"> 984 <textarea id="ductcare-chatbot-input" class="ductcare-chatbot-input" placeholder="Type your message..." rows="2"></textarea> 985 <div class="ductcare-chatbot-actions"> 986 <button type="button" id="ductcare-chatbot-reset" class="ductcare-chatbot-reset">Clear</button> 987 <button type="button" id="ductcare-chatbot-send" class="ductcare-chatbot-send">Send</button> 988 </div> 989 </div> 990</div> 991 992 </div> 993 </div> 994 995 996<div id="block-olivero-chatbotbutton" class="ductcare-chatbot-trigger ductcare-chatbot-desktop-bottom_left ductcare-chatbot-mobile-bottom_left block block-ductcare-chatbot block-ductcare-chatbot-chatbutton"> 997 998 999 <div class="block__content"> 1000 <div><div class="ductcare-chatbot-trigger-icon-wrap"><span class="ductcare-chatbot-online-dot" aria-hidden="true"></span><span class="ductcare-chatbot-trigger-icon ductcare-chatbot-trigger-icon--image" aria-hidden="true"></span><span class="visually-hidden">Open chat</span></div><div class="ductcare-chatbot-trigger-label">Chat</div></div> 1001 1002 </div> 1003 </div> 1004 1005 </div> 1006 1007 1008 <div id='full-width-header'> 1009 <div class='page-header'> </div> 1010 1011 </div> 1012 1013 1014 1015 1016 <div class="region region--highlighted grid-full layout--pass--content-medium"> 1017 <div data-drupal-messages-fallback class="hidden messages-list"></div> 1018 1019 </div> 1020 1021 1022 <div class='row two_col' style='max-width: 80vw;'> 1023 <div class='col-md-6 main-content-holder' > 1024 1025 <div class="region region--content-above grid-full layout--pass--content-medium"> 1026 1027 1028<div id="block-olivero-page-title" class="block block-core block-page-title-block"> 1029 1030 1031 1032 <h1 class="title page-title">Request Air Duct Cleaning Quote</h1> 1033 1034 1035 1036</div> 1037 1038 </div> 1039 1040 1041 <div class="region region--content grid-full layout--pass--content-medium" id="content"> 1042 1043 1044<div id="block-olivero-content" class="block block-system block-system-main-block"> 1045 1046 1047 <div class="block__content"> 1048 <form class="webform-submission-form webform-submission-add-form webform-submission-customer-inquiry-form webform-submission-customer-inquiry-add-form js-webform-details-toggle webform-details-toggle antibot" data-drupal-selector="webform-submission-customer-inquiry-add-form" data-action="/inquiry" action="/antibot" method="post" id="webform-submission-customer-inquiry-add-form" accept-charset="UTF-8"> 1049 1050 <noscript> 1051 <div class="antibot-no-js antibot-message antibot-message-warning">You must have JavaScript enabled to use this form.</div> 1052</noscript> 1053<div class="form-type-textfield js-form-item form-item js-form-type-textfield form-item-name js-form-item-name form-no-label"> 1054 <input data-webform-required-error="Please enter your name" data-drupal-selector="edit-name" type="text" id="edit-name" name="name" value="" size="60" maxlength="255" placeholder="Name (required)" class="form-text required form-element form-element--type-text form-element--api-textfield" required="required" aria-required="true" /> 1055 1056 </div> 1057<div class="form-type-tel js-form-item form-item js-form-type-tel form-item-phone-number js-form-item-phone-number form-no-label"> 1058 <input data-webform-required-error="Please enter your phone number" data-inputmask-mask="(999) 999-9999" class="js-webform-input-mask form-tel required form-element form-element--type-tel form-element--api-tel" pattern="^\(\d\d\d\) \d\d\d-\d\d\d\d$" data-drupal-selector="edit-phone-number" type="tel" id="edit-phone-number" name="phone_number" value="" size="30" maxlength="128" placeholder="Phone Number (required)" required="required" aria-required="true" /> 1059 1060 </div> 1061<div class="form-type-email js-form-item form-item js-form-type-email form-item-email js-form-item-email form-no-label"> 1062 <input data-webform-required-error="Please enter your emaiil" data-inputmask="'alias': 'email'" class="js-webform-input-mask form-email required form-element form-element--type-email form-element--api-email" data-drupal-selector="edit-email" type="email" id="edit-email" name="email" value="" size="60" maxlength="254" placeholder="Email (required)" required="required" aria-required="true" /> 1063 1064 </div> 1065<div class="form-type-select js-form-item form-item js-form-type-select form-item-service-type js-form-item-service-type form-no-label"> 1066 <select data-webform-required-error="Please select an option" data-drupal-selector="edit-service-type" id="edit-service-type" name="service_type" class="form-select required form-element form-element--type-select" required="required" aria-required="true"><option value="" selected="selected">- Select -</option><option value="Residential">Residential</option><option value="Commercial">Commercial</option></select> 1067 </div> 1068<div class="js-webform-states-hidden form-type-select js-form-item form-item js-form-type-select form-item-commercial-service-requested js-form-item-commercial-service-requested form-no-label"> 1069 <select data-drupal-selector="edit-commercial-service-requested" id="edit-commercial-service-requested" name="commercial_service_requested" class="form-select form-element form-element--type-select" data-drupal-states="{"required":{".webform-submission-customer-inquiry-add-form :input[name=\u0022service_type\u0022]":{"value":"Commercial"}},"visible":{".webform-submission-customer-inquiry-add-form :input[name=\u0022service_type\u0022]":{"value":"Commercial"}}}"><option value="" selected="selected">- Select -</option><option value="Air Duct & HVAC Cleaning">Air Duct & HVAC Cleaning</option><option value="Dryer Vent Cleaning">Dryer Vent Cleaning</option>
1069<option value="Kitchen Exhaust Cleaning">Kitchen Exhaust Cleaning</option><option value="Coil Cleaning">Coil Cleaning</option><option value="Air Handler / Condenser Unit Cleaning">Air Handler / Condenser Unit Cleaning</option></select> 1070 </div> 1071 1072 1073 <div data-drupal-selector="edit-captcha" class="captcha captcha-type-challenge--recaptcha" data-nosnippet> 1074 <div class="captcha__element"> 1075 <input data-drupal-selector="edit-captcha-sid" type="hidden" name="captcha_sid" value="11174" /> 1076<input data-drupal-selector="edit-captcha-token" type="hidden" name="captcha_token" value="jUEIZLbJkJmP2kaVOQQIciQguku1HUKt7wlLed96xOs" /> 1077<input data-drupal-selector="edit-captcha-response" type="hidden" name="captcha_response" value="" /> 1078<div class="g-recaptcha" data-sitekey="6Lcz6kcrAAAAAO4G37BFKNi6nNOwUtvFiTHKwJA9" data-theme="light" data-type="image"></div> 1079<noscript> 1080 <div style="width: 302px; height: 352px;"> 1081 <div style="width: 302px; height: 352px; position: relative;"> 1082 <div style="width: 302px; height: 352px; position: absolute;"> 1083 <iframe src="https://www.google.com/recaptcha/api/fallback?k=6Lcz6kcrAAAAAO4G37BFKNi6nNOwUtvFiTHKwJA9&hl=en" title="Google captcha" style="border: none; overflow: hidden; width: 302px; height:352px; border-style: none;"></iframe> 1084 </div> 1085 <div style="width: 250px; height: 80px; position: absolute; border-style: none; bottom: 21px; left: 25px; margin: 0px; padding: 0px; right: 25px;"> 1086 <textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 80px; border: 1px solid #c1c1c1; margin: 0px; padding: 0px; resize: none;" value=""></textarea> 1087 </div> 1088 </div> 1089 </div> 1090</noscript> 1091<input data-drupal-selector="edit-captcha-cacheable" type="hidden" name="captcha_cacheable" value="1" /> 1092 1093 </div> 1094 </div> 1095 <input data-drupal-selector="edit-source" type="hidden" name="source" value="direct_web_wizard" /> 1096<input data-drupal-selector="edit-referral-code" type="hidden" name="referral_code" value="" /> 1097<input id="ga_client_id" data-drupal-selector="edit-ga-client-id" type="hidden" name="ga_client_id" value="" /> 1098<div data-drupal-selector="edit-actions" class="form-actions webform-actions js-form-wrapper form-wrapper" id="edit-actions"><input class="webform-button--submit button button--primary js-form-submit form-submit" data-drupal-selector="edit-actions-submit" type="submit" id="edit-actions-submit" name="op" value="Schedule" /> 1099 1100</div> 1101<input data-drupal-selector="edit-antibot-key" type="hidden" name="antibot_key" value="" /> 1102<input data-drupal-selector="form-97agznoynu38pt9yxb0vjkb-5v-zvdewvkzbcy63xok" type="hidden" name="form_build_id" value="form-97agZnoyNu38Pt9YXB0VJKb-5v-ZVdEwVKzBCY63XOk" /> 1103<input data-drupal-selector="edit-webform-submission-customer-inquiry-add-form" type="hidden" name="form_id" value="webform_submission_customer_inquiry_add_form" /> 1104<div class="url-textfield js-form-wrapper form-wrapper" style="display: none !important;"><div class="js-form-item form-item js-form-type-textfield form-item-url js-form-item-url"> 1105 <label for="edit-url" class="form-item__label">Leave this field blank</label> 1106 <input autocomplete="off" data-drupal-selector="edit-url" type="text" id="edit-url" name="url" value="" size="20" maxlength="128" class="form-text form-element form-element--type-text form-element--api-textfield" /> 1107 1108 </div> 1109</div> 1110 1111 1112 1113</form> 1114 1115 </div> 1116 </div> 1117 1118 </div> 1119</div> 1120 <div class='col-md-6 right-content-holder'> 1121<div class="right-side-bar"> 1122 <div> 1123 1124 1125<div id="block-olivero-adbookingpagesvertical-2" class="block block-block-content block-block-content9157b12f-85d9-4de6-97fb-e5b2f08eb69d"> 1126 1127 1128 <div class="block__content"> 1129 1130 <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><div id="ad-vert"><div><div><h1>YOUR DRYER</h1><h2>COULD START A FIRE!</h2><p><em>"The leading cause of home clothes dryer fires is failure to clean them!"</em></p><div class="button-blue" id="button-ad-vert" onclick="window.location.href='#block-olivero-page-title';"><a href="#block-olivero-page-title"><span style="color:#FFF5EE;font-family:Raleway;font-size:16px;line-height:22px;"><strong>Request Estimate Today!</strong></span></a></div><p><br><img style="margin-left:-60px;" src="/sites/default/files/inline-images/Washing%20Machine_0.png" data-entity-uuid="dfcba2d5-46a8-4fb8-b12e-8ca98dbbeb6d" data-entity-type="file" alt width="96" height="186" loading="lazy"></p></div></div></div></div> 1131 1132 <div class="text-content clearfix field field--name-field-css field--type-text-long field--label-hidden field__item"><style> 1133.main-content-holder{ 1134padding:50px; 1135} 1136.right-side-bar{ 1137background-color: black!important; 1138} 1139#ad-vert { 1140background-image: url(/sites/default/files/2025-05/DryerFire.jpg); 1141 1142 background-size: cover; 1143 padding: 60px; 1144 margin: -5px; 1145} 1146#button-ad-vert{ 1147max-width: 350px; 1148width:100%; 1149left:0vw; 1150right:0; 1151position: relative; 1152} 1153#ad-vert h1{ 1154font-size: 80px; 1155 font-family: 'TradeGothic'; 1156 font-weight:800; 1157 text-shadow: 1px 1px black; 1158} 1159#ad-vert h2{ 1160 font-family: 'TradeGothic'; 1161 font-style: normal;
1162font-weight:800; 1163font-size: 50px; 1164 text-shadow: 1px 1px black; 1165} 1166#ad-vert p{ 1167font-family: 'TradeGothic'; 1168 text-shadow: 1px 1px black; 1169 font-size: 35px; 1170 line-height: 1; 1171font-weight:800; 1172} 1173.ad-col-1{ 1174 text-align: end; 1175 vertical-align: middle; 1176 padding: 50px; 1177 1178} 1179#block-olivero-adbookingpages { 1180 grid-column: 1 / 15 !important; 1181} 1182</style></div> 1183 1184 </div> 1185 </div> 1186 1187 </div> 1188</div> 1189</div> 1190 </div> 1191 </div> 1192 <div class="social-bar"> 1193 1194<div class="social-bar__inner fixable"> 1195 <div class="rotate"> 1196 1197 1198<div id="block-olivero-syndicate" role="complementary" class="block block-node block-node-syndicate-block"> 1199 1200 1201 <div class="block__content"> 1202 1203 1204 1205<a href="/rss.xml" class="feed-icon"> 1206 <span class="feed-icon__label"> 1207 RSS feed 1208 </span> 1209 <span class="feed-icon__icon" aria-hidden="true"> 1210 <svg xmlns="http://www.w3.org/2000/svg" width="14.2" height="14.2" viewBox="0 0 14.2 14.2"> 1211 <path d="M4,12.2c0-2.5-3.9-2.4-3.9,0C0.1,14.7,4,14.6,4,12.2z M9.1,13.4C8.7,9,5.2,5.5,0.8,5.1c-1,0-1,2.7-0.1,2.7c3.1,0.3,5.5,2.7,5.8,5.8c0,0.7,2.1,0.7,2.5,0.3C9.1,13.7,9.1,13.6,9.1,13.4z M14.2,13.5c-0.1-3.5-1.6-6.9-4.1-9.3C7.6,1.7,4.3,0.2,0.8,0c-1,0-1,2.6-0.1,2.6c5.8,0.3,10.5,5,10.8,10.8C11.5,14.5,14.3,14.4,14.2,13.5z"/> 1212</svg> 1213 </span> 1214</a> 1215 1216 </div> 1217 </div> 1218 1219 </div> 1220</div> 1221 1222 </div> 1223 </div> 1224 </div> 1225 1226 <footer class="site-footer"> 1227 <div class="site-footer__inner container"> 1228 1229 1230 <div class="region region--footer-top grid-full layout--pass--content-medium"> 1231 <div class="region--footer_top__inner"> 1232 1233 1234<div id="block-olivero-footermain" class="block block-block-content block-block-contentc4d94418-8fb3-4365-b93a-d95f1e66c8df"> 1235 1236 1237 <div class="block__content"> 1238 1239 <div class="text-content clearfix field field--name-field-top-divider field--type-text-long field--label-hidden field__item"><div id="footer_top-divider-top"><svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 1000 279.24" preserveAspectRatio="none"><path class="divider-fill" style="opacity:0.25;" d="M1000 0S331.54-4.18 0 279.24h1000z"></path><path class="divider-fill" d="M1000 279.24s-339.56-44.3-522.95-109.6S132.86 23.76 0 25.15v254.09z"></path></svg></div><style> 1240#footer_top-divider-top { 1241 overflow: hidden; 1242 position: absolute; 1243 top: 0; 1244 width: 100%; 1245 height: 100px; 1246 line-height: 0; 1247 left: 0; 1248 transform: scaleY(-1.0); 1249} 1250#footer_top-divider-top svg { 1251 display: block; 1252 width: 100%; 1253 height: 100%; 1254 position: relative; 1255 left: 50%; 1256 transform: translateX(-50%); 1257} 1258#footer_top-divider-top .divider-fill { 1259 fill: #f36f21c2; 1260 transform-origin: bottom; 1261 transform: rotateY(0deg); 1262} 1263</style></div> 1264 1265<div class="row"> 1266 1267<div class="col-md-4"> 1268 1269 <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><div id="contact"><h4 class="section-title underline ">STAY CONNECTED</h4><div id="socials"><div style="display:inline-block;" id="wb_FontAwesomeIcon1"><div class="fa-social-footer" id="FontAwesomeIconFacebook"><a href="https://www.facebook.com/pages/Better-Air/761294443890791"><em><i class="fa fa-facebook"> </i></em></a></div></div><div style="display:inline-block;" id="wb_FontAwesomeIcon1"><div class="fa-social-footer" id="FontAwesomeIconTwitter"><a href="https://www.tiktok.com/@betterairductclean"><em><i class="fa-brands fa-tiktok"> </i></em></a></div></div><div style="display:inline-block;" id="wb_FontAwesomeIcon1"><div class="fa-social-footer" id="FontAwesomeIconInstagram"><a href="https://www.instagram.com/betterairfl"><em><i class="fa fa-instagram"> </i></em></a></div></div><div style="display:inline-block;" id="wb_FontAwesomeIcon1"><div class="fa-social-footer" id="FontAwesomeIconYoutube"><a href="https://www.youtube.com/user/breathebetterair"><em><i class="fa fa-youtube"> </i></em></a></div></div></div></div><div style="display:none;" id="feedback"><h4 class="section-title underline footer-title">SEND FEEDBACK / REVIEW US</h4><div style="cursor:pointer;margin:auto;width:100%;" id="angieslist-logo"><img style="margin:auto;" src="/sites/default/files/inline-images/Angieslist.jpeg" data-entity-uuid="3249118a-4e5b-42ea-8558-34601fd75ad6" data-entity-type="file" alt="Angies List Reviews" width="216" height="32" loading="lazy"></div></div></div> 1270 1271 </div> 1272<div class="col-md-4"> 1273 1274 <div class="text-content clearfix field field--name-field-column-2 field--type-text-long field--label-hidden field__item"><div style="margin-bottom:50px;" id="locations"><h4 class="section-title underline">LOCATIONS</h4><p><strong>Connecticut (CT)</strong></p><p>40 Sandra Drive, Ste 1, South Windsor, CT 06074</p><p><a href="tel:+18003828227"><strong>1-(800)-382-8227</strong></a></p><p><br> </p><p><strong>Massachusetts (MA)</strong></p><p>954 Concord St, Framingham, MA 01701</p><p><a href="tel:+18003828227"><strong>1-(800)-382-8227</strong></a></p><p> </p><p>CT LIC# 0620160</p><p>MA LIC# 172102</p><p>RI LIC# 37256</p><p>FL LIC# CAC1821411</p></div></div> 1275 1276 </div> 1277<div class="col-md-4"> 1278 1279 <div class="text-content clearfix field field--name-field-column-3 field--type-text-long field--label-hidden field__item"><div style="margin-bottom:20px;" id="service-areas"><h4 class="section-title underline">SERVICE AREAS</h4><center><img src="/sites/default/files/inline-images/ba_map_service_areas_ct_ma_ri_fl-min_0.png" data-entity-uuid="0c384963-70e7-42b9-bd4c-1098a06a1bd6" data-entity-type="file" alt="Map of Better Air Locations" width="416" height="407" loading="lazy"></center><p><strong>We service </strong><a href="https://ductcare.com"><strong>CT</strong></a><strong>, MA, RI, </strong>
1279<a href="https://cleanductsflorida.com"><strong>FL</strong></a><strong> </strong></p><p><strong>SCHEDULE A CLEANING APPOINTMENT</strong></p><div class="button-orange" style="margin:auto;max-width:150px;" id="button-schedule" onclick="window.location.href='/inquiry';">Schedule Now</div><p><br> </p></div></div> 1280 1281 </div> 1282 </div> 1283 <div class="text-content clearfix field field--name-field-css field--type-text-long field--label-hidden field__item"><style> 1284#locations{ 1285 font-size: 16px !important; 1286 line-height: 1 !important; 1287} 1288#locations a{ 1289color: #F36F21 !important; 1290} 1291#newsletter, #feedback{ 1292margin-top: 45px !important; 1293} 1294#block-olivero-footermain{ 1295text-align: center !important; 1296} 1297.fa-social-footer i { 1298 color: #FFFFFF; 1299 display: inline-block; 1300 font-size: 50px; 1301 line-height: 50px; 1302 vertical-align: middle; 1303 width: 70px; 1304 margin-top: 30px; 1305 margin-bottom: 40px; 1306} 1307#contact > #socials { 1308 margin-left: -20px; 1309} 1310#block-olivero-footermain { 1311 background-color: rgb(0,93,181); 1312 background-image: url(/sites/default/files/2024-11/bg_site_row_03.jpg); 1313 background-repeat: no-repeat; 1314 background-size: cover; 1315 background-attachment: fixed; 1316 color: white; 1317} 1318</style></div> 1319 1320 </div> 1321 </div> 1322 1323 </div> 1324 </div> 1325 1326 1327 1328 <div class="region region--footer-bottom grid-full layout--pass--content-medium"> 1329 1330 1331<div id="block-olivero-footercopyright" class="block block-block-content block-block-content2ff01e26-1dab-4445-bbf7-f0d7ac652a2c"> 1332 1333 1334 <div class="block__content"> 1335 1336 <div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p id="copyright-text">Copyright © <span id="year">*year*</span> BETTER AIR DUCT CLEANING CT LLC</p>
1336<script> 1337 const d = new Date(); 1338 let year = d.getFullYear(); 1339 // Set the year in the span with id="year" 1340 document.getElementById('year').textContent = year; 1341</script>
1341</div> 1342 1343 <div class="text-content clearfix field field--name-field-css field--type-text-long field--label-hidden field__item"><style> 1344#copyright-text{ 1345width: 100%; 1346color: white; 1347font-size: 13px; 1348font-weight: 800; 1349text-align: center; 1350} 1351#block-olivero-footercopyright{ 1352 background: #F36F21 !important; 1353 text-align: center; 1354} 1355</style></div> 1356 1357 </div> 1358 </div> 1359 1360 </div> 1361 1362 </div> 1363 </footer> 1364 1365 <div class="overlay" data-drupal-selector="overlay"></div> 1366 1367 </div> 1368 </div> 1369 1370 </div> 1371 1372 1373
1373<script src="/core/assets/vendor/jquery/jquery.min.js?v=3.7.1"></script>
vendor: 1 bytes, line 1373
1373
1374<script src="/core/assets/vendor/once/once.min.js?v=1.0.1"></script>
vendor: 1 bytes, line 1374
1374
1375<script src="/core/misc/drupal.js?v=10.3.5"></script>
vendor: 1 bytes, line 1375
1375
1376<script src="/core/misc/drupal.init.js?v=10.3.5"></script>
vendor: 1 bytes, line 1376
1376
1377<script src="/core/assets/vendor/tabbable/index.umd.min.js?v=6.2.0"></script>
vendor: 1 bytes, line 1377
1377
1378<script src="/core/themes/olivero/js/service_request_submit.js?v=1.x"></script>
vendor: 1 bytes, line 1378
1378
1379<script src="/modules/contrib/webform/js/webform.element.details.save.js?v=10.3.5"></script>
vendor: 1 bytes, line 1379
1379
1380<script src="/modules/contrib/webform/js/webform.element.message.js?v=10.3.5"></script>
vendor: 1 bytes, line 1380
1380
1381<script src="/core/misc/progress.js?v=10.3.5"></script>
vendor: 1 bytes, line 1381
1381
1382<script src="/core/assets/vendor/loadjs/loadjs.min.js?v=4.3.0"></script>
vendor: 1 bytes, line 1382
1382
1383<script src="/core/misc/debounce.js?v=10.3.5"></script>
vendor: 1 bytes, line 1383
1383
1384<script src="/core/misc/announce.js?v=10.3.5"></script>
vendor: 1 bytes, line 1384
1384
1385<script src="/core/themes/olivero/js/navigation-utils.js?v=10.3.5"></script>
vendor: 1 bytes, line 1385
1385
1386<script src="/core/themes/olivero/js/checkbox.js?v=10.3.5"></script>
vendor: 1 bytes, line 1386
1386
1387<script src="/core/themes/olivero/js/messages.js?v=10.3.5"></script>
vendor: 1 bytes, line 1387
1387
1388<script src="/core/misc/message.js?v=10.3.5"></script>
vendor: 1 bytes, line 1388
1388
1389<script src="/core/themes/olivero/js/message.theme.js?v=10.3.5"></script>
vendor: 1 bytes, line 1389
1389
1390<script src="/core/misc/ajax.js?v=10.3.5"></script>
vendor: 1 bytes, line 1390
1390
1391<script src="/modules/contrib/google_tag/js/gtag.ajax.js?tm5kjm"></script>
vendor: 1 bytes, line 1391
1391
1392<script src="/core/misc/form.js?v=10.3.5"></script>
vendor: 1 bytes, line 1392
1392
1393<script src="/modules/contrib/webform/js/webform.behaviors.js?v=10.3.5"></script>
vendor: 1 bytes, line 1393
1393
1394<script src="/core/misc/states.js?v=10.3.5"></script>
vendor: 1 bytes, line 1394
1394
1395<script src="/modules/contrib/webform/js/webform.states.js?v=10.3.5"></script>
vendor: 1 bytes, line 1395
1395
1396<script src="/modules/contrib/webform/js/webform.form.js?v=10.3.5"></script>
vendor: 1 bytes, line 1396
1396
1397<script src="/modules/contrib/webform/js/webform.element.details.toggle.js?v=10.3.5"></script>
vendor: 1 bytes, line 1397
1397
1398<script src="/modules/contrib/antibot/js/antibot.js?tm5kjm"></script>
vendor: 1 bytes, line 1398
1398
1399<script src="/modules/contrib/recaptcha/js/recaptcha.js?tm5kjm"></script>
vendor: 1 bytes, line 1399
1399
1400<script src="/modules/contrib/webform/js/webform.element.select.js?v=10.3.5"></script>
vendor: 1 bytes, line 1400
1400
1401<script src="https://cdn.jsdelivr.net/gh/RobinHerbots/[email protected]/dist/jquery.inputmask.min.js"></script>
vendor: 1 bytes, line 1401
1401
1402<script src="/modules/contrib/webform/js/webform.element.inputmask.js?v=10.3.5"></script>
vendor: 1 bytes, line 1402
1402
1403<script src="/core/modules/custom/ductcare_chatbot/js/chatbot.js?v=6.35"></script>
1403 1404 1405 <div id="ductcare-mobile-cta-bar" class="ductcare-mobile-cta-bar" role="navigation" aria-label="Quick actions"> 1406 <a href="tel:1-(800)-382-8227" class="ductcare-mobile-cta-btn ductcare-mobile-cta-btn--specials"> 1407 <span class="ductcare-mobile-cta-btn__icon" aria-hidden="true"><i class="fa-solid fa-phone"></i></span> 1408 <span class="ductcare-mobile-cta-btn__label">Call Now</span> 1409 </a> 1410 <a href="/inquiry" class="ductcare-mobile-cta-btn ductcare-mobile-cta-btn--schedule"> 1411 <span class="ductcare-mobile-cta-btn__icon" aria-hidden="true"><i class="fa-solid fa-calendar-days"></i></span> 1412 <span class="ductcare-mobile-cta-btn__label">Schedule Now</span> 1413 </a> 1414 </div> 1415 <div id="popup-overlay"></div> 1416 <div id="popup-container"> 1417 <div id="popup-content"> 1418 <span id="close-popup">×</span> 1419 <div id="popup-body"></div> 1420 </div> 1421 </div> 1422 </body> 1423 1424 <footer> 1425
1425<script src="/themes/ductcare/js/bookings-common.js?v=49" crossorigin="anonymous"></script>
1425 1426
1426<script src="/themes/ductcare/js/bookings-inquiry.js?v=27" crossorigin="anonymous"></script>
1426 1427
1427<script src="/themes/ductcare/js/bookings-request-view.js?v=18" crossorigin="anonymous"></script>
1427 1428
1428<script src="/themes/ductcare/js/bookings-confirmation.js?v=16" crossorigin="anonymous"></script>
1428 1429
1429<script src="/themes/ductcare/js/bookings-request.js?v=69" crossorigin="anonymous"></script>
1429 1430
1430<script src="/themes/ductcare/js/bookings-schedule.js?v=27" crossorigin="anonymous"></script>
1430 1431
1431<script src="/themes/ductcare/js/bookings-edit.js?v=27" crossorigin="anonymous"></script>
1431 1432
1432<script src="/themes/ductcare/js/bookings-global.js?v=21" crossorigin="anonymous"></script>
1432 1433
1433<script src="/themes/ductcare/js/mobile-cta-bar-scroll.js?v=10" crossorigin="anonymous"></script>
1433 1434
1434<script src="/themes/ductcare/js/bookings.js?v=834" crossorigin="anonymous"></script>
1434 1435
1435<script src="/themes/ductcare/js/product-showcase.js?v=70" crossorigin="anonymous"></script>
1435 1436
1436<script src="/themes/ductcare/js/request-service-grid-hover.js?v=3" crossorigin="anonymous"></script>
1436 1437
1437<script src="/themes/ductcare/js/animations.js?v=22" crossorigin="anonymous"></script>
1437 1438
1438<script src="/themes/ductcare/js/sliders.js?v=35" crossorigin="anonymous"></script>
1438 1439
1439<script src="/themes/ductcare/js/page_preloader.js?v=23" crossorigin="anonymous"></script>
1439 1440
1440<script src="/themes/ductcare/js/section_backgroundImage_overlays.js?v=15" crossorigin="anonymous"></script>
1440 1441
1441<script src="/themes/ductcare/js/my_carousel.js?v=20" crossorigin="anonymous"></script>
1441 1442 </footer> 1443 </html> 1444 1445
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.