skip to content
Skip to content

Language

SUPPORT: (727) 821-2020 Mon-Fri 9:30-5:30 EST

Send a Text Message: (727) 821-2020*
*Text us the word Support to start texting.
Contact Customer Support: Contact Form
Fax: (727) 541-4962

Excellent Supply, Inc.

8925 66th Ct. N. #1 & 2
Pinellas Park, FL 33782

To Reach Us Via Text*
We use SMS/texting solely for customer support and not for promotional purposes. Due to compliance regulations, prior consent is now required. *Please text us the word "Support" or use the Subscribe form to initiate a text.

SMS Number (727) 821-2020
We look forward to serving you!

Join Text Messaging List
I agree to receive promotional messages sent via an autodialer, and this agreement isn’t a condition of any purchase. I also agree to the Terms of Service and Privacy Policy 4 Msgs/Month. Msg & Data rates may apply.
You have to agree on terms in order to proceed to the subscription.

Compare products

{"one"=>"Select 2 or 3 items to compare", "other"=>"{{ count }} of 3 items selected"}

Select first item to compare

Select second item to compare

Select third item to compare

Compare
Lowest Price Guaranteed

If a competitor has an item available online at a lower final price (after any tax and shipping costs), we will beat the product price by 5%.

  • The item must be in stock, and the price must be currently listed

  • The item must be sold by a U.S.-based online retailer authorized by the brand. Auction sites excluded.

  • The item must be identical and in new condition.

  • If a product you find matches these conditions, contact us at Excellent Supply before you place your order, and we’ll adjust the price.

Earn Reward Points

Earn loyalty reward points as you shop, which can then be used as cash on future purchases at Excellent Supply. By logging into your customer account, you can easily view and redeem the rewards points you have accumulated in our Loyalty Program.

Intended Usage

The products sold at Excellent Supply are intended for use by "professional cleaning contractors" or those who have been trained in the various aspects of carpet and hard surface maintenance. Excellent Supply is not responsible for results achieved by untrained end users.

Shipping & Tracking

Shipping Information
[PAGE HERE]

Tracking and shipping information

Returns & Refunds

Returns & Refunds
[PAGE HERE]

Your total satisfaction is guaranteed

SUPPORT: (727) 821-2020 Mon-Fri 9:30-5:30 EST Send a Text Message: (727) 821-2020**Text us the word Support to start texting.Contact Customer Support: Contact Form Fax: (727) 541-4962 Excellent Supply, Inc. 8925 66th Ct. N. #1 & 2Pinellas Park, FL 33782 To Reach Us Via Text* We use SMS/texting solely for customer support and not for promotional purposes. Due to compliance regulations, prior consent is now required. *Please text us the word "Support" or use the Subscribe form to initiate a text.SMS Number (727) 821-2020 We look forward to serving you! /** Font */ @font-face { font-family: 'ProximaNovaA-Bold'; src: url("webfonts/32478F_0_0.eot"); src: url("webfonts/32478F_0_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_0_0.woff2") format("woff2"), url("webfonts/32478F_0_0.woff") format("woff"), url("webfonts/32478F_0_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNovaS-Bold'; src: url("webfonts/32478F_1_0.eot"); src: url("webfonts/32478F_1_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_1_0.woff2") format("woff2"), url("webfonts/32478F_1_0.woff") format("woff"), url("webfonts/32478F_1_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNovaA-BoldIt'; src: url("webfonts/32478F_2_0.eot"); src: url("webfonts/32478F_2_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_2_0.woff2") format("woff2"), url("webfonts/32478F_2_0.woff") format("woff"), url("webfonts/32478F_2_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNova-Bold'; src: url("webfonts/32478F_3_0.eot"); src: url("webfonts/32478F_3_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_3_0.woff2") format("woff2"), url("webfonts/32478F_3_0.woff") format("woff"), url("webfonts/32478F_3_0.ttf") format("truetype"); font-weight: 700; font-style: normal; } @font-face { font-family: 'ProximaNovaS-BoldIt'; src: url("webfonts/32478F_4_0.eot"); src: url("webfonts/32478F_4_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_4_0.woff2") format("woff2"), url("webfonts/32478F_4_0.woff") format("woff"), url("webfonts/32478F_4_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNova-BoldIt'; src: url("webfonts/32478F_5_0.eot"); src: url("webfonts/32478F_5_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_5_0.woff2") format("woff2"), url("webfonts/32478F_5_0.woff") format("woff"), url("webfonts/32478F_5_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNovaA-Regular'; src: url("webfonts/32478F_6_0.eot"); src: url("webfonts/32478F_6_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_6_0.woff2") format("woff2"), url("webfonts/32478F_6_0.woff") format("woff"), url("webfonts/32478F_6_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNovaS-Regular'; src: url("webfonts/32478F_7_0.eot"); src: url("webfonts/32478F_7_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_7_0.woff2") format("woff2"), url("webfonts/32478F_7_0.woff") format("woff"), url("webfonts/32478F_7_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNovaA-RegularIt'; src: url("webfonts/32478F_8_0.eot"); src: url("webfonts/32478F_8_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_8_0.woff2") format("woff2"), url("webfonts/32478F_8_0.woff") format("woff"), url("webfonts/32478F_8_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNova-Regular'; src: url("webfonts/32478F_9_0.eot"); src: url("webfonts/32478F_9_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_9_0.woff2") format("woff2"), url("webfonts/32478F_9_0.woff") format("woff"), url("webfonts/32478F_9_0.ttf") format("truetype"); font-weight: 400; font-style: normal; } @font-face { font-family: 'ProximaNovaS-RegularIt'; src: url("webfonts/32478F_A_0.eot"); src: url("webfonts/32478F_A_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_A_0.woff2") format("woff2"), url("webfonts/32478F_A_0.woff") format("woff"), url("webfonts/32478F_A_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNova-RegularIt'; src: url("webfonts/32478F_B_0.eot"); src: url("webfonts/32478F_B_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_B_0.woff2") format("woff2"), url("webfonts/32478F_B_0.woff") format("woff"), url("webfonts/32478F_B_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNovaA-Semibold'; src: url("webfonts/32478F_C_0.eot"); src: url("webfonts/32478F_C_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_C_0.woff2") format("woff2"), url("webfonts/32478F_C_0.woff") format("woff"), url("webfonts/32478F_C_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNovaS-Semibold'; src: url("webfonts/32478F_D_0.eot"); src: url("webfonts/32478F_D_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_D_0.woff2") format("woff2"), url("webfonts/32478F_D_0.woff") format("woff"), url("webfonts/32478F_D_0.ttf") format("truetype"); } @font-face { font-family: 'ProximaNova-Semibold'; src: url("webfonts/32478F_E_0.eot"); src: url("webfonts/32478F_E_0.eot?#iefix") format("embedded-opentype"), url("webfonts/32478F_E_0.woff2") format("woff2"), url("webfonts/32478F_E_0.woff") format("woff"), url("webfonts/32478F_E_0.ttf") format("truetype"); font-weight: 600; font-style: normal; } /** Css variables */ html { --primary-color: rgba(35, 153, 240); --text-primary: rgba(0, 14, 36, 0.87); --text-caption: rgba(0, 27, 72, 0.54); --text-red-50: rgba(230, 54, 85); --controls-border-color: rgba(0, 27, 72, 0.32); --controls-border-radius: 8px; --input-focus-box-shadow: 0px 0px 0px 2px rgba(35, 153, 240, 0.5); --input-focus-border-color: var(--primary-color); --card-box-shadow: 0px 2px 8px rgba(0, 27, 72, 0.13); --st-color-white: #FFF; --st-color-primary: rgba(35, 153, 240); --st-color-text-disabled: rgba(0, 27, 72, 0.32); } /* * ST Signup Forms styles */ body { margin: 0; padding: 0; height: 100%; font-size: 14px; line-height: 14px; font-family: ProximaNova-Regular, Arial, sans-serif; color: var(--text-primary); } /* Fonts and helpers */ .st-title { font-size: 1.25em; font-weight: bold; line-height: 1.5em; color: var(--text-primary); margin-bottom: 8px; } .st-general-error { font-size: 1.25em; line-height: 1.5em; color: var(--text-red-50); margin-bottom: 8px; text-align: center; } /* Error icon */ .st-general-error img { width: 1.25em; height: 1.25em; margin-bottom: -0.2em; } .st-font-caption { font-size: 12px; color: var(--text-caption); line-height: 14px; } .st-font-caption a { color: var(--text-caption); } .st-hidden { display: none; } /* Sign-Up form */ @media (max-width: 246px) { .st-signupform { justify-content: flex-start; } } .st-signupform { display: flex; justify-content: center; } .st-signupform-content { max-width: 540px; box-sizing: border-box; padding: 32px; color: var(--text-primary); line-height: 1.5; background: white; box-shadow: var(--card-box-shadow); border-radius: var(--controls-border-radius); } .st-signupform__label { color: var(--text-primary); font-weight: bold; font-size: 14px; line-height: 2em; word-break: break-word; } .st-signupform__label .required-mark { color: var(--text-red-50); } .st-signupform input:focus, .st-signupform select:focus, .st-signupform textarea:focus, .st-signupform button:focus { outline: none; } .st-signupform .st-error-message { margin-bottom: 4px; color: var(--text-red-50); } .st-checkbox-list { margin-bottom: 4px; } .st-checkbox { display: flex; align-items: center; justify-content: flex-start; font-size: 16px; line-height: 18px; } .st-field-option { margin-bottom: 8px; } .st-field-option:last-child { margin-bottom: 0; } .st-checkbox label { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .st-signupform input[type="text"],textarea { width: 100%; background-color: white; border: 1px solid var(--controls-border-color); border-radius: var(--controls-border-radius); box-sizing: border-box; padding: 8px; font-size: 14px; margin: 4px 0; outline: none; -webkit-transition: .3s all; transition: .3s all; } .st-signupform input[type="text"]:focus, textarea:focus, .st-signupform input[type="checkbox"]:focus, button:focus { border-color: var(--input-focus-border-color); box-shadow: var(--input-focus-box-shadow); -webkit-transition: .3s all; transition: .3s all; } .st-signupform input[type="checkbox"] { appearance: none; width: 18px; height: 18px; border-radius: 4px; background-color: var(--st-color-white); border: 1px solid var(--st-color-text-disabled); box-shadow: inset 0 0 3px rgb(0 0 0 / 15%); position: relative; transition: .3s all; cursor: pointer; box-sizing: border-box; } .st-signupform input[type="checkbox"]:disabled { cursor: default; } .st-signupform input[type="checkbox"]:before { content: ''; background-image: url('../join-web-form/st-checkbox.svg'); background-size: 8px; display: block; position: absolute; background-position: center; background-repeat: no-repeat; opacity: 0; left: 0; right: 0; bottom: 0; top: 0; transition: .3s all; } .st-signupform input[type="checkbox"]:after { content: ''; position: absolute; width: 10px; height: 2px; border-radius: 2px; background-color: var(--st-color-white); opacity: 0; transition: .3s all; top: 7px; left: 3px; } .st-signupform input[type="checkbox"]:checked { background-color: var(--st-color-primary); border-color: var(--st-color-primary); } .st-signupform input[type="checkbox"]:checked:before { opacity: 1; background-size: 12px; } .st-signupform input[type="checkbox"]:indeterminate { background-color: var(--st-color-primary); border-color: var(--st-color-primary); } .st-signupform input[type="checkbox"]:indeterminate:after { opacity: 1; } .st-signupform button[type="submit"] { display: block; width: 100%; border-radius: var(--controls-border-radius); box-sizing: border-box; padding: 8px 16px; font-size: 16px; font-weight: 600; text-decoration: none; text-align: center; cursor: pointer; line-height: 20px; background-color: var(--primary-color); border: 0 none; color: white; margin: 30px 0 24px; } .st-signupform button[type="submit"]:disabled { cursor: default; background-color: var(--st-color-text-disabled); color: white; } .st-signupform input.st-signupform-validation-error, textarea.st-signupform-validation-error, .st-signupform input.st-signupform-validation-error:focus, textarea.st-signupform-validation-error:focus { border-color: #F44336; } .st-signupform textarea { padding-right: 24px; resize: vertical; min-height: 80px; max-height: 200px; } .terms-checkbox { margin-bottom: 4px; } .st-signupform .st-terms-and-conditions { margin-top: 22px; } .st-signupform .st-terms-and-conditions-text { color: var(--text-primary); font-size: 16px; line-height: 18px; } .st-signupform .st-terms-and-conditions-caption { margin-left: 24px; } .st-signupform-terms-agreed-error { margin: 4px 0 0 24px; color: var(--text-red-50); } .st-signupform-server-error-message { color: var(--text-red-50); } .st-signupform footer { font-size: 14px; color: var(--text-primary); text-align: center; } .st-signupform footer a { color: var(--primary-color); } Join Text Messaging List (function joinWebForm( win, doc, webFormId, formFields, DUPLICATE_EMAIL_EXCEPTION, DUPLICATE_PHONE_EXCEPTION,CUSTOM_FIELDS_VALIDATION_EXCEPTION, ) { const XHR = ('onload' in new win.XMLHttpRequest()) ? win.XMLHttpRequest : win.XDomainRequest; const fieldErrorClassName = 'st-signupform-validation-error'; function getFormServerErrorMessage(form) { return form.querySelector('.st-signupform-server-error-message'); } function getFormTermsAgreedError(form) { return form.querySelector('.st-signupform-terms-agreed-error'); } function getSubmitButton(form) { return form.querySelector('#subscribeNow'); } function setServerErrorMessage(form, message) { const formServerErrorMessage = getFormServerErrorMessage(form); formServerErrorMessage.innerText = message; if (message) { formServerErrorMessage.classList.add("st-hidden"); } else { formServerErrorMessage.classList.remove("st-hidden"); } } function isTermsAgreedAccepted(form) { return form.querySelector('input[name="terms-agreed"]').checked; } function showTermsAgreedError(form) { const submitButton = getSubmitButton(form); const formTermsAgreedError = getFormTermsAgreedError(form); submitButton.disabled = false; formTermsAgreedError.classList.remove("st-hidden"); } function hideTermsAgreedError(form) { const formTermsAgreedError = getFormTermsAgreedError(form); formTermsAgreedError.classList.add("st-hidden"); } function clearFormErrors(form) { const fields = form.querySelectorAll(`.${fieldErrorClassName}`); fields.forEach(function (field) { field.classList.remove(fieldErrorClassName); const fieldError = form.querySelector(`#js-error-${field.name}`); fieldError.innerText = ''; }); setServerErrorMessage(form, ''); hideTermsAgreedError(form); } function collectFormData(form) { const formData = new FormData(form); const data = { webFormId, fieldValues: {}, listIds: [], }; formData.forEach(function (value, name) { if (name === 'list') { data.listIds.push(value); } else if (name === 'phone') { data.fieldValues[name] = value.replace(/\D/g, ''); } else if (!['terms-agreed', 'webFormId'].includes(name)) { data.fieldValues[name] = value; } }); return data; } function convertServerErrorMessage(fieldName, errorMessage) { const field = formFields.find(formField => formField.name === fieldName); if (errorMessage === 'Required field value is empty') { return `${field.label} is required`; } else { if (field.type === 'phone') { return `${field.label} is required in (XXX) XXX-XXXX format`; } else if (field.type === 'date') { return `${field.label} is required in MM/DD/YYYY format`; } else if (field.type === 'zipCode') { if (field.format === 'US') { return `${field.label} is required in XXXXX format`; } else { return `${field.label} is required in XXX-XXX format`; } } else if (field.type === 'url') { return `${field.label} is required in http(s)://xxxxxx.xx format`; } else if (field.type === 'gender') { return `${field.label} is required in M, m, F, f, Male, Female, male, female format`; } else if (field.type === 'number') { return `${field.label} is required in number format`; } else if (field.name === 'birthday') { return `${field.label} is required in MM/DD/YYYY format`; } return errorMessage; } } function parseServerValidationError(response) { let results; try { const error = win.JSON.parse(response); if (error.code === DUPLICATE_PHONE_EXCEPTION) { results = [ { fieldName: 'phone', errorMessage: 'Phone number already exists.' } ]; } else if (error.code === DUPLICATE_EMAIL_EXCEPTION) { results = [ { fieldName: 'email', errorMessage: 'Email already exists.' } ]; } else if (error.code === CUSTOM_FIELDS_VALIDATION_EXCEPTION) { results = Object.entries(error.reasons).map(([key, value]) => ({ fieldName: key, errorMessage: convertServerErrorMessage(key, value) })); } else { results = [ { fieldName: error.invalidValueName, errorMessage: convertServerErrorMessage(key, error.reason) } ]; } } catch (error) { results = [ { fieldName: '', errorMessage: 'Validation error.' } ]; } return results; } function handleLoadForm(form) { const submitButton = getSubmitButton(form); if (this.status === 200) { const formData = new FormData(form); const confirmationTextEl = form.querySelector('.step2-confirmationText'); confirmationTextEl.innerText = confirmationTextEl.innerText.replace('%%phone%%', formData.get('phone')); form.querySelector('.step1-form').style.display = 'none'; confirmationTextEl.style.display = 'block'; form.reset(); } else if (this.status === 418) { submitButton.disabled = false; const validations = parseServerValidationError(this.responseText); if (validations.length > 0) { if (validations[0].fieldName) { validations.forEach((validation) => { const fields = form.querySelectorAll( `input[name="${validation.fieldName}"], textarea[name="${validation.fieldName}"]` ); fields.forEach((field) => { field.classList.add(fieldErrorClassName); }); const fieldError = form.querySelector(`#js-error-${validation.fieldName}`); fieldError.innerText = validation.errorMessage; }); } else { setServerErrorMessage(form, validations[0].errorMessage); } } else { setServerErrorMessage(form, 'Internal Error. Please, try later.'); } } else { submitButton.disabled = false; setServerErrorMessage(form, 'Internal Error. Please, try later.'); } } function handleErrorForm(form) { const submitButton = getSubmitButton(form); submitButton.disabled = false; setServerErrorMessage(form, 'Internal Error. Please, try later.'); } function sendForm(form) { const data = collectFormData(form); const url = `${form.action}?r=${Date.now()}`; const request = new XHR(); request.open(form.method, url); request.onload = function () { handleLoadForm.call(this, form) }; request.onerror = function () { handleErrorForm.call(this, form) }; request.ontimeout = function () { handleErrorForm.call(this, form) }; try { request.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'); } catch (_) { /* ignore if we can't set headers */ } request.send(win.JSON.stringify(data)); } function handleSubmitForm(event) { event.preventDefault(); const form = event.target; const submitButton = getSubmitButton(form); try { submitButton.disabled = true; clearFormErrors(form); if (!isTermsAgreedAccepted(form)) { showTermsAgreedError(form); } else { sendForm(form); } } catch (e) { console.error(e); setServerErrorMessage(form, 'Internal Error. Please, try later.'); submitButton.disabled = false; } } function formatPhone(value) { const numbers = value.replace(/\D/g, ''); const firstPart = numbers.substring(0, 3); const secondPart = numbers.substring(3, 6); const thirdPart = numbers.substring(6, 10); let result = ''; if (firstPart) { result += `(${firstPart}`; } if (secondPart) { result += `) ${secondPart}`; } if (thirdPart) { result += `-${thirdPart}`; } return result; } function handleChangePhoneField(event) { const field = event.currentTarget; field.value = formatPhone(field.value); } function handleChangeDateField(event) { const field = event.currentTarget; const numbers = field.value.replace(/\D/g, ''); const month = numbers.substr(0, 2); const day = numbers.substr(2, 2); const year = numbers.substr(4, 4); field.value = `${month}${day ? `/${day}` : ''}${year ? `/${year}` : ''}`; } function handleChangeZipCodeField(event) { const field = event.currentTarget; field.value = field.value.replace(/\D/g, '').substr(0, 5); } function handleChangePostalCodeField(event) { const field = event.currentTarget; const numbers = field.value.replace(/([^a-zA-Z0-9])/g, ''); const code1 = numbers.substr(0, 3); const code2 = numbers.substr(3, 3); field.value = `${code1}${code2 ? `-${code2}` : ''}`; } function handleChangeNumberField(event) { const field = event.currentTarget; field.value = field.value.replace(/[^0-9,.]/g, ''); } function handleLoad() { const forms = doc.querySelectorAll(`#st-join-web-form-${webFormId}`); for(let i=0; i