www.culliganbrighton.com
Open in
urlscan Pro
174.138.117.104
Public Scan
Submitted URL: https://culliganbrighton.com/
Effective URL: https://www.culliganbrighton.com/
Submission: On July 12 via api from US — Scanned from DE
Effective URL: https://www.culliganbrighton.com/
Submission: On July 12 via api from US — Scanned from DE
Form analysis
2 forms found in the DOMPOST
<form x-bind:id="makeId('contact')" method="post" novalidate="novalidate" x-on:submit.prevent="submitForm()" class="grid grid-cols-1 md:grid-cols-2 gap-x-4 gap-y-3" id="drawer.contact">
<!--hidden-->
<input name="force_id" type="hidden" value="">
<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" style="display: none;">
<!--customer_type-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().customerType" style="display: none;">
<div class="items-center" x-bind:class="validationClass('customerType')">
<span x-show="requiredFields().customerType" style="display: none;"> * </span>
<span class="text-sm">Are you a new or current customer?</span>
<template x-for="(key, value) in customerTypes">
<button type="button" class="btn rounded-full block mt-2" x-bind:class="isCustomerTypeSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerType = value">
<span x-show="isCustomerTypeSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
<span x-show="!isCustomerTypeSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
<span x-text="key" class="capitalize font-normal"></span>
</button>
</template><button type="button" class="btn rounded-full block mt-2 btn-white-indigo" x-bind:class="isCustomerTypeSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerType = value">
<span x-show="isCustomerTypeSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-circle-dot fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-dot" role="img" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path>
</svg><!-- <i class="fa-solid fa-circle-dot fa-fw"></i> --></span>
<span x-show="!isCustomerTypeSelected(value)"><svg class="svg-inline--fa fa-circle fa-fw" aria-hidden="true" focusable="false" data-prefix="far" data-icon="circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
data-fa-i2svg="">
<path fill="currentColor" d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"></path>
</svg><!-- <i class="fa-regular fa-circle fa-fw"></i> --></span>
<span x-text="key" class="capitalize font-normal">Current Customer</span>
</button><button type="button" class="btn rounded-full block mt-2 btn-white-indigo" x-bind:class="isCustomerTypeSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerType = value">
<span x-show="isCustomerTypeSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-circle-dot fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-dot" role="img" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path>
</svg><!-- <i class="fa-solid fa-circle-dot fa-fw"></i> --></span>
<span x-show="!isCustomerTypeSelected(value)"><svg class="svg-inline--fa fa-circle fa-fw" aria-hidden="true" focusable="false" data-prefix="far" data-icon="circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
data-fa-i2svg="">
<path fill="currentColor" d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"></path>
</svg><!-- <i class="fa-regular fa-circle fa-fw"></i> --></span>
<span x-text="key" class="capitalize font-normal">New Customer</span>
</button>
</div>
<div x-show="showValidation('customerType')" class="invalid-feedback" style="display: none;">Please select a customer type</div>
</div>
<!--customer_location-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().customerLocation" style="display: none;">
<div class="items-center" x-bind:class="validationClass('customerLocation')">
<span x-show="requiredFields().customerLocation" style="display: none;"> * </span>
<span class="text-sm">Home or office use?</span>
<template x-for="(key, value) in customerLocations">
<button type="button" name="customerLocation" class="btn rounded-full block mt-2" x-bind:class="isCustomerLocationSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerLocation = value">
<span x-show="isCustomerLocationSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
<span x-show="!isCustomerLocationSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
<span x-text="key" class="capitalize font-normal"></span>
</button>
</template><button type="button" name="customerLocation" class="btn rounded-full block mt-2 btn-white-indigo" x-bind:class="isCustomerLocationSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerLocation = value">
<span x-show="isCustomerLocationSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-circle-dot fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-dot" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path>
</svg><!-- <i class="fa-solid fa-circle-dot fa-fw"></i> --></span>
<span x-show="!isCustomerLocationSelected(value)"><svg class="svg-inline--fa fa-circle fa-fw" aria-hidden="true" focusable="false" data-prefix="far" data-icon="circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
data-fa-i2svg="">
<path fill="currentColor" d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"></path>
</svg><!-- <i class="fa-regular fa-circle fa-fw"></i> --></span>
<span x-text="key" class="capitalize font-normal">Home use</span>
</button><button type="button" name="customerLocation" class="btn rounded-full block mt-2 btn-white-indigo" x-bind:class="isCustomerLocationSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerLocation = value">
<span x-show="isCustomerLocationSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-circle-dot fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-dot" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path>
</svg><!-- <i class="fa-solid fa-circle-dot fa-fw"></i> --></span>
<span x-show="!isCustomerLocationSelected(value)"><svg class="svg-inline--fa fa-circle fa-fw" aria-hidden="true" focusable="false" data-prefix="far" data-icon="circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
data-fa-i2svg="">
<path fill="currentColor" d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"></path>
</svg><!-- <i class="fa-regular fa-circle fa-fw"></i> --></span>
<span x-text="key" class="capitalize font-normal">Office use</span>
</button>
</div>
<div x-show="showValidation('customerLocation')" class="invalid-feedback" style="display: none;">Please select a customer location</div>
</div>
</div>
<!--first_name-->
<div x-bind:class="{'col-span-full': layout === 'inline'}">
<label x-bind:for="makeId('first_name')" class="ml-3 mb-1 text-sm" for="drawer.first_name"><span x-show="requiredFields().firstName"> * </span>First name</label>
<input name="first_name" type="text" class="form-control rounded-full" x-bind:class="validationClass('firstName')" x-bind:id="makeId('first_name')" placeholder="First name" autocomplete="given-name" required="" x-model.debounce="firstName"
value="" id="drawer.first_name">
<div x-show="showValidation('firstName')" class="invalid-feedback" style="display: none;">Please enter your first name.</div>
</div>
<!--last_name-->
<div x-bind:class="{'col-span-full': layout === 'inline'}">
<label x-bind:for="makeId('last_name')" class="ml-3 mb-1 text-sm" for="drawer.last_name"><span x-show="requiredFields().lastName"> * </span>Last name</label>
<input name="last_name" type="text" class="form-control rounded-full" x-bind:class="validationClass('lastName')" x-bind:id="makeId('last_name')" placeholder="Last name" autocomplete="family-name" required="" x-model.debounce="lastName" value=""
id="drawer.last_name">
<div x-show="showValidation('lastName')" class="invalid-feedback" style="display: none;">Please enter your last name.</div>
</div>
<!--company-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().company" style="display: none;">
<label x-bind:for="makeId('company')" class="ml-3 mb-1 text-sm" for="drawer.company"><span x-show="requiredFields().company" style="display: none;"> * </span>Company</label>
<input name="company" type="text" class="form-control rounded-full" x-bind:class="validationClass('company')" x-bind:id="makeId('company')" placeholder="Company" autocomplete="given-name" required="" x-model.debounce="company" value=""
id="drawer.company">
<div x-show="showValidation('company')" class="invalid-feedback" style="display: none;">Please enter the name of your company.</div>
</div>
<!--street-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().street">
<label x-bind:for="makeId('street')" class="ml-3 mb-1 text-sm" for="drawer.street"><span x-show="requiredFields().street" style="display: none;"> * </span>Street</label>
<input name="street" type="text" class="form-control rounded-full" x-bind:class="validationClass('street')" x-bind:id="makeId('street')" placeholder="Street" autocomplete="street-address" required="" x-model.debounce="street" value=""
id="drawer.street">
<div x-show="showValidation('street')" class="invalid-feedback" style="display: none;">Please enter your street.</div>
</div>
<!--city-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().city" style="display: none;">
<label x-bind:for="makeId('city')" class="ml-3 mb-1 text-sm" for="drawer.city"><span x-show="requiredFields().city" style="display: none;"> * </span>City</label>
<input name="city" type="text" class="form-control rounded-full" x-bind:class="validationClass('city')" x-bind:id="makeId('city')" placeholder="City" autocomplete="city" required="" x-model.debounce="city" value="" id="drawer.city">
<div x-show="showValidation('city')" class="invalid-feedback" style="display: none;">Please enter your city.</div>
</div>
<!--state-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().state" style="display: none;">
<label x-bind:for="makeId('state')" class="ml-3 mb-1 text-sm" x-text="(requiredFields().state ? ' * ' : '') + stateName()" for="drawer.state">State</label>
<select name="state" class="form-control rounded-full" x-bind:class="validationClass('state')" x-bind:id="makeId('state')" required="" x-model="state" id="drawer.state">
<option disabled="" selected="" value="" x-text="stateName()">State</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District of Columbia</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
<option value="PR">Puerto Rico</option>
</select>
<div x-show="showValidation('state')" class="invalid-feedback" style="display: none;">Please enter your state.</div>
</div>
<!--postal_code-->
<div x-bind:class="{'col-span-full': layout === 'inline'}">
<label x-bind:for="makeId('postal_code')" class="ml-3 mb-1 text-sm" x-text="(requiredFields().postalCode ? ' * ' : '') + postalCodeName()" for="drawer.postal_code"> * Zip code</label>
<input name="postal_code" type="text" class="form-control rounded-full" x-bind:class="validationClass('postalCode')" x-bind:id="makeId('postal_code')" x-bind:placeholder="postalCodeName()" autocomplete="postal-code" required="" maxlength="7"
x-model="postalCode" value="" x-on:change="searchDealers()" id="drawer.postal_code" placeholder="Zip code">
<div x-show="showValidation('postalCode')" class="invalid-feedback" style="display: none;">Please enter your <span x-text="postalCodeName().toLowerCase()">zip code</span>.</div>
</div>
<template x-if="selectedDealer">
<div class="col-span-full bg-gray-200 rounded-lg p-3">
<i class="fa-solid fa-map-marker"></i> Your dealer is <span x-text="selectedDealer.name"></span>.
</div>
</template>
<div class="col-span-full bg-gray-200 rounded-xl p-3" x-show="showBottledWaterInterest()" style="display: none;">
<div class="mb-2">Are you interested in bottled water?</div>
<div>
<button type="button" class="btn btn-blue rounded-full" x-on:click="updateBottledWaterInterest('yes')">Yes <svg class="svg-inline--fa fa-check" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg="">
<path fill="currentColor" d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"></path>
</svg><!-- <i class="fa-solid fa-check"></i> --></button>
<button type="button" class="btn btn-blue rounded-full" x-on:click="updateBottledWaterInterest('no')">No <svg class="svg-inline--fa fa-times" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg="">
<path fill="currentColor"
d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z">
</path>
</svg><!-- <i class="fa-solid fa-times"></i> --></button>
</div>
</div>
<div class="col-span-full grid grid-cols-1 gap-2" x-show="showDealerSelect()" style="display: none;">
<template x-for="dealer in filteredDealers()" x-bind:key="dealer.id">
<div class="bg-gray-100 hover:bg-gray-200 rounded-xl p-3" x-bind:class="{ 'border-2 shadow' : dealer.preferred_dealer}">
<div class="flex items-center">
<div class="grow">
<h4 class="text-blue-500 text-lg" x-text="dealer.name"></h4>
<div x-text="dealer.city + ', ' + dealer.state"></div>
<div class="mt-1" x-show="dealer.preferred_dealer">
<span class="text-xs px-2 py-1 rounded-full bg-blue-500 text-blue-800">Suggested Dealer</span>
</div>
</div>
<div>
<button type="button" class="btn btn-blue rounded-full text-sm px-2 py-1 whitespace-nowrap" x-on:click="selectDealer(dealer)">Select <i class="fa-solid fa-plus-circle"></i></button>
</div>
</div>
</div>
</template>
</div>
<div class="col-span-full bg-gray-200 text-red-500 p-2" x-show="showNoDealers()" style="display: none;">
<svg class="svg-inline--fa fa-exclamation-circle" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="exclamation-circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"></path>
</svg><!-- <i class="fa-solid fa-exclamation-circle"></i> --> No dealers found for this <span x-text="postalCodeName().toLowerCase()">zip code</span>.
</div>
<!--phone-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().phone">
<label x-bind:for="makeId('phone')" class="ml-3 mb-1 text-sm" for="drawer.phone"><span x-show="requiredFields().phone"> * </span>Telephone</label>
<input name="phone" type="text" class="form-control rounded-full" x-bind:class="validationClass('phone')" x-bind:id="makeId('phone')" x-mask="999-999-9999" placeholder="Telephone" autocomplete="tel-national" required="" x-model.debounce="phone"
value="" id="drawer.phone">
<div x-show="showValidation('phone')" class="invalid-feedback" style="display: none;">Please enter your phone number.</div>
</div>
<!--email-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().email">
<label x-bind:for="makeId('email')" class="ml-3 mb-1 text-sm" for="drawer.email"><span x-show="requiredFields().email"> * </span>Email</label>
<input name="email" type="email" class="form-control rounded-full" x-bind:class="validationClass('email')" x-bind:id="makeId('email')" placeholder="Email" autocomplete="email" required="" x-model.debounce="email" value="" id="drawer.email">
<div x-show="showValidation('email')" class="invalid-feedback" style="display: none;">Please enter your email.</div>
</div>
<!--product_interest-->
<div class="col-span-full" x-show="shownFields().productInterest">
<label x-bind:for="makeId('product_interest')" class="ml-3 mb-1 text-sm" for="drawer.product_interest"><span x-show="requiredFields().productInterest"> * </span>Product interest</label>
<select name="product_interest" class="form-control rounded-full" x-bind:class="validationClass('productInterest')" x-bind:id="makeId('product_interest')" required="" x-model="productInterest" id="drawer.product_interest">
<option disabled="" selected="" value="">Product interest</option>
<option value="water_softener">Water Softening and Salt-Free Conditioner</option>
<option value="drinking_water_system">Drinking Water System</option>
<option value="bottled_water">Bottled Water</option>
<option value="bottleless_coolers">Bottleless Coolers</option>
<option value="service">Billing, Customer Service, Repair, Salt</option>
<option value="commercial_and_industrial">Commercial / Industrial</option>
<option value="culligan_brand">Other, Please Explain</option>
</select>
<div x-show="showValidation('productInterest')" class="invalid-feedback" style="display: none;">Please select your interest.</div>
</div>
<!--delivery_type-->
<div class="col-span-full" x-show="shownFields().deliveryType" style="display: none;">
<div class="items-center space-x-2" x-bind:class="validationClass('deliveryType')">
<span class="text-sm"><span x-show="requiredFields().deliveryType" style="display: none;"> * </span>Delivery Type</span>
<template x-for="value in deliveryTypes">
<button type="button" class="btn rounded-full" x-bind:class="isDeliveryTypeSelected(value) ? 'btn-indigo' : 'btn-white'" x-on:click="selectDeliveryType(value)">
<span x-text="value" class="capitalize"></span>
<span x-show="isDeliveryTypeSelected(value)"><i class="fa-solid fa-check-square fa-fw"></i></span>
<span x-show="!isDeliveryTypeSelected(value)"><i class="fa-solid fa-square fa-fw"></i></span>
</button>
</template><button type="button" class="btn rounded-full btn-white" x-bind:class="isDeliveryTypeSelected(value) ? 'btn-indigo' : 'btn-white'" x-on:click="selectDeliveryType(value)">
<span x-text="value" class="capitalize">water</span>
<span x-show="isDeliveryTypeSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-check-square fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check-square" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg="">
<path fill="currentColor"
d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z">
</path>
</svg><!-- <i class="fa-solid fa-check-square fa-fw"></i> --></span>
<span x-show="!isDeliveryTypeSelected(value)"><svg class="svg-inline--fa fa-square fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="square" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"
data-fa-i2svg="">
<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z"></path>
</svg><!-- <i class="fa-solid fa-square fa-fw"></i> --></span>
</button><button type="button" class="btn rounded-full btn-white" x-bind:class="isDeliveryTypeSelected(value) ? 'btn-indigo' : 'btn-white'" x-on:click="selectDeliveryType(value)">
<span x-text="value" class="capitalize">salt</span>
<span x-show="isDeliveryTypeSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-check-square fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check-square" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg="">
<path fill="currentColor"
d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z">
</path>
</svg><!-- <i class="fa-solid fa-check-square fa-fw"></i> --></span>
<span x-show="!isDeliveryTypeSelected(value)"><svg class="svg-inline--fa fa-square fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="square" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"
data-fa-i2svg="">
<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z"></path>
</svg><!-- <i class="fa-solid fa-square fa-fw"></i> --></span>
</button>
</div>
<div x-show="showValidation('deliveryType')" class="invalid-feedback" style="display: none;">Select a valid delivery type.</div>
</div>
<!--free_water_test-->
<div class="col-span-full" x-show="shownFields().freeWaterTest" style="display: none;">
<label x-bind:for="makeId('free_water_test_yes')" class="ml-3 mb-1 text-sm" for="drawer.free_water_test_yes"><span x-show="requiredFields().freeWaterTest" style="display: none;"> * </span>Free water test</label>
<div class="px-1 py-2" x-bind:class="validationClass('freeWaterTest')">
<input name="free_water_test" type="radio" x-bind:id="makeId('free_water_test_yes')" value="yes" x-model.debounce="freeWaterTest" id="drawer.free_water_test_yes">
<label x-bind:for="makeId('free_water_test_yes')" for="drawer.free_water_test_yes">Yes</label>
<input name="free_water_test" type="radio" class="ml-2" x-bind:id="makeId('free_water_test_no')" value="no" x-model.debounce="freeWaterTest" id="drawer.free_water_test_no">
<label x-bind:for="makeId('free_water_test_no')" for="drawer.free_water_test_no">No</label>
</div>
<div x-show="showValidation('freeWaterTest')" class="invalid-feedback" style="display: none;">Please select if you would like a free water test.</div>
</div>
<!--appointment_request-->
<div class="col-span-full space-y-3" x-show="shownFields().appointmentRequest">
<div>
<input name="appointment_request" type="checkbox" class="rounded-md" x-bind:id="makeId('appointment_request')" value="" x-model="appointmentRequest" id="drawer.appointment_request">
<label x-bind:for="makeId('appointment_request')" for="drawer.appointment_request"><span x-show="requiredFields().appointmentRequest" style="display: none;"> * </span>Interested in an appointment?</label>
</div>
<div class="space-y-3" x-show="appointmentRequest" style="display: none;">
<div>
<div class="mb-1">Your Culligan professional will contact you to confirm your request.</div>
<div>Your request is subject to availability, holidays and hours of operation.</div>
</div>
<div x-show="shownFields().preferredTime">
<label x-bind:for="makeId('preferred_time')" class="ml-3 mb-1 text-sm" for="drawer.preferred_time"><span x-show="requiredFields().preferredTime" style="display: none;"> * </span>Preferred time</label>
<select name="preferred_time" class="form-control rounded-full" x-bind:class="validationClass('preferredTime')" x-bind:id="makeId('preferred_time')" required="" x-model="preferredTime" id="drawer.preferred_time">
<option disabled="" selected="" value="">Select a time</option>
<template x-for="time in preferredTimes">
<option x-bind:value="time" x-text="time"></option>
</template>
<option x-bind:value="time" x-text="time" value="Morning">Morning</option>
<option x-bind:value="time" x-text="time" value="Afternoon">Afternoon</option>
</select>
<div x-show="showValidation('preferredTime')" class="invalid-feedback" style="display: none;">Please select your preferred time.</div>
</div>
<div x-show="shownFields().preferredDate">
<div class="ml-3 mb-1 text-sm block"><span x-show="requiredFields().preferredDate" style="display: none;"> * </span>Preferred date</div>
<div class="form-control rounded-full" x-bind:class="validationClass('preferredDate')">
<div class="flatpickr-wrapper"><input name="preferred_date" class="border-none p-0 w-11/12 focus:ring-0 flatpickr-input" placeholder="Select a date" x-ref="preferredDate" x-model="preferredDate" type="hidden"><input
class="border-none p-0 w-11/12 focus:ring-0 " placeholder="Select a date" tabindex="0" type="text" readonly="readonly">
<div class="flatpickr-calendar animate static" tabindex="-1">
<div class="flatpickr-months"><span class="flatpickr-prev-month flatpickr-disabled"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 17 17">
<g></g>
<path d="M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z"></path>
</svg></span>
<div class="flatpickr-month">
<div class="flatpickr-current-month"><span class="cur-month">July </span>
<div class="numInputWrapper"><input class="numInput cur-year" type="number" tabindex="-1" aria-label="Year" min="2024" max="2024" disabled=""><span class="arrowUp"></span><span class="arrowDown"></span></div>
</div>
</div><span class="flatpickr-next-month"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 17 17">
<g></g>
<path d="M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z"></path>
</svg></span>
</div>
<div class="flatpickr-innerContainer">
<div class="flatpickr-rContainer">
<div class="flatpickr-weekdays">
<div class="flatpickr-weekdaycontainer">
<span class="flatpickr-weekday"> Sun</span><span class="flatpickr-weekday">Mon</span><span class="flatpickr-weekday">Tue</span><span class="flatpickr-weekday">Wed</span><span class="flatpickr-weekday">Thu</span><span
class="flatpickr-weekday">Fri</span><span class="flatpickr-weekday">Sat </span>
</div>
</div>
<div class="flatpickr-days" tabindex="-1">
<div class="dayContainer"><span class="flatpickr-day prevMonthDay flatpickr-disabled" aria-label="June 30, 2024">30</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 1, 2024">1</span><span
class="flatpickr-day flatpickr-disabled" aria-label="July 2, 2024">2</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 3, 2024">3</span><span class="flatpickr-day flatpickr-disabled"
aria-label="July 4, 2024">4</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 5, 2024">5</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 6, 2024">6</span><span
class="flatpickr-day flatpickr-disabled" aria-label="July 7, 2024">7</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 8, 2024">8</span><span class="flatpickr-day flatpickr-disabled"
aria-label="July 9, 2024">9</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 10, 2024">10</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 11, 2024">11</span><span
class="flatpickr-day today flatpickr-disabled" aria-label="July 12, 2024" aria-current="date">12</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 13, 2024">13</span><span
class="flatpickr-day flatpickr-disabled" aria-label="July 14, 2024">14</span><span class="flatpickr-day" aria-label="July 15, 2024" tabindex="-1">15</span><span class="flatpickr-day" aria-label="July 16, 2024"
tabindex="-1">16</span><span class="flatpickr-day" aria-label="July 17, 2024" tabindex="-1">17</span><span class="flatpickr-day" aria-label="July 18, 2024" tabindex="-1">18</span><span class="flatpickr-day"
aria-label="July 19, 2024" tabindex="-1">19</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 20, 2024">20</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 21, 2024">21</span><span
class="flatpickr-day" aria-label="July 22, 2024" tabindex="-1">22</span><span class="flatpickr-day" aria-label="July 23, 2024" tabindex="-1">23</span><span class="flatpickr-day" aria-label="July 24, 2024"
tabindex="-1">24</span><span class="flatpickr-day" aria-label="July 25, 2024" tabindex="-1">25</span><span class="flatpickr-day" aria-label="July 26, 2024" tabindex="-1">26</span><span class="flatpickr-day flatpickr-disabled"
aria-label="July 27, 2024">27</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 28, 2024">28</span><span class="flatpickr-day" aria-label="July 29, 2024" tabindex="-1">29</span><span class="flatpickr-day"
aria-label="July 30, 2024" tabindex="-1">30</span><span class="flatpickr-day" aria-label="July 31, 2024" tabindex="-1">31</span><span class="flatpickr-day nextMonthDay" aria-label="August 1, 2024" tabindex="-1">1</span><span
class="flatpickr-day nextMonthDay" aria-label="August 2, 2024" tabindex="-1">2</span><span class="flatpickr-day nextMonthDay flatpickr-disabled" aria-label="August 3, 2024">3</span><span
class="flatpickr-day nextMonthDay flatpickr-disabled" aria-label="August 4, 2024">4</span><span class="flatpickr-day nextMonthDay" aria-label="August 5, 2024" tabindex="-1">5</span><span class="flatpickr-day nextMonthDay"
aria-label="August 6, 2024" tabindex="-1">6</span><span class="flatpickr-day nextMonthDay" aria-label="August 7, 2024" tabindex="-1">7</span><span class="flatpickr-day nextMonthDay" aria-label="August 8, 2024"
tabindex="-1">8</span><span class="flatpickr-day nextMonthDay" aria-label="August 9, 2024" tabindex="-1">9</span><span class="flatpickr-day nextMonthDay flatpickr-disabled" aria-label="August 10, 2024">10</span></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div x-show="showValidation('preferredDate')" class="invalid-feedback" style="display: none;">Please select your preferred date.</div>
</div>
</div>
</div>
<!--message-->
<div class="col-span-full" x-show="shownFields().message">
<label x-bind:for="makeId('message')" class="ml-3 mb-1 text-sm" for="drawer.message"><span x-show="requiredFields().message" style="display: none;"> * </span>Additional information</label>
<textarea name="message" rows="5" class="form-control rounded-lg" x-bind:class="validationClass('message')" x-bind:id="makeId('message')" required="" x-model.debounce="message" placeholder="Add a message" id="drawer.message"></textarea>
<div x-show="showValidation('message')" class="invalid-feedback" style="display: none;">Add a message</div>
</div>
<!--nurture-->
<div class="col-span-full" x-show="showNurture()" style="display: none;">
<div>
<input name="nurture" type="checkbox" x-bind:id="makeId('nurture')" x-model.debounce="nurture" id="drawer.nurture">
<label x-bind:for="makeId('nurture')" class="ml-3 mb-1 text-sm" for="drawer.nurture">Receive news and announcements</label>
</div>
<div class="text-xs">*By checking this box, I give consent to Culligan to send me newsletters, special offers, and news about the water in my area. You may unsubscribe at any time.</div>
</div>
<!--disclaimer-->
<div class="col-span-full" x-show="shownFields().disclaimer && requiredFields().phone" style="display: none;">
<div class="text-xs" x-text="disclaimer"></div>
</div>
<!--submit-->
<div class="col-span-full">
<button type="submit" x-bind:id="makeId('submit')" class="btn btn-white-blue rounded-full" x-bind:class="{'opacity-60' : submitStatus === 'in progress'}" id="drawer.submit">Submit <span x-show="hasLeadInSession"
style="display: none;">Again</span>
<span x-show="submitStatus !== 'in progress'"><svg class="svg-inline--fa fa-arrow-right ml-1" aria-hidden="true" focusable="false" data-prefix="fasr" data-icon="arrow-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"
data-fa-i2svg="">
<path fill="currentColor" d="M429.8 273l17-17-17-17L276.2 85.4l-17-17-33.9 33.9 17 17L354.9 232 24 232 0 232l0 48 24 0 330.8 0L242.2 392.6l-17 17 33.9 33.9 17-17L429.8 273z"></path>
</svg><!-- <i class="fa-sharp fa-regular fa-arrow-right ml-1"></i> --></span>
<span x-show="submitStatus === 'in progress'" style="display: none;"><svg class="svg-inline--fa fa-spinner fa-fw fa-spin" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="spinner" role="img" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor"
d="M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z">
</path>
</svg><!-- <i class="fa-solid fa-spinner fa-fw fa-spin"></i> --></span>
</button>
</div>
</form>
POST
<form x-bind:id="makeId('contact')" method="post" novalidate="novalidate" x-on:submit.prevent="submitForm()" class="grid grid-cols-1 md:grid-cols-2 gap-x-4 gap-y-3" id="modal.contact">
<!--hidden-->
<input name="force_id" type="hidden" value="">
<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" style="display: none;">
<!--customer_type-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().customerType" style="display: none;">
<div class="items-center" x-bind:class="validationClass('customerType')">
<span x-show="requiredFields().customerType" style="display: none;"> * </span>
<span class="text-sm">Are you a new or current customer?</span>
<template x-for="(key, value) in customerTypes">
<button type="button" class="btn rounded-full block mt-2" x-bind:class="isCustomerTypeSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerType = value">
<span x-show="isCustomerTypeSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
<span x-show="!isCustomerTypeSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
<span x-text="key" class="capitalize font-normal"></span>
</button>
</template><button type="button" class="btn rounded-full block mt-2 btn-white-indigo" x-bind:class="isCustomerTypeSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerType = value">
<span x-show="isCustomerTypeSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-circle-dot fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-dot" role="img" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path>
</svg><!-- <i class="fa-solid fa-circle-dot fa-fw"></i> --></span>
<span x-show="!isCustomerTypeSelected(value)"><svg class="svg-inline--fa fa-circle fa-fw" aria-hidden="true" focusable="false" data-prefix="far" data-icon="circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
data-fa-i2svg="">
<path fill="currentColor" d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"></path>
</svg><!-- <i class="fa-regular fa-circle fa-fw"></i> --></span>
<span x-text="key" class="capitalize font-normal">Current Customer</span>
</button><button type="button" class="btn rounded-full block mt-2 btn-white-indigo" x-bind:class="isCustomerTypeSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerType = value">
<span x-show="isCustomerTypeSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-circle-dot fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-dot" role="img" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path>
</svg><!-- <i class="fa-solid fa-circle-dot fa-fw"></i> --></span>
<span x-show="!isCustomerTypeSelected(value)"><svg class="svg-inline--fa fa-circle fa-fw" aria-hidden="true" focusable="false" data-prefix="far" data-icon="circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
data-fa-i2svg="">
<path fill="currentColor" d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"></path>
</svg><!-- <i class="fa-regular fa-circle fa-fw"></i> --></span>
<span x-text="key" class="capitalize font-normal">New Customer</span>
</button>
</div>
<div x-show="showValidation('customerType')" class="invalid-feedback" style="display: none;">Please select a customer type</div>
</div>
<!--customer_location-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().customerLocation" style="display: none;">
<div class="items-center" x-bind:class="validationClass('customerLocation')">
<span x-show="requiredFields().customerLocation" style="display: none;"> * </span>
<span class="text-sm">Home or office use?</span>
<template x-for="(key, value) in customerLocations">
<button type="button" name="customerLocation" class="btn rounded-full block mt-2" x-bind:class="isCustomerLocationSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerLocation = value">
<span x-show="isCustomerLocationSelected(value)"><i class="fa-solid fa-circle-dot fa-fw"></i></span>
<span x-show="!isCustomerLocationSelected(value)"><i class="fa-regular fa-circle fa-fw"></i></span>
<span x-text="key" class="capitalize font-normal"></span>
</button>
</template><button type="button" name="customerLocation" class="btn rounded-full block mt-2 btn-white-indigo" x-bind:class="isCustomerLocationSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerLocation = value">
<span x-show="isCustomerLocationSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-circle-dot fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-dot" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path>
</svg><!-- <i class="fa-solid fa-circle-dot fa-fw"></i> --></span>
<span x-show="!isCustomerLocationSelected(value)"><svg class="svg-inline--fa fa-circle fa-fw" aria-hidden="true" focusable="false" data-prefix="far" data-icon="circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
data-fa-i2svg="">
<path fill="currentColor" d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"></path>
</svg><!-- <i class="fa-regular fa-circle fa-fw"></i> --></span>
<span x-text="key" class="capitalize font-normal">Home use</span>
</button><button type="button" name="customerLocation" class="btn rounded-full block mt-2 btn-white-indigo" x-bind:class="isCustomerLocationSelected(value) ? 'btn-indigo' : 'btn-white-indigo'" x-on:click="customerLocation = value">
<span x-show="isCustomerLocationSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-circle-dot fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="circle-dot" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"></path>
</svg><!-- <i class="fa-solid fa-circle-dot fa-fw"></i> --></span>
<span x-show="!isCustomerLocationSelected(value)"><svg class="svg-inline--fa fa-circle fa-fw" aria-hidden="true" focusable="false" data-prefix="far" data-icon="circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
data-fa-i2svg="">
<path fill="currentColor" d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"></path>
</svg><!-- <i class="fa-regular fa-circle fa-fw"></i> --></span>
<span x-text="key" class="capitalize font-normal">Office use</span>
</button>
</div>
<div x-show="showValidation('customerLocation')" class="invalid-feedback" style="display: none;">Please select a customer location</div>
</div>
</div>
<!--first_name-->
<div x-bind:class="{'col-span-full': layout === 'inline'}">
<label x-bind:for="makeId('first_name')" class="ml-3 mb-1 text-sm" for="modal.first_name"><span x-show="requiredFields().firstName"> * </span>First name</label>
<input name="first_name" type="text" class="form-control rounded-full" x-bind:class="validationClass('firstName')" x-bind:id="makeId('first_name')" placeholder="First name" autocomplete="given-name" required="" x-model.debounce="firstName"
value="" id="modal.first_name">
<div x-show="showValidation('firstName')" class="invalid-feedback" style="display: none;">Please enter your first name.</div>
</div>
<!--last_name-->
<div x-bind:class="{'col-span-full': layout === 'inline'}">
<label x-bind:for="makeId('last_name')" class="ml-3 mb-1 text-sm" for="modal.last_name"><span x-show="requiredFields().lastName"> * </span>Last name</label>
<input name="last_name" type="text" class="form-control rounded-full" x-bind:class="validationClass('lastName')" x-bind:id="makeId('last_name')" placeholder="Last name" autocomplete="family-name" required="" x-model.debounce="lastName" value=""
id="modal.last_name">
<div x-show="showValidation('lastName')" class="invalid-feedback" style="display: none;">Please enter your last name.</div>
</div>
<!--company-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().company" style="display: none;">
<label x-bind:for="makeId('company')" class="ml-3 mb-1 text-sm" for="modal.company"><span x-show="requiredFields().company" style="display: none;"> * </span>Company</label>
<input name="company" type="text" class="form-control rounded-full" x-bind:class="validationClass('company')" x-bind:id="makeId('company')" placeholder="Company" autocomplete="given-name" required="" x-model.debounce="company" value=""
id="modal.company">
<div x-show="showValidation('company')" class="invalid-feedback" style="display: none;">Please enter the name of your company.</div>
</div>
<!--street-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().street">
<label x-bind:for="makeId('street')" class="ml-3 mb-1 text-sm" for="modal.street"><span x-show="requiredFields().street" style="display: none;"> * </span>Street</label>
<input name="street" type="text" class="form-control rounded-full" x-bind:class="validationClass('street')" x-bind:id="makeId('street')" placeholder="Street" autocomplete="street-address" required="" x-model.debounce="street" value=""
id="modal.street">
<div x-show="showValidation('street')" class="invalid-feedback" style="display: none;">Please enter your street.</div>
</div>
<!--city-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().city" style="display: none;">
<label x-bind:for="makeId('city')" class="ml-3 mb-1 text-sm" for="modal.city"><span x-show="requiredFields().city" style="display: none;"> * </span>City</label>
<input name="city" type="text" class="form-control rounded-full" x-bind:class="validationClass('city')" x-bind:id="makeId('city')" placeholder="City" autocomplete="city" required="" x-model.debounce="city" value="" id="modal.city">
<div x-show="showValidation('city')" class="invalid-feedback" style="display: none;">Please enter your city.</div>
</div>
<!--state-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().state" style="display: none;">
<label x-bind:for="makeId('state')" class="ml-3 mb-1 text-sm" x-text="(requiredFields().state ? ' * ' : '') + stateName()" for="modal.state">State</label>
<select name="state" class="form-control rounded-full" x-bind:class="validationClass('state')" x-bind:id="makeId('state')" required="" x-model="state" id="modal.state">
<option disabled="" selected="" value="" x-text="stateName()">State</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District of Columbia</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
<option value="PR">Puerto Rico</option>
</select>
<div x-show="showValidation('state')" class="invalid-feedback" style="display: none;">Please enter your state.</div>
</div>
<!--postal_code-->
<div x-bind:class="{'col-span-full': layout === 'inline'}">
<label x-bind:for="makeId('postal_code')" class="ml-3 mb-1 text-sm" x-text="(requiredFields().postalCode ? ' * ' : '') + postalCodeName()" for="modal.postal_code"> * Zip code</label>
<input name="postal_code" type="text" class="form-control rounded-full" x-bind:class="validationClass('postalCode')" x-bind:id="makeId('postal_code')" x-bind:placeholder="postalCodeName()" autocomplete="postal-code" required="" maxlength="7"
x-model="postalCode" value="" x-on:change="searchDealers()" id="modal.postal_code" placeholder="Zip code">
<div x-show="showValidation('postalCode')" class="invalid-feedback" style="display: none;">Please enter your <span x-text="postalCodeName().toLowerCase()">zip code</span>.</div>
</div>
<template x-if="selectedDealer">
<div class="col-span-full bg-gray-200 rounded-lg p-3">
<i class="fa-solid fa-map-marker"></i> Your dealer is <span x-text="selectedDealer.name"></span>.
</div>
</template>
<div class="col-span-full bg-gray-200 rounded-xl p-3" x-show="showBottledWaterInterest()" style="display: none;">
<div class="mb-2">Are you interested in bottled water?</div>
<div>
<button type="button" class="btn btn-blue rounded-full" x-on:click="updateBottledWaterInterest('yes')">Yes <svg class="svg-inline--fa fa-check" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg="">
<path fill="currentColor" d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"></path>
</svg><!-- <i class="fa-solid fa-check"></i> --></button>
<button type="button" class="btn btn-blue rounded-full" x-on:click="updateBottledWaterInterest('no')">No <svg class="svg-inline--fa fa-times" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg="">
<path fill="currentColor"
d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z">
</path>
</svg><!-- <i class="fa-solid fa-times"></i> --></button>
</div>
</div>
<div class="col-span-full grid grid-cols-1 gap-2" x-show="showDealerSelect()" style="display: none;">
<template x-for="dealer in filteredDealers()" x-bind:key="dealer.id">
<div class="bg-gray-100 hover:bg-gray-200 rounded-xl p-3" x-bind:class="{ 'border-2 shadow' : dealer.preferred_dealer}">
<div class="flex items-center">
<div class="grow">
<h4 class="text-blue-500 text-lg" x-text="dealer.name"></h4>
<div x-text="dealer.city + ', ' + dealer.state"></div>
<div class="mt-1" x-show="dealer.preferred_dealer">
<span class="text-xs px-2 py-1 rounded-full bg-blue-500 text-blue-800">Suggested Dealer</span>
</div>
</div>
<div>
<button type="button" class="btn btn-blue rounded-full text-sm px-2 py-1 whitespace-nowrap" x-on:click="selectDealer(dealer)">Select <i class="fa-solid fa-plus-circle"></i></button>
</div>
</div>
</div>
</template>
</div>
<div class="col-span-full bg-gray-200 text-red-500 p-2" x-show="showNoDealers()" style="display: none;">
<svg class="svg-inline--fa fa-exclamation-circle" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="exclamation-circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"></path>
</svg><!-- <i class="fa-solid fa-exclamation-circle"></i> --> No dealers found for this <span x-text="postalCodeName().toLowerCase()">zip code</span>.
</div>
<!--phone-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().phone">
<label x-bind:for="makeId('phone')" class="ml-3 mb-1 text-sm" for="modal.phone"><span x-show="requiredFields().phone"> * </span>Telephone</label>
<input name="phone" type="text" class="form-control rounded-full" x-bind:class="validationClass('phone')" x-bind:id="makeId('phone')" x-mask="999-999-9999" placeholder="Telephone" autocomplete="tel-national" required="" x-model.debounce="phone"
value="" id="modal.phone">
<div x-show="showValidation('phone')" class="invalid-feedback" style="display: none;">Please enter your phone number.</div>
</div>
<!--email-->
<div x-bind:class="{'col-span-full': layout === 'inline'}" x-show="shownFields().email">
<label x-bind:for="makeId('email')" class="ml-3 mb-1 text-sm" for="modal.email"><span x-show="requiredFields().email"> * </span>Email</label>
<input name="email" type="email" class="form-control rounded-full" x-bind:class="validationClass('email')" x-bind:id="makeId('email')" placeholder="Email" autocomplete="email" required="" x-model.debounce="email" value="" id="modal.email">
<div x-show="showValidation('email')" class="invalid-feedback" style="display: none;">Please enter your email.</div>
</div>
<!--product_interest-->
<div class="col-span-full" x-show="shownFields().productInterest">
<label x-bind:for="makeId('product_interest')" class="ml-3 mb-1 text-sm" for="modal.product_interest"><span x-show="requiredFields().productInterest"> * </span>Product interest</label>
<select name="product_interest" class="form-control rounded-full" x-bind:class="validationClass('productInterest')" x-bind:id="makeId('product_interest')" required="" x-model="productInterest" id="modal.product_interest">
<option disabled="" selected="" value="">Product interest</option>
<option value="water_softener">Water Softening and Salt-Free Conditioner</option>
<option value="drinking_water_system">Drinking Water System</option>
<option value="bottled_water">Bottled Water</option>
<option value="bottleless_coolers">Bottleless Coolers</option>
<option value="service">Billing, Customer Service, Repair, Salt</option>
<option value="commercial_and_industrial">Commercial / Industrial</option>
<option value="culligan_brand">Other, Please Explain</option>
</select>
<div x-show="showValidation('productInterest')" class="invalid-feedback" style="display: none;">Please select your interest.</div>
</div>
<!--delivery_type-->
<div class="col-span-full" x-show="shownFields().deliveryType" style="display: none;">
<div class="items-center space-x-2" x-bind:class="validationClass('deliveryType')">
<span class="text-sm"><span x-show="requiredFields().deliveryType" style="display: none;"> * </span>Delivery Type</span>
<template x-for="value in deliveryTypes">
<button type="button" class="btn rounded-full" x-bind:class="isDeliveryTypeSelected(value) ? 'btn-indigo' : 'btn-white'" x-on:click="selectDeliveryType(value)">
<span x-text="value" class="capitalize"></span>
<span x-show="isDeliveryTypeSelected(value)"><i class="fa-solid fa-check-square fa-fw"></i></span>
<span x-show="!isDeliveryTypeSelected(value)"><i class="fa-solid fa-square fa-fw"></i></span>
</button>
</template><button type="button" class="btn rounded-full btn-white" x-bind:class="isDeliveryTypeSelected(value) ? 'btn-indigo' : 'btn-white'" x-on:click="selectDeliveryType(value)">
<span x-text="value" class="capitalize">water</span>
<span x-show="isDeliveryTypeSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-check-square fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check-square" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg="">
<path fill="currentColor"
d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z">
</path>
</svg><!-- <i class="fa-solid fa-check-square fa-fw"></i> --></span>
<span x-show="!isDeliveryTypeSelected(value)"><svg class="svg-inline--fa fa-square fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="square" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"
data-fa-i2svg="">
<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z"></path>
</svg><!-- <i class="fa-solid fa-square fa-fw"></i> --></span>
</button><button type="button" class="btn rounded-full btn-white" x-bind:class="isDeliveryTypeSelected(value) ? 'btn-indigo' : 'btn-white'" x-on:click="selectDeliveryType(value)">
<span x-text="value" class="capitalize">salt</span>
<span x-show="isDeliveryTypeSelected(value)" style="display: none;"><svg class="svg-inline--fa fa-check-square fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check-square" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg="">
<path fill="currentColor"
d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z">
</path>
</svg><!-- <i class="fa-solid fa-check-square fa-fw"></i> --></span>
<span x-show="!isDeliveryTypeSelected(value)"><svg class="svg-inline--fa fa-square fa-fw" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="square" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"
data-fa-i2svg="">
<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z"></path>
</svg><!-- <i class="fa-solid fa-square fa-fw"></i> --></span>
</button>
</div>
<div x-show="showValidation('deliveryType')" class="invalid-feedback" style="display: none;">Select a valid delivery type.</div>
</div>
<!--free_water_test-->
<div class="col-span-full" x-show="shownFields().freeWaterTest" style="display: none;">
<label x-bind:for="makeId('free_water_test_yes')" class="ml-3 mb-1 text-sm" for="modal.free_water_test_yes"><span x-show="requiredFields().freeWaterTest" style="display: none;"> * </span>Free water test</label>
<div class="px-1 py-2" x-bind:class="validationClass('freeWaterTest')">
<input name="free_water_test" type="radio" x-bind:id="makeId('free_water_test_yes')" value="yes" x-model.debounce="freeWaterTest" id="modal.free_water_test_yes">
<label x-bind:for="makeId('free_water_test_yes')" for="modal.free_water_test_yes">Yes</label>
<input name="free_water_test" type="radio" class="ml-2" x-bind:id="makeId('free_water_test_no')" value="no" x-model.debounce="freeWaterTest" id="modal.free_water_test_no">
<label x-bind:for="makeId('free_water_test_no')" for="modal.free_water_test_no">No</label>
</div>
<div x-show="showValidation('freeWaterTest')" class="invalid-feedback" style="display: none;">Please select if you would like a free water test.</div>
</div>
<!--appointment_request-->
<div class="col-span-full space-y-3" x-show="shownFields().appointmentRequest">
<div>
<input name="appointment_request" type="checkbox" class="rounded-md" x-bind:id="makeId('appointment_request')" value="" x-model="appointmentRequest" id="modal.appointment_request">
<label x-bind:for="makeId('appointment_request')" for="modal.appointment_request"><span x-show="requiredFields().appointmentRequest" style="display: none;"> * </span>Interested in an appointment?</label>
</div>
<div class="space-y-3" x-show="appointmentRequest" style="display: none;">
<div>
<div class="mb-1">Your Culligan professional will contact you to confirm your request.</div>
<div>Your request is subject to availability, holidays and hours of operation.</div>
</div>
<div x-show="shownFields().preferredTime">
<label x-bind:for="makeId('preferred_time')" class="ml-3 mb-1 text-sm" for="modal.preferred_time"><span x-show="requiredFields().preferredTime" style="display: none;"> * </span>Preferred time</label>
<select name="preferred_time" class="form-control rounded-full" x-bind:class="validationClass('preferredTime')" x-bind:id="makeId('preferred_time')" required="" x-model="preferredTime" id="modal.preferred_time">
<option disabled="" selected="" value="">Select a time</option>
<template x-for="time in preferredTimes">
<option x-bind:value="time" x-text="time"></option>
</template>
<option x-bind:value="time" x-text="time" value="Morning">Morning</option>
<option x-bind:value="time" x-text="time" value="Afternoon">Afternoon</option>
</select>
<div x-show="showValidation('preferredTime')" class="invalid-feedback" style="display: none;">Please select your preferred time.</div>
</div>
<div x-show="shownFields().preferredDate">
<div class="ml-3 mb-1 text-sm block"><span x-show="requiredFields().preferredDate" style="display: none;"> * </span>Preferred date</div>
<div class="form-control rounded-full" x-bind:class="validationClass('preferredDate')">
<div class="flatpickr-wrapper"><input name="preferred_date" class="border-none p-0 w-11/12 focus:ring-0 flatpickr-input" placeholder="Select a date" x-ref="preferredDate" x-model="preferredDate" type="hidden"><input
class="border-none p-0 w-11/12 focus:ring-0 " placeholder="Select a date" tabindex="0" type="text" readonly="readonly">
<div class="flatpickr-calendar animate static" tabindex="-1">
<div class="flatpickr-months"><span class="flatpickr-prev-month flatpickr-disabled"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 17 17">
<g></g>
<path d="M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z"></path>
</svg></span>
<div class="flatpickr-month">
<div class="flatpickr-current-month"><span class="cur-month">July </span>
<div class="numInputWrapper"><input class="numInput cur-year" type="number" tabindex="-1" aria-label="Year" min="2024" max="2024" disabled=""><span class="arrowUp"></span><span class="arrowDown"></span></div>
</div>
</div><span class="flatpickr-next-month"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 17 17">
<g></g>
<path d="M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z"></path>
</svg></span>
</div>
<div class="flatpickr-innerContainer">
<div class="flatpickr-rContainer">
<div class="flatpickr-weekdays">
<div class="flatpickr-weekdaycontainer">
<span class="flatpickr-weekday"> Sun</span><span class="flatpickr-weekday">Mon</span><span class="flatpickr-weekday">Tue</span><span class="flatpickr-weekday">Wed</span><span class="flatpickr-weekday">Thu</span><span
class="flatpickr-weekday">Fri</span><span class="flatpickr-weekday">Sat </span>
</div>
</div>
<div class="flatpickr-days" tabindex="-1">
<div class="dayContainer"><span class="flatpickr-day prevMonthDay flatpickr-disabled" aria-label="June 30, 2024">30</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 1, 2024">1</span><span
class="flatpickr-day flatpickr-disabled" aria-label="July 2, 2024">2</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 3, 2024">3</span><span class="flatpickr-day flatpickr-disabled"
aria-label="July 4, 2024">4</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 5, 2024">5</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 6, 2024">6</span><span
class="flatpickr-day flatpickr-disabled" aria-label="July 7, 2024">7</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 8, 2024">8</span><span class="flatpickr-day flatpickr-disabled"
aria-label="July 9, 2024">9</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 10, 2024">10</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 11, 2024">11</span><span
class="flatpickr-day today flatpickr-disabled" aria-label="July 12, 2024" aria-current="date">12</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 13, 2024">13</span><span
class="flatpickr-day flatpickr-disabled" aria-label="July 14, 2024">14</span><span class="flatpickr-day" aria-label="July 15, 2024" tabindex="-1">15</span><span class="flatpickr-day" aria-label="July 16, 2024"
tabindex="-1">16</span><span class="flatpickr-day" aria-label="July 17, 2024" tabindex="-1">17</span><span class="flatpickr-day" aria-label="July 18, 2024" tabindex="-1">18</span><span class="flatpickr-day"
aria-label="July 19, 2024" tabindex="-1">19</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 20, 2024">20</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 21, 2024">21</span><span
class="flatpickr-day" aria-label="July 22, 2024" tabindex="-1">22</span><span class="flatpickr-day" aria-label="July 23, 2024" tabindex="-1">23</span><span class="flatpickr-day" aria-label="July 24, 2024"
tabindex="-1">24</span><span class="flatpickr-day" aria-label="July 25, 2024" tabindex="-1">25</span><span class="flatpickr-day" aria-label="July 26, 2024" tabindex="-1">26</span><span class="flatpickr-day flatpickr-disabled"
aria-label="July 27, 2024">27</span><span class="flatpickr-day flatpickr-disabled" aria-label="July 28, 2024">28</span><span class="flatpickr-day" aria-label="July 29, 2024" tabindex="-1">29</span><span class="flatpickr-day"
aria-label="July 30, 2024" tabindex="-1">30</span><span class="flatpickr-day" aria-label="July 31, 2024" tabindex="-1">31</span><span class="flatpickr-day nextMonthDay" aria-label="August 1, 2024" tabindex="-1">1</span><span
class="flatpickr-day nextMonthDay" aria-label="August 2, 2024" tabindex="-1">2</span><span class="flatpickr-day nextMonthDay flatpickr-disabled" aria-label="August 3, 2024">3</span><span
class="flatpickr-day nextMonthDay flatpickr-disabled" aria-label="August 4, 2024">4</span><span class="flatpickr-day nextMonthDay" aria-label="August 5, 2024" tabindex="-1">5</span><span class="flatpickr-day nextMonthDay"
aria-label="August 6, 2024" tabindex="-1">6</span><span class="flatpickr-day nextMonthDay" aria-label="August 7, 2024" tabindex="-1">7</span><span class="flatpickr-day nextMonthDay" aria-label="August 8, 2024"
tabindex="-1">8</span><span class="flatpickr-day nextMonthDay" aria-label="August 9, 2024" tabindex="-1">9</span><span class="flatpickr-day nextMonthDay flatpickr-disabled" aria-label="August 10, 2024">10</span></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div x-show="showValidation('preferredDate')" class="invalid-feedback" style="display: none;">Please select your preferred date.</div>
</div>
</div>
</div>
<!--message-->
<div class="col-span-full" x-show="shownFields().message">
<label x-bind:for="makeId('message')" class="ml-3 mb-1 text-sm" for="modal.message"><span x-show="requiredFields().message" style="display: none;"> * </span>Additional information</label>
<textarea name="message" rows="5" class="form-control rounded-lg" x-bind:class="validationClass('message')" x-bind:id="makeId('message')" required="" x-model.debounce="message" placeholder="Add a message" id="modal.message"></textarea>
<div x-show="showValidation('message')" class="invalid-feedback" style="display: none;">Add a message</div>
</div>
<!--nurture-->
<div class="col-span-full" x-show="showNurture()" style="display: none;">
<div>
<input name="nurture" type="checkbox" x-bind:id="makeId('nurture')" x-model.debounce="nurture" id="modal.nurture">
<label x-bind:for="makeId('nurture')" class="ml-3 mb-1 text-sm" for="modal.nurture">Receive news and announcements</label>
</div>
<div class="text-xs">*By checking this box, I give consent to Culligan to send me newsletters, special offers, and news about the water in my area. You may unsubscribe at any time.</div>
</div>
<!--disclaimer-->
<div class="col-span-full" x-show="shownFields().disclaimer && requiredFields().phone" style="display: none;">
<div class="text-xs" x-text="disclaimer"></div>
</div>
<!--submit-->
<div class="col-span-full">
<button type="submit" x-bind:id="makeId('submit')" class="btn btn-white-blue rounded-full" x-bind:class="{'opacity-60' : submitStatus === 'in progress'}" id="modal.submit">Submit <span x-show="hasLeadInSession" style="display: none;">Again</span>
<span x-show="submitStatus !== 'in progress'"><svg class="svg-inline--fa fa-arrow-right ml-1" aria-hidden="true" focusable="false" data-prefix="fasr" data-icon="arrow-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"
data-fa-i2svg="">
<path fill="currentColor" d="M429.8 273l17-17-17-17L276.2 85.4l-17-17-33.9 33.9 17 17L354.9 232 24 232 0 232l0 48 24 0 330.8 0L242.2 392.6l-17 17 33.9 33.9 17-17L429.8 273z"></path>
</svg><!-- <i class="fa-sharp fa-regular fa-arrow-right ml-1"></i> --></span>
<span x-show="submitStatus === 'in progress'" style="display: none;"><svg class="svg-inline--fa fa-spinner fa-fw fa-spin" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="spinner" role="img" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 512 512" data-fa-i2svg="">
<path fill="currentColor"
d="M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z">
</path>
</svg><!-- <i class="fa-solid fa-spinner fa-fw fa-spin"></i> --></span>
</button>
</div>
</form>
Text Content
Go Paperless with Email Billing! Learn more about the quality of your water with a FREE basic water test from Culligan. Rent a Culligan Water System for just $9.95/month for the first three months! 877-984-1822 Get Pricing Residential | Office | Commercial Current Customers View or Pay Bill Go Paperless with Email Billing Service & Repairs Softener Bypass Videos Manuals & Timers Contact Special Offers 877-984-1822 Softeners & Filters Water Softeners Whole Home Water Filters Drinking Water & Coolers RO Drinking Water Systems Bottleless Coolers Bottled Water & Coolers Services Water Testing Water & Salt Delivery Service & Repairs Well Water Testing Email Billing Sign-Up Coupons & Specials About Culligan of Brighton Why Choose Culligan? Careers Contact Get Pricing CULLIGAN OF BRIGHTON The local water experts Providing cleaner & softer water for every faucet in your home since 1936 Get Pricing Request Appointment Water solutions you can trust Backed by over 85 years of experience, your local Culligan water expert has a wide range of products to address your unique water concerns. Water Softeners View All Whole Home Water Filters View All RO Drinking Water Systems View All Bottleless Coolers View All Bottled Water & Coolers View All The Culligan advantage As the leaders in water treatment for 85+ years, Culligan helps you provide your family with better, safer water at every tap. 100% satisfaction guaranteed -------------------------------------------------------------------------------- If you are dissatisfied for any reason, Culligan will refund your purchase within 30 days. 600+ locations nationwide -------------------------------------------------------------------------------- With locally-owned dealerships in communities across North America, Culligan is your local water expert. #1 in custom water solutions -------------------------------------------------------------------------------- No one filters, softens and delivers more than Culligan. Culligan of Brighton When you choose Culligan for your water needs, you’re choosing an industry leader with top-rated water treatment equipment, advanced technology and a 100% satisfaction guarantee. Since 1936, Culligan's local water experts have been committed to providing the best service available. Get In Touch With Culligan of Brighton WORRIED ABOUT YOUR WATER? Get a FREE water consultation! -------------------------------------------------------------------------------- Improving your home's water is easier and more convenient than ever with Culligan's in-home or virtual appointments. Schedule Your Water Test Culligan services You can count on Culligan service to exceed your expectations. Check out the wide range of services provided by your local water expert below. Free Water Test -------------------------------------------------------------------------------- Stop wondering about what may be in your water. Your local Culligan expert can provide a complete analysis for a wide range of contaminants. Schedule test Water & Salt Delivery -------------------------------------------------------------------------------- Culligan delivery is the easiest and most convenient way to get better water in your home. Request delivery Coupons & Specials -------------------------------------------------------------------------------- Don't miss out on the limited-time deals happening in your local area. Start saving Service & Repair -------------------------------------------------------------------------------- Keep your water softener and filtration systems running at peak performance. Request service Water quality your family can count on Culligan's award-winning technology and service have attracted recognition from some of the most trusted names in product testing and quality assurance. The Culligan of Brighton difference I have been a Culligan of Brighton customer for over 20 years. I have been able to depend on them for a long time for my drinking water! Matt Halliday 06/28/2024 Culligan of Brighton has always been very responsive to me. Their products are great and service people are on time, caring and patient to answer all questions! I highly recommend this company! Susan Davis 04/03/2024 Great service! Culligan has serviced my home for three years and I look forward to continuing my relationship with them! Brandon Fries 03/21/2024 Ready to get started? Discover the perfect solution for your water needs with our Culligan experts. Schedule your free in-home water test today! Request Water Consultation -------------------------------------------------------------------------------- Current Customers View or Pay Bill Go Paperless with Email Billing Service & Repairs Softener Bypass Videos Manuals & Timers Contact Services Water Testing Water & Salt Delivery Service & Repairs Well Water Testing Email Billing Sign-Up Coupons & Specials Water Problems Water Contaminants PFAS Hard Water Smelly Water Bad Tasting Water High Iron Water Contact Us Contact Us 877-984-1822 Facebook Instagram -------------------------------------------------------------------------------- Locations in: Brighton CO Proudly serving: Berthoud CO | Brighton CO | Longmont CO | Westminster CO | Thornton CO | Fort Lupton CO | Commerce City CO | Denver CO | Greeley CO | Broomfield CO -------------------------------------------------------------------------------- ©2024 Culligan. All Rights Reserved. Privacy Policy | Sitemap | Accessibility Softeners & Filters Water Softeners Whole Home Water Filters Drinking Water & Coolers RO Drinking Water Systems Bottleless Coolers Bottled Water & Coolers Services Water Testing Water & Salt Delivery Service & Repairs Well Water Testing Email Billing Sign-Up Coupons & Specials About Culligan of Brighton Why Choose Culligan? Careers Contact -------------------------------------------------------------------------------- Current Customers View or Pay Bill Go Paperless with Email Billing Service & Repairs Softener Bypass Videos Manuals & Timers Contact Special Offers -------------------------------------------------------------------------------- SWITCH SITES Residential Office Commercial GET PRICING & SPECIAL OFFERS Call 877-984-1822 or fill out the form to get a custom water solution. * Are you a new or current customer? Current Customer New Customer Please select a customer type * Home or office use? Home use Office use Please select a customer location * First name Please enter your first name. * Last name Please enter your last name. * Company Please enter the name of your company. * Street Please enter your street. * City Please enter your city. State State Alabama Alaska Arizona Arkansas California Colorado Connecticut Delaware District of Columbia Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada New Hampshire New Jersey New Mexico New York North Carolina North Dakota Ohio Oklahoma Oregon Pennsylvania Rhode Island South Carolina South Dakota Tennessee Texas Utah Vermont Virginia Washington West Virginia Wisconsin Wyoming Puerto Rico Please enter your state. * Zip code Please enter your zip code. Your dealer is . Are you interested in bottled water? Yes No Suggested Dealer Select No dealers found for this zip code. * Telephone Please enter your phone number. * Email Please enter your email. * Product interest Product interest Water Softening and Salt-Free Conditioner Drinking Water System Bottled Water Bottleless Coolers Billing, Customer Service, Repair, Salt Commercial / Industrial Other, Please Explain Please select your interest. * Delivery Type water salt Select a valid delivery type. * Free water test Yes No Please select if you would like a free water test. * Interested in an appointment? Your Culligan professional will contact you to confirm your request. Your request is subject to availability, holidays and hours of operation. * Preferred time Select a time MorningAfternoon Please select your preferred time. * Preferred date July SunMonTueWedThuFriSat 301234567891011121314151617181920212223242526272829303112345678910 Please select your preferred date. * Additional information Add a message Receive news and announcements *By checking this box, I give consent to Culligan to send me newsletters, special offers, and news about the water in my area. You may unsubscribe at any time. Submit Again Thank you for contacting us! One of our representatives will contact you shortly. GET PRICING & SPECIAL OFFERS * Are you a new or current customer? Current Customer New Customer Please select a customer type * Home or office use? Home use Office use Please select a customer location * First name Please enter your first name. * Last name Please enter your last name. * Company Please enter the name of your company. * Street Please enter your street. * City Please enter your city. State State Alabama Alaska Arizona Arkansas California Colorado Connecticut Delaware District of Columbia Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada New Hampshire New Jersey New Mexico New York North Carolina North Dakota Ohio Oklahoma Oregon Pennsylvania Rhode Island South Carolina South Dakota Tennessee Texas Utah Vermont Virginia Washington West Virginia Wisconsin Wyoming Puerto Rico Please enter your state. * Zip code Please enter your zip code. Your dealer is . Are you interested in bottled water? Yes No Suggested Dealer Select No dealers found for this zip code. * Telephone Please enter your phone number. * Email Please enter your email. * Product interest Product interest Water Softening and Salt-Free Conditioner Drinking Water System Bottled Water Bottleless Coolers Billing, Customer Service, Repair, Salt Commercial / Industrial Other, Please Explain Please select your interest. * Delivery Type water salt Select a valid delivery type. * Free water test Yes No Please select if you would like a free water test. * Interested in an appointment? Your Culligan professional will contact you to confirm your request. Your request is subject to availability, holidays and hours of operation. * Preferred time Select a time MorningAfternoon Please select your preferred time. * Preferred date July SunMonTueWedThuFriSat 301234567891011121314151617181920212223242526272829303112345678910 Please select your preferred date. * Additional information Add a message Receive news and announcements *By checking this box, I give consent to Culligan to send me newsletters, special offers, and news about the water in my area. You may unsubscribe at any time. Submit Again Thank you for contacting us! One of our representatives will contact you shortly. Chat with us, powered by LiveChat