PageSourceSearch

https://www.culliganh2o.com/services/service-repairs

html culliganh2o.com collected 2026-09-30 18:40:35 UTC 232,516 bytes, 5,088 lines download raw bytes

1<!doctype html>
2<html lang="en" class="scroll-pt-28">
3<head>
4<title>Water softener service & repairs near northern Wisconsin and central Minnesota</title>
5
6<meta charset="utf-8" />
7<meta name="viewport" content="width=device-width, initial-scale=1.0" />
8<meta name="application-name" content="Sterling Culligan Water" />
9<meta name="description" content="Professional water softener service &amp; repairs from installation to routine maintenance. Emergency service available. Schedule your appointment with Culligan in northern Wisconsin and central Minnesota." />
10<meta name="robots" content="index, follow" />
11<meta name="gtm-measurement-id" content="G-56Z5CKZLBL" />
12
13    <meta name="facebook-domain-verification" content="qqszgyuokn80tgfsmhp5bdv90b3anc" />
14
15<meta name="csrf-token" content="YKph1hhLDA8bZ27pF8jGMtEVuWVEXuSylIYJ3feK" />
16<meta name="theme-color" content="#2968FE" />
17<link rel="manifest" href="https://www.culliganh2o.com/manifest.json" />
18
19    <link rel="canonical" href="https://www.culliganh2o.com/services/service-repairs" />
20
21
22<script type="application/ld+json">
23    {
24      "@context" : "https://schema.org",
25      "@type" : "WebSite",
26      "name" : "Sterling Culligan Water",
27      "url" : "https://www.culliganh2o.com/"
28    }
29</script>
29
30
31<!--fontawesome-->
32<script src="https://kit.fontawesome.com/5616631232.js" crossorigin="anonymous"></script>
32
33
34<!--compiled css-->
35<link rel="stylesheet" href="/css/app.css?id=ba49616160e71efacddafd92a95f9b28">
36
37<!--extra css-->
38<link rel="icon" href="/images/favicons/favicon.ico" type="image/x-icon" />
39    <link rel="apple-touch-icon" sizes="180x180" href="/images/favicons/apple-touch-icon.png">
40    <link rel="icon" type="image/png" sizes="32x32" href="/images/favicons/favicon-32x32.png">
41    <link rel="icon" type="image/png" sizes="16x16" href="/images/favicons/favicon-16x16.png">
42    <link rel="manifest" href="/images/favicons/site.webmanifest">
43    <link rel="mask-icon" href="/images/favicons/safari-pinned-tab.svg" color="#2968fe">
44    <meta name="msapplication-TileColor" content="#da532c">
45
46<!--google analytics-->
47<script>
vendor: 356 bytes, lines 47-52
47
48    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
49        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
50        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
51    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
52    ga('create', '
52UA-20895835-1
vendor: 40 bytes, lines 52-53
52', 'auto');
53    ga('send', 'pageview');
54</script>
vendor: 69 bytes, lines 54-56
54
55
56    <script async src="https://www.googletagmanager.com/gtag/js?id=
56G-56Z5CKZLBL
vendor: 16 bytes, lines 56-57
56"></script>
57    
57<script>
58        
vendor: 173 bytes, lines 58-63
58window.dataLayer = window.dataLayer || [];
59        function gtag(){
60            dataLayer.push(arguments);
61        }
62        gtag('js', new Date());
63        gtag('config', '
63G-56Z5CKZLBL
vendor: 8 bytes, lines 63-64
63');
64    
64</script>
64
65
66
67
68    
69<!--google tag manager-->
70<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
71            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
72        j=d.createElement(s),dl=l!=='dataLayer'?'&l='+l:'';j.async=true;j.src=
73        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
74    })(window,document,'script','dataLayer','GTM-5Q5JHRW');
75</script>
75
76
77
78<!--facebook pixel-->
79<script>
vendor: 436 bytes, lines 79-86
79
80    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
81        n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
82        n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
83        t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
84        document,'script','https://connect.facebook.net/en_US/fbevents.js');
85
86    fbq('init', '
861117998811575937
vendor: 34 bytes, lines 86-87
86');
87    fbq('track', 'PageView');
88</script>
88
89
90
91<!--yelp pixel-->
92
93<!--ad-roll-->
94
95<!--stack-adapt pixel-->
96<script>!function(s,a,e,v,n,t,z){if(s.saq)return;n=s.saq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!s._saq)s._saq=n;n.push=n;n.loaded=!0;n.version='1.0';n.queue=[];t=a.createElement(e);t.async=!0;t.src=v;z=a.getElementsByTagName(e)[0];z.parentNode.insertBefore(t,z)}(window,document,'script','https://tags.srv.stackadapt.com/events.js');saq('ts', '5Oxt6sWjnGzPiIiD3QzgCQ');</script>
96
97<!--pinterest pixel-->
98
99<!--nextdoor pixel-->
100
101<!--calltrackingmetrics-->
102<script async src="//423343.tctm.xyz/t.js"></script>
102
103
104</head>
105<body style="min-width: 320px; ">
106
107
108    <div class="flex flex-col min-h-screen">
109
110        <div
111        data-component="default.announcement"
112        class="odd:bg-mint even:bg-blue-500 odd:text-blue-800 even:text-white"
113        x-data="{ show: $persist(true).as('announcement-799').using(sessionStorage) }"
114        x-show="show"
115        x-collapse.duration.600
116        x-cloak
117    >
118        <div class="xl:container flex items-center px-2 md:px-4 py-2">
119
120            
121            <div class="grow text-center px-2 announcementBanner"><a href="/content/documents/pdf/2025-sterling-water-statements-and-invoices-update.pdf" target="_blank" class="text-blue-800">NEW: Important Changes to Deliveries, Statements and Invoices</a></div>
122
123            
124        </div>
125    </div>
126
127        <div
128        data-component="default.announcement-offers"
129        class="odd:bg-mint even:bg-blue-500 odd:text-blue-800 even:text-white"
130        x-data="{
131            selected: 0,
132            offers: JSON.parse('[\u0022Contact Culligan today to learn more about the hardness and TDS of your water.\u0022,\u0022Get started with Culligan water for as low as $39\\\/month!\u0022,\u0022We\\u0027ll inspect and check any brand water softener for only $79.95, including two bags of salt and water softener sanitization!\u0022]'),
133            announcementIntervalId: null
134        }"
135        x-init="announcementIntervalId = setInterval(() => {selected = (selected + 1) % offers.length}, 6000)"
136        x-on:mouseover="clearInterval(announcementIntervalId)"
137        x-on:mouseout="announcementIntervalId = setInterval(() => {selected = (selected + 1) % offers.length}, 6000)"
138        x-cloak
139    >
140        <div class="xl:container flex items-center px-2 md:px-4 py-2">
141
142                            <button
143                    type="button"
144                    class="px-2 w-8 cursor-pointer"
145                    title="Previous Offer"
146                    x-on:click="selected = (selected - 1 + offers.length) % offers.length"
147                >
148                    <i class="fa-sharp fa-regular fa-arrow-left"></i>
149                </button>
150            
151            <div class="grid grow text-center px-2">
152                                    <div
153                        class="row-span-full col-span-full announcementBanner"
154                        x-show="selected === 0"
155                        x-transition:enter="transition ease-in-out duration-500 delay-100"
156                        x-transition:enter-start="opacity-0 -translate-x-4"
157                        x-transition:enter-end="opacity-100 translate-x-0"
158                        x-transition:leave="transition ease-out duration-300 delay-100"
159                        x-transition:leave-start="opacity-100 translate-x-0"
160                        x-transition:leave-end="opacity-0 translate-x-4"
161                    >
162                        <a
163                            href="/services/culligan-coupons-specials"
164                            class="text-sm hover:underline"
165                        >Contact Culligan today to learn more about the hardness and TDS of your water.</a>
166                    </div>
167                                    <div
168                        class="row-span-full col-span-full announcementBanner"
169                        x-show="selected === 1"
170                        x-transition:enter="transition ease-in-out duration-500 delay-100"
171                        x-transition:enter-start="opacity-0 -translate-x-4"
172                        x-transition:enter-end="opacity-100 translate-x-0"
173                        x-transition:leave="transition ease-out duration-300 delay-100"
174                        x-transition:leave-start="opacity-100 translate-x-0"
175                        x-transition:leave-end="opacity-0 translate-x-4"
176                    >
177                        <a
178                            href="/services/culligan-coupons-specials"
179                            class="text-sm hover:underline"
180                        >Get started with Culligan water for as low as $39/month!</a>
181                    </div>
182                                    <div
183                        class="row-span-full col-span-full announcementBanner"
184                        x-show="selected === 2"
185                        x-transition:enter="transition ease-in-out duration-500 delay-100"
186                        x-transition:enter-start="opacity-0 -translate-x-4"
187                        x-transition:enter-end="opacity-100 translate-x-0"
188                        x-transition:leave="transition ease-out duration-300 delay-100"
189                        x-transition:leave-start="opacity-100 translate-x-0"
190                        x-transition:leave-end="opacity-0 translate-x-4"
191                    >
192                        <a
193                            href="/services/culligan-coupons-specials"
194                            class="text-sm hover:underline"
195                        >We&#039;ll inspect and check any brand water softener for only $79.95, including two bags of salt and water softener sanitization!</a>
196                    </div>
197                            </div>
198
199                            <button
200                    type="button"
201                    class="px-2 w-8 cursor-pointer"
202                    title="Next Offer"
203                    x-on:click="selected = (selected + 1) % offers.length"
204                >
205                    <i class="fa-sharp fa-regular fa-arrow-right"></i>
206                </button>
207            
208        </div>
209    </div>
210
211
212        <!--mobile-->
213<div
214    data-component="flow.header-mobile"
215    class="sticky top-0 z-40 shadow-lg lg:hidden"
216>
217    <nav class="flex items-center justify-between bg-white p-2">
218        <a
219            href="/"
220        >
221            <img
222                src="/images/logos/culligan_water_you_love.svg"
223                alt="Sterling Culligan Water"
224                class="hidden sm:block h-10"
225            />
226            <img
227                src="/images/logos/logo.svg"
228                alt="Sterling Culligan Water"
229                class="sm:hidden h-10"
230            />
231        </a>
232
233        <div class="flex items-center justify-between bg-white">
234            <a
235                href="tel:8779841822"
236                class="text-2xl text-blue-500 font-bold px-2"
237                x-data="phone('8779841822', 'header')"
238                x-bind="clickToCall"
239                aria-label="Call dealer"
240            >
241               <i class="fa-light fa-phone"></i>
242            </a>
243
244            <div x-data="{ open: false }">
245    <div class="fixed inset-0 bg-black bg-opacity-50 z-40 lg:hidden" x-cloak x-show="open"></div>
246
247    <div class="lg:relative lg:group z-50" x-data="{dealer: null, location_url: null}" x-on:dealer-updated="dealer = $event.detail.dealer; location_url = $event.detail.location_url;" role="menubar">
248        <button type="button" class="text-blue-800 py-2 group-hover:text-blue-500 font-bold whitespace-nowrap cursor-pointer lg:hidden" x-on:click="open = !open" x-on:keydown.escape="open = false" role="menuitem" aria-label="Toggle Dealer Select">
249            <i class="fa-solid fa-location-dot text-2xl text-blue-500 font-bold px-2"></i>
250        </button>
251        <button type="button" class="text-blue-800 py-2 group-hover:text-blue-500 font-bold whitespace-nowrap cursor-pointer hidden lg:block"
252            x-html="'<i class=\'fa-solid fa-location-dot pr-1\'></i>' + (dealer ? (dealer.city + ', ' + dealer.state) : 'Choose Dealer')" x-on:click="open = !open" x-on:keydown.escape="open = false" role="menuitem" aria-label="Toggle Dealer Select">
253            <i class="fa-solid fa-location-dot pr-1"></i>
254        </button>
255
256        <div x-cloak x-show="open" x-on:mousedown.outside="open = false" class="absolute left-1/2 transform -translate-x-1/2 container w-72 sm:w-96 bg-gray-300 rounded-lg shadow-xl border border-gray-500 text-left z-50"
257            x-transition:enter="transition ease-out duration-200"
258            x-transition:enter-start="opacity-0 transform scale-90"
259            x-transition:enter-end="opacity-100 transform scale-100"
260            x-transition:leave="transition ease-in duration-150"
261            x-transition:leave-start="opacity-100 transform scale-100"
262            x-transition:leave-end="opacity-0 transform scale-90"
263            x-on:click.stop>
264            <div class="font-bold m-4" x-data="{ change: true }">
265                                    <div class="mb-1">Select your dealer</div>
266                
267                <div x-show="change" x-data="lead()" x-init="setValues(JSON.parse('{\u0022requireDealerUrl\u0022:true}'))">
268                    <!--postal_code-->
269                    <div
270                        class="mb-2"
271                        x-bind:class="{'col-span-full': layout === 'inline'}"
272                    >
273                        <label
274                            x-bind:for="makeId('postal_code')"
275                            class="ml-3 mb-2 text-sm"
276                            x-text="postalCodeName()"
277                        ></label>
278                        <input
279                            name="postal_code"
280                            type="text"
281                            class="form-control rounded-full"
282                            x-bind:class="validationClass('postalCode')"
283                            x-bind:id="makeId('postal_code')"
284                            x-bind:placeholder="postalCodeName()"
285                            autocomplete="postal-code"
286                            maxlength="7"
287                            x-model="postalCode"
288                            value=""
289                            x-effect="if ((postalCode.length >= 5 && !(/^[a-z]/i.test(postalCode))) || (/^[a-z]/i.test(postalCode) && postalCode.replace(/\s+/g, '').length % 3 === 0)) {
290                                searchDealers();
291                            }"
292                        />
293                    </div>
294
295                    <template x-if="selectedDealer">
296                        <div class="col-span-full bg-gray-200 rounded-lg p-3">
297                            <i class="fa-solid fa-map-marker"></i> Your dealer is <span x-text="selectedDealer.name"></span>.
298                        </div>
299                    </template>
300
301                    <div
302                        class="col-span-full bg-gray-200 rounded-xl p-3"
303                        x-show="showBottledWaterInterest()"
304                    >
305                        <div class="mb-2">Are you interested in bottled water?</div>
306                        <div>
307                            <button
308                                type="button"
309                                class="btn btn-blue rounded-full"
310                                x-on:click="updateBottledWaterInterest('yes')"
311                            >Yes <i class="fa-solid fa-check"></i></button>
312                            <button
313                                type="button"
314                                class="btn btn-blue rounded-full"
315                                x-on:click="updateBottledWaterInterest('no')"
316                            >No <i class="fa-solid fa-times"></i></button>
317                        </div>
318                    </div>
319
320                    <div
321                        class="col-span-full grid grid-cols-1 gap-2"
322                        x-show="showDealerSelect()"
323                    >
324                        <template
325                            x-for="dealer in filteredDealers()"
326                            x-bind:key="dealer.id"
327                        >
328                            <div
329                                class="bg-gray-100 hover:bg-gray-200 rounded-xl p-3"
330                                x-bind:class="{ 'border-2 shadow' : dealer.preferred_dealer}"
331                            >
332                                <div class="flex items-center">
333                                    <div class="grow">
334                                        <h4 class="text-blue-500 text-lg" x-text="dealer.name"></h4>
335                                        <div x-text="dealer.city + ', ' + dealer.state"></div>
336                                        <div class="mt-1" x-show="dealer.preferred_dealer">
337                                            <span class="text-xs px-2 py-1 rounded-full bg-blue-500 text-blue-800">Suggested Dealer</span>
338                                        </div>
339                                    </div>
340                                    <div>
341                                        <button
342                                            type="button"
343                                            class="btn btn-blue rounded-full text-sm px-2 py-1 whitespace-nowrap"
344                                            x-on:click="selectDealer(dealer)"
345                                        >Select <i class="fa-solid fa-plus-circle"></i></button>
346                                    </div>
347                                </div>
348                            </div>
349                        </template>
350                    </div>
351
352                    <div
353                        class="col-span-full bg-blue-800 text-white font-bold p-2 rounded-lg"
354                        x-show="showNoDealers()"
355                    >
356                        <i class="fa-solid fa-exclamation-circle mr-1"></i>
357                        Our Culligan dealerships do not service your area. Visit <a x-on:click="logClickToCorporate()" x-bind:href="'https://www.culligan.com/dealer-locator/' + postalCode + '?interest=' + shortenedProductInterest() + '&utm_medium=referral&utm_source=kennedy'" rel="noopener noreferrer" class="underline">culligan.com</a> to view a complete list of dealers.
358                    </div>
359                    <a x-show="selectedDealer && !selectedDealer['landing_url'].includes(window.location.hostname)" class="my-2 w-full shadow-xl border border-blue-800 text-center btn btn-indigo rounded-full" x-bind:href="(selectedDealer?.landing_url ? selectedDealer.landing_url + '?dealer=' + selectedDealer.id + '' : '#')" target="_blank" rel="noopener">
360                        Dealer website <i class="fa-solid fa-external-link-square fa-fw mr-1"></i>
361                    </a>
362                    <button x-show="selectedDealer && selectedDealer['landing_url'].includes(window.location.hostname)" type="button" class="my-2 w-full shadow-xl border border-blue-800 text-center btn btn-indigo rounded-full" x-on:click="change = !change; setDealerInSession();">
363                        Select dealer
364                    </button>
365                </div>
366            </div>
367
368        </div>
369    </div>
370</div>
371
372            <button
373                type="button"
374                class="px-2"
375                aria-expanded="false"
376                aria-label="Toggle Navigation"
377                x-data
378                x-on:click="$dispatch('toggle-mobile-nav')"
379            >
380                <i class="fa-solid fa-bars fa-fw text-blue-500 text-xl"></i>
381            </button>
382        </div>
383    </nav>
384
385</div>
386
387<!--desktop-->
388<div
389    data-component="flow.header-desktop"
390    class="sticky top-0 z-40 shadow-lg hidden lg:block"
391    x-data="expandable()"
392>
393
394    <!--top-line-->
395    <div class="bg-gray-300">
396        <div class="2xl:container px-4 flex justify-between">
397            <div class="py-2">
398                                    <a
399                        href="/"
400                        class="text-blue-800 hover:text-blue-500 underline-offset-2 hover:underline font-semibold"
401                    >Residential</a>
402                                                                        <span>|</span>
403                            <a
404                                href="https://sterlingwater.com/"
405                                class="text-blue-800 hover:text-blue-500 underline-offset-2 hover:underline "
406                                target=&quot;_blank&quot; rel=&quot;noopener&quot;
407                            >Office <i class="fa-solid fa-up-right-from-square"></i></a>
408                                                                                                <span>|</span>
409                            <a
410                                href="https://www.sterlingculliganwater.com/"
411                                class="text-blue-800 hover:text-blue-500 underline-offset-2 hover:underline "
412                                target=&quot;_blank&quot; rel=&quot;noopener&quot;
413                            >Commercial <i class="fa-solid fa-up-right-from-square"></i></a>
414                                                                        </div>
415            <div class="flex space-x-4">
416                <div x-data="{ open: false }">
417    <div class="fixed inset-0 bg-black bg-opacity-50 z-40 lg:hidden" x-cloak x-show="open"></div>
418
419    <div class="lg:relative lg:group z-50" x-data="{dealer: null, location_url: null}" x-on:dealer-updated="dealer = $event.detail.dealer; location_url = $event.detail.location_url;" role="menubar">
420        <button type="button" class="text-blue-800 py-2 group-hover:text-blue-500 font-bold whitespace-nowrap cursor-pointer lg:hidden" x-on:click="open = !open" x-on:keydown.escape="open = false" role="menuitem" aria-label="Toggle Dealer Select">
421            <i class="fa-solid fa-location-dot text-2xl text-blue-500 font-bold px-2"></i>
422        </button>
423        <button type="button" class="text-blue-800 py-2 group-hover:text-blue-500 font-bold whitespace-nowrap cursor-pointer hidden lg:block"
424            x-html="'<i class=\'fa-solid fa-location-dot pr-1\'></i>' + (dealer ? (dealer.city + ', ' + dealer.state) : 'Choose Dealer')" x-on:click="open = !open" x-on:keydown.escape="open = false" role="menuitem" aria-label="Toggle Dealer Select">
425            <i class="fa-solid fa-location-dot pr-1"></i>
426        </button>
427
428        <div x-cloak x-show="open" x-on:mousedown.outside="open = false" class="absolute left-1/2 transform -translate-x-1/2 container w-72 sm:w-96 bg-gray-300 rounded-lg shadow-xl border border-gray-500 text-left z-50"
429            x-transition:enter="transition ease-out duration-200"
430            x-transition:enter-start="opacity-0 transform scale-90"
431            x-transition:enter-end="opacity-100 transform scale-100"
432            x-transition:leave="transition ease-in duration-150"
433            x-transition:leave-start="opacity-100 transform scale-100"
434            x-transition:leave-end="opacity-0 transform scale-90"
435            x-on:click.stop>
436            <div class="font-bold m-4" x-data="{ change: true }">
437                                    <div class="mb-1">Select your dealer</div>
438                
439                <div x-show="change" x-data="lead()" x-init="setValues(JSON.parse('{\u0022requireDealerUrl\u0022:true}'))">
440                    <!--postal_code-->
441                    <div
442                        class="mb-2"
443                        x-bind:class="{'col-span-full': layout === 'inline'}"
444                    >
445                        <label
446                            x-bind:for="makeId('postal_code')"
447                            class="ml-3 mb-2 text-sm"
448                            x-text="postalCodeName()"
449                        ></label>
450                        <input
451                            name="postal_code"
452                            type="text"
453                            class="form-control rounded-full"
454                            x-bind:class="validationClass('postalCode')"
455                            x-bind:id="makeId('postal_code')"
456                            x-bind:placeholder="postalCodeName()"
457                            autocomplete="postal-code"
458                            maxlength="7"
459                            x-model="postalCode"
460                            value=""
461                            x-effect="if ((postalCode.length >= 5 && !(/^[a-z]/i.test(postalCode))) || (/^[a-z]/i.test(postalCode) && postalCode.replace(/\s+/g, '').length % 3 === 0)) {
462                                searchDealers();
463                            }"
464                        />
465                    </div>
466
467                    <template x-if="selectedDealer">
468                        <div class="col-span-full bg-gray-200 rounded-lg p-3">
469                            <i class="fa-solid fa-map-marker"></i> Your dealer is <span x-text="selectedDealer.name"></span>.
470                        </div>
471                    </template>
472
473                    <div
474                        class="col-span-full bg-gray-200 rounded-xl p-3"
475                        x-show="showBottledWaterInterest()"
476                    >
477                        <div class="mb-2">Are you interested in bottled water?</div>
478                        <div>
479                            <button
480                                type="button"
481                                class="btn btn-blue rounded-full"
482                                x-on:click="updateBottledWaterInterest('yes')"
483                            >Yes <i class="fa-solid fa-check"></i></button>
484                            <button
485                                type="button"
486                                class="btn btn-blue rounded-full"
487                                x-on:click="updateBottledWaterInterest('no')"
488                            >No <i class="fa-solid fa-times"></i></button>
489                        </div>
490                    </div>
491
492                    <div
493                        class="col-span-full grid grid-cols-1 gap-2"
494                        x-show="showDealerSelect()"
495                    >
496                        <template
497                            x-for="dealer in filteredDealers()"
498                            x-bind:key="dealer.id"
499                        >
500                            <div
501                                class="bg-gray-100 hover:bg-gray-200 rounded-xl p-3"
502                                x-bind:class="{ 'border-2 shadow' : dealer.preferred_dealer}"
503                            >
504                                <div class="flex items-center">
505                                    <div class="grow">
506                                        <h4 class="text-blue-500 text-lg" x-text="dealer.name"></h4>
507                                        <div x-text="dealer.city + ', ' + dealer.state"></div>
508                                        <div class="mt-1" x-show="dealer.preferred_dealer">
509                                            <span class="text-xs px-2 py-1 rounded-full bg-blue-500 text-blue-800">Suggested Dealer</span>
510                                        </div>
511                                    </div>
512                                    <div>
513                                        <button
514                                            type="button"
515                                            class="btn btn-blue rounded-full text-sm px-2 py-1 whitespace-nowrap"
516                                            x-on:click="selectDealer(dealer)"
517                                        >Select <i class="fa-solid fa-plus-circle"></i></button>
518                                    </div>
519                                </div>
520                            </div>
521                        </template>
522                    </div>
523
524                    <div
525                        class="col-span-full bg-blue-800 text-white font-bold p-2 rounded-lg"
526                        x-show="showNoDealers()"
527                    >
528                        <i class="fa-solid fa-exclamation-circle mr-1"></i>
529                        Our Culligan dealerships do not service your area. Visit <a x-on:click="logClickToCorporate()" x-bind:href="'https://www.culligan.com/dealer-locator/' + postalCode + '?interest=' + shortenedProductInterest() + '&utm_medium=referral&utm_source=kennedy'" rel="noopener noreferrer" class="underline">culligan.com</a> to view a complete list of dealers.
530                    </div>
531                    <a x-show="selectedDealer && !selectedDealer['landing_url'].includes(window.location.hostname)" class="my-2 w-full shadow-xl border border-blue-800 text-center btn btn-indigo rounded-full" x-bind:href="(selectedDealer?.landing_url ? selectedDealer.landing_url + '?dealer=' + selectedDealer.id + '' : '#')" target="_blank" rel="noopener">
532                        Dealer website <i class="fa-solid fa-external-link-square fa-fw mr-1"></i>
533                    </a>
534                    <button x-show="selectedDealer && selectedDealer['landing_url'].includes(window.location.hostname)" type="button" class="my-2 w-full shadow-xl border border-blue-800 text-center btn btn-indigo rounded-full" x-on:click="change = !change; setDealerInSession();">
535                        Select dealer
536                    </button>
537                </div>
538            </div>
539
540        </div>
541    </div>
542</div>
543                                                            <div class="relative group" x-data x-bind="menu(true)" role="menubar">
544                            <button
545                                type="button"
546                                class="text-blue-800 group-hover:text-blue-500 py-2 font-semibold"
547                                role="menuitem"
548                            >
549                                Current Customers
550                                <i class="fa-solid fa-angle-down"></i>
551                            </button>
552                            <div class="absolute right-0 py-2 bg-gray-300 rounded-b-xl shadow-lg z-50" x-cloak x-transition x-show="$root.id === current">
553                                                                    <a
554                                        href="https://portal.unco.mcgware.com/"
555                                        target="_blank"
556                                        rel="noopener"
557                                        class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
558                                    >View or Pay Bill</a>
559                                                                    <a
560                                        href="/content/documents/pdf/sterling-billing-update-june-25(1).pdf"
561                                        target="_blank"
562                                        rel="noopener"
563                                        class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
564                                    >Important Changes to Deliveries, Statements and Invoices</a>
565                                                                    <a
566                                        href="https://webapp.getthereferral.com//partnerPages.php?companyCode=44624"
567                                        target="_blank"
568                                        rel="noopener"
569                                        class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
570                                    >Referral Program</a>
571                                                                    <a
572                                        href="/services/service-repairs"
573                                        target="_blank"
574                                        rel="noopener"
575                                        class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
576                                    >Service &amp; Repairs</a>
577                                                                    <a
578                                        href="/help-guides/bypass-videos"
579                                        target="_blank"
580                                        rel="noopener"
581                                        class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
582                                    >
582Softener Bypass Videos</a>
583                                                                    <a
584                                        href="https://www.culligan.com/support/product-information/product-manuals"
585                                        target="_blank"
586                                        rel="noopener"
587                                        class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
588                                    >Manuals - Softeners, Filters, ROs &amp; Bottled Water</a>
589                                                                    <a
590                                        href="https://sterlingwater.com/product-catalog/"
591                                        target="_blank"
592                                        rel="noopener"
593                                        class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
594                                    >Manuals - Bottleless Water Coolers</a>
595                                                                    <a
596                                        href="/contact-your-water-expert"
597                                        target=""
598                                        rel=""
599                                        class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
600                                    >Contact</a>
601                                                            </div>
602                        </div>
603                                                                                <a
604                            href="/services/culligan-coupons-specials"
605                            target=""
606                            rel=""
607                            class="text-blue-800 hover:text-blue-500 underline-offset-2 py-2 font-semibold"
608                        >Special Offers</a>
609                                                    <a
610                    href="tel:8779841822"
611                    class="headerPhone px-4 py-2 font-bold text-blue-500 underline hover:no-underline whitespace-nowrap transition duration-200"
612                    x-data="phone('8779841822', 'header')"
613                    x-bind="clickToCall"
614                ><i class="fa-solid fa-phone mr-2 animate-wiggle text-blue-800"></i>877-984-1822</a>
615            </div>
616        </div>
617    </div>
618
619    <!--bottom-line-->
620    <div class="bg-gray-100 py-4">
621        <div class="2xl:container px-4 flex items-center justify-between">
622
623            <!--left-->
624            <div class="flex items-center">
625
626                <!--logo-->
627                <a
628                    href="/"
629                    class="flex mr-6"
630                >
631                    <img
632                        src="/images/logos/culligan_water_you_love.svg"
633                        alt="Sterling Culligan Water"
634                        class="max-w-52 xl:max-w-72 max-h-[42px]"
635                    />
636                </a>
637
638                <!--menu-->
639                                                                                        <a
640                                href="https://portal.unco.mcgware.com"
641                                target="_blank"
642                                rel="noopener"
643                                class="px-4 py-2 text-blue-800 hover:text-blue-500 font-bold whitespace-nowrap"
644                            >Pay Bill Online</a>
645                                                                                                <div class="relative group" x-data x-bind="menu" role="menubar">
646
647                                <button
648                                    type="button"
649                                    class="px-4 py-2 text-blue-800 group-hover:text-blue-500 font-bold whitespace-nowrap cursor-pointer"
650                                    aria-haspopup="true"
651                                    aria-expanded="false"
652                                    role="menuitem"
653                                >Softeners &amp; Filters</button>
654
655                                <div class="hidden group-hover:block group-focus-within:block absolute py-1 bg-gray-100 rounded-b-lg shadow-xl" x-show="$root.i
655d === current">
656                                                                            <a
657                                            href="/softeners-filters/water-softeners"
658                                            target=""
659                                            rel=""
660                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
661                                        >Water Softeners</a>
662                                                                            <a
663                                            href="/softeners-filters/whole-home-water-filters"
664                                            target=""
665                                            rel=""
666                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
667                                        >Whole Home Water Filters</a>
668                                                                    </div>
669
670                            </div>
671
672                                                                                                <div class="relative group" x-data x-bind="menu" role="menubar">
673
674                                <button
675                                    type="button"
676                                    class="px-4 py-2 text-blue-800 group-hover:text-blue-500 font-bold whitespace-nowrap cursor-pointer"
677                                    aria-haspopup="true"
678                                    aria-expanded="false"
679                                    role="menuitem"
680                                >Drinking Water &amp; Coolers</button>
681
682                                <div class="hidden group-hover:block group-focus-within:block absolute py-1 bg-gray-100 rounded-b-lg shadow-xl" x-show="$root.id === current">
683                                                                            <a
684                                            href="/drinking-water-coolers/reverse-osmosis-drinking-water-systems"
685                                            target=""
686                                            rel=""
687                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
688                                        >RO Drinking Water Systems</a>
689                                                                            <a
690                                            href="https://sterlingwater.com/"
691                                            target="_blank"
692                                            rel="noopener"
693                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
694                                        >Bottleless Coolers</a>
695                                                                            <a
696                                            href="/drinking-water-coolers/bottled-water-coolers"
697                                            target=""
698                                            rel=""
699                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
700                                        >Bottled Water &amp; Coolers</a>
701                                                                    </div>
702
703                            </div>
704
705                                                                                                <div class="relative group" x-data x-bind="menu" role="menubar">
706
707                                <button
708                                    type="button"
709                                    class="px-4 py-2 text-blue-500 group-hover:text-blue-500 font-bold whitespace-nowrap cursor-pointer"
710                                    aria-haspopup="true"
711                                    aria-expanded="false"
712                                    role="menuitem"
713                                >Services</button>
714
715                                <div class="hidden group-hover:block group-focus-within:block absolute py-1 bg-gray-100 rounded-b-lg shadow-xl" x-show="$root.i
715d === current">
716                                                                            <a
717                                            href="/services/water-testing"
718                                            target=""
719                                            rel=""
720                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
721                                        >Water Testing</a>
722                                                                            <a
723                                            href="/services/well-water-testing"
724                                            target=""
725                                            rel=""
726                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
727                                        >Well Water Testing</a>
728                                                                            <a
729                                            href="/water-solutions"
730                                            target=""
731                                            rel=""
732                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
733                                        >Water Quiz</a>
734                                                                            <a
735                                            href="/services/water-delivery"
736                                            target=""
737                                            rel=""
738                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
739                                        >Water Delivery</a>
740                                                                            <a
741                                            href="/services/salt-delivery"
742                                            target=""
743                                            rel=""
744                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
745                                        >Salt Delivery</a>
746                                                                            <a
747                                            href="/services/service-repairs"
748                                            target=""
749                                            rel=""
750                                            class="block px-6 py-2 whitespace-nowrap text-blue-500 hover:text-blue-500 hover:underline font-semibold"
751                                        >Service &amp; Repairs</a>
752                                                                            <a
753                                            href="/services/chloride-reduction"
754                                            target=""
755                                            rel=""
756                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
757                                        >Chloride Reduction</a>
758                                                                            <a
759                                            href="/services/culligan-coupons-specials"
760                                            target=""
761                                            rel=""
762                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
763                                        >Coupons &amp; Specials</a>
764                                                                            <a
765                                            href="/services/culligan-connected-home"
766                                            target=""
767                                            rel=""
768                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
769                                        >Culligan Connected Home</a>
770                                                                    </div>
771
772                            </div>
773
774                                                                                                <div class="relative group" x-data x-bind="menu" role="menubar">
775
776                                <button
777                                    type="button"
778                                    class="px-4 py-2 text-blue-800 group-hover:text-blue-500 font-bold whitespace-nowrap cursor-pointer"
779                                    aria-haspopup="true"
780                                    aria-expanded="false"
781                                    role="menuitem"
782                                >About</button>
783
784                                <div class="hidden group-hover:block group-focus-within:block absolute py-1 bg-gray-100 rounded-b-lg shadow-xl" x-show="$root.i
784d === current">
785                                                                            <a
786                                            href="/locations/eau-claire-wi/1253"
787                                            target=""
788                                            rel=""
789                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
790                                        >Sterling Culligan Water of Eau Claire</a>
791                                                                            <a
792                                            href="/locations/rothschild-wi/1252"
793                                            target=""
794                                            rel=""
795                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
796                                        >Sterling Culligan Water of Rothschild</a>
797                                                                            <a
798                                            href="/locations/sauk-centre-mn/1088"
799                                            target=""
800                                            rel=""
801                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
802                                        >Sterling Culligan Water of Sauk Centre</a>
803                                                                            <a
804                                            href="/locations/waupaca-wi/1228"
805                                            target=""
806                                            rel=""
807                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
808                                        >Sterling Culligan Water of Waupaca</a>
809                                                                            <a
810                                            href="/about/sterling-history"
811                                            target=""
812                                            rel=""
813                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
814                                        >Sterling Water History</a>
815                                                                            <a
816                                            href="/about/subscribe-buy-finance"
817                                            target=""
818                                            rel=""
819                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
820                                        >Subscribe, Buy &amp; Finance</a>
821                                                                            <a
822                                            href="/about/why-choose-culligan"
823                                            target=""
824                                            rel=""
825                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
826                                        >Why Choose Culligan?</a>
827                                                                            <a
828                                            href="/about/careers"
829                                            target=""
830                                            rel=""
831                                            class="block px-6 py-2 whitespace-nowrap text-blue-800 hover:text-blue-500 hover:underline font-semibold"
832                                        >Careers</a>
833                                                                    </div>
834
835                            </div>
836
837                                                                                                <a
838                                href="/contact-your-water-expert"
839                                target=""
840                                rel=""
841                                class="px-4 py-2 text-blue-800 hover:text-blue-500 font-bold whitespace-nowrap"
842                            >Contact</a>
843                                                            
844            </div>
845
846            <!--right-->
847            <div>
848                <button
849        x-bind:id="'drawer_cta_desktop' ?? $id('cta')"
850        type="button"
851        class="btn btn-azure rounded-full md:text-2xl md:text-base"
852        x-data
853        
854                    x-on:click="
855                $dispatch('update-contact', []);
856                $dispatch('toggle-drawer', {
857                    heading: null,
858                    body: null,
859                });
860            "
861            >Get pricing</button>
862
863            </div>
864
865        </div>
866    </div>
867
868</div>
869
870        <main class="grow">
871            
872    <div><div
873    data-component="default.generic-hero"
874    class="relative mx-auto flex flex-col"
875>
876
877    <div class="xl:container -mt-5 sm:-mt-12 md:mt-0 px-4 pb-3 pb-3 md:pb-20 md:py-24 xl:py-36 order-1">
878        <div class="bg-blue-500 rounded-3xl md:bg-transparent p-6 w-full md:w-6/12 space-y-3 md:space-y-5 text-center md:text-left">
879            <h1 class="text-white text-xl md:text-3xl lg:text-4xl xl:text-5xl font-extrabold">Water softener service &amp; repairs near northern Wisconsin and central Minnesota</h1>
880                            <div class="text-white sm:text-lg md:text-2xl lg:text-3xl font-bold">Service that always exceeds expectation</div>
881            
882                            <button
883        x-bind:id="null ?? $id('cta')"
884        type="button"
885        class="btn btn-azure rounded-full md:text-2xl px-12 btn-white md:btn-azure"
886        x-data
887        
888                    x-on:click="
889                $dispatch('update-contact', JSON.parse('{\u0022shown\u0022:{\u0022appointmentRequest\u0022:false,\u0022productInterest\u0022:false}}'));
890                $dispatch('toggle-modal', {
891                    heading: 'Request service',
892                    body: ' ',
893                });
894            "
895            >Request service</button>
896
897            
898            
899            
900        </div>
901    </div>
902
903    <picture class="md:absolute object-cover w-full h-full top-0 bottom-0 -z-10">
904        <source
905            media="(min-width: 1280px)"
906            srcset="/content/images/culligan-softener-support-call.webp"
907        />
908        <source
909            media="(min-width: 768px)"
910            srcset="/content/images/culligan-softener-support-call.webp"
911        />
912        <img
913            src="/content/images/culligan-softener-support-call.webp"
914            alt="Culligan water expert waving from their van"
915            style="object-fit: cover; object-position: top; height: inherit; width: inherit;"
916            fetchpriority="high"
917        />
918    </picture>
919    <div class="absolute top-0 left-0 w-full h-full md:bg-gradient-to-r from-slate-900/75 to-transparent -z-10"></div>
920
921</div>
922
923<div
924    data-component="default.side-by-side"
925    class="bg-gray-200"
926>
927
928    <div class="xl:container flex flex-col md:flex-row md:gap-12 items-center px-4 py-12">
929
930        <div class="w-full md:w-auto md:basis-7/12 lg:basis-6/12 xl:basis-7/12 mt-8 md:mt-0 space-y-4 lg:space-y-8 order-1 ">
931
932                                                <h2 class="heading-1 squiggle squiggle-blue text-blue-800">Water softener repair &amp; water system services</h2>
933                            
934                            <div class="md:text-lg font-bold text-blue-800">Whether you need basic installation, repair or emergency service, your local, licensed (where applicable), insured and background-checked Culligan expert is here to help. We service most makes and models of equipment — even if it&#039;s not a Culligan water softener or filtration system.</div>
935            
936                            <div class="text-blue-800"><ul class="list-disc ml-5 grid grid-cols-1 md:grid-cols-2 gap-12">
937    <li>Part replacement & repair</li>
938    <li>Salt bridge removal</li>
939    <li>Equipment installation & relocation</li>
940    <li>Emergency service for leaks, pressure issues, etc.</li>
941</ul></div>
942            
943        </div>
944
945        <div class="w-full md:w-auto md:basis-5/12 lg:basis-6/12 xl:basis-5/12">
946
947                            <img
948                    src="/images/themes/flow/side-by-side/repair-services.jpg"
949                    alt=""
950                    class="w-full rounded-3xl"
951                    width="820"
952                    height="660"
953                    loading="lazy"
954                />
955            
956        </div>
957
958    </div>
959
960</div>
961
962<div
963    data-component="default.side-by-side"
964    class="bg-gray-200"
965>
966
967    <div class="xl:container flex flex-col md:flex-row md:gap-12 items-center px-4 py-12">
968
969        <div class="w-full md:w-auto md:basis-7/12 lg:basis-6/12 xl:basis-7/12 mt-8 md:mt-0 space-y-4 lg:space-y-8 order-1 md:order-none">
970
971                                                <h2 class="heading-1 squiggle squiggle-blue text-blue-800">Preventative water system maintenance services</h2>
972                            
973                            <div class="md:text-lg font-bold text-blue-800">Your local Culligan water expert has the knowledge and expertise to keep your water softener or water filter running at peak performance.</div>
974            
975                            <div class="text-blue-800"><ul class="list-disc ml-5 grid grid-cols-1 md:grid-cols-2 gap-12">
976    <li>Regular tune-ups, filter changes and sanitization</li>
977    <li>Reset timers, sensors and regeneration frequency</li>
978    <li>Monitor changing water conditions</li>
979    <li>Inspect water flow and check for salt bridging in tank</li>
980</ul></div>
981            
982        </div>
983
984        <div class="w-full md:w-auto md:basis-5/12 lg:basis-6/12 xl:basis-5/12">
985
986                            <img
987                    src="/content/images/ro-filter-service-26.jpg"
988                    alt=""
989                    class="w-full rounded-3xl"
990                    width="820"
991                    height="660"
992                    loading="lazy"
993                />
994            
995        </div>
996
997    </div>
998
999</div>
1000
1001<div
1002    data-component="default.floating-bubble"
1003    class="relative mx-auto flex flex-col"
1004>
1005
1006    <div class="xl:container -mt-5 sm:-mt-12 md:mt-0 px-4 pb-3 md:pb-20 md:py-24 xl:py-36 order-1">
1007        <div class="bg-white rounded-3xl p-6 w-full md:w-6/12 space-y-3 md:space-y-6 text-center">
1008            <h2 class="text-blue-800 text-xl md:text-3xl lg:text-4xl font-bold">Service plans to suit your schedule</h2>
1009            <hr class="border" />
1010            <div class="text-blue-800 sm:text-lg md:text-2xl font-medium">Never worry about your water filtration equipment again with a Culligan service plan. Covering maintenance, repairs and even salt delivery, they are the ultimate in convenience and reliability.</div>
1011                            <button
1012        x-bind:id="null ?? $id('cta')"
1013        type="button"
1014        class="btn btn-azure rounded-full md:text-2xl font-medium md:text-xl"
1015        x-data
1016        
1017                    x-on:click="
1018                $dispatch('update-contact', JSON.parse('{\u0022shown\u0022:{\u0022appointmentRequest\u0022:false,\u0022productInterest\u0022:false}}'));
1019                $dispatch('toggle-modal', {
1020                    heading: null,
1021                    body: null,
1022                });
1023            "
1024            >Request service</button>
1025
1026                    </div>
1027    </div>
1028
1029    <picture class="md:absolute object-cover w-full h-full top-0 bottom-0 -z-10">
1030        <source
1031            media="(min-width: 1280px)"
1032            srcset="/images/themes/flow/floating-bubble/calendar.jpg"
1033        />
1034        <source
1035            media="(min-width: 768px)"
1036            srcset="/images/themes/flow/floating-bubble/calendar.jpg"
1037        />
1038        <img
1039            src="/images/themes/flow/floating-bubble/calendar.jpg"
1040            alt=""
1041            style="object-fit: inherit; height: inherit; width: inherit; "
1042            width="768"
1043            height="398"
1044            fetchpriority="high"
1045        />
1046    </picture>
1047
1048</div>
1049
1050<div
1051    data-component="default.advantage-condensed"
1052    class="bg-blue-800"
1053    x-data="indicator()"
1054>
1055
1056     <div class="xl:container px-4 py-8 space-y-12">
1057
1058        <div class="heading-1 text-white text-center">The Culligan advantage</div>
1059
1060         <div class="flex flex-nowrap md:grid grid-cols-4 gap-8 sm:gap-12 md:gap-6 items-center justify-items-center overflow-x-auto snap-x snap-mandatory scrollbar-hide md:px-4">
1061
1062             <div class="md:hidden w-1/6 sm:w-1/4 shrink-0">&nbsp;</div>
1063
1064             <div
1065                 class="flex gap-4 justify-center items-center text-white w-2/3 sm:w-1/2 md:w-auto shrink-0 snap-center md:max-h-[114px] lg:max-h-[133px] xl:max-h-[152px]"
1066                 x-bind="element(1)"
1067             >
1068                 <img
1069                     src="/images/themes/flow/advantage-condensed/100-guarantee.svg"
1070                     alt="100% Guarantee"
1071                     class="w-1/3"
1072                 />
1073                 <div class="text-xl">100% Guarantee</div>
1074             </div>
1075
1076             <div
1077                 class="flex gap-4 justify-center items-center text-white w-2/3 sm:w-1/2 md:w-auto shrink-0 snap-center md:max-h-[114px] lg:max-h-[133px] xl:max-h-[152px]"
1078                 x-bind="element(2)"
1079             >
1080                 <img
1081                     src="/images/themes/flow/advantage-condensed/custom-water-solutions.svg"
1082                     alt="Custom water solutions"
1083                 />
1084                 <div class="text-xl">Local water experts</div>
1085             </div>
1086
1087             <div
1088                 class="flex gap-4 justify-center items-center text-white w-2/3 sm:w-1/2 md:w-auto shrink-0 snap-center md:max-h-[114px] lg:max-h-[133px] xl:max-h-[152px]"
1089                 x-bind="element(3)"
1090             >
1091                 <img
1092                     src="/images/themes/flow/advantage-condensed/local-water-experts.svg"
1093                     alt="Local water experts"
1094                 />
1095                 <div class="text-xl">Custom water solutions</div>
1096             </div>
1097
1098             <div
1099                 class="flex gap-4 justify-center items-center text-white w-2/3 sm:w-1/2 md:w-auto shrink-0 snap-center md:max-h-[114px] lg:max-h-[133px] xl:max-h-[152px]"
1100                 x-bind="element(4)"
1101             >
1102                 <img
1103                     src="/images/themes/flow/advantage-condensed/90-years.svg"
1104                     alt="90+ years"
1105                     class="w-1/3"
1106                 />
1107                 <div class="text-xl">90+ years</div>
1108             </div>
1109
1110             <div class="md:hidden w-1/6 sm:w-1/4 shrink-0">&nbsp;</div>
1111
1112         </div>
1113
1114         <div
1115        data-component="default.indicators"
1116        class="flex flex-nowrap gap-6 items-center justify-center md:hidden"
1117    >
1118                    <div
1119                class="p-2 rounded-full transition"
1120                x-bind:class="positions.includes(1) ? 'scale-125 bg-white' : 'bg-blue-400 '"
1121            ></div>
1122                    <div
1123                class="p-2 rounded-full transition"
1124                x-bind:class="positions.includes(2) ? 'scale-125 bg-white' : 'bg-blue-400 '"
1125            ></div>
1126                    <div
1127                class="p-2 rounded-full transition"
1128                x-bind:class="positions.includes(3) ? 'scale-125 bg-white' : 'bg-blue-400 '"
1129            ></div>
1130                    <div
1131                class="p-2 rounded-full transition"
1132                x-bind:class="positions.includes(4) ? 'scale-125 bg-white' : 'bg-blue-400 '"
1133            ></div>
1134            </div>
1135
1136    </div>
1137
1138</div>
1139
1140
1141<div
1142    data-component="default.form"
1143    class="bg-blue-500 text-white"
1144>
1145
1146    <div class="xl:container px-4 py-24 md:py-20 ">
1147
1148        <div class="space-y-6 text-center ">
1149
1150            <div class="text-3xl md:text-4xl font-bold">Request service or repairs from Culligan</div>
1151
1152            <div class="text-xl font-semibold"></div>
1153
1154        </div>
1155
1156        <div
1157    data-component="default.contact"
1158    class="text-white"
1159    class="text-blue-800"
1160    x-data="lead('form')"
1161    x-init="
1162        setShown(JSON.parse('{\u0022productInterest\u0022:false,\u0022appointmentRequest\u0022:false}'));
1163        setRequired({});
1164        setValues(JSON.parse('{\u0022prependMessage\u0022:\u0022\u0022,\u0022appendMessage\u0022:\u0022\u0022}'));
1165        loadPaidSearchData(null);
1166    "
1167    x-on:update-contact.window="
1168        updateContact(
1169            $event.detail.identifier ?? 'hidden',
1170            $event.detail.shown ?? {},
1171            $event.detail.required ?? {},
1172            $event.detail.values ?? {},
1173        );
1174    "
1175>
1176
1177    <div x-show="submitStatus !== 'success' && submitStatus !== 'recaptcha_failure'">
1178
1179        <form
1180            x-bind:id="makeId('contact')"
1181            method="post"
1182            novalidate="novalidate"
1183            x-on:submit.prevent="submitForm()"
1184            class="grid grid-cols-1 md:grid-cols-2 gap-x-4 gap-y-3"
1185        >
1186
1187            <!--hidden-->
1188            <input
1189                name="force_id"
1190                type="hidden"
1191                value=""
1192            />
1193
1194            <div x-show="shownFields().customerType || shownFields().customerLocation" class="grid grid-cols-1 gap-x-4 gap-y-3 md:grid-cols-2 col-span-1 md:col-span-2">
1195                <!--customer_type-->
1196                <div
1197                    x-bind:class="{'col-span-full': layout === 'inline'}"
1198                    x-show="shownFields().customerType"
1199                >
1200                    <div class="items-center" x-bind:class="validationClass('customerType')">
1201                        <span x-show="requiredFields().customerType"> * </span>
1202                        <span class="text-sm">Are you a new or current customer?</span>
1203                        <template x-for="(key, value) in customerTypes">
1204                            <button
1205                                type="button"
1206                                class="btn rounded-full block mt-2"
1207                                x-bind:class="isCustomerTypeSelected(value) ? 'btn-indigo' : 'btn-white-indigo'"
1208                                x-on:click="customerType = value"
1209                            >
1210                                <span x-show="isCustomerTypeSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
1211                                <span x-show="!isCustomerTypeSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
1212                                <span x-text="key" class="capitalize font-normal"></span>
1213                            </button>
1214                        </template>
1215                    </div>
1216                    <div
1217                        x-show="showValidation('customerType')"
1218                        x-cloak
1219                        class="invalid-feedback"
1220                    >Please select a customer type</div>
1221                </div>
1222
1223                <!--customer_location-->
1224                <div
1225                    x-bind:class="{'col-span-full': layout === 'inline'}"
1226                    x-show="shownFields().customerLocation"
1227                >
1228                    <div class="items-center" x-bind:class="validationClass('customerLocation')">
1229                        <span x-show="requiredFields().customerLocation"> * </span>
1230                        <span class="text-sm">Home or office use?</span>
1231                        <template x-for="(key, value) in customerLocations">
1232                            <button
1233                                type="button"
1234                                name="customerLocation"
1235                                class="btn rounded-full block mt-2"
1236                                x-bind:class="isCustomerLocationSelected(value) ? 'btn-indigo' : 'btn-white-indigo'"
1237                                x-on:click="customerLocation = value"
1238                            >
1239                                <span x-show="isCustomerLocationSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
1240                                <span x-show="!isCustomerLocationSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
1241                                <span x-text="key" class="capitalize font-normal"></span>
1242                            </button>
1243                        </template>
1244                    </div>
1245                    <div
1246                        x-show="showValidation('customerLocation')"
1247                        x-cloak
1248                        class="invalid-feedback"
1249                    >Please select a customer location</div>
1250                </div>
1251            </div>
1252
1253            <!--first_name-->
1254            <div
1255                x-bind:class="{'col-span-full': layout === 'inline'}"
1256            >
1257                <label
1258                    x-bind:for="makeId('first_name')"
1259                    class="ml-3 mb-1 text-sm"
1260                ><span x-show="requiredFields().firstName"> * </span>First name</label>
1261                <input
1262                    name="first_name"
1263                    type="text"
1264                    class="form-control rounded-full"
1265                    x-bind:class="validationClass('firstName')"
1266                    x-bind:id="makeId('first_name')"
1267                    placeholder="First name"
1268                    autocomplete="given-name"
1269                    required
1270                    x-model.debounce="firstName"
1271                    value=""
1272                    x-bind:disabled="showNoDealers()"
1273                />
1274                <div
1275                    x-show="showValidation('firstName')"
1276                    x-cloak
1277                    class="invalid-feedback"
1278                >Please enter your first name.</div>
1279            </div>
1280
1281            <!--last_name-->
1282            <div
1283                x-bind:class="{'col-span-full': layout === 'inline'}"
1284            >
1285                <label
1286                    x-bind:for="makeId('last_name')"
1287                    class="ml-3 mb-1 text-sm"
1288                ><span x-show="requiredFields().lastName"> * </span>Last name</label>
1289                <input
1290                    name="last_name"
1291                    type="text"
1292                    class="form-control rounded-full"
1293                    x-bind:class="validationClass('lastName')"
1294                    x-bind:id="makeId('last_name')"
1295                    placeholder="Last name"
1296                    autocomplete="family-name"
1297                    required
1298                    x-model.debounce="lastName"
1299                    value=""
1300                    x-bind:disabled="showNoDealers()"
1301                />
1302                <div
1303                    x-show="showValidation('lastName')"
1304                    x-cloak
1305                    class="invalid-feedback"
1306                >Please enter your last name.</div>
1307            </div>
1308
1309            <!--company-->
1310            <div
1311                x-bind:class="{'col-span-full': layout === 'inline'}"
1312                x-show="shownFields().company"
1313            >
1314                <label
1315                    x-bind:for="makeId('company')"
1316                    class="ml-3 mb-1 text-sm"
1317                ><span x-show="requiredFields().company"> * </span>Company</label>
1318                <input
1319                    name="company"
1320                    type="text"
1321                    class="form-control rounded-full"
1322                    x-bind:class="validationClass('company')"
1323                    x-bind:id="makeId('company')"
1324                    placeholder="Company"
1325                    autocomplete="given-name"
1326                    required
1327                    x-model.debounce="company"
1328                    value=""
1329                    x-bind:disabled="showNoDealers()"
1330                />
1331                <div
1332                    x-show="showValidation('company')"
1333                    x-cloak
1334                    class="invalid-feedback"
1335                >Please enter the name of your company.</div>
1336            </div>
1337
1338            <!--address-->
1339            <div
1340                x-bind:class="{'col-span-full': layout === 'inline'}"
1341                x-show="shownFields().address"
1342            >
1343                <label
1344                    x-bind:for="makeId('address')"
1345                    class="ml-3 mb-1 text-sm"
1346                ><span x-show="requiredFields().address"> * </span>Address</label>
1347                <input
1348                    name="address"
1349                    type="text"
1350                    class="form-control rounded-full"
1351                    x-bind:class="validationClass('address')"
1352                    x-bind:id="makeId('address')"
1353                    placeholder="Address"
1354                    autocomplete="street-address"
1355                    required
1356                    x-model.debounce="address"
1357                    value=""
1358                    @places-loaded.window="initAutocomplete()"
1359                />
1360                <div
1361                    x-show="showValidation('address')"
1362                    x-cloak
1363                    class="invalid-feedback"
1364                >Please enter your address.</div>
1365            </div>
1366
1367            <!--street-->
1368            <div
1369                x-bind:class="{'col-span-full': layout === 'inline'}"
1370                x-show="shownFields().street"
1371            >
1372                <label
1373                    x-bind:for="makeId('street')"
1374                    class="ml-3 mb-1 text-sm"
1375                ><span x-show="requiredFields().street"> * </span>Street</label>
1376                <input
1377                    name="street"
1378                    type="text"
1379                    class="form-control rounded-full"
1380                    x-bind:class="validationClass('street')"
1381                    x-bind:id="makeId('street')"
1382                    placeholder="Street"
1383                    autocomplete="street-address"
1384                    required
1385                    x-model.debounce="street"
1386                    value=""
1387                    x-bind:disabled="showNoDealers()"
1388                />
1389                <div
1390                    x-show="showValidation('street')"
1391                    x-cloak
1392                    class="invalid-feedback"
1393                >Please enter your street.</div>
1394            </div>
1395
1396            <!--city-->
1397            <div
1398            x-bind:class="{'col-span-full': layout === 'inline'}"
1399            x-show="shownFields().city"
1400        >
1401            <label
1402                x-bind:for="makeId('city')"
1403                class="ml-3 mb-1 text-sm"
1404            ><span x-show="requiredFields().city"> * </span>City</label>
1405            <input
1406                name="city"
1407                type="text"
1408                class="form-control rounded-full"
1409                x-bind:class="validationClass('city')"
1410                x-bind:id="makeId('city')"
1411                placeholder="City"
1412                autocomplete="city"
1413                required
1414                x-model.debounce="city"
1415                value=""
1416                x-bind:disabled="showNoDealers()"
1417            />
1418            <div
1419                x-show="showValidation('city')"
1420                x-cloak
1421                class="invalid-feedback"
1422            >Please enter your city.</div>
1423        </div>
1424
1425        <!--state-->
1426        <div
1427            x-bind:class="{'col-span-full': layout === 'inline'}"
1428            x-show="shownFields().state"
1429        >
1430            <label
1431                x-bind:for="makeId('state')"
1432                class="ml-3 mb-1 text-sm"
1433                x-text="(requiredFields().state ? ' * ' : '') + stateName()"
1434            ></label>
1435            <select
1436                name="state"
1437                class="form-control rounded-full"
1438                x-bind:class="validationClass('state')"
1439                x-bind:id="makeId('state')"
1440                required
1441                x-model="state"
1442                x-bind:disabled="showNoDealers()"
1443            >
1444                <option disabled selected value="" x-text="stateName()"></option>
1445                                    <option
1446                        value="AL"
1447                    >Alabama</option>
1448                                    <option
1449                        value="AK"
1450                    >Alaska</option>
1451                                    <option
1452                        value="AZ"
1453                    >Arizona</option>
1454                                    <option
1455                        value="AR"
1456                    >Arkansas</option>
1457                                    <option
1458                        value="CA"
1459                    >California</option>
1460                                    <option
1461                        value="CO"
1462                    >Colorado</option>
1463                                    <option
1464                        value="CT"
1465                    >Connecticut</option>
1466                                    <option
1467                        value="DE"
1468                    >Delaware</option>
1469                                    <option
1470                        value="DC"
1471                    >District of Columbia</option>
1472                                    <option
1473                        value="FL"
1474                    >Florida</option>
1475                                    <option
1476                        value="GA"
1477                    >Georgia</option>
1478                                    <option
1479                        value="HI"
1480                    >Hawaii</option>
1481                                    <option
1482                        value="ID"
1483                    >Idaho</option>
1484                                    <option
1485                        value="IL"
1486                    >Illinois</option>
1487                                    <option
1488                        value="IN"
1489                    >Indiana</option>
1490                                    <option
1491                        value="IA"
1492                    >Iowa</option>
1493                                    <option
1494                        value="KS"
1495                    >Kansas</option>
1496                                    <option
1497                        value="KY"
1498                    >Kentucky</option>
1499                                    <option
1500                        value="LA"
1501                    >Louisiana</option>
1502                                    <option
1503                        value="ME"
1504                    >Maine</option>
1505                                    <option
1506                        value="MD"
1507                    >Maryland</option>
1508                                    <option
1509                        value="MA"
1510                    >Massachusetts</option>
1511                                    <option
1512                        value="MI"
1513                    >Michigan</option>
1514                                    <option
1515                        value="MN"
1516                    >Minnesota</option>
1517                                    <option
1518                        value="MS"
1519                    >Mississippi</option>
1520                                    <option
1521                        value="MO"
1522                    >Missouri</option>
1523                                    <option
1524                        value="MT"
1525                    >Montana</option>
1526                                    <option
1527                        value="NE"
1528                    >Nebraska</option>
1529                                    <option
1530                        value="NV"
1531                    >Nevada</option>
1532                                    <option
1533                        value="NH"
1534                    >New Hampshire</option>
1535                                    <option
1536                        value="NJ"
1537                    >New Jersey</option>
1538                                    <option
1539                        value="NM"
1540                    >New Mexico</option>
1541                                    <option
1542                        value="NY"
1543                    >New York</option>
1544                                    <option
1545                        value="NC"
1546                    >North Carolina</option>
1547                                    <option
1548                        value="ND"
1549                    >North Dakota</option>
1550                                    <option
1551                        value="OH"
1552                    >Ohio</option>
1553                                    <option
1554                        value="OK"
1555                    >Oklahoma</option>
1556                                    <option
1557                        value="OR"
1558                    >Oregon</option>
1559                                    <option
1560                        value="PA"
1561                    >Pennsylvania</option>
1562                                    <option
1563                        value="RI"
1564                    >Rhode Island</option>
1565                                    <option
1566                        value="SC"
1567                    >South Carolina</option>
1568                                    <option
1569                        value="SD"
1570                    >South Dakota</option>
1571                                    <option
1572                        value="TN"
1573                    >Tennessee</option>
1574                                    <option
1575                        value="TX"
1576                    >Texas</option>
1577                                    <option
1578                        value="UT"
1579                    >Utah</option>
1580                                    <option
1581                        value="VT"
1582                    >Vermont</option>
1583                                    <option
1584                        value="VA"
1585                    >Virginia</option>
1586                                    <option
1587                        value="WA"
1588                    >Washington</option>
1589                                    <option
1590                        value="WV"
1591                    >West Virginia</option>
1592                                    <option
1593                        value="WI"
1594                    >Wisconsin</option>
1595                                    <option
1596                        value="WY"
1597                    >Wyoming</option>
1598                                    <option
1599                        value="PR"
1600                    >Puerto Rico</option>
1601                            </select>
1602            <div
1603                x-show="showValidation('state')"
1604                x-cloak
1605                class="invalid-feedback"
1606            >Please enter your state.</div>
1607        </div>
1608
1609            <!--postal_code-->
1610            <div
1611                x-bind:class="{'col-span-full': layout === 'inline'}"
1612            >
1613                <label
1614                    x-bind:for="makeId('postal_code')"
1615                    class="ml-3 mb-1 text-sm"
1616                    x-text="(requiredFields().postalCode ? ' * ' : '') + postalCodeName()"
1617                ></label>
1618                <input
1619                    name="postal_code"
1620                    type="text"
1621                    class="form-control rounded-full"
1622                    x-bind:class="validationClass('postalCode')"
1623                    x-bind:id="makeId('postal_code')"
1624                    x-bind:placeholder="postalCodeName()"
1625                    autocomplete="postal-code"
1626                    required
1627                    maxlength="7"
1628                    x-model="postalCode"
1629                    value=""
1630                    x-on:change="searchDealers()"
1631                />
1632                <div
1633                    x-show="showValidation('postalCode')"
1634                    x-cloak
1635                    class="invalid-feedback"
1636                >Please enter your <span x-text="postalCodeName().toLowerCase()"></span>.</div>
1637            </div>
1638
1639            <template x-if="selectedDealer">
1640                <div class="col-span-full bg-gray-200 rounded-lg p-3 text-blue-800">
1641                    <i class="fa-solid fa-map-marker"></i> Your dealer is <span x-text="selectedDealer.name"></span>.
1642                </div>
1643            </template>
1644
1645            <div
1646                class="col-span-full bg-gray-200 rounded-xl p-3 text-blue-800"
1647                x-show="showBottledWaterInterest()"
1648            >
1649                <div class="mb-2">Are you interested in bottled water?</div>
1650                <div>
1651                    <button
1652                        type="button"
1653                        class="btn btn-blue rounded-full"
1654                        x-on:click="updateBottledWaterInterest('yes')"
1655                        x-bind:disabled="showNoDealers()"
1656                    >Yes <i class="fa-solid fa-check"></i></button>
1657                    <button
1658                        type="button"
1659                        class="btn btn-blue rounded-full"
1660                        x-on:click="updateBottledWaterInterest('no')"
1661                        x-bind:disabled="showNoDealers()"
1662                    >No <i class="fa-solid fa-times"></i></button>
1663                </div>
1664            </div>
1665
1666            <div
1667                class="col-span-full grid grid-cols-1 gap-2 text-blue-800"
1668                x-show="showDealerSelect()"
1669            >
1670                <template
1671                    x-for="dealer in filteredDealers()"
1672                    x-bind:key="dealer.id"
1673                >
1674                    <div
1675                        class="bg-gray-100 hover:bg-gray-200 rounded-xl p-3"
1676                        x-bind:class="{ 'border-2 shadow' : dealer.preferred_dealer}"
1677                    >
1678                        <div class="flex items-center">
1679                            <div class="grow">
1680                                <h4 class="text-blue-500 text-lg" x-text="dealer.name"></h4>
1681                                <div x-text="dealer.city + ', ' + dealer.state"></div>
1682                                <div class="mt-1" x-show="dealer.preferred_dealer">
1683                                    <span class="text-xs px-2 py-1 rounded-full bg-blue-500 text-blue-800">Suggested Dealer</span>
1684                                </div>
1685                            </div>
1686                            <div>
1687                                <button
1688                                    type="button"
1689                                    class="btn btn-blue rounded-full text-sm px-2 py-1 whitespace-nowrap"
1690                                    x-on:click="selectDealer(dealer)"
1691                                >Select <i class="fa-solid fa-plus-circle"></i></button>
1692                            </div>
1693                        </div>
1694                    </div>
1695                </template>
1696            </div>
1697
1698            <div
1699                class="col-span-full bg-blue-800 text-white font-bold p-2 rounded-lg text-blue-800"
1700                x-show="showNoDealers()"
1701            >
1702                <i class="fa-solid fa-exclamation-circle mr-1"></i>
1703                Our Culligan dealerships do not service your area. Visit <a x-on:click="logClickToCorporate()" x-bind:href="'https://www.culligan.com/dealer-locator/' + postalCode + '?interest=' + shortenedProductInterest() + '&utm_medium=referral&utm_source=kennedy'" rel="noopener noreferrer" class="underline">culligan.com</a> to view a complete list of dealers.
1704            </div>
1705
1706            <!--phone-->
1707            <div
1708                x-bind:class="{'col-span-full': layout === 'inline'}"
1709                x-show="shownFields().phone"
1710            >
1711                <label
1712                    x-bind:for="makeId('phone')"
1713                    class="ml-3 mb-1 text-sm"
1714                ><span x-show="requiredFields().phone"> * </span>Telephone</label>
1715                <input
1716                    name="phone"
1717                    type="text"
1718                    class="form-control rounded-full"
1719                    x-bind:class="validationClass('phone')"
1720                    x-bind:id="makeId('phone')"
1721                    x-mask="999-999-9999"
1722                    placeholder="Telephone"
1723                    autocomplete="tel-national"
1724                    required
1725                    x-model.debounce="phone"
1726                    value=""
1727                    x-bind:disabled="showNoDealers()"
1728                />
1729                <div
1730                    x-show="showValidation('phone')"
1731                    x-cloak
1732                    class="invalid-feedback"
1733                >Please enter your phone number.</div>
1734            </div>
1735
1736            <!--email-->
1737            <div
1738                x-bind:class="{'col-span-full': layout === 'inline'}"
1739                x-show="shownFields().email"
1740            >
1741                <label
1742                    x-bind:for="makeId('email')"
1743                    class="ml-3 mb-1 text-sm"
1744                ><span x-show="requiredFields().email"> * </span>Email</label>
1745                <input
1746                    name="email" type="email"
1747                    class="form-control rounded-full"
1748                    x-bind:class="validationClass('email')"
1749                    x-bind:id="makeId('email')"
1750                    placeholder="Email"
1751                    autocomplete="email"
1752                    required
1753                    x-model.debounce="email"
1754                    value=""
1755                    x-bind:disabled="showNoDealers()"
1756                />
1757                <div
1758                    x-show="showValidation('email')"
1759                    x-cloak
1760                    class="invalid-feedback"
1761                >Please enter your email.</div>
1762            </div>
1763
1764            <!--product_interest-->
1765            <div
1766                class="col-span-full"
1767                x-show="shownFields().productInterest"
1768            >
1769                <label
1770                    x-bind:for="makeId('product_interest')"
1771                    class="ml-3 mb-1 text-sm"
1772                ><span x-show="requiredFields().productInterest"> * </span>Product interest</label>
1773                <select
1774                    name="product_interest"
1775                    class="form-control rounded-full"
1776                    x-bind:class="validationClass('productInterest')"
1777                    x-bind:id="makeId('product_interest')"
1778                    required
1779                    x-model="productInterest"
1780                    x-bind:disabled="showNoDealers()"
1781                >
1782                    <option disabled selected value="">Product interest</option>
1783                                            <option
1784                            value="water_softener"
1785                        >Water Softening and Salt-Free Conditioner</option>
1786                                            <option
1787                            value="drinking_water_system"
1788                        >Drinking Water System</option>
1789                                            <option
1790                            value="bottled_water"
1791                        >Bottled Water</option>
1792                                            <option
1793                            value="bottleless_coolers"
1794                        >Bottleless Coolers</option>
1795                                            <option
1796                            value="service"
1797                        >Billing, Customer Service, Repair, Salt</option>
1798                                            <option
1799                            value="commercial_and_industrial"
1800                        >Commercial / Industrial</option>
1801                                            <option
1802                            value="culligan_brand"
1803                        >Other, Please Explain</option>
1804                                    </select>
1805                <div
1806                    x-show="showValidation('productInterest')"
1807                    x-cloak
1808                    class="invalid-feedback"
1809                >Please select your interest.</div>
1810            </div>
1811
1812            <!--referral_source-->
1813            <div
1814                class="col-span-full"
1815                x-show="shownFields().referralSource"
1816            >
1817                <label
1818                    x-bind:for="makeId('referral_source')"
1819                    class="ml-3 mb-1 text-sm"
1820                ><span x-show="requiredFields().referralSource"> * </span>How did you hear about us?</label>
1821                <select
1822                    name="referral_source"
1823                    class="form-control rounded-full"
1824                    x-bind:class="validationClass('referralSource')"
1825                    x-bind:id="makeId('referral_source')"
1826                    required
1827                    x-model="referralSource"
1828                    x-bind:disabled="showNoDealers()"
1829                >
1830                    <option disabled selected value="">Referral Source</option>
1831                    <template x-for="source in referral_sources">
1832                        <option
1833                            x-bind:value="source"
1834                            x-text="source"
1835                        ></option>
1836                    </template>
1837                </select>
1838                <div
1839                    x-show="showValidation('referralSource')"
1840                    x-cloak
1841                    class="invalid-feedback"
1842                >Please select your referral source.</div>
1843            </div>
1844
1845            <!--delivery_type-->
1846            <div
1847                class="col-span-full"
1848                x-show="shownFields().deliveryType"
1849            >
1850                <div class="items-center space-x-2" x-bind:class="validationClass('deliveryType')">
1851                    <span class="text-sm"><span x-show="requiredFields().deliveryType"> * </span>Delivery Type</span>
1852                    <template x-for="value in deliveryTypes">
1853                        <button
1854                            type="button"
1855                            class="btn rounded-full"
1856                            x-bind:class="isDeliveryTypeSelected(value) ? 'btn-indigo' : 'btn-white'"
1857                            x-on:click="selectDeliveryType(value)"
1858                            x-bind:disabled="showNoDealers()"
1859                        >
1860                            <span x-text="value" class="capitalize"></span>
1861                            <span x-show="isDeliveryTypeSelected(value)"><i class="fa-solid fa-check-square fa-fw"></i></span>
1862                            <span x-show="!isDeliveryTypeSelected(value)"><i class="fa-solid fa-square fa-fw"></i></span>
1863                        </button>
1864                    </template>
1865                </div>
1866                <div
1867                    x-show="showValidation('deliveryType')"
1868                    x-cloak
1869                    class="invalid-feedback"
1870                >Select a valid delivery type.</div>
1871            </div>
1872
1873            <!--free_water_test-->
1874            <div
1875                class="col-span-full"
1876                x-show="shownFields().freeWaterTest"
1877            >
1878                <label
1879                    x-bind:for="makeId('free_water_test_yes')"
1880                    class="ml-3 mb-1 text-sm"
1881                ><span x-show="requiredFields().freeWaterTest"> * </span>Free water test</label>
1882                <div class="px-1 py-2" x-bind:class="validationClass('freeWaterTest')">
1883                    <input
1884                        name="free_water_test"
1885                        type="radio"
1886                        x-bind:id="makeId('free_water_test_yes')"
1887                        value="yes"
1888                        x-model.debounce="freeWaterTest"
1889                    />
1890                    <label
1891                        x-bind:for="makeId('free_water_test_yes')"
1892                    >Yes</label>
1893                    <input
1894                        name="free_water_test"
1895                        type="radio"
1896                        class="ml-2"
1897                        x-bind:id="makeId('free_water_test_no')"
1898                        value="no"
1899                        x-model.debounce="freeWaterTest"
1900                        x-bind:disabled="showNoDealers()"
1901                    />
1902                    <label
1903                        x-bind:for="makeId('free_water_test_no')"
1904                    >No</label>
1905                </div>
1906                <div
1907                    x-show="showValidation('freeWaterTest')"
1908                    x-cloak
1909                    class="invalid-feedback"
1910                >Please select if you would like a free water test.</div>
1911            </div>
1912
1913            <!--appointment_request-->
1914            <div
1915                class="col-span-full space-y-3"
1916                x-show="shownFields().appointmentRequest"
1917            >
1918
1919                <div>
1920                    <input
1921                        name="appointment_request"
1922                        type="checkbox"
1923                        class="rounded-md"
1924                        x-bind:id="makeId('appointment_request')"
1925                        value=""
1926                        x-model="appointmentRequest"
1927                        x-bind:disabled="showNoDealers() || (requiredFields().appointmentRequest && appointmentRequest)"
1928                    />
1929                    <label
1930                        x-bind:for="makeId('appointment_request')"
1931                    ><span x-show="requiredFields().appointmentRequest"> * </span>Interested in an appointment?</label>
1932                </div>
1933
1934                <div
1935                    class="space-y-3"
1936                    x-show="appointmentRequest"
1937                >
1938
1939                    <div>
1940                        <div class="mb-1">Your Culligan professional will contact you to confirm your request.</div>
1941                        <div>Your request is subject to availability, holidays and hours of operation.</div>
1942                    </div>
1943
1944                    <div x-show="shownFields().preferredTime">
1945                        <label
1946                            x-bind:for="makeId('preferred_time')"
1947                            class="ml-3 mb-1 text-sm"
1948                        ><span x-show="requiredFields().preferredTime"> * </span>Preferred time</label>
1949                        <select
1950                            name="preferred_time"
1951                            class="form-control rounded-full"
1952                            x-bind:class="validationClass('preferredTime')"
1953                            x-bind:id="makeId('preferred_time')"
1954                            required
1955                            x-model="preferredTime"
1956                            x-bind:disabled="showNoDealers()"
1957                        >
1958                            <option disabled selected value="">Select a time</option>
1959                            <template x-for="time in preferredTimes">
1960                                <option
1961                                    x-bind:value="time"
1962                                    x-text="time"
1963                                ></option>
1964                            </template>
1965                        </select>
1966                        <div
1967                            x-show="showValidation('preferredTime')"
1968                            x-cloak
1969                            class="invalid-feedback"
1970                        >Please select your preferred time.</div>
1971                    </div>
1972
1973                    <div x-show="shownFields().preferredDate">
1974                        <div
1975                            class="ml-3 mb-1 text-sm block"
1976                        ><span x-show="requiredFields().preferredDate"> * </span>Preferred date</div>
1977                        <div
1978                            class="form-control rounded-full"
1979                            x-bind:class="validationClass('preferredDate')"
1980                        >
1981                            <input
1982                                name="preferred_date"
1983                                class="border-none p-0 w-11/12 focus:ring-0"
1984                                placeholder="Select a date"
1985                                x-ref="preferredDate"
1986                                x-model="preferredDate"
1987                                x-bind:disabled="showNoDealers()"
1988                            />
1989                        </div>
1990                        <div
1991                            x-show="showValidation('preferredDate')"
1992                            x-cloak
1993                            class="invalid-feedback"
1994                        >Please select your preferred date.</div>
1995                    </div>
1996
1997                </div>
1998
1999            </div>
2000
2001            <!--message-->
2002            <div
2003                class="col-span-full"
2004                x-show="shownFields().message"
2005            >
2006                <label
2007                    x-bind:for="makeId('message')"
2008                    class="ml-3 mb-1 text-sm"
2009                ><span x-show="requiredFields().message"> * </span>Additional information</label>
2010                <textarea
2011                    name="message"
2012                    rows="5"
2013                    class="form-control rounded-lg"
2014                    x-bind:class="validationClass('message')"
2015                    x-bind:id="makeId('message')"
2016                    required
2017                    x-model.debounce="message"
2018                    placeholder="Add a message"
2019                    x-bind:disabled="showNoDealers()"
2020                ></textarea>
2021                <div
2022                    x-show="showValidation('message')"
2023                    x-cloak
2024                    class="invalid-feedback"
2025                >Add a message</div>
2026            </div>
2027
2028            <!--nurture-->
2029            <div
2030                class="col-span-full"
2031                x-show="showNurture()"
2032            >
2033                <div>
2034                    <input
2035                        name="nurture"
2036                        type="checkbox"
2037                        x-bind:id="makeId('nurture')"
2038                        x-model.debounce="nurture"
2039                    />
2040                    <span x-show="requiredFields().nurture"> * </span>
2041                    <label
2042                        x-bind:for="makeId('nurture')"
2043                        class="ml-3 mb-1 text-sm"
2044                        x-html="nurture_title"
2045                    ></label>
2046                </div>
2047                <div class="text-xs" x-html="nurture_body"></div>
2048                <div
2049                    x-show="showValidation('nurture')"
2050                    x-cloak
2051                    class="invalid-feedback"
2052                >Please agree to continue.</div>
2053            </div>
2054
2055            <!--disclaimer-->
2056            <div
2057                class="col-span-full"
2058                x-show="shownFields().disclaimer && requiredFields().phone"
2059            >
2060                <div class="text-xs" x-html="disclaimer"></div>
2061            </div>
2062
2063            <!--recaptcha-->
2064            <div
2065                class="col-span-full"
2066            >
2067                <div class="text-xs">
2068                    This site is protected by reCAPTCHA and the Google
2069                    <a href="https://policies.google.com/privacy">Privacy Policy</a> and
2070                    <a href="https://policies.google.com/terms">Terms of Service</a> apply.
2071                </div>
2072            </div>
2073
2074            <!--submit-->
2075            <div class="col-span-full">
2076                <button
2077                    type="submit"
2078                    x-bind:id="makeId('submit')"
2079                    class="btn btn-white-blue rounded-full"
2080                    x-bind:class="{'opacity-60' : submitStatus === 'in progress'}"
2081                    x-bind:style="showNoDealers() ? 'pointer-events: none' : ''"
2082                    x-bind:disabled="showNoDealers()"
2083                >Submit <span x-show="hasLeadInSession">Again</span>
2084                    <span x-show="submitStatus !== 'in progress'"><i class="fa-sharp fa-regular fa-arrow-right ml-1"></i></span>
2085                    <span x-show="submitStatus === 'in progress'"><i class="fa-solid fa-spinner fa-fw fa-spin"></i></span>
2086                </button>
2087            </div>
2088
2089        </form>
2090
2091    </div>
2092
2093    <template x-if="submitStatus === 'success' && (typeof show === 'undefined' || show)">
2094
2095        <div class="pt-3 pb-5 border-b border-gray-500">
2096            <div class="text-blue-800 mb-3">
2097                <div class="text-3xl">Thank you for contacting us.</div>
2098                <div class="text-lg">One of our local water experts will contact you shortly.</div>
2099            </div>
2100            <div class="aspect-w-16 aspect-h-9">
2101                <iframe
2102                    src="https://fast.wistia.net/embed/iframe/mvbxtgs846?videoFoam=true"
2103                    title="Culligan-Thank-You Video"
2104                    allow="autoplay; fullscreen"
2105                    allowtransparency="true"
2106                    allowfullscreen
2107                    width="100%"
2108                    height="100%"
2109                ></iframe>
2110            </div>
2111        </div>
2112
2113    </template>
2114
2115    <template x-if="submitStatus === 'recaptcha_failure' && (typeof show === 'undefined' || show)">
2116
2117        <div class="pt-3 pb-5 border-b border-gray-500">
2118            <div class="text-blue-800 mb-3">
2119                <div class="text-2xl">We ran into an issue submitting your form, please call
2120                    <a
2121                        href="tel:8663304482"
2122                        class="headerPhone text-2xl text-blue-500 font-bold underline"
2123                        x-data="phone('8663304482', 'recaptcha_fail')"
2124                        x-bind="clickToCall"
2125                    >
2126                        866-330-4482
2127                    </a>
2128                to connect with your Culligan Dealer.</div>
2129            </div>
2130        </div>
2131
2132    </template>
2133
2134</div>
2135
2136    </div>
2137
2138</div>
2139</div>
2140
2141        </main>
2142
2143        <footer
2144    data-component="flow.footer"
2145    class="bg-blue-800"
2146>
2147
2148    <div class="2xl:container px-4 py-8 space-y-6 relative">
2149
2150        <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-6 items-center">
2151
2152            <div class="col-span-1 md:col-span-2 text-left">
2153                <a href="/">
2154                    <img
2155                            src="/images/logos/logo-white.svg"
2156                            alt="Culligan"
2157                            class="w-32 md:w-56"
2158                            loading="lazy"
2159                    />
2160                </a>
2161            </div>
2162
2163            <div class="col-span-1 text-left">
2164
2165                <div class="grid grid-cols-1 gap-3">
2166                    <div class="text-white font-bold"></div>
2167                    <div class="text-white text-sm">Discover the perfect solution for your water needs with our Culligan experts. Not sure where to start? Take our <strong>Water Quiz</strong> to get personalized recommendations, or schedule your free in-home water test today.</div>
2168                </div>
2169            </div>
2170
2171            <div class="col-span-1 text-left md:text-center">
2172
2173                <a
2174        x-data
2175        x-bind:id="null ?? $id('cta')"
2176        href="/water-solutions"
2177        class="btn btn-azure rounded-full md:text-2xl px-4 btn-white md:text-base"
2178        target="_self"
2179    >Take water quiz</a>
2180
2181
2182            </div>
2183
2184        </div>
2185
2186        <hr class="bg-slate-500" />
2187
2188        <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-6">
2189
2190            <div class="md:col-span-2 xl:col-span-3">
2191
2192                <div
2193    data-component="flow.footer-links"
2194    class="grid grid-cols-1 sm:grid-cols-3 gap-6"
2195>
2196
2197            <div class="space-y-4">
2198            <div class="text-white font-bold text-lg">Current Customers</div>
2199                            <a
2200                    href="https://portal.unco.mcgware.com/"
2201                    target="_blank"
2202                    rel="noopener"
2203                    class="block text-white hover:underline transition duration-500"
2204                    aria-label="Opens in new tab"
2205                >View or Pay Bill</a>
2206                            <a
2207                    href="/content/documents/pdf/sterling-billing-update-june-25(1).pdf"
2208                    target="_blank"
2209                    rel="noopener"
2210                    class="block text-white hover:underline transition duration-500"
2211                    aria-label="Opens in new tab"
2212                >Important Changes to Deliveries, Statements and Invoices</a>
2213                            <a
2214                    href="https://webapp.getthereferral.com//partnerPages.php?companyCode=44624"
2215                    target="_blank"
2216                    rel="noopener"
2217                    class="block text-white hover:underline transition duration-500"
2218                    aria-label="Opens in new tab"
2219                >Referral Program</a>
2220                            <a
2221                    href="/services/service-repairs"
2222                    target="_blank"
2223                    rel="noopener"
2224                    class="block text-white hover:underline transition duration-500"
2225                    aria-label="Opens in new tab"
2226                >Service &amp; Repairs</a>
2227                            <a
2228                    href="/help-guides/bypass-videos"
2229                    target="_blank"
2230                    rel="noopener"
2231                    class="block text-white hover:underline transition duration-500"
2232                    aria-label="Opens in new tab"
2233                >Softener Bypass Videos</a>
2234                            <a
2235                    href="https://www.culligan.com/support/product-information/product-manuals"
2236                    target="_blank"
2237                    rel="noopener"
2238                    class="block text-white hover:underline transition duration-500"
2239                    aria-label="Opens in new tab"
2240                >Manuals - Softeners, Filters, ROs &amp; Bottled Water</a>
2241                            <a
2242                    href="https://sterlingwater.com/product-catalog/"
2243                    target="_blank"
2244                    rel="noopener"
2245                    class="block text-white hover:underline transition duration-500"
2246                    aria-label="Opens in new tab"
2247                >Manuals - Bottleless Water Coolers</a>
2248                            <a
2249                    href="/contact-your-water-expert"
2250                    target=""
2251                    rel=""
2252                    class="block text-white hover:underline transition duration-500"
2253                    aria-label="Opens in same tab"
2254                >Contact</a>
2255                    </div>
2256            <div class="space-y-4">
2257            <div class="text-white font-bold text-lg">Services</div>
2258                            <a
2259                    href="/services/water-testing"
2260                    target=""
2261                    rel=""
2262                    class="block text-white hover:underline transition duration-500"
2263                    aria-label="Opens in same tab"
2264                >Water Testing</a>
2265                            <a
2266                    href="/water-solutions"
2267                    target=""
2268                    rel=""
2269                    class="block text-white hover:underline transition duration-500"
2270                    aria-label="Opens in same tab"
2271                >Water Problems Quiz</a>
2272                            <a
2273                    href="/services/well-water-testing"
2274                    target=""
2275                    rel=""
2276                    class="block text-white hover:underline transition duration-500"
2277                    aria-label="Opens in same tab"
2278                >Well Water Testing</a>
2279                            <a
2280                    href="/water-solutions"
2281                    target=""
2282                    rel=""
2283                    class="block text-white hover:underline transition duration-500"
2284                    aria-label="Opens in same tab"
2285                >Water Quiz</a>
2286                            <a
2287                    href="/services/water-delivery"
2288                    target=""
2289                    rel=""
2290                    class="block text-white hover:underline transition duration-500"
2291                    aria-label="Opens in same tab"
2292                >Water Delivery</a>
2293                            <a
2294                    href="/services/salt-delivery"
2295                    target=""
2296                    rel=""
2297                    class="block text-white hover:underline transition duration-500"
2298                    aria-label="Opens in same tab"
2299                >Salt Delivery</a>
2300                            <a
2301                    href="/services/service-repairs"
2302                    target=""
2303                    rel=""
2304                    class="block text-white hover:underline transition duration-500"
2305                    aria-label="Opens in same tab"
2306                >Service &amp; Repairs</a>
2307                            <a
2308                    href="/services/chloride-reduction"
2309                    target=""
2310                    rel=""
2311                    class="block text-white hover:underline transition duration-500"
2312                    aria-label="Opens in same tab"
2313                >Chloride Reduction</a>
2314                            <a
2315                    href="/services/culligan-coupons-specials"
2316                    target=""
2317                    rel=""
2318                    class="block text-white hover:underline transition duration-500"
2319                    aria-label="Opens in same tab"
2320                >Coupons &amp; Specials</a>
2321                            <a
2322                    href="/services/culligan-connected-home"
2323                    target=""
2324                    rel=""
2325                    class="block text-white hover:underline transition duration-500"
2326                    aria-label="Opens in same tab"
2327                >Culligan Connected Home</a>
2328                    </div>
2329            <div class="space-y-4">
2330            <div class="text-white font-bold text-lg">Water Problems</div>
2331                            <a
2332                    href="/water-problems/water-contaminants-101"
2333                    target=""
2334                    rel=""
2335                    class="block text-white hover:underline transition duration-500"
2336                    aria-label="Opens in same tab"
2337                >Water Contaminants</a>
2338                            <a
2339                    href="/water-problems/perfluorinated-chemicals"
2340                    target=""
2341                    rel=""
2342                    class="block text-white hover:underline transition duration-500"
2343                    aria-label="Opens in same tab"
2344                >PFAS</a>
2345                            <a
2346                    href="/water-problems/lead-contamination"
2347                    target=""
2348                    rel=""
2349                    class="block text-white hover:underline transition duration-500"
2350                    aria-label="Opens in same tab"
2351                >Lead Contamination</a>
2352                            <a
2353                    href="/water-problems/hard-water"
2354                    target=""
2355                    rel=""
2356                    class="block text-white hover:underline transition duration-500"
2357                    aria-label="Opens in same tab"
2358                >Hard Water</a>
2359                            <a
2360                    href="/water-problems/smelly-water"
2361                    target=""
2362                    rel=""
2363                    class="block text-white hover:underline transition duration-500"
2364                    aria-label="Opens in same tab"
2365                >Smelly Water</a>
2366                            <a
2367                    href="/water-problems/bad-tasting-water"
2368                    target=""
2369                    rel=""
2370                    class="block text-white hover:underline transition duration-500"
2371                    aria-label="Opens in same tab"
2372                >Bad Tasting Water</a>
2373                            <a
2374                    href="/water-problems/high-iron-water"
2375                    target=""
2376                    rel=""
2377                    class="block text-white hover:underline transition duration-500"
2378                    aria-label="Opens in same tab"
2379                >High Iron Water</a>
2380                    </div>
2381    
2382</div>
2383
2384            </div>
2385
2386            <div class="space-y-4">
2387
2388                <div class="text-white font-bold text-lg font-bold">Contact Us</div>
2389
2390                <div class="flex items-center gap-2 text-white">
2391                    <i aria-hidden="true" class="fa-solid fa-envelope fa-fw"></i>
2392                    <a
2393                        href="/contact-your-water-expert"
2394                        class="block text-xl hover:underline font-bold"
2395                    >Contact Us</a>
2396                </div>
2397
2398                <div class="flex items-center gap-2 text-white">
2399                    <i aria-hidden="true" class="fa-solid fa-phone fa-fw animate-wiggle"></i>
2400                    <a
2401                        href="tel:8779841822"
2402                        class="footerPhone block text-xl hover:underline font-bold"
2403                        x-data="phone('8779841822', 'footer')"
2404                        x-bind="clickToCall"
2405                    >877-984-1822</a>
2406                </div>
2407
2408                <div class="flex gap-3 text-white">
2409                    <a
2410                        href="https://www.facebook.com/SterlingCulliganWater"
2411                        target="_blank"
2412                        rel="noopener"
2413                        title="Facebook"
2414                        aria-label="Facebook"
2415                    >
2416                        <i class="fa-brands fa-facebook text-lg hover:text-[#4267B2] transition duration-500"></i>
2417                        <span class="sr-only">Facebook</span>
2418                    </a>
2419                    <a
2420                        href="https://www.instagram.com/sterlingculliganwater/"
2421                        target="_blank"
2422                        rel="noopener"
2423                        title="Instagram"
2424                        aria-label="Instagram"
2425                    >
2426                        <i class="fa-brands fa-instagram text-lg hover:text-[#5851DB] transition duration-500"></i>
2427                        <span class="sr-only">Instagram</span>
2428                    </a>
2429                                                                            </div>
2430
2431                <div
2432    data-component="default.links-sidebar-bottom"
2433></div>
2434
2435            </div>
2436
2437        </div>
2438
2439                    <hr class="bg-slate-500" />
2440        
2441                    <div>
2442                <span class="text-white font-bold">Locations in:</span>
2443                                                            <a
2444                            href="https://www.culliganh2o.com/locations/sauk-centre-mn/1088?dealer=1088"
2445                            class="underline text-white"
2446                        >
2447                            Sauk Centre MN
2448                        </a>
2449                                        <span class="text-white"> | </span>
2450                                                            <a
2451                            href="https://www.culliganh2o.com/locations/eau-claire-wi/1253?dealer=1253"
2452                            class="underline text-white"
2453                        >
2454                            Eau Claire WI
2455                        </a>
2456                                        <span class="text-white"> | </span>
2457                                                            <a
2458                            href="https://www.culliganh2o.com/locations/rothschild-wi/1252?dealer=1252"
2459                            class="underline text-white"
2460                        >
2461                            Rothschild WI
2462                        </a>
2463                                        <span class="text-white"> | </span>
2464                                                            <a
2465                            href="https://www.culliganh2o.com/locations/waupaca-wi/1228?dealer=1228"
2466                            class="underline text-white"
2467                        >
2468                            Waupaca WI
2469                        </a>
2470                                        <span class="text-white"></span>
2471                            </div>
2472        
2473                    <div>
2474                <span class="text-white font-bold">Proudly serving:</span>
2475                <span class="text-white">Eau Claire WI <span>|</span> Wausau WI <span>|</span> Stevens Point WI <span>|</span> Marshfield WI <span>|</span> Wisconsin Rapids WI <span>|</span> Willmar MN <span>|</span> Menomonie WI <span>|</span> Chippewa Falls WI <span>|</span> Mosinee WI <span>|</span> Sauk Centre MN <span>|</span> Little Falls MN <span>|</span> Long Prairie MN <span>|</span> Antigo WI</span>
2476            </div>
2477        
2478        <hr class="bg-slate-500" />
2479
2480        <div class="flex flex-wrap gap-2">
2481            <div class="text-white font-bold">&copy;2026 Culligan. All Rights Reserved.</div>
2482            <div>
2483                <a
2484                    href="/privacy-policy"
2485                    class="text-white hover:underline"
2486                >Privacy Policy</a>
2487                <span class="text-white">|</span>
2488                                <a
2489                    href="/site-structure"
2490                    class="text-white hover:underline"
2491                >Sitemap</a>
2492                <span class="text-white">|</span>
2493                <a
2494                    href="/accessibility-statement"
2495                    class="text-white hover:underline"
2496                >Accessibility</a>
2497            </div>
2498        </div>
2499
2500    </div>
2501
2502</footer>
2503
2504    </div>
2505
2506    <div
2507    data-component="default.overlay"
2508    class="fixed inset-0 bg-blue-800/50 backdrop-blur-sm z-50 flex overscroll-none"
2509    x-data="{show: false}"
2510    x-show="show"
2511    x-cloak
2512    x-on:toggle-overlay.window="show = $event.detail"
2513    x-transition:enter="transition ease-out duration-200"
2514    x-transition:enter-start="opacity-0"
2515    x-transition:enter-end="opacity-100"
2516    x-transition:leave="transition ease-in duration-200"
2517    x-transition:leave-start="opacity-100"
2518    x-transition:leave-end="opacity-0"
2519>
2520    <div
2521    data-component="default.mobile-nav"
2522    class="absolute top-0 right-0 h-full overflow-y-auto overscroll-contain bg-white py-2 max-w-full w-[450px]"
2523    aria-label="Mobile Navigation"
2524    aria-modal="true"
2525    role="dialog"
2526    x-data="{
2527        show: false
2528    }"
2529    x-show="show"
2530    x-cloak
2531    x-on:toggle-mobile-nav.window="show = !show; $dispatch('toggle-overlay', show)"
2532    x-on:click.outside="show = false; $dispatch('toggle-overlay', false)"
2533    x-on:keyup.escape="show = false; $dispatch('toggle-overlay', false)"
2534    x-transition:enter="transition ease-out duration-500"
2535    x-transition:enter-start="translate-x-[500px]"
2536    x-transition:enter-end="translate-x-0"
2537    x-transition:leave="transition ease-in duration-200"
2538    x-transition:leave-start="translate-x-0"
2539    x-transition:leave-end="translate-x-[500px]"
2540    x-trap.noscroll.inert.noreturn="show"
2541>
2542
2543<nav class="flex items-center justify-between bg-white p-2">
2544    <a
2545        href="/"
2546    >
2547        <img
2548            src="/images/logos/culligan_water_you_love.svg"
2549            alt="Sterling Culligan Water"
2550            class="hidden sm:block h-10"
2551        />
2552        <img
2553            src="/images/logos/logo.svg"
2554            alt="Sterling Culligan Water"
2555            class="sm:hidden h-10"
2556        />
2557    </a>
2558
2559    <button
2560        type="button"
2561        class="px-2"
2562        aria-expanded="false"
2563        aria-label="Close Mobile Navigation"
2564        x-data
2565        x-on:click="show = false; $dispatch('toggle-overlay', false)"
2566    >
2567        <i class="fa-regular fa-x fa-2x text-blue-500 text-xl"></i>
2568    </button>
2569</nav>
2570
2571    <nav
2572        aria-label="Main Navigation"
2573        x-cloak
2574        x-data="accordion()"
2575    >
2576
2577        
2578                                                <a
2579                        href="https://portal.unco.mcgware.com"
2580                        target="_blank"
2581                        rel="noopener"
2582                        class="block text-blue-800 text-lg font-medium px-6 py-3"
2583                    >Pay Bill Online <i class="fa-solid fa-up-right-from-square fa-xs"></i></a>
2584                                                                <div>
2585                        <button
2586                            type="button"
2587                            class="flex gap-6 justify-between items-center w-full text-left text-blue-800 text-lg font-medium px-6 py-3"
2588                            x-bind="trigger('Softeners &amp; Filters')"
2589                        >
2590                            Softeners &amp; Filters
2591                            <i class="fa-solid fa-angle-up ml-1" x-show="isActive('Softeners &amp; Filters')"></i>
2592                            <i class="fa-solid fa-angle-down ml-1" x-show="!isActive('Softeners &amp; Filters')"></i>
2593                        </button>
2594                        <div
2595                            class="pt-1 pb-3 px-10 space-y-3"
2596                            x-bind="panel('Softeners &amp; Filters')"
2597                            x-cloak
2598                        >
2599                                                                                                <a
2600                                        href="/softeners-filters/water-softeners"
2601                                        target=""
2602                                        rel=""
2603                                        class="block text-blue-800 text-lg"
2604                                    >
2604Water Softeners </a>
2605                                                                                                                                <a
2606                                        href="/softeners-filters/whole-home-water-filters"
2607                                        target=""
2608                                        rel=""
2609                                        class="block text-blue-800 text-lg"
2610                                    >Whole Home Water Filters </a>
2611                                                                                    </div>
2612                    </div>
2613                                                                <div>
2614                        <button
2615                            type="button"
2616                            class="flex gap-6 justify-between items-center w-full text-left text-blue-800 text-lg font-medium px-6 py-3"
2617                            x-bind="trigger('Drinking Water &amp; Coolers')"
2618                        >
2619                            Drinking Water &amp; Coolers
2620                            <i class="fa-solid fa-angle-up ml-1" x-show="isActive('Drinking Water &amp; Coolers')"></i>
2621                            <i class="fa-solid fa-angle-down ml-1" x-show="!isActive('Drinking Water &amp; Coolers')"></i>
2622                        </button>
2623                        <div
2624                            class="pt-1 pb-3 px-10 space-y-3"
2625                            x-bind="panel('Drinking Water &amp; Coolers')"
2626                            x-cloak
2627                        >
2628                                                                                                <a
2629                                        href="/drinking-water-coolers/reverse-osmosis-drinking-water-systems"
2630                                        target=""
2631                                        rel=""
2632                                        class="block text-blue-800 text-lg"
2633                                    >RO Drinking Water Systems </a>
2634                                                                                                                                <a
2635                                        href="https://sterlingwater.com/"
2636                                        target="_blank"
2637                                        rel="noopener"
2638                                        class="block text-blue-800 text-lg"
2639                                    >Bottleless Coolers <i class="fa-solid fa-up-right-from-square fa-xs"></i></a>
2640                                                                                                                                <a
2641                                        href="/drinking-water-coolers/bottled-water-coolers"
2642                                        target=""
2643                                        rel=""
2644                                        class="block text-blue-800 text-lg"
2645                                    >Bottled Water &amp; Coolers </a>
2646                                                                                    </div>
2647                    </div>
2648                                                                <div>
2649                        <button
2650                            type="button"
2651                            class="flex gap-6 justify-between items-center w-full text-left text-blue-800 text-lg font-medium px-6 py-3"
2652                            x-bind="trigger('Services')"
2653                        >
2654                            Services
2655                            <i class="fa-solid fa-angle-up ml-1" x-show="isActive('Services')"></i>
2656                            <i class="fa-solid fa-angle-down ml-1" x-show="!isActive('Services')"></i>
2657                        </button>
2658                        <div
2659                            class="pt-1 pb-3 px-10 space-y-3"
2660                            x-bind="panel('Services')"
2661                            x-cloak
2662                        >
2663                                                                                                <a
2664                                        href="/services/water-testing"
2665                                        target=""
2666                                        rel=""
2667                                        class="block text-blue-800 text-lg"
2668                                    >Water Testing </a>
2669                                                                                                                                <a
2670                                        href="/services/well-water-testing"
2671                                        target=""
2672                                        rel=""
2673                                        class="block text-blue-800 text-lg"
2674                                    >Well Water Testing </a>
2675                                                                                                                                <a
2676                                        href="/water-solutions"
2677                                        target=""
2678                                        rel=""
2679                                        class="block text-blue-800 text-lg"
2680                                    >Water Quiz </a>
2681                                                                                                                                <a
2682                                        href="/services/water-delivery"
2683                                        target=""
2684                                        rel=""
2685                                        class="block text-blue-800 text-lg"
2686                                    >
2686Water Delivery </a>
2687                                                                                                                                <a
2688                                        href="/services/salt-delivery"
2689                                        target=""
2690                                        rel=""
2691                                        class="block text-blue-800 text-lg"
2692                                    >Salt Delivery </a>
2693                                                                                                                                <a
2694                                        href="/services/service-repairs"
2695                                        target=""
2696                                        rel=""
2697                                        class="block text-blue-800 text-lg"
2698                                    >Service &amp; Repairs </a>
2699                                                                                                                                <a
2700                                        href="/services/chloride-reduction"
2701                                        target=""
2702                                        rel=""
2703                                        class="block text-blue-800 text-lg"
2704                                    >Chloride Reduction </a>
2705                                                                                                                                <a
2706                                        href="/services/culligan-coupons-specials"
2707                                        target=""
2708                                        rel=""
2709                                        class="block text-blue-800 text-lg"
2710                                    >Coupons &amp; Specials </a>
2711                                                                                                                                <a
2712                                        href="/services/culligan-connected-home"
2713                                        target=""
2714                                        rel=""
2715                                        class="block text-blue-800 text-lg"
2716                                    >Culligan Connected Home </a>
2717                                                                                    </div>
2718                    </div>
2719                                                                <div>
2720                        <button
2721                            type="button"
2722                            class="flex gap-6 justify-between items-center w-full text-left text-blue-800 text-lg font-medium px-6 py-3"
2723                            x-bind="trigger('About')"
2724                        >
2725                            About
2726                            <i class="fa-solid fa-angle-up ml-1" x-show="isActive('About')"></i>
2727                            <i class="fa-solid fa-angle-down ml-1" x-show="!isActive('About')"></i>
2728                        </button>
2729                        <div
2730                            class="pt-1 pb-3 px-10 space-y-3"
2731                            x-bind="panel('About')"
2732                            x-cloak
2733                        >
2734                                                                                                <a
2735                                        href="/locations/eau-claire-wi/1253"
2736                                        target=""
2737                                        rel=""
2738                                        class="block text-blue-800 text-lg"
2739                                    >Sterling Culligan Water of Eau Claire </a>
2740                                                                                                                                <a
2741                                        href="/locations/rothschild-wi/1252"
2742                                        target=""
2743                                        rel=""
2744                                        class="block text-blue-800 text-lg"
2745                                    >Sterling Culligan Water of Rothschild </a>
2746                                                                                                                                <a
2747                                        href="/locations/sauk-centre-mn/1088"
2748                                        target=""
2749                                        rel=""
2750                                        class="block text-blue-800 text-lg"
2751                                    >Sterling Culligan Water of Sauk Centre </a>
2752                                                                                                                                <a
2753                                        href="/locations/waupaca-wi/1228"
2754                                        target=""
2755                                        rel=""
2756                                        class="block text-blue-800 text-lg"
2757                                    >Sterling Culligan Water of Waupaca </a>
2758                                                                                                                                <a
2759                                        href="/about/sterling-history"
2760                                        target=""
2761                                        rel=""
2762                                        class="block text-blue-800 text-lg"
2763                                    >Sterling Water History </a>
2764                                                                                                                                <a
2765                                        href="/about/subscribe-buy-finance"
2766                                        target=""
2767                                        rel=""
2768                                        class="block text-blue-800 text-lg"
2769                                    >Subscribe, Buy &amp; Finance </a>
2770                                                                                                                                <a
2771                                        href="/about/why-choose-culligan"
2772                                        target=""
2773                                        rel=""
2774                                        class="block text-blue-800 text-lg"
2775                                    >Why Choose Culligan? </a>
2776                                                                                                                                <a
2777                                        href="/about/careers"
2778                                        target=""
2779                                        rel=""
2780                                        class="block text-blue-800 text-lg"
2781                                    >Careers </a>
2782                                                                                    </div>
2783                    </div>
2784                                                                <a
2785                        href="/contact-your-water-expert"
2786                        target=""
2787                        rel=""
2788                        class="block text-blue-800 text-lg font-medium px-6 py-3"
2789                    >Contact </a>
2790                            
2791                            <hr class="my-6" />
2792            
2793        
2794                                                <div>
2795                        <button
2796                            type="button"
2797                            class="flex gap-6 justify-between items-center w-full text-left text-blue-800 text-lg font-medium px-6 py-3"
2798                            x-bind="trigger('Current Customers')"
2799                        >
2800                            Current Customers
2801                            <i class="fa-solid fa-angle-up ml-1" x-show="isActive('Current Customers')"></i>
2802                            <i class="fa-solid fa-angle-down ml-1" x-show="!isActive('Current Customers')"></i>
2803                        </button>
2804                        <div
2805                            class="pt-1 pb-3 px-10 space-y-3"
2806                            x-bind="panel('Current Customers')"
2807                            x-cloak
2808                        >
2809                                                                                                <a
2810                                        href="https://portal.unco.mcgware.com/"
2811                                        target="_blank"
2812                                        rel="noopener"
2813                                        class="block text-blue-800 text-lg"
2814                                    >View or Pay Bill <i class="fa-solid fa-up-right-from-square fa-xs"></i></a>
2815                                                                                                                                <a
2816                                        href="/content/documents/pdf/sterling-billing-update-june-25(1).pdf"
2817                                        target="_blank"
2818                                        rel="noopener"
2819                                        class="block text-blue-800 text-lg"
2820                                    >Important Changes to Deliveries, Statements and Invoices </a>
2821                                                                                                                                <a
2822                                        href="https://webapp.getthereferral.com//partnerPages.php?companyCode=44624"
2823                                        target="_blank"
2824                                        rel="noopener"
2825                                        class="block text-blue-800 text-lg"
2826                                    >Referral Program <i class="fa-solid fa-up-right-from-square fa-xs"></i></a>
2827                                                                                                                                <a
2828                                        href="/services/service-repairs"
2829                                        target="_blank"
2830                                        rel="noopener"
2831                                        class="block text-blue-800 text-lg"
2832                                    >Service &amp; Repairs </a>
2833                                                                                                                                <a
2834                                        href="/help-guides/bypass-videos"
2835                                        target="_blank"
2836                                        rel="noopener"
2837                                        class="block text-blue-800 text-lg"
2838                                    >
2838Softener Bypass Videos </a>
2839                                                                                                                                <a
2840                                        href="https://www.culligan.com/support/product-information/product-manuals"
2841                                        target="_blank"
2842                                        rel="noopener"
2843                                        class="block text-blue-800 text-lg"
2844                                    >Manuals - Softeners, Filters, ROs &amp; Bottled Water <i class="fa-solid fa-up-right-from-square fa-xs"></i></a>
2845                                                                                                                                <a
2846                                        href="https://sterlingwater.com/product-catalog/"
2847                                        target="_blank"
2848                                        rel="noopener"
2849                                        class="block text-blue-800 text-lg"
2850                                    >Manuals - Bottleless Water Coolers <i class="fa-solid fa-up-right-from-square fa-xs"></i></a>
2851                                                                                                                                <a
2852                                        href="/contact-your-water-expert"
2853                                        target=""
2854                                        rel=""
2855                                        class="block text-blue-800 text-lg"
2856                                    >Contact </a>
2857                                                                                    </div>
2858                    </div>
2859                                                                <a
2860                        href="/services/culligan-coupons-specials"
2861                        target=""
2862                        rel=""
2863                        class="block text-blue-800 text-lg font-medium px-6 py-3"
2864                    >Special Offers </a>
2865                            
2866                            <button
2867        x-bind:id="'drawer_cta_mobile' ?? $id('cta')"
2868        type="button"
2869        class="btn btn-azure rounded-full md:text-2xl md:text-base my-4 block justify-between items-center w-11/12 mx-auto text-center"
2870        x-data
2871        
2872                    x-on:click="
2873                $dispatch('update-contact', []);
2874                $dispatch('toggle-drawer', {
2875                    heading: null,
2876                    body: null,
2877                });
2878            "
2879            >Get pricing</button>
2880
2881            
2882        
2883    </nav>
2884
2885    
2886        <hr class="my-6" />
2887
2888        <h2
2889            class="text-blue-800 text-lg font-semibold pb-3 px-6"
2890        >Switch Sites</h2>
2891
2892        <nav
2893            aria-label="Site Navigation"
2894            class="px-6 space-y-3"
2895        >
2896
2897            
2898                <a
2899                    href="/"
2900                    target=""
2901                    rel=""
2902                    class="block text-blue-800"
2903                >
2904                    Residential
2905                                    </a>
2906
2907            
2908                <a
2909                    href="https://sterlingwater.com/"
2910                    target="_blank"
2911                    rel="noopener"
2912                    class="block text-blue-800"
2913                >
2914                    Office
2915                                            <i class="fa-solid fa-up-right-from-square ml-1"></i>
2916                                    </a>
2917
2918            
2919                <a
2920                    href="https://www.sterlingculliganwater.com/"
2921                    target="_blank"
2922                    rel="noopener"
2923                    class="block text-blue-800"
2924                >
2925                    Commercial
2926                                            <i class="fa-solid fa-up-right-from-square ml-1"></i>
2927                                    </a>
2928
2929            
2930        </nav>
2931
2932    
2933</div>
2934        <div
2935    data-component="default.drawer"
2936    aria-describedby="drawerDescription"
2937    aria-modal="true"
2938    class="absolute top-0 right-0 h-full overflow-y-auto overscroll-contain bg-white px-4 sm:px-6 md:px-8 py-12 sm:py-16 md:py-20 w-[568px] max-w-full"
2939    role="dialog"
2940    tabindex="-1"
2941    x-bind:aria-label="heading"
2942    x-data="{
2943        show: false,
2944        heading: 'Get pricing \u0026 special offers',
2945        body: 'Call \u003Ca href=\u0022tel:+18779841822\u0022 class=\u0022formPhone text-blue-800 font-bold underline hover:no-underline\u0022\u003E877-984-1822\u003C\/a\u003E or fill out the form to get a custom water solution.',
2946    }"
2947    x-init="$watch('show', value => $dispatch('toggle-overlay', value)); "
2948    x-show="show"
2949    x-cloak
2950    x-on:toggle-drawer.window="
2951        show = !show;
2952        $event.detail.heading ? heading = $event.detail.heading : null;
2953        $event.detail.body ? body = $event.detail.body : null;
2954    "
2955    x-on:click.outside="show = false"
2956    x-on:keyup.escape="show = false"
2957    x-transition:enter="transition ease-out duration-500"
2958    x-transition:enter-start="translate-x-[500px]"
2959    x-transition:enter-end="translate-x-0"
2960    x-transition:leave="transition ease-in duration-200"
2961    x-transition:leave-start="translate-x-0"
2962    x-transition:leave-end="translate-x-[500px]"
2963    x-trap.noscroll.inert.noreturn="show"
2964>
2965
2966    <div class="space-y-4 sm:space-y-6 md:space-y-8" 
2967        x-on:click.stop
2968    >
2969
2970        <h2
2971            class="text-2xl sm:text-3xl md:text-4xl text-blue-800 font-bold"
2972            x-text="heading"
2973        ></h2>
2974
2975        <div
2976            id="drawerDescription"
2977            class="text-base sm:text-lg md:text-xl text-blue-800 font-semibold"
2978            x-html="body"
2979        ></div>
2980
2981        <div
2982    data-component="default.contact"
2983    
2984    class="text-blue-800"
2985    x-data="lead('drawer')"
2986    x-init="
2987        setShown({});
2988        setRequired({});
2989        setValues(JSON.parse('{\u0022prependMessage\u0022:\u0022\u0022,\u0022appendMessage\u0022:\u0022\u0022}'));
2990        loadPaidSearchData(null);
2991    "
2992    x-on:update-contact.window="
2993        updateContact(
2994            $event.detail.identifier ?? 'hidden',
2995            $event.detail.shown ?? {},
2996            $event.detail.required ?? {},
2997            $event.detail.values ?? {},
2998        );
2999    "
3000>
3001
3002    <div x-show="submitStatus !== 'success' && submitStatus !== 'recaptcha_failure'">
3003
3004        <form
3005            x-bind:id="makeId('contact')"
3006            method="post"
3007            novalidate="novalidate"
3008            x-on:submit.prevent="submitForm()"
3009            class="grid grid-cols-1 md:grid-cols-2 gap-x-4 gap-y-3"
3010        >
3011
3012            <!--hidden-->
3013            <input
3014                name="force_id"
3015                type="hidden"
3016                value=""
3017            />
3018
3019            <div x-show="shownFields().customerType || shownFields().customerLocation" class="grid grid-cols-1 gap-x-4 gap-y-3 md:grid-cols-2 col-span-1 md:col-span-2">
3020                <!--customer_type-->
3021                <div
3022                    x-bind:class="{'col-span-full': layout === 'inline'}"
3023                    x-show="shownFields().customerType"
3024                >
3025                    <div class="items-center" x-bind:class="validationClass('customerType')">
3026                        <span x-show="requiredFields().customerType"> * </span>
3027                        <span class="text-sm">Are you a new or current customer?</span>
3028                        <template x-for="(key, value) in customerTypes">
3029                            <button
3030                                type="button"
3031                                class="btn rounded-full block mt-2"
3032                                x-bind:class="isCustomerTypeSelected(value) ? 'btn-indigo' : 'btn-white-indigo'"
3033                                x-on:click="customerType = value"
3034                            >
3035                                <span x-show="isCustomerTypeSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
3036                                <span x-show="!isCustomerTypeSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
3037                                <span x-text="key" class="capitalize font-normal"></span>
3038                            </button>
3039                        </template>
3040                    </div>
3041                    <div
3042                        x-show="showValidation('customerType')"
3043                        x-cloak
3044                        class="invalid-feedback"
3045                    >Please select a customer type</div>
3046                </div>
3047
3048                <!--customer_location-->
3049                <div
3050                    x-bind:class="{'col-span-full': layout === 'inline'}"
3051                    x-show="shownFields().customerLocation"
3052                >
3053                    <div class="items-center" x-bind:class="validationClass('customerLocation')">
3054                        <span x-show="requiredFields().customerLocation"> * </span>
3055                        <span class="text-sm">Home or office use?</span>
3056                        <template x-for="(key, value) in customerLocations">
3057                            <button
3058                                type="button"
3059                                name="customerLocation"
3060                                class="btn rounded-full block mt-2"
3061                                x-bind:class="isCustomerLocationSelected(value) ? 'btn-indigo' : 'btn-white-indigo'"
3062                                x-on:click="customerLocation = value"
3063                            >
3064                                <span x-show="isCustomerLocationSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
3065                                <span x-show="!isCustomerLocationSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
3066                                <span x-text="key" class="capitalize font-normal"></span>
3067                            </button>
3068                        </template>
3069                    </div>
3070                    <div
3071                        x-show="showValidation('customerLocation')"
3072                        x-cloak
3073                        class="invalid-feedback"
3074                    >Please select a customer location</div>
3075                </div>
3076            </div>
3077
3078            <!--first_name-->
3079            <div
3080                x-bind:class="{'col-span-full': layout === 'inline'}"
3081            >
3082                <label
3083                    x-bind:for="makeId('first_name')"
3084                    class="ml-3 mb-1 text-sm"
3085                ><span x-show="requiredFields().firstName"> * </span>First name</label>
3086                <input
3087                    name="first_name"
3088                    type="text"
3089                    class="form-control rounded-full"
3090                    x-bind:class="validationClass('firstName')"
3091                    x-bind:id="makeId('first_name')"
3092                    placeholder="First name"
3093                    autocomplete="given-name"
3094                    required
3095                    x-model.debounce="firstName"
3096                    value=""
3097                    x-bind:disabled="showNoDealers()"
3098                />
3099                <div
3100                    x-show="showValidation('firstName')"
3101                    x-cloak
3102                    class="invalid-feedback"
3103                >Please enter your first name.</div>
3104            </div>
3105
3106            <!--last_name-->
3107            <div
3108                x-bind:class="{'col-span-full': layout === 'inline'}"
3109            >
3110                <label
3111                    x-bind:for="makeId('last_name')"
3112                    class="ml-3 mb-1 text-sm"
3113                ><span x-show="requiredFields().lastName"> * </span>Last name</label>
3114                <input
3115                    name="last_name"
3116                    type="text"
3117                    class="form-control rounded-full"
3118                    x-bind:class="validationClass('lastName')"
3119                    x-bind:id="makeId('last_name')"
3120                    placeholder="Last name"
3121                    autocomplete="family-name"
3122                    required
3123                    x-model.debounce="lastName"
3124                    value=""
3125                    x-bind:disabled="showNoDealers()"
3126                />
3127                <div
3128                    x-show="showValidation('lastName')"
3129                    x-cloak
3130                    class="invalid-feedback"
3131                >Please enter your last name.</div>
3132            </div>
3133
3134            <!--company-->
3135            <div
3136                x-bind:class="{'col-span-full': layout === 'inline'}"
3137                x-show="shownFields().company"
3138            >
3139                <label
3140                    x-bind:for="makeId('company')"
3141                    class="ml-3 mb-1 text-sm"
3142                ><span x-show="requiredFields().company"> * </span>Company</label>
3143                <input
3144                    name="company"
3145                    type="text"
3146                    class="form-control rounded-full"
3147                    x-bind:class="validationClass('company')"
3148                    x-bind:id="makeId('company')"
3149                    placeholder="Company"
3150                    autocomplete="given-name"
3151                    required
3152                    x-model.debounce="company"
3153                    value=""
3154                    x-bind:disabled="showNoDealers()"
3155                />
3156                <div
3157                    x-show="showValidation('company')"
3158                    x-cloak
3159                    class="invalid-feedback"
3160                >Please enter the name of your company.</div>
3161            </div>
3162
3163            <!--address-->
3164            <div
3165                x-bind:class="{'col-span-full': layout === 'inline'}"
3166                x-show="shownFields().address"
3167            >
3168                <label
3169                    x-bind:for="makeId('address')"
3170                    class="ml-3 mb-1 text-sm"
3171                ><span x-show="requiredFields().address"> * </span>Address</label>
3172                <input
3173                    name="address"
3174                    type="text"
3175                    class="form-control rounded-full"
3176                    x-bind:class="validationClass('address')"
3177                    x-bind:id="makeId('address')"
3178                    placeholder="Address"
3179                    autocomplete="street-address"
3180                    required
3181                    x-model.debounce="address"
3182                    value=""
3183                    @places-loaded.window="initAutocomplete()"
3184                />
3185                <div
3186                    x-show="showValidation('address')"
3187                    x-cloak
3188                    class="invalid-feedback"
3189                >Please enter your address.</div>
3190            </div>
3191
3192            <!--street-->
3193            <div
3194                x-bind:class="{'col-span-full': layout === 'inline'}"
3195                x-show="shownFields().street"
3196            >
3197                <label
3198                    x-bind:for="makeId('street')"
3199                    class="ml-3 mb-1 text-sm"
3200                ><span x-show="requiredFields().street"> * </span>Street</label>
3201                <input
3202                    name="street"
3203                    type="text"
3204                    class="form-control rounded-full"
3205                    x-bind:class="validationClass('street')"
3206                    x-bind:id="makeId('street')"
3207                    placeholder="Street"
3208                    autocomplete="street-address"
3209                    required
3210                    x-model.debounce="street"
3211                    value=""
3212                    x-bind:disabled="showNoDealers()"
3213                />
3214                <div
3215                    x-show="showValidation('street')"
3216                    x-cloak
3217                    class="invalid-feedback"
3218                >Please enter your street.</div>
3219            </div>
3220
3221            <!--city-->
3222            <div
3223            x-bind:class="{'col-span-full': layout === 'inline'}"
3224            x-show="shownFields().city"
3225        >
3226            <label
3227                x-bind:for="makeId('city')"
3228                class="ml-3 mb-1 text-sm"
3229            ><span x-show="requiredFields().city"> * </span>City</label>
3230            <input
3231                name="city"
3232                type="text"
3233                class="form-control rounded-full"
3234                x-bind:class="validationClass('city')"
3235                x-bind:id="makeId('city')"
3236                placeholder="City"
3237                autocomplete="city"
3238                required
3239                x-model.debounce="city"
3240                value=""
3241                x-bind:disabled="showNoDealers()"
3242            />
3243            <div
3244                x-show="showValidation('city')"
3245                x-cloak
3246                class="invalid-feedback"
3247            >Please enter your city.</div>
3248        </div>
3249
3250        <!--state-->
3251        <div
3252            x-bind:class="{'col-span-full': layout === 'inline'}"
3253            x-show="shownFields().state"
3254        >
3255            <label
3256                x-bind:for="makeId('state')"
3257                class="ml-3 mb-1 text-sm"
3258                x-text="(requiredFields().state ? ' * ' : '') + stateName()"
3259            ></label>
3260            <select
3261                name="state"
3262                class="form-control rounded-full"
3263                x-bind:class="validationClass('state')"
3264                x-bind:id="makeId('state')"
3265                required
3266                x-model="state"
3267                x-bind:disabled="showNoDealers()"
3268            >
3269                <option disabled selected value="" x-text="stateName()"></option>
3270                                    <option
3271                        value="AL"
3272                    >Alabama</option>
3273                                    <option
3274                        value="AK"
3275                    >Alaska</option>
3276                                    <option
3277                        value="AZ"
3278                    >Arizona</option>
3279                                    <option
3280                        value="AR"
3281                    >Arkansas</option>
3282                                    <option
3283                        value="CA"
3284                    >California</option>
3285                                    <option
3286                        value="CO"
3287                    >Colorado</option>
3288                                    <option
3289                        value="CT"
3290                    >Connecticut</option>
3291                                    <option
3292                        value="DE"
3293                    >Delaware</option>
3294                                    <option
3295                        value="DC"
3296                    >District of Columbia</option>
3297                                    <option
3298                        value="FL"
3299                    >Florida</option>
3300                                    <option
3301                        value="GA"
3302                    >Georgia</option>
3303                                    <option
3304                        value="HI"
3305                    >Hawaii</option>
3306                                    <option
3307                        value="ID"
3308                    >Idaho</option>
3309                                    <option
3310                        value="IL"
3311                    >Illinois</option>
3312                                    <option
3313                        value="IN"
3314                    >Indiana</option>
3315                                    <option
3316                        value="IA"
3317                    >Iowa</option>
3318                                    <option
3319                        value="KS"
3320                    >Kansas</option>
3321                                    <option
3322                        value="KY"
3323                    >Kentucky</option>
3324                                    <option
3325                        value="LA"
3326                    >Louisiana</option>
3327                                    <option
3328                        value="ME"
3329                    >Maine</option>
3330                                    <option
3331                        value="MD"
3332                    >Maryland</option>
3333                                    <option
3334                        value="MA"
3335                    >Massachusetts</option>
3336                                    <option
3337                        value="MI"
3338                    >Michigan</option>
3339                                    <option
3340                        value="MN"
3341                    >Minnesota</option>
3342                                    <option
3343                        value="MS"
3344                    >Mississippi</option>
3345                                    <option
3346                        value="MO"
3347                    >Missouri</option>
3348                                    <option
3349                        value="MT"
3350                    >Montana</option>
3351                                    <option
3352                        value="NE"
3353                    >Nebraska</option>
3354                                    <option
3355                        value="NV"
3356                    >Nevada</option>
3357                                    <option
3358                        value="NH"
3359                    >New Hampshire</option>
3360                                    <option
3361                        value="NJ"
3362                    >New Jersey</option>
3363                                    <option
3364                        value="NM"
3365                    >New Mexico</option>
3366                                    <option
3367                        value="NY"
3368                    >New York</option>
3369                                    <option
3370                        value="NC"
3371                    >North Carolina</option>
3372                                    <option
3373                        value="ND"
3374                    >North Dakota</option>
3375                                    <option
3376                        value="OH"
3377                    >Ohio</option>
3378                                    <option
3379                        value="OK"
3380                    >Oklahoma</option>
3381                                    <option
3382                        value="OR"
3383                    >Oregon</option>
3384                                    <option
3385                        value="PA"
3386                    >Pennsylvania</option>
3387                                    <option
3388                        value="RI"
3389                    >Rhode Island</option>
3390                                    <option
3391                        value="SC"
3392                    >South Carolina</option>
3393                                    <option
3394                        value="SD"
3395                    >South Dakota</option>
3396                                    <option
3397                        value="TN"
3398                    >Tennessee</option>
3399                                    <option
3400                        value="TX"
3401                    >Texas</option>
3402                                    <option
3403                        value="UT"
3404                    >Utah</option>
3405                                    <option
3406                        value="VT"
3407                    >Vermont</option>
3408                                    <option
3409                        value="VA"
3410                    >Virginia</option>
3411                                    <option
3412                        value="WA"
3413                    >Washington</option>
3414                                    <option
3415                        value="WV"
3416                    >West Virginia</option>
3417                                    <option
3418                        value="WI"
3419                    >Wisconsin</option>
3420                                    <option
3421                        value="WY"
3422                    >Wyoming</option>
3423                                    <option
3424                        value="PR"
3425                    >Puerto Rico</option>
3426                            </select>
3427            <div
3428                x-show="showValidation('state')"
3429                x-cloak
3430                class="invalid-feedback"
3431            >Please enter your state.</div>
3432        </div>
3433
3434            <!--postal_code-->
3435            <div
3436                x-bind:class="{'col-span-full': layout === 'inline'}"
3437            >
3438                <label
3439                    x-bind:for="makeId('postal_code')"
3440                    class="ml-3 mb-1 text-sm"
3441                    x-text="(requiredFields().postalCode ? ' * ' : '') + postalCodeName()"
3442                ></label>
3443                <input
3444                    name="postal_code"
3445                    type="text"
3446                    class="form-control rounded-full"
3447                    x-bind:class="validationClass('postalCode')"
3448                    x-bind:id="makeId('postal_code')"
3449                    x-bind:placeholder="postalCodeName()"
3450                    autocomplete="postal-code"
3451                    required
3452                    maxlength="7"
3453                    x-model="postalCode"
3454                    value=""
3455                    x-on:change="searchDealers()"
3456                />
3457                <div
3458                    x-show="showValidation('postalCode')"
3459                    x-cloak
3460                    class="invalid-feedback"
3461                >Please enter your <span x-text="postalCodeName().toLowerCase()"></span>.</div>
3462            </div>
3463
3464            <template x-if="selectedDealer">
3465                <div class="col-span-full bg-gray-200 rounded-lg p-3 text-blue-800">
3466                    <i class="fa-solid fa-map-marker"></i> Your dealer is <span x-text="selectedDealer.name"></span>.
3467                </div>
3468            </template>
3469
3470            <div
3471                class="col-span-full bg-gray-200 rounded-xl p-3 text-blue-800"
3472                x-show="showBottledWaterInterest()"
3473            >
3474                <div class="mb-2">Are you interested in bottled water?</div>
3475                <div>
3476                    <button
3477                        type="button"
3478                        class="btn btn-blue rounded-full"
3479                        x-on:click="updateBottledWaterInterest('yes')"
3480                        x-bind:disabled="showNoDealers()"
3481                    >Yes <i class="fa-solid fa-check"></i></button>
3482                    <button
3483                        type="button"
3484                        class="btn btn-blue rounded-full"
3485                        x-on:click="updateBottledWaterInterest('no')"
3486                        x-bind:disabled="showNoDealers()"
3487                    >No <i class="fa-solid fa-times"></i></button>
3488                </div>
3489            </div>
3490
3491            <div
3492                class="col-span-full grid grid-cols-1 gap-2 text-blue-800"
3493                x-show="showDealerSelect()"
3494            >
3495                <template
3496                    x-for="dealer in filteredDealers()"
3497                    x-bind:key="dealer.id"
3498                >
3499                    <div
3500                        class="bg-gray-100 hover:bg-gray-200 rounded-xl p-3"
3501                        x-bind:class="{ 'border-2 shadow' : dealer.preferred_dealer}"
3502                    >
3503                        <div class="flex items-center">
3504                            <div class="grow">
3505                                <h4 class="text-blue-500 text-lg" x-text="dealer.name"></h4>
3506                                <div x-text="dealer.city + ', ' + dealer.state"></div>
3507                                <div class="mt-1" x-show="dealer.preferred_dealer">
3508                                    <span class="text-xs px-2 py-1 rounded-full bg-blue-500 text-blue-800">Suggested Dealer</span>
3509                                </div>
3510                            </div>
3511                            <div>
3512                                <button
3513                                    type="button"
3514                                    class="btn btn-blue rounded-full text-sm px-2 py-1 whitespace-nowrap"
3515                                    x-on:click="selectDealer(dealer)"
3516                                >Select <i class="fa-solid fa-plus-circle"></i></button>
3517                            </div>
3518                        </div>
3519                    </div>
3520                </template>
3521            </div>
3522
3523            <div
3524                class="col-span-full bg-blue-800 text-white font-bold p-2 rounded-lg text-blue-800"
3525                x-show="showNoDealers()"
3526            >
3527                <i class="fa-solid fa-exclamation-circle mr-1"></i>
3528                Our Culligan dealerships do not service your area. Visit <a x-on:click="logClickToCorporate()" x-bind:href="'https://www.culligan.com/dealer-locator/' + postalCode + '?interest=' + shortenedProductInterest() + '&utm_medium=referral&utm_source=kennedy'" rel="noopener noreferrer" class="underline">culligan.com</a> to view a complete list of dealers.
3529            </div>
3530
3531            <!--phone-->
3532            <div
3533                x-bind:class="{'col-span-full': layout === 'inline'}"
3534                x-show="shownFields().phone"
3535            >
3536                <label
3537                    x-bind:for="makeId('phone')"
3538                    class="ml-3 mb-1 text-sm"
3539                ><span x-show="requiredFields().phone"> * </span>Telephone</label>
3540                <input
3541                    name="phone"
3542                    type="text"
3543                    class="form-control rounded-full"
3544                    x-bind:class="validationClass('phone')"
3545                    x-bind:id="makeId('phone')"
3546                    x-mask="999-999-9999"
3547                    placeholder="Telephone"
3548                    autocomplete="tel-national"
3549                    required
3550                    x-model.debounce="phone"
3551                    value=""
3552                    x-bind:disabled="showNoDealers()"
3553                />
3554                <div
3555                    x-show="showValidation('phone')"
3556                    x-cloak
3557                    class="invalid-feedback"
3558                >Please enter your phone number.</div>
3559            </div>
3560
3561            <!--email-->
3562            <div
3563                x-bind:class="{'col-span-full': layout === 'inline'}"
3564                x-show="shownFields().email"
3565            >
3566                <label
3567                    x-bind:for="makeId('email')"
3568                    class="ml-3 mb-1 text-sm"
3569                ><span x-show="requiredFields().email"> * </span>Email</label>
3570                <input
3571                    name="email" type="email"
3572                    class="form-control rounded-full"
3573                    x-bind:class="validationClass('email')"
3574                    x-bind:id="makeId('email')"
3575                    placeholder="Email"
3576                    autocomplete="email"
3577                    required
3578                    x-model.debounce="email"
3579                    value=""
3580                    x-bind:disabled="showNoDealers()"
3581                />
3582                <div
3583                    x-show="showValidation('email')"
3584                    x-cloak
3585                    class="invalid-feedback"
3586                >Please enter your email.</div>
3587            </div>
3588
3589            <!--product_interest-->
3590            <div
3591                class="col-span-full"
3592                x-show="shownFields().productInterest"
3593            >
3594                <label
3595                    x-bind:for="makeId('product_interest')"
3596                    class="ml-3 mb-1 text-sm"
3597                ><span x-show="requiredFields().productInterest"> * </span>Product interest</label>
3598                <select
3599                    name="product_interest"
3600                    class="form-control rounded-full"
3601                    x-bind:class="validationClass('productInterest')"
3602                    x-bind:id="makeId('product_interest')"
3603                    required
3604                    x-model="productInterest"
3605                    x-bind:disabled="showNoDealers()"
3606                >
3607                    <option disabled selected value="">Product interest</option>
3608                                            <option
3609                            value="water_softener"
3610                        >Water Softening and Salt-Free Conditioner</option>
3611                                            <option
3612                            value="drinking_water_system"
3613                        >Drinking Water System</option>
3614                                            <option
3615                            value="bottled_water"
3616                        >Bottled Water</option>
3617                                            <option
3618                            value="bottleless_coolers"
3619                        >Bottleless Coolers</option>
3620                                            <option
3621                            value="service"
3622                        >Billing, Customer Service, Repair, Salt</option>
3623                                            <option
3624                            value="commercial_and_industrial"
3625                        >Commercial / Industrial</option>
3626                                            <option
3627                            value="culligan_brand"
3628                        >Other, Please Explain</option>
3629                                    </select>
3630                <div
3631                    x-show="showValidation('productInterest')"
3632                    x-cloak
3633                    class="invalid-feedback"
3634                >Please select your interest.</div>
3635            </div>
3636
3637            <!--referral_source-->
3638            <div
3639                class="col-span-full"
3640                x-show="shownFields().referralSource"
3641            >
3642                <label
3643                    x-bind:for="makeId('referral_source')"
3644                    class="ml-3 mb-1 text-sm"
3645                ><span x-show="requiredFields().referralSource"> * </span>How did you hear about us?</label>
3646                <select
3647                    name="referral_source"
3648                    class="form-control rounded-full"
3649                    x-bind:class="validationClass('referralSource')"
3650                    x-bind:id="makeId('referral_source')"
3651                    required
3652                    x-model="referralSource"
3653                    x-bind:disabled="showNoDealers()"
3654                >
3655                    <option disabled selected value="">Referral Source</option>
3656                    <template x-for="source in referral_sources">
3657                        <option
3658                            x-bind:value="source"
3659                            x-text="source"
3660                        ></option>
3661                    </template>
3662                </select>
3663                <div
3664                    x-show="showValidation('referralSource')"
3665                    x-cloak
3666                    class="invalid-feedback"
3667                >Please select your referral source.</div>
3668            </div>
3669
3670            <!--delivery_type-->
3671            <div
3672                class="col-span-full"
3673                x-show="shownFields().deliveryType"
3674            >
3675                <div class="items-center space-x-2" x-bind:class="validationClass('deliveryType')">
3676                    <span class="text-sm"><span x-show="requiredFields().deliveryType"> * </span>Delivery Type</span>
3677                    <template x-for="value in deliveryTypes">
3678                        <button
3679                            type="button"
3680                            class="btn rounded-full"
3681                            x-bind:class="isDeliveryTypeSelected(value) ? 'btn-indigo' : 'btn-white'"
3682                            x-on:click="selectDeliveryType(value)"
3683                            x-bind:disabled="showNoDealers()"
3684                        >
3685                            <span x-text="value" class="capitalize"></span>
3686                            <span x-show="isDeliveryTypeSelected(value)"><i class="fa-solid fa-check-square fa-fw"></i></span>
3687                            <span x-show="!isDeliveryTypeSelected(value)"><i class="fa-solid fa-square fa-fw"></i></span>
3688                        </button>
3689                    </template>
3690                </div>
3691                <div
3692                    x-show="showValidation('deliveryType')"
3693                    x-cloak
3694                    class="invalid-feedback"
3695                >Select a valid delivery type.</div>
3696            </div>
3697
3698            <!--free_water_test-->
3699            <div
3700                class="col-span-full"
3701                x-show="shownFields().freeWaterTest"
3702            >
3703                <label
3704                    x-bind:for="makeId('free_water_test_yes')"
3705                    class="ml-3 mb-1 text-sm"
3706                ><span x-show="requiredFields().freeWaterTest"> * </span>Free water test</label>
3707                <div class="px-1 py-2" x-bind:class="validationClass('freeWaterTest')">
3708                    <input
3709                        name="free_water_test"
3710                        type="radio"
3711                        x-bind:id="makeId('free_water_test_yes')"
3712                        value="yes"
3713                        x-model.debounce="freeWaterTest"
3714                    />
3715                    <label
3716                        x-bind:for="makeId('free_water_test_yes')"
3717                    >Yes</label>
3718                    <input
3719                        name="free_water_test"
3720                        type="radio"
3721                        class="ml-2"
3722                        x-bind:id="makeId('free_water_test_no')"
3723                        value="no"
3724                        x-model.debounce="freeWaterTest"
3725                        x-bind:disabled="showNoDealers()"
3726                    />
3727                    <label
3728                        x-bind:for="makeId('free_water_test_no')"
3729                    >No</label>
3730                </div>
3731                <div
3732                    x-show="showValidation('freeWaterTest')"
3733                    x-cloak
3734                    class="invalid-feedback"
3735                >Please select if you would like a free water test.</div>
3736            </div>
3737
3738            <!--appointment_request-->
3739            <div
3740                class="col-span-full space-y-3"
3741                x-show="shownFields().appointmentRequest"
3742            >
3743
3744                <div>
3745                    <input
3746                        name="appointment_request"
3747                        type="checkbox"
3748                        class="rounded-md"
3749                        x-bind:id="makeId('appointment_request')"
3750                        value=""
3751                        x-model="appointmentRequest"
3752                        x-bind:disabled="showNoDealers() || (requiredFields().appointmentRequest && appointmentRequest)"
3753                    />
3754                    <label
3755                        x-bind:for="makeId('appointment_request')"
3756                    ><span x-show="requiredFields().appointmentRequest"> * </span>Interested in an appointment?</label>
3757                </div>
3758
3759                <div
3760                    class="space-y-3"
3761                    x-show="appointmentRequest"
3762                >
3763
3764                    <div>
3765                        <div class="mb-1">Your Culligan professional will contact you to confirm your request.</div>
3766                        <div>Your request is subject to availability, holidays and hours of operation.</div>
3767                    </div>
3768
3769                    <div x-show="shownFields().preferredTime">
3770                        <label
3771                            x-bind:for="makeId('preferred_time')"
3772                            class="ml-3 mb-1 text-sm"
3773                        ><span x-show="requiredFields().preferredTime"> * </span>Preferred time</label>
3774                        <select
3775                            name="preferred_time"
3776                            class="form-control rounded-full"
3777                            x-bind:class="validationClass('preferredTime')"
3778                            x-bind:id="makeId('preferred_time')"
3779                            required
3780                            x-model="preferredTime"
3781                            x-bind:disabled="showNoDealers()"
3782                        >
3783                            <option disabled selected value="">Select a time</option>
3784                            <template x-for="time in preferredTimes">
3785                                <option
3786                                    x-bind:value="time"
3787                                    x-text="time"
3788                                ></option>
3789                            </template>
3790                        </select>
3791                        <div
3792                            x-show="showValidation('preferredTime')"
3793                            x-cloak
3794                            class="invalid-feedback"
3795                        >Please select your preferred time.</div>
3796                    </div>
3797
3798                    <div x-show="shownFields().preferredDate">
3799                        <div
3800                            class="ml-3 mb-1 text-sm block"
3801                        ><span x-show="requiredFields().preferredDate"> * </span>Preferred date</div>
3802                        <div
3803                            class="form-control rounded-full"
3804                            x-bind:class="validationClass('preferredDate')"
3805                        >
3806                            <input
3807                                name="preferred_date"
3808                                class="border-none p-0 w-11/12 focus:ring-0"
3809                                placeholder="Select a date"
3810                                x-ref="preferredDate"
3811                                x-model="preferredDate"
3812                                x-bind:disabled="showNoDealers()"
3813                            />
3814                        </div>
3815                        <div
3816                            x-show="showValidation('preferredDate')"
3817                            x-cloak
3818                            class="invalid-feedback"
3819                        >Please select your preferred date.</div>
3820                    </div>
3821
3822                </div>
3823
3824            </div>
3825
3826            <!--message-->
3827            <div
3828                class="col-span-full"
3829                x-show="shownFields().message"
3830            >
3831                <label
3832                    x-bind:for="makeId('message')"
3833                    class="ml-3 mb-1 text-sm"
3834                ><span x-show="requiredFields().message"> * </span>Additional information</label>
3835                <textarea
3836                    name="message"
3837                    rows="5"
3838                    class="form-control rounded-lg"
3839                    x-bind:class="validationClass('message')"
3840                    x-bind:id="makeId('message')"
3841                    required
3842                    x-model.debounce="message"
3843                    placeholder="Add a message"
3844                    x-bind:disabled="showNoDealers()"
3845                ></textarea>
3846                <div
3847                    x-show="showValidation('message')"
3848                    x-cloak
3849                    class="invalid-feedback"
3850                >Add a message</div>
3851            </div>
3852
3853            <!--nurture-->
3854            <div
3855                class="col-span-full"
3856                x-show="showNurture()"
3857            >
3858                <div>
3859                    <input
3860                        name="nurture"
3861                        type="checkbox"
3862                        x-bind:id="makeId('nurture')"
3863                        x-model.debounce="nurture"
3864                    />
3865                    <span x-show="requiredFields().nurture"> * </span>
3866                    <label
3867                        x-bind:for="makeId('nurture')"
3868                        class="ml-3 mb-1 text-sm"
3869                        x-html="nurture_title"
3870                    ></label>
3871                </div>
3872                <div class="text-xs" x-html="nurture_body"></div>
3873                <div
3874                    x-show="showValidation('nurture')"
3875                    x-cloak
3876                    class="invalid-feedback"
3877                >Please agree to continue.</div>
3878            </div>
3879
3880            <!--disclaimer-->
3881            <div
3882                class="col-span-full"
3883                x-show="shownFields().disclaimer && requiredFields().phone"
3884            >
3885                <div class="text-xs" x-html="disclaimer"></div>
3886            </div>
3887
3888            <!--recaptcha-->
3889            <div
3890                class="col-span-full"
3891            >
3892                <div class="text-xs">
3893                    This site is protected by reCAPTCHA and the Google
3894                    <a href="https://policies.google.com/privacy">Privacy Policy</a> and
3895                    <a href="https://policies.google.com/terms">Terms of Service</a> apply.
3896                </div>
3897            </div>
3898
3899            <!--submit-->
3900            <div class="col-span-full">
3901                <button
3902                    type="submit"
3903                    x-bind:id="makeId('submit')"
3904                    class="btn btn-white-blue rounded-full"
3905                    x-bind:class="{'opacity-60' : submitStatus === 'in progress'}"
3906                    x-bind:style="showNoDealers() ? 'pointer-events: none' : ''"
3907                    x-bind:disabled="showNoDealers()"
3908                >Submit <span x-show="hasLeadInSession">Again</span>
3909                    <span x-show="submitStatus !== 'in progress'"><i class="fa-sharp fa-regular fa-arrow-right ml-1"></i></span>
3910                    <span x-show="submitStatus === 'in progress'"><i class="fa-solid fa-spinner fa-fw fa-spin"></i></span>
3911                </button>
3912            </div>
3913
3914        </form>
3915
3916    </div>
3917
3918    <template x-if="submitStatus === 'success' && (typeof show === 'undefined' || show)">
3919
3920        <div class="pt-3 pb-5 border-b border-gray-500">
3921            <div class="text-blue-800 mb-3">
3922                <div class="text-3xl">Thank you for contacting us.</div>
3923                <div class="text-lg">One of our local water experts will contact you shortly.</div>
3924            </div>
3925            <div class="aspect-w-16 aspect-h-9">
3926                <iframe
3927                    src="https://fast.wistia.net/embed/iframe/mvbxtgs846?videoFoam=true"
3928                    title="Culligan-Thank-You Video"
3929                    allow="autoplay; fullscreen"
3930                    allowtransparency="true"
3931                    allowfullscreen
3932                    width="100%"
3933                    height="100%"
3934                ></iframe>
3935            </div>
3936        </div>
3937
3938    </template>
3939
3940    <template x-if="submitStatus === 'recaptcha_failure' && (typeof show === 'undefined' || show)">
3941
3942        <div class="pt-3 pb-5 border-b border-gray-500">
3943            <div class="text-blue-800 mb-3">
3944                <div class="text-2xl">We ran into an issue submitting your form, please call
3945                    <a
3946                        href="tel:8663304482"
3947                        class="headerPhone text-2xl text-blue-500 font-bold underline"
3948                        x-data="phone('8663304482', 'recaptcha_fail')"
3949                        x-bind="clickToCall"
3950                    >
3951                        866-330-4482
3952                    </a>
3953                to connect with your Culligan Dealer.</div>
3954            </div>
3955        </div>
3956
3957    </template>
3958
3959</div>
3960
3961    </div>
3962
3963    <button
3964        type="button"
3965        class="absolute top-4 right-4"
3966        aria-label="Close dialog"
3967        x-on:click="show = false;"
3968    >
3969        <i class="fa-solid fa-times fa-fw fa-2x text-blue-800 cursor-pointer"></i>
3970    </button>
3971
3972</div>
3973        <div
3974    data-component="default.modal"
3975    aria-describedby="modalDescription"
3976    aria-modal="true"
3977    class="container flex flex-col"
3978    role="dialog"
3979    tabindex="-1"
3980    x-bind:aria-label="heading"
3981    x-data="{
3982        show: false,
3983        heading: 'Get pricing & special offers',
3984        body: ''
3985    }"
3986    x-init="$watch('show', value => $dispatch('toggle-overlay', value)); "
3987    x-show="show"
3988    x-cloak
3989    x-on:toggle-modal.window="
3990        show = !show;
3991        $event.detail.heading ? heading = $event.detail.heading : null;
3992        $event.detail.body ? body = $event.detail.body : null;
3993    "
3994    x-on:click.outside="show = false"
3995    x-on:keyup.escape="show = false"
3996    x-transition:enter="transition ease-out duration-500"
3997    x-transition:enter-start="scale-90 opacity-90"
3998    x-transition:enter-end="scale-100 opacity-100"
3999    x-transition:leave="transition ease-in duration-200"
4000    x-transition:leave-start="scale-100 opacity-100"
4001    x-transition:leave-end="scale-90 opacity-90"
4002    x-trap.noscroll.inert.noreturn="show"
4003>
4004
4005    <div class="min-h-full sm:min-h-0 w-full bg-white sm:rounded-3xl relative drop-shadow-2xl sm:mx-auto overflow-y-auto overscroll-contain px-4 sm:px-6 md:px-8 py-10 sm:p-12 sm:my-12">
4006
4007        <div class="space-y-4 sm:space-y-6 md:space-y-8">
4008
4009            <h2
4010                class="text-2xl sm:text-3xl md:text-4xl text-blue-800 font-bold"
4011                x-html="heading"
4012            ></h2>
4013
4014            <div
4015                id="modalDescription"
4016                class="text-base sm:text-lg md:text-xl text-blue-800 font-semibold"
4017                x-html="body"
4018                aria-label="Modal Description"
4019            ></div>
4020
4021            <div
4022    data-component="default.contact"
4023    
4024    class="text-blue-800"
4025    x-data="lead('modal')"
4026    x-init="
4027        setShown({});
4028        setRequired({});
4029        setValues(JSON.parse('{\u0022prependMessage\u0022:\u0022\u0022,\u0022appendMessage\u0022:\u0022\u0022}'));
4030        loadPaidSearchData(null);
4031    "
4032    x-on:update-contact.window="
4033        updateContact(
4034            $event.detail.identifier ?? 'hidden',
4035            $event.detail.shown ?? {},
4036            $event.detail.required ?? {},
4037            $event.detail.values ?? {},
4038        );
4039    "
4040>
4041
4042    <div x-show="submitStatus !== 'success' && submitStatus !== 'recaptcha_failure'">
4043
4044        <form
4045            x-bind:id="makeId('contact')"
4046            method="post"
4047            novalidate="novalidate"
4048            x-on:submit.prevent="submitForm()"
4049            class="grid grid-cols-1 md:grid-cols-2 gap-x-4 gap-y-3"
4050        >
4051
4052            <!--hidden-->
4053            <input
4054                name="force_id"
4055                type="hidden"
4056                value=""
4057            />
4058
4059            <div x-show="shownFields().customerType || shownFields().customerLocation" class="grid grid-cols-1 gap-x-4 gap-y-3 md:grid-cols-2 col-span-1 md:col-span-2">
4060                <!--customer_type-->
4061                <div
4062                    x-bind:class="{'col-span-full': layout === 'inline'}"
4063                    x-show="shownFields().customerType"
4064                >
4065                    <div class="items-center" x-bind:class="validationClass('customerType')">
4066                        <span x-show="requiredFields().customerType"> * </span>
4067                        <span class="text-sm">Are you a new or current customer?</span>
4068                        <template x-for="(key, value) in customerTypes">
4069                            <button
4070                                type="button"
4071                                class="btn rounded-full block mt-2"
4072                                x-bind:class="isCustomerTypeSelected(value) ? 'btn-indigo' : 'btn-white-indigo'"
4073                                x-on:click="customerType = value"
4074                            >
4075                                <span x-show="isCustomerTypeSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
4076                                <span x-show="!isCustomerTypeSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
4077                                <span x-text="key" class="capitalize font-normal"></span>
4078                            </button>
4079                        </template>
4080                    </div>
4081                    <div
4082                        x-show="showValidation('customerType')"
4083                        x-cloak
4084                        class="invalid-feedback"
4085                    >Please select a customer type</div>
4086                </div>
4087
4088                <!--customer_location-->
4089                <div
4090                    x-bind:class="{'col-span-full': layout === 'inline'}"
4091                    x-show="shownFields().customerLocation"
4092                >
4093                    <div class="items-center" x-bind:class="validationClass('customerLocation')">
4094                        <span x-show="requiredFields().customerLocation"> * </span>
4095                        <span class="text-sm">Home or office use?</span>
4096                        <template x-for="(key, value) in customerLocations">
4097                            <button
4098                                type="button"
4099                                name="customerLocation"
4100                                class="btn rounded-full block mt-2"
4101                                x-bind:class="isCustomerLocationSelected(value) ? 'btn-indigo' : 'btn-white-indigo'"
4102                                x-on:click="customerLocation = value"
4103                            >
4104                                <span x-show="isCustomerLocationSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
4105                                <span x-show="!isCustomerLocationSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
4106                                <span x-text="key" class="capitalize font-normal"></span>
4107                            </button>
4108                        </template>
4109                    </div>
4110                    <div
4111                        x-show="showValidation('customerLocation')"
4112                        x-cloak
4113                        class="invalid-feedback"
4114                    >Please select a customer location</div>
4115                </div>
4116            </div>
4117
4118            <!--first_name-->
4119            <div
4120                x-bind:class="{'col-span-full': layout === 'inline'}"
4121            >
4122                <label
4123                    x-bind:for="makeId('first_name')"
4124                    class="ml-3 mb-1 text-sm"
4125                ><span x-show="requiredFields().firstName"> * </span>First name</label>
4126                <input
4127                    name="first_name"
4128                    type="text"
4129                    class="form-control rounded-full"
4130                    x-bind:class="validationClass('firstName')"
4131                    x-bind:id="makeId('first_name')"
4132                    placeholder="First name"
4133                    autocomplete="given-name"
4134                    required
4135                    x-model.debounce="firstName"
4136                    value=""
4137                    x-bind:disabled="showNoDealers()"
4138                />
4139                <div
4140                    x-show="showValidation('firstName')"
4141                    x-cloak
4142                    class="invalid-feedback"
4143                >Please enter your first name.</div>
4144            </div>
4145
4146            <!--last_name-->
4147            <div
4148                x-bind:class="{'col-span-full': layout === 'inline'}"
4149            >
4150                <label
4151                    x-bind:for="makeId('last_name')"
4152                    class="ml-3 mb-1 text-sm"
4153                ><span x-show="requiredFields().lastName"> * </span>Last name</label>
4154                <input
4155                    name="last_name"
4156                    type="text"
4157                    class="form-control rounded-full"
4158                    x-bind:class="validationClass('lastName')"
4159                    x-bind:id="makeId('last_name')"
4160                    placeholder="Last name"
4161                    autocomplete="family-name"
4162                    required
4163                    x-model.debounce="lastName"
4164                    value=""
4165                    x-bind:disabled="showNoDealers()"
4166                />
4167                <div
4168                    x-show="showValidation('lastName')"
4169                    x-cloak
4170                    class="invalid-feedback"
4171                >Please enter your last name.</div>
4172            </div>
4173
4174            <!--company-->
4175            <div
4176                x-bind:class="{'col-span-full': layout === 'inline'}"
4177                x-show="shownFields().company"
4178            >
4179                <label
4180                    x-bind:for="makeId('company')"
4181                    class="ml-3 mb-1 text-sm"
4182                ><span x-show="requiredFields().company"> * </span>Company</label>
4183                <input
4184                    name="company"
4185                    type="text"
4186                    class="form-control rounded-full"
4187                    x-bind:class="validationClass('company')"
4188                    x-bind:id="makeId('company')"
4189                    placeholder="Company"
4190                    autocomplete="given-name"
4191                    required
4192                    x-model.debounce="company"
4193                    value=""
4194                    x-bind:disabled="showNoDealers()"
4195                />
4196                <div
4197                    x-show="showValidation('company')"
4198                    x-cloak
4199                    class="invalid-feedback"
4200                >Please enter the name of your company.</div>
4201            </div>
4202
4203            <!--address-->
4204            <div
4205                x-bind:class="{'col-span-full': layout === 'inline'}"
4206                x-show="shownFields().address"
4207            >
4208                <label
4209                    x-bind:for="makeId('address')"
4210                    class="ml-3 mb-1 text-sm"
4211                ><span x-show="requiredFields().address"> * </span>Address</label>
4212                <input
4213                    name="address"
4214                    type="text"
4215                    class="form-control rounded-full"
4216                    x-bind:class="validationClass('address')"
4217                    x-bind:id="makeId('address')"
4218                    placeholder="Address"
4219                    autocomplete="street-address"
4220                    required
4221                    x-model.debounce="address"
4222                    value=""
4223                    @places-loaded.window="initAutocomplete()"
4224                />
4225                <div
4226                    x-show="showValidation('address')"
4227                    x-cloak
4228                    class="invalid-feedback"
4229                >Please enter your address.</div>
4230            </div>
4231
4232            <!--street-->
4233            <div
4234                x-bind:class="{'col-span-full': layout === 'inline'}"
4235                x-show="shownFields().street"
4236            >
4237                <label
4238                    x-bind:for="makeId('street')"
4239                    class="ml-3 mb-1 text-sm"
4240                ><span x-show="requiredFields().street"> * </span>Street</label>
4241                <input
4242                    name="street"
4243                    type="text"
4244                    class="form-control rounded-full"
4245                    x-bind:class="validationClass('street')"
4246                    x-bind:id="makeId('street')"
4247                    placeholder="Street"
4248                    autocomplete="street-address"
4249                    required
4250                    x-model.debounce="street"
4251                    value=""
4252                    x-bind:disabled="showNoDealers()"
4253                />
4254                <div
4255                    x-show="showValidation('street')"
4256                    x-cloak
4257                    class="invalid-feedback"
4258                >Please enter your street.</div>
4259            </div>
4260
4261            <!--city-->
4262            <div
4263            x-bind:class="{'col-span-full': layout === 'inline'}"
4264            x-show="shownFields().city"
4265        >
4266            <label
4267                x-bind:for="makeId('city')"
4268                class="ml-3 mb-1 text-sm"
4269            ><span x-show="requiredFields().city"> * </span>City</label>
4270            <input
4271                name="city"
4272                type="text"
4273                class="form-control rounded-full"
4274                x-bind:class="validationClass('city')"
4275                x-bind:id="makeId('city')"
4276                placeholder="City"
4277                autocomplete="city"
4278                required
4279                x-model.debounce="city"
4280                value=""
4281                x-bind:disabled="showNoDealers()"
4282            />
4283            <div
4284                x-show="showValidation('city')"
4285                x-cloak
4286                class="invalid-feedback"
4287            >Please enter your city.</div>
4288        </div>
4289
4290        <!--state-->
4291        <div
4292            x-bind:class="{'col-span-full': layout === 'inline'}"
4293            x-show="shownFields().state"
4294        >
4295            <label
4296                x-bind:for="makeId('state')"
4297                class="ml-3 mb-1 text-sm"
4298                x-text="(requiredFields().state ? ' * ' : '') + stateName()"
4299            ></label>
4300            <select
4301                name="state"
4302                class="form-control rounded-full"
4303                x-bind:class="validationClass('state')"
4304                x-bind:id="makeId('state')"
4305                required
4306                x-model="state"
4307                x-bind:disabled="showNoDealers()"
4308            >
4309                <option disabled selected value="" x-text="stateName()"></option>
4310                                    <option
4311                        value="AL"
4312                    >Alabama</option>
4313                                    <option
4314                        value="AK"
4315                    >Alaska</option>
4316                                    <option
4317                        value="AZ"
4318                    >Arizona</option>
4319                                    <option
4320                        value="AR"
4321                    >Arkansas</option>
4322                                    <option
4323                        value="CA"
4324                    >California</option>
4325                                    <option
4326                        value="CO"
4327                    >Colorado</option>
4328                                    <option
4329                        value="CT"
4330                    >Connecticut</option>
4331                                    <option
4332                        value="DE"
4333                    >Delaware</option>
4334                                    <option
4335                        value="DC"
4336                    >District of Columbia</option>
4337                                    <option
4338                        value="FL"
4339                    >Florida</option>
4340                                    <option
4341                        value="GA"
4342                    >Georgia</option>
4343                                    <option
4344                        value="HI"
4345                    >Hawaii</option>
4346                                    <option
4347                        value="ID"
4348                    >Idaho</option>
4349                                    <option
4350                        value="IL"
4351                    >Illinois</option>
4352                                    <option
4353                        value="IN"
4354                    >Indiana</option>
4355                                    <option
4356                        value="IA"
4357                    >Iowa</option>
4358                                    <option
4359                        value="KS"
4360                    >Kansas</option>
4361                                    <option
4362                        value="KY"
4363                    >Kentucky</option>
4364                                    <option
4365                        value="LA"
4366                    >Louisiana</option>
4367                                    <option
4368                        value="ME"
4369                    >Maine</option>
4370                                    <option
4371                        value="MD"
4372                    >Maryland</option>
4373                                    <option
4374                        value="MA"
4375                    >Massachusetts</option>
4376                                    <option
4377                        value="MI"
4378                    >Michigan</option>
4379                                    <option
4380                        value="MN"
4381                    >Minnesota</option>
4382                                    <option
4383                        value="MS"
4384                    >Mississippi</option>
4385                                    <option
4386                        value="MO"
4387                    >Missouri</option>
4388                                    <option
4389                        value="MT"
4390                    >Montana</option>
4391                                    <option
4392                        value="NE"
4393                    >Nebraska</option>
4394                                    <option
4395                        value="NV"
4396                    >Nevada</option>
4397                                    <option
4398                        value="NH"
4399                    >New Hampshire</option>
4400                                    <option
4401                        value="NJ"
4402                    >New Jersey</option>
4403                                    <option
4404                        value="NM"
4405                    >New Mexico</option>
4406                                    <option
4407                        value="NY"
4408                    >New York</option>
4409                                    <option
4410                        value="NC"
4411                    >North Carolina</option>
4412                                    <option
4413                        value="ND"
4414                    >North Dakota</option>
4415                                    <option
4416                        value="OH"
4417                    >Ohio</option>
4418                                    <option
4419                        value="OK"
4420                    >Oklahoma</option>
4421                                    <option
4422                        value="OR"
4423                    >Oregon</option>
4424                                    <option
4425                        value="PA"
4426                    >Pennsylvania</option>
4427                                    <option
4428                        value="RI"
4429                    >Rhode Island</option>
4430                                    <option
4431                        value="SC"
4432                    >South Carolina</option>
4433                                    <option
4434                        value="SD"
4435                    >South Dakota</option>
4436                                    <option
4437                        value="TN"
4438                    >Tennessee</option>
4439                                    <option
4440                        value="TX"
4441                    >Texas</option>
4442                                    <option
4443                        value="UT"
4444                    >Utah</option>
4445                                    <option
4446                        value="VT"
4447                    >Vermont</option>
4448                                    <option
4449                        value="VA"
4450                    >Virginia</option>
4451                                    <option
4452                        value="WA"
4453                    >Washington</option>
4454                                    <option
4455                        value="WV"
4456                    >West Virginia</option>
4457                                    <option
4458                        value="WI"
4459                    >Wisconsin</option>
4460                                    <option
4461                        value="WY"
4462                    >Wyoming</option>
4463                                    <option
4464                        value="PR"
4465                    >Puerto Rico</option>
4466                            </select>
4467            <div
4468                x-show="showValidation('state')"
4469                x-cloak
4470                class="invalid-feedback"
4471            >Please enter your state.</div>
4472        </div>
4473
4474            <!--postal_code-->
4475            <div
4476                x-bind:class="{'col-span-full': layout === 'inline'}"
4477            >
4478                <label
4479                    x-bind:for="makeId('postal_code')"
4480                    class="ml-3 mb-1 text-sm"
4481                    x-text="(requiredFields().postalCode ? ' * ' : '') + postalCodeName()"
4482                ></label>
4483                <input
4484                    name="postal_code"
4485                    type="text"
4486                    class="form-control rounded-full"
4487                    x-bind:class="validationClass('postalCode')"
4488                    x-bind:id="makeId('postal_code')"
4489                    x-bind:placeholder="postalCodeName()"
4490                    autocomplete="postal-code"
4491                    required
4492                    maxlength="7"
4493                    x-model="postalCode"
4494                    value=""
4495                    x-on:change="searchDealers()"
4496                />
4497                <div
4498                    x-show="showValidation('postalCode')"
4499                    x-cloak
4500                    class="invalid-feedback"
4501                >Please enter your <span x-text="postalCodeName().toLowerCase()"></span>.</div>
4502            </div>
4503
4504            <template x-if="selectedDealer">
4505                <div class="col-span-full bg-gray-200 rounded-lg p-3 text-blue-800">
4506                    <i class="fa-solid fa-map-marker"></i> Your dealer is <span x-text="selectedDealer.name"></span>.
4507                </div>
4508            </template>
4509
4510            <div
4511                class="col-span-full bg-gray-200 rounded-xl p-3 text-blue-800"
4512                x-show="showBottledWaterInterest()"
4513            >
4514                <div class="mb-2">Are you interested in bottled water?</div>
4515                <div>
4516                    <button
4517                        type="button"
4518                        class="btn btn-blue rounded-full"
4519                        x-on:click="updateBottledWaterInterest('yes')"
4520                        x-bind:disabled="showNoDealers()"
4521                    >Yes <i class="fa-solid fa-check"></i></button>
4522                    <button
4523                        type="button"
4524                        class="btn btn-blue rounded-full"
4525                        x-on:click="updateBottledWaterInterest('no')"
4526                        x-bind:disabled="showNoDealers()"
4527                    >No <i class="fa-solid fa-times"></i></button>
4528                </div>
4529            </div>
4530
4531            <div
4532                class="col-span-full grid grid-cols-1 gap-2 text-blue-800"
4533                x-show="showDealerSelect()"
4534            >
4535                <template
4536                    x-for="dealer in filteredDealers()"
4537                    x-bind:key="dealer.id"
4538                >
4539                    <div
4540                        class="bg-gray-100 hover:bg-gray-200 rounded-xl p-3"
4541                        x-bind:class="{ 'border-2 shadow' : dealer.preferred_dealer}"
4542                    >
4543                        <div class="flex items-center">
4544                            <div class="grow">
4545                                <h4 class="text-blue-500 text-lg" x-text="dealer.name"></h4>
4546                                <div x-text="dealer.city + ', ' + dealer.state"></div>
4547                                <div class="mt-1" x-show="dealer.preferred_dealer">
4548                                    <span class="text-xs px-2 py-1 rounded-full bg-blue-500 text-blue-800">Suggested Dealer</span>
4549                                </div>
4550                            </div>
4551                            <div>
4552                                <button
4553                                    type="button"
4554                                    class="btn btn-blue rounded-full text-sm px-2 py-1 whitespace-nowrap"
4555                                    x-on:click="selectDealer(dealer)"
4556                                >Select <i class="fa-solid fa-plus-circle"></i></button>
4557                            </div>
4558                        </div>
4559                    </div>
4560                </template>
4561            </div>
4562
4563            <div
4564                class="col-span-full bg-blue-800 text-white font-bold p-2 rounded-lg text-blue-800"
4565                x-show="showNoDealers()"
4566            >
4567                <i class="fa-solid fa-exclamation-circle mr-1"></i>
4568                Our Culligan dealerships do not service your area. Visit <a x-on:click="logClickToCorporate()" x-bind:href="'https://www.culligan.com/dealer-locator/' + postalCode + '?interest=' + shortenedProductInterest() + '&utm_medium=referral&utm_source=kennedy'" rel="noopener noreferrer" class="underline">culligan.com</a> to view a complete list of dealers.
4569            </div>
4570
4571            <!--phone-->
4572            <div
4573                x-bind:class="{'col-span-full': layout === 'inline'}"
4574                x-show="shownFields().phone"
4575            >
4576                <label
4577                    x-bind:for="makeId('phone')"
4578                    class="ml-3 mb-1 text-sm"
4579                ><span x-show="requiredFields().phone"> * </span>Telephone</label>
4580                <input
4581                    name="phone"
4582                    type="text"
4583                    class="form-control rounded-full"
4584                    x-bind:class="validationClass('phone')"
4585                    x-bind:id="makeId('phone')"
4586                    x-mask="999-999-9999"
4587                    placeholder="Telephone"
4588                    autocomplete="tel-national"
4589                    required
4590                    x-model.debounce="phone"
4591                    value=""
4592                    x-bind:disabled="showNoDealers()"
4593                />
4594                <div
4595                    x-show="showValidation('phone')"
4596                    x-cloak
4597                    class="invalid-feedback"
4598                >Please enter your phone number.</div>
4599            </div>
4600
4601            <!--email-->
4602            <div
4603                x-bind:class="{'col-span-full': layout === 'inline'}"
4604                x-show="shownFields().email"
4605            >
4606                <label
4607                    x-bind:for="makeId('email')"
4608                    class="ml-3 mb-1 text-sm"
4609                ><span x-show="requiredFields().email"> * </span>Email</label>
4610                <input
4611                    name="email" type="email"
4612                    class="form-control rounded-full"
4613                    x-bind:class="validationClass('email')"
4614                    x-bind:id="makeId('email')"
4615                    placeholder="Email"
4616                    autocomplete="email"
4617                    required
4618                    x-model.debounce="email"
4619                    value=""
4620                    x-bind:disabled="showNoDealers()"
4621                />
4622                <div
4623                    x-show="showValidation('email')"
4624                    x-cloak
4625                    class="invalid-feedback"
4626                >Please enter your email.</div>
4627            </div>
4628
4629            <!--product_interest-->
4630            <div
4631                class="col-span-full"
4632                x-show="shownFields().productInterest"
4633            >
4634                <label
4635                    x-bind:for="makeId('product_interest')"
4636                    class="ml-3 mb-1 text-sm"
4637                ><span x-show="requiredFields().productInterest"> * </span>Product interest</label>
4638                <select
4639                    name="product_interest"
4640                    class="form-control rounded-full"
4641                    x-bind:class="validationClass('productInterest')"
4642                    x-bind:id="makeId('product_interest')"
4643                    required
4644                    x-model="productInterest"
4645                    x-bind:disabled="showNoDealers()"
4646                >
4647                    <option disabled selected value="">Product interest</option>
4648                                            <option
4649                            value="water_softener"
4650                        >Water Softening and Salt-Free Conditioner</option>
4651                                            <option
4652                            value="drinking_water_system"
4653                        >Drinking Water System</option>
4654                                            <option
4655                            value="bottled_water"
4656                        >Bottled Water</option>
4657                                            <option
4658                            value="bottleless_coolers"
4659                        >Bottleless Coolers</option>
4660                                            <option
4661                            value="service"
4662                        >Billing, Customer Service, Repair, Salt</option>
4663                                            <option
4664                            value="commercial_and_industrial"
4665                        >Commercial / Industrial</option>
4666                                            <option
4667                            value="culligan_brand"
4668                        >Other, Please Explain</option>
4669                                    </select>
4670                <div
4671                    x-show="showValidation('productInterest')"
4672                    x-cloak
4673                    class="invalid-feedback"
4674                >Please select your interest.</div>
4675            </div>
4676
4677            <!--referral_source-->
4678            <div
4679                class="col-span-full"
4680                x-show="shownFields().referralSource"
4681            >
4682                <label
4683                    x-bind:for="makeId('referral_source')"
4684                    class="ml-3 mb-1 text-sm"
4685                ><span x-show="requiredFields().referralSource"> * </span>How did you hear about us?</label>
4686                <select
4687                    name="referral_source"
4688                    class="form-control rounded-full"
4689                    x-bind:class="validationClass('referralSource')"
4690                    x-bind:id="makeId('referral_source')"
4691                    required
4692                    x-model="referralSource"
4693                    x-bind:disabled="showNoDealers()"
4694                >
4695                    <option disabled selected value="">Referral Source</option>
4696                    <template x-for="source in referral_sources">
4697                        <option
4698                            x-bind:value="source"
4699                            x-text="source"
4700                        ></option>
4701                    </template>
4702                </select>
4703                <div
4704                    x-show="showValidation('referralSource')"
4705                    x-cloak
4706                    class="invalid-feedback"
4707                >Please select your referral source.</div>
4708            </div>
4709
4710            <!--delivery_type-->
4711            <div
4712                class="col-span-full"
4713                x-show="shownFields().deliveryType"
4714            >
4715                <div class="items-center space-x-2" x-bind:class="validationClass('deliveryType')">
4716                    <span class="text-sm"><span x-show="requiredFields().deliveryType"> * </span>Delivery Type</span>
4717                    <template x-for="value in deliveryTypes">
4718                        <button
4719                            type="button"
4720                            class="btn rounded-full"
4721                            x-bind:class="isDeliveryTypeSelected(value) ? 'btn-indigo' : 'btn-white'"
4722                            x-on:click="selectDeliveryType(value)"
4723                            x-bind:disabled="showNoDealers()"
4724                        >
4725                            <span x-text="value" class="capitalize"></span>
4726                            <span x-show="isDeliveryTypeSelected(value)"><i class="fa-solid fa-check-square fa-fw"></i></span>
4727                            <span x-show="!isDeliveryTypeSelected(value)"><i class="fa-solid fa-square fa-fw"></i></span>
4728                        </button>
4729                    </template>
4730                </div>
4731                <div
4732                    x-show="showValidation('deliveryType')"
4733                    x-cloak
4734                    class="invalid-feedback"
4735                >Select a valid delivery type.</div>
4736            </div>
4737
4738            <!--free_water_test-->
4739            <div
4740                class="col-span-full"
4741                x-show="shownFields().freeWaterTest"
4742            >
4743                <label
4744                    x-bind:for="makeId('free_water_test_yes')"
4745                    class="ml-3 mb-1 text-sm"
4746                ><span x-show="requiredFields().freeWaterTest"> * </span>Free water test</label>
4747                <div class="px-1 py-2" x-bind:class="validationClass('freeWaterTest')">
4748                    <input
4749                        name="free_water_test"
4750                        type="radio"
4751                        x-bind:id="makeId('free_water_test_yes')"
4752                        value="yes"
4753                        x-model.debounce="freeWaterTest"
4754                    />
4755                    <label
4756                        x-bind:for="makeId('free_water_test_yes')"
4757                    >Yes</label>
4758                    <input
4759                        name="free_water_test"
4760                        type="radio"
4761                        class="ml-2"
4762                        x-bind:id="makeId('free_water_test_no')"
4763                        value="no"
4764                        x-model.debounce="freeWaterTest"
4765                        x-bind:disabled="showNoDealers()"
4766                    />
4767                    <label
4768                        x-bind:for="makeId('free_water_test_no')"
4769                    >No</label>
4770                </div>
4771                <div
4772                    x-show="showValidation('freeWaterTest')"
4773                    x-cloak
4774                    class="invalid-feedback"
4775                >Please select if you would like a free water test.</div>
4776            </div>
4777
4778            <!--appointment_request-->
4779            <div
4780                class="col-span-full space-y-3"
4781                x-show="shownFields().appointmentRequest"
4782            >
4783
4784                <div>
4785                    <input
4786                        name="appointment_request"
4787                        type="checkbox"
4788                        class="rounded-md"
4789                        x-bind:id="makeId('appointment_request')"
4790                        value=""
4791                        x-model="appointmentRequest"
4792                        x-bind:disabled="showNoDealers() || (requiredFields().appointmentRequest && appointmentRequest)"
4793                    />
4794                    <label
4795                        x-bind:for="makeId('appointment_request')"
4796                    ><span x-show="requiredFields().appointmentRequest"> * </span>Interested in an appointment?</label>
4797                </div>
4798
4799                <div
4800                    class="space-y-3"
4801                    x-show="appointmentRequest"
4802                >
4803
4804                    <div>
4805                        <div class="mb-1">Your Culligan professional will contact you to confirm your request.</div>
4806                        <div>Your request is subject to availability, holidays and hours of operation.</div>
4807                    </div>
4808
4809                    <div x-show="shownFields().preferredTime">
4810                        <label
4811                            x-bind:for="makeId('preferred_time')"
4812                            class="ml-3 mb-1 text-sm"
4813                        ><span x-show="requiredFields().preferredTime"> * </span>Preferred time</label>
4814                        <select
4815                            name="preferred_time"
4816                            class="form-control rounded-full"
4817                            x-bind:class="validationClass('preferredTime')"
4818                            x-bind:id="makeId('preferred_time')"
4819                            required
4820                            x-model="preferredTime"
4821                            x-bind:disabled="showNoDealers()"
4822                        >
4823                            <option disabled selected value="">Select a time</option>
4824                            <template x-for="time in preferredTimes">
4825                                <option
4826                                    x-bind:value="time"
4827                                    x-text="time"
4828                                ></option>
4829                            </template>
4830                        </select>
4831                        <div
4832                            x-show="showValidation('preferredTime')"
4833                            x-cloak
4834                            class="invalid-feedback"
4835                        >Please select your preferred time.</div>
4836                    </div>
4837
4838                    <div x-show="shownFields().preferredDate">
4839                        <div
4840                            class="ml-3 mb-1 text-sm block"
4841                        ><span x-show="requiredFields().preferredDate"> * </span>Preferred date</div>
4842                        <div
4843                            class="form-control rounded-full"
4844                            x-bind:class="validationClass('preferredDate')"
4845                        >
4846                            <input
4847                                name="preferred_date"
4848                                class="border-none p-0 w-11/12 focus:ring-0"
4849                                placeholder="Select a date"
4850                                x-ref="preferredDate"
4851                                x-model="preferredDate"
4852                                x-bind:disabled="showNoDealers()"
4853                            />
4854                        </div>
4855                        <div
4856                            x-show="showValidation('preferredDate')"
4857                            x-cloak
4858                            class="invalid-feedback"
4859                        >Please select your preferred date.</div>
4860                    </div>
4861
4862                </div>
4863
4864            </div>
4865
4866            <!--message-->
4867            <div
4868                class="col-span-full"
4869                x-show="shownFields().message"
4870            >
4871                <label
4872                    x-bind:for="makeId('message')"
4873                    class="ml-3 mb-1 text-sm"
4874                ><span x-show="requiredFields().message"> * </span>Additional information</label>
4875                <textarea
4876                    name="message"
4877                    rows="5"
4878                    class="form-control rounded-lg"
4879                    x-bind:class="validationClass('message')"
4880                    x-bind:id="makeId('message')"
4881                    required
4882                    x-model.debounce="message"
4883                    placeholder="Add a message"
4884                    x-bind:disabled="showNoDealers()"
4885                ></textarea>
4886                <div
4887                    x-show="showValidation('message')"
4888                    x-cloak
4889                    class="invalid-feedback"
4890                >Add a message</div>
4891            </div>
4892
4893            <!--nurture-->
4894            <div
4895                class="col-span-full"
4896                x-show="showNurture()"
4897            >
4898                <div>
4899                    <input
4900                        name="nurture"
4901                        type="checkbox"
4902                        x-bind:id="makeId('nurture')"
4903                        x-model.debounce="nurture"
4904                    />
4905                    <span x-show="requiredFields().nurture"> * </span>
4906                    <label
4907                        x-bind:for="makeId('nurture')"
4908                        class="ml-3 mb-1 text-sm"
4909                        x-html="nurture_title"
4910                    ></label>
4911                </div>
4912                <div class="text-xs" x-html="nurture_body"></div>
4913                <div
4914                    x-show="showValidation('nurture')"
4915                    x-cloak
4916                    class="invalid-feedback"
4917                >Please agree to continue.</div>
4918            </div>
4919
4920            <!--disclaimer-->
4921            <div
4922                class="col-span-full"
4923                x-show="shownFields().disclaimer && requiredFields().phone"
4924            >
4925                <div class="text-xs" x-html="disclaimer"></div>
4926            </div>
4927
4928            <!--recaptcha-->
4929            <div
4930                class="col-span-full"
4931            >
4932                <div class="text-xs">
4933                    This site is protected by reCAPTCHA and the Google
4934                    <a href="https://policies.google.com/privacy">Privacy Policy</a> and
4935                    <a href="https://policies.google.com/terms">Terms of Service</a> apply.
4936                </div>
4937            </div>
4938
4939            <!--submit-->
4940            <div class="col-span-full">
4941                <button
4942                    type="submit"
4943                    x-bind:id="makeId('submit')"
4944                    class="btn btn-white-blue rounded-full"
4945                    x-bind:class="{'opacity-60' : submitStatus === 'in progress'}"
4946                    x-bind:style="showNoDealers() ? 'pointer-events: none' : ''"
4947                    x-bind:disabled="showNoDealers()"
4948                >Submit <span x-show="hasLeadInSession">Again</span>
4949                    <span x-show="submitStatus !== 'in progress'"><i class="fa-sharp fa-regular fa-arrow-right ml-1"></i></span>
4950                    <span x-show="submitStatus === 'in progress'"><i class="fa-solid fa-spinner fa-fw fa-spin"></i></span>
4951                </button>
4952            </div>
4953
4954        </form>
4955
4956    </div>
4957
4958    <template x-if="submitStatus === 'success' && (typeof show === 'undefined' || show)">
4959
4960        <div class="pt-3 pb-5 border-b border-gray-500">
4961            <div class="text-blue-800 mb-3">
4962                <div class="text-3xl">Thank you for contacting us.</div>
4963                <div class="text-lg">One of our local water experts will contact you shortly.</div>
4964            </div>
4965            <div class="aspect-w-16 aspect-h-9">
4966                <iframe
4967                    src="https://fast.wistia.net/embed/iframe/mvbxtgs846?videoFoam=true"
4968                    title="Culligan-Thank-You Video"
4969                    allow="autoplay; fullscreen"
4970                    allowtransparency="true"
4971                    allowfullscreen
4972                    width="100%"
4973                    height="100%"
4974                ></iframe>
4975            </div>
4976        </div>
4977
4978    </template>
4979
4980    <template x-if="submitStatus === 'recaptcha_failure' && (typeof show === 'undefined' || show)">
4981
4982        <div class="pt-3 pb-5 border-b border-gray-500">
4983            <div class="text-blue-800 mb-3">
4984                <div class="text-2xl">We ran into an issue submitting your form, please call
4985                    <a
4986                        href="tel:8663304482"
4987                        class="headerPhone text-2xl text-blue-500 font-bold underline"
4988                        x-data="phone('8663304482', 'recaptcha_fail')"
4989                        x-bind="clickToCall"
4990                    >
4991                        866-330-4482
4992                    </a>
4993                to connect with your Culligan Dealer.</div>
4994            </div>
4995        </div>
4996
4997    </template>
4998
4999</div>
5000
5001        </div>
5002
5003        <button
5004            type="button"
5005            class="absolute top-4 right-4"
5006            x-on:click="show = false"
5007            aria-label="Close dialog"
5008        >
5009            <i class="fa-solid fa-times fa-fw fa-2x text-blue-800 cursor-pointer"></i>
5010        </button>
5011
5012    </div>
5013
5014</div>
5015</div>
5016
5017
5018
5019<!--prescripts-->
5020<noscript>
5021    <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5Q5JHRW" height="0" width="0" style="display:none; visibility:hidden; "></iframe>
5022</noscript>
5023<noscript>
5024    <img alt="" height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1117998811575937&ev=PageView&noscript=1" />
5025</noscript>
5026
5027<!--global-->
5028<script>
5029        window.domain = JSON.parse('{\u0022id\u0022:121,\u0022country\u0022:\u0022US\u0022,\u0022form_customization\u0022:{}}');
5030    window.page = JSON.parse('{\u0022override\u0022:null,\u0022product_interest\u0022:\u0022service\u0022}');
5031    window.recaptchaKey = '6Ley0ykrAAAAAGgyZ1YnF5kup5NHkCJ8ABETUm73';
5032</script>
5032
5033
5034<!--app-->
5035<script src="/js/app.js?id=0cd5fc53585cfb0b948d59095d48da38"></script>
5035
5036
5037<!--domain-->
5038<!-- The custom js for the footer -->
5039<script type='text/javascript'>
5040    window.__lo_site_id = 67126;
5041    window.__lo_disable_flash = true;
5042    (function () {
5043        var wa = document.createElement('script');
5044        wa.type = 'text/javascript';
5045        wa.async = true;
5046        wa.src = 'https://d10lpsik1i8c69.cloudfront.net/w.js';
5047        var s = document.getElementsByTagName('script')[0];
5048        s.parentNode.insertBefore(wa, s);
5049    })();
5050</script>
5050
5051
5052<!-- Start of LiveChat (www.livechatinc.com) code -->
5053<script>
5054window.__lc = window.__lc || {};
5055window.__lc.license = 10055243;
5056(function() {
5057    var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true;
5058    lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js';
5059    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s);
5060})();
5061</script>
5061
5062<noscript>
5063    <a href="https://www.livechatinc.com/chat-with/10055243/">Chat with us</a>,
5064    powered by <a href="https://www.livechatinc.com/?welcome" rel="noopener" target="_blank">LiveChat</a>
5065</noscript>
5066<!-- End of LiveChat code -->
5067
5068<!--google map & places-->
5069<script>
5070    // dispatch event to run on forms to initialize autocomplete
5071    function initAutocomplete() {
5072        window.dispatchEvent(new Event('places-loaded'));
5073
5074        //load map if on page with map
5075        if (typeof initMap === "function"){
5076            initMap();
5077        }
5078    }
5079</script>
vendor: 1 bytes, line 5079
5079
5080<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBvRl0Of-mP1q5_Y683XSRw_0EWvuRLpXo&libraries=places&callback=initAutocomplete" async defer></script>
5080
5081
5082<!--postscripts-->
5083
5084<!--recaptcha-->
vendor: 61 bytes, lines 5084-5085
5084
5085<script src="https://www.google.com/recaptcha/api.js?render=
50856Ley0ykrAAAAAGgyZ1YnF5kup5NHkCJ8ABETUm73
vendor: 13 bytes, lines 5085-5086
5085"></script>
5086
5087</body>
5088</html>

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.