vermontcustommasonry.com Open in urlscan Pro
185.199.111.153  Public Scan

URL: https://vermontcustommasonry.com/
Submission: On December 10 via api from BE — Scanned from IL

Form analysis 2 forms found in the DOM

<form id="contactModal" class="flex flex-col flex-grow overflow-hidden sm:w-full" onsubmit="send_sms('Vermont-Custom-Masonry', 'contact-modal', '+18023939570')">
  <div class="flex flex-col flex-shrink-1 h-auto sm:h-full overflow-x-hidden overflow-y-auto px-6 sm:mt-6 space-y-6 sm:space-y-0 sm:grid sm:grid-cols-2 sm:gap-x-6 sm:gap-y-4">
    <div>
      <label for="contact-full-name" class="font-medium text-base text-white">Full name *</label>
      <input type="text" name="full-name" id="contact-full-name" class="block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" placeholder="Jane Rodgers" required="">
    </div>
    <div>
      <label for="contact-phone-number" class="font-medium text-base text-white">Phone number *</label>
      <input type="tel" name="phone-number" autocomplete="on" id="contact-phone-number" class="contact-phone-number block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" required="">
    </div>
    <div>
      <label for="contact-email" class="font-medium text-base text-white">Email</label>
      <input type="text" name="email" id="contact-email" class="block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" placeholder="name@example.com">
    </div>
    <div>
      <label for="contact-address" class="font-medium text-base text-white"> Address<span> *</span>
      </label>
      <input type="text" name="address" id="contact-address" class="block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" placeholder="123 Main Street, Boston, MA 02212" required="">
    </div>
    <div class="relative">
      <label for="contact-date" class="font-medium text-base text-white">Preferred Date of Service</label>
      <div class="w-4 h-4 absolute transform translate-y-4.5 left-4"></div>
      <input id="contact-date" name="date" type="date" class="block text-left z-50 w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary">
    </div>
    <div>
      <label for="contact-short-answer-5f3a632b-a3e9-4a12-8df0-75fe267cf32e" class="font-medium text-base text-white">Promo code</label>
      <input type="text" name="short-answer-5f3a632b-a3e9-4a12-8df0-75fe267cf32e" id="contact-short-answer-5f3a632b-a3e9-4a12-8df0-75fe267cf32e"
        class="block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" placeholder="Type your response here...">
    </div>
    <div class="block sm:grid sm:col-span-2">
      <label class="font-medium text-base text-white">Services</label>
      <fieldset class="bg-white p-4 sm:p-6 mt-1 rounded-sm">
        <div class="grid auto-cols-auto gap-4 grid-cols-2">
          <div class="flex items-center">
            <input id="contact-service-1945587" name="service-1945587" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Masonry">
            <label for="contact-service-1945587" class="ml-3 text-sm font-normal text-gray-700">Masonry</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945588" name="service-1945588" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Step Installation">
            <label for="contact-service-1945588" class="ml-3 text-sm font-normal text-gray-700">Step Installation</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945589" name="service-1945589" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Retaining Wall Construction">
            <label for="contact-service-1945589" class="ml-3 text-sm font-normal text-gray-700">Retaining Wall Construction</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945590" name="service-1945590" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Fireplace Installation">
            <label for="contact-service-1945590" class="ml-3 text-sm font-normal text-gray-700">Fireplace Installation</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945591" name="service-1945591" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Landscape Installation">
            <label for="contact-service-1945591" class="ml-3 text-sm font-normal text-gray-700">Landscape Installation</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945592" name="service-1945592" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Patio Design &amp; Construction">
            <label for="contact-service-1945592" class="ml-3 text-sm font-normal text-gray-700">Patio Design &amp; Construction</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945593" name="service-1945593" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Brickwork">
            <label for="contact-service-1945593" class="ml-3 text-sm font-normal text-gray-700">Brickwork</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945594" name="service-1945594" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Concrete Repair">
            <label for="contact-service-1945594" class="ml-3 text-sm font-normal text-gray-700">Concrete Repair</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945595" name="service-1945595" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Chimney Repairs">
            <label for="contact-service-1945595" class="ml-3 text-sm font-normal text-gray-700">Chimney Repairs</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945596" name="service-1945596" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Masonry Restoration">
            <label for="contact-service-1945596" class="ml-3 text-sm font-normal text-gray-700">Masonry Restoration</label>
          </div>
          <div class="flex flex-col">
            <div class="flex items-center">
              <input id="contact-service-other-checkbox" name="service-other" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Other" onclick="toggleOtherServices()">
              <label for="contact-label-service-other-checkbox" class="ml-3 text-sm text-gray-600">Other</label>
            </div>
            <input id="contact-service-other-text" name="service-other-text" type="text" class="ml-4 block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary hidden">
          </div>
        </div>
      </fieldset>
    </div>
    <div class="block sm:grid sm:col-span-2">
      <label for="contact-paragraph-fa76cca1-73b5-4197-ab3d-efacd40a30c5" class="font-medium text-base text-white">How can we help?</label>
      <textarea id="contact-paragraph-fa76cca1-73b5-4197-ab3d-efacd40a30c5" name="paragraph-fa76cca1-73b5-4197-ab3d-efacd40a30c5" rows="4"
        class="block py-2.5 px-2.5 mt-1 w-full border border-gray-500 rounded-sm shadow-sm focus:ring-primary focus:border-primary" placeholder="Type your response here..."></textarea>
    </div>
    <div class="block sm:flex sm:flex-col sm:w-full mt-5 sm:mt-0">
      <label class="font-medium text-base text-white">Upload a photo</label>
      <div class="bg-white p-3 mt-1 rounded-sm border border-gray-500">
        <div x-data="{
                                                imageUrl: '',
                                                fileTooLarge: false,
                                                fileChosen(event) {
                                                    if (this.isProperlySized(event)) {
                                                        this.fileToDataUrl(event, (src) => (this.imageUrl = src));
                                                        this.fileTooLarge = false;
                                                    }
                                                    else
                                                        this.fileTooLarge = true;
                                                },
                                                fileToDataUrl(event, callback) {
                                                    if (!event.target.files.length) return;
                                                    let file = event.target.files[0],
                                                        reader = new FileReader();
                                                    reader.readAsDataURL(file);
                                                    reader.onload = (e) => callback(e.target.result);
                                                },
                                                isProperlySized(event) {
                                                    const files = event.currentTarget.files;
                                                    for (const file in files) {
                                                        const filesize = ((files[file].size/1024)/1024).toFixed(4);
                                                        if (filesize > 10)
                                                            return false;
                                                    }
                                                    return true;
                                                },
                                            }">
          <div x-show="imageUrl !== ''" x-collapse="">
            <div class="flex flex-col items-center space-y-2 sm:space-y-0 sm:flex-row sm:space-x-5">
              <img :src="imageUrl" class="object-cover rounded-sm w-[200px] h-[140px]" :value="imageUrl" id="contact-attachment">
              <button @click="imageUrl = ''; $refs.fileInput.value = '';" type="button"
                class="inline-flex items-center px-4 py-2.5 text-sm font-medium text-gray-700 border border-gray-500 rounded-sm shadow-sm  hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"> Change </button>
            </div>
          </div>
          <label for="file-upload" class="relative font-medium rounded-sm cursor-pointer text-primary">
            <div x-show="imageUrl === ''" x-collapse="">
              <div x-on:dragenter.prevent.stop="" x-on:dragleave.prevent.stop="" class="flex justify-center px-6 pt-5 pb-6 mt-1 sm:pt-2 sm:pb-2 sm:mt-0 border-2 border-dashed rounded-sm">
                <div class="space-y-1 text-center">
                  <svg class="w-12 h-12 mx-auto text-gray-400" stroke="currentColor" fill="none" viewBox="0 0 48 48" aria-hidden="true">
                    <path d="M28 8H12a4 4 0 00-4 4v20m32-12v8m0 0v8a4 4 0 01-4 4H12a4 4 0 01-4-4v-4m32-4l-3.172-3.172a4 4 0 00-5.656 0L28 28M8 32l9.172-9.172a4 4 0 015.656 0L28 28m0 0l4 4m4-24h8m-4-4v8m-12 4h.02" stroke-width="2"
                      stroke-linecap="round" stroke-linejoin="round"></path>
                  </svg>
                  <div class="flex justify-center text-sm text-gray-600">
                    <span class="text-primary">Upload a photo</span>
                    <input x-ref="fileInput" id="file-upload" name="file-upload" type="file" class="sr-only" @change="fileChosen">
                  </div>
                  <p class="text-xs text-gray-500">PNG, JPG, GIF up to 10MB</p>
                </div>
              </div>
            </div>
          </label>
          <p x-show="fileTooLarge" class="mt-2 text-sm text-red-600"> The selected file is too large. Please reduce the size or choose another file. </p>
        </div>
      </div>
    </div>
  </div>
  <div class="flex flex-col flex-shrink-0 z-50 px-6 pt-3 pb-4 bg-primary w-full align-middle items-center justify-center shadow-top-lg">
    <div class="text-gray-300 text-sm font-normal mt-1.5"> By providing your phone number, you agree to receive text messages (SMS) from Vermont Custom Masonry. You can unsubscribe at anytime by replying STOP. Message and data rates may apply.
      Message frequency varies. </div>
    <button id="sendButton"
      class="custom_text_color text-white cta_text_conversion flex justify-center relative rounded-sm mx-4 py-2.5 mt-6 sm:mt-4 bg-secondary hover:bg-secondary-darker w-full text-primary-foreground hover:ring-2 hover:ring-offset-2 hover:ring-secondary transition-all ease-out duration-300 uppercase">
      Send </button>
  </div>
</form>

<form id="contactModal" class="flex flex-col flex-grow overflow-hidden sm:w-full" onsubmit="send_sms('Vermont-Custom-Masonry', 'contact-modal', '+18023939570')">
  <div class="flex flex-col flex-shrink-1 h-auto sm:h-full overflow-x-hidden overflow-y-auto px-6 sm:mt-6 space-y-6 sm:space-y-0 sm:grid sm:grid-cols-2 sm:gap-x-6 sm:gap-y-4">
    <div>
      <label for="contact-full-name" class="font-medium text-base text-white">Full name *</label>
      <input type="text" name="full-name" id="contact-full-name" class="block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" placeholder="Jane Rodgers" required="">
    </div>
    <div>
      <label for="contact-phone-number" class="font-medium text-base text-white">Phone number *</label>
      <div class="iti iti--allow-dropdown iti--show-flags">
        <div class="iti__flag-container">
          <div class="iti__selected-flag" role="combobox" aria-haspopup="listbox" aria-controls="iti-0__country-listbox" aria-owns="iti-0__country-listbox" aria-expanded="false" aria-label="Telephone country code" tabindex="0"
            title="United States: +1">
            <div class="iti__flag iti__us"></div>
            <div class="iti__arrow"></div>
          </div>
          <ul class="iti__country-list iti__hide" id="iti-0__country-listbox" role="listbox" aria-label="List of countries">
            <li class="iti__country iti__preferred iti__active" tabindex="-1" id="iti-0__item-us-preferred" role="option" data-dial-code="1" data-country-code="us" aria-selected="true">
              <div class="iti__flag-box">
                <div class="iti__flag iti__us"></div>
              </div><span class="iti__country-name">United States</span><span class="iti__dial-code">+1</span>
            </li>
            <li class="iti__country iti__preferred" tabindex="-1" id="iti-0__item-gb-preferred" role="option" data-dial-code="44" data-country-code="gb" aria-selected="false">
              <div class="iti__flag-box">
                <div class="iti__flag iti__gb"></div>
              </div><span class="iti__country-name">United Kingdom</span><span class="iti__dial-code">+44</span>
            </li>
            <li class="iti__divider" role="separator" aria-disabled="true"></li>
            <li class="iti__country iti__standard" tabindex="-1" id="iti-0__item-ca" role="option" data-dial-code="1" data-country-code="ca" aria-selected="false">
              <div class="iti__flag-box">
                <div class="iti__flag iti__ca"></div>
              </div><span class="iti__country-name">Canada</span><span class="iti__dial-code">+1</span>
            </li>
            <li class="iti__country iti__standard" tabindex="-1" id="iti-0__item-gb" role="option" data-dial-code="44" data-country-code="gb" aria-selected="false">
              <div class="iti__flag-box">
                <div class="iti__flag iti__gb"></div>
              </div><span class="iti__country-name">United Kingdom</span><span class="iti__dial-code">+44</span>
            </li>
            <li class="iti__country iti__standard" tabindex="-1" id="iti-0__item-us" role="option" data-dial-code="1" data-country-code="us" aria-selected="false">
              <div class="iti__flag-box">
                <div class="iti__flag iti__us"></div>
              </div><span class="iti__country-name">United States</span><span class="iti__dial-code">+1</span>
            </li>
          </ul>
        </div><input type="tel" name="phone-number" autocomplete="on" id="contact-phone-number" class="contact-phone-number block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" required=""
          data-intl-tel-input-id="0" placeholder="(201) 555-0123">
      </div>
    </div>
    <div>
      <label for="contact-email" class="font-medium text-base text-white">Email</label>
      <input type="text" name="email" id="contact-email" class="block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" placeholder="name@example.com">
    </div>
    <div>
      <label for="contact-address" class="font-medium text-base text-white"> Address<span> *</span>
      </label>
      <input type="text" name="address" id="contact-address" class="block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary pac-target-input" placeholder="123 Main Street, Boston, MA 02212" required=""
        autocomplete="off">
    </div>
    <div class="relative">
      <label for="contact-date" class="font-medium text-base text-white">Preferred Date of Service</label>
      <div class="w-4 h-4 absolute transform translate-y-4.5 left-4"></div>
      <input id="contact-date" name="date" type="date" class="block text-left z-50 w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" min="2024-12-10" max="2026-12-10">
    </div>
    <div>
      <label for="contact-short-answer-5f3a632b-a3e9-4a12-8df0-75fe267cf32e" class="font-medium text-base text-white">Promo code</label>
      <input type="text" name="short-answer-5f3a632b-a3e9-4a12-8df0-75fe267cf32e" id="contact-short-answer-5f3a632b-a3e9-4a12-8df0-75fe267cf32e"
        class="block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary" placeholder="Type your response here...">
    </div>
    <div class="block sm:grid sm:col-span-2">
      <label class="font-medium text-base text-white">Services</label>
      <fieldset class="bg-white p-4 sm:p-6 mt-1 rounded-sm">
        <div class="grid auto-cols-auto gap-4 grid-cols-2">
          <div class="flex items-center">
            <input id="contact-service-1945587" name="service-1945587" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Masonry">
            <label for="contact-service-1945587" class="ml-3 text-sm font-normal text-gray-700">Masonry</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945588" name="service-1945588" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Step Installation">
            <label for="contact-service-1945588" class="ml-3 text-sm font-normal text-gray-700">Step Installation</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945589" name="service-1945589" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Retaining Wall Construction">
            <label for="contact-service-1945589" class="ml-3 text-sm font-normal text-gray-700">Retaining Wall Construction</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945590" name="service-1945590" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Fireplace Installation">
            <label for="contact-service-1945590" class="ml-3 text-sm font-normal text-gray-700">Fireplace Installation</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945591" name="service-1945591" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Landscape Installation">
            <label for="contact-service-1945591" class="ml-3 text-sm font-normal text-gray-700">Landscape Installation</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945592" name="service-1945592" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Patio Design &amp; Construction">
            <label for="contact-service-1945592" class="ml-3 text-sm font-normal text-gray-700">Patio Design &amp; Construction</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945593" name="service-1945593" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Brickwork">
            <label for="contact-service-1945593" class="ml-3 text-sm font-normal text-gray-700">Brickwork</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945594" name="service-1945594" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Concrete Repair">
            <label for="contact-service-1945594" class="ml-3 text-sm font-normal text-gray-700">Concrete Repair</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945595" name="service-1945595" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Chimney Repairs">
            <label for="contact-service-1945595" class="ml-3 text-sm font-normal text-gray-700">Chimney Repairs</label>
          </div>
          <div class="flex items-center">
            <input id="contact-service-1945596" name="service-1945596" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Masonry Restoration">
            <label for="contact-service-1945596" class="ml-3 text-sm font-normal text-gray-700">Masonry Restoration</label>
          </div>
          <div class="flex flex-col">
            <div class="flex items-center">
              <input id="contact-service-other-checkbox" name="service-other" type="checkbox" class="w-4 h-4 border-gray-500 rounded text-primary focus:ring-primary" value="Other" onclick="toggleOtherServices()">
              <label for="contact-label-service-other-checkbox" class="ml-3 text-sm text-gray-600">Other</label>
            </div>
            <input id="contact-service-other-text" name="service-other-text" type="text" class="ml-4 block w-full border-gray-500 py-2.5 mt-1 rounded-sm shadow-sm focus:ring-primary focus:border-primary hidden">
          </div>
        </div>
      </fieldset>
    </div>
    <div class="block sm:grid sm:col-span-2">
      <label for="contact-paragraph-fa76cca1-73b5-4197-ab3d-efacd40a30c5" class="font-medium text-base text-white">How can we help?</label>
      <textarea id="contact-paragraph-fa76cca1-73b5-4197-ab3d-efacd40a30c5" name="paragraph-fa76cca1-73b5-4197-ab3d-efacd40a30c5" rows="4"
        class="block py-2.5 px-2.5 mt-1 w-full border border-gray-500 rounded-sm shadow-sm focus:ring-primary focus:border-primary" placeholder="Type your response here..."></textarea>
    </div>
    <div class="block sm:flex sm:flex-col sm:w-full mt-5 sm:mt-0">
      <label class="font-medium text-base text-white">Upload a photo</label>
      <div class="bg-white p-3 mt-1 rounded-sm border border-gray-500">
        <div x-data="{
                                                imageUrl: '',
                                                fileTooLarge: false,
                                                fileChosen(event) {
                                                    if (this.isProperlySized(event)) {
                                                        this.fileToDataUrl(event, (src) => (this.imageUrl = src));
                                                        this.fileTooLarge = false;
                                                    }
                                                    else
                                                        this.fileTooLarge = true;
                                                },
                                                fileToDataUrl(event, callback) {
                                                    if (!event.target.files.length) return;
                                                    let file = event.target.files[0],
                                                        reader = new FileReader();
                                                    reader.readAsDataURL(file);
                                                    reader.onload = (e) => callback(e.target.result);
                                                },
                                                isProperlySized(event) {
                                                    const files = event.currentTarget.files;
                                                    for (const file in files) {
                                                        const filesize = ((files[file].size/1024)/1024).toFixed(4);
                                                        if (filesize > 10)
                                                            return false;
                                                    }
                                                    return true;
                                                },
                                            }">
          <div x-show="imageUrl !== ''" x-collapse="" hidden="" style="display: none; height: 0px; overflow: hidden;">
            <div class="flex flex-col items-center space-y-2 sm:space-y-0 sm:flex-row sm:space-x-5">
              <img :src="imageUrl" class="object-cover rounded-sm w-[200px] h-[140px]" :value="imageUrl" id="contact-attachment" src="">
              <button @click="imageUrl = ''; $refs.fileInput.value = '';" type="button"
                class="inline-flex items-center px-4 py-2.5 text-sm font-medium text-gray-700 border border-gray-500 rounded-sm shadow-sm  hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"> Change </button>
            </div>
          </div>
          <label for="file-upload" class="relative font-medium rounded-sm cursor-pointer text-primary">
            <div x-show="imageUrl === ''" x-collapse="">
              <div x-on:dragenter.prevent.stop="" x-on:dragleave.prevent.stop="" class="flex justify-center px-6 pt-5 pb-6 mt-1 sm:pt-2 sm:pb-2 sm:mt-0 border-2 border-dashed rounded-sm">
                <div class="space-y-1 text-center">
                  <svg class="w-12 h-12 mx-auto text-gray-400" stroke="currentColor" fill="none" viewBox="0 0 48 48" aria-hidden="true">
                    <path d="M28 8H12a4 4 0 00-4 4v20m32-12v8m0 0v8a4 4 0 01-4 4H12a4 4 0 01-4-4v-4m32-4l-3.172-3.172a4 4 0 00-5.656 0L28 28M8 32l9.172-9.172a4 4 0 015.656 0L28 28m0 0l4 4m4-24h8m-4-4v8m-12 4h.02" stroke-width="2"
                      stroke-linecap="round" stroke-linejoin="round"></path>
                  </svg>
                  <div class="flex justify-center text-sm text-gray-600">
                    <span class="text-primary">Upload a photo</span>
                    <input x-ref="fileInput" id="file-upload" name="file-upload" type="file" class="sr-only" @change="fileChosen">
                  </div>
                  <p class="text-xs text-gray-500">PNG, JPG, GIF up to 10MB</p>
                </div>
              </div>
            </div>
          </label>
          <p x-show="fileTooLarge" class="mt-2 text-sm text-red-600" style="display: none;"> The selected file is too large. Please reduce the size or choose another file. </p>
        </div>
      </div>
    </div>
  </div>
  <div class="flex flex-col flex-shrink-0 z-50 px-6 pt-3 pb-4 bg-primary w-full align-middle items-center justify-center shadow-top-lg">
    <div class="text-gray-300 text-sm font-normal mt-1.5"> By providing your phone number, you agree to receive text messages (SMS) from Vermont Custom Masonry. You can unsubscribe at anytime by replying STOP. Message and data rates may apply.
      Message frequency varies. </div>
    <button id="sendButton"
      class="custom_text_color text-white cta_text_conversion flex justify-center relative rounded-sm mx-4 py-2.5 mt-6 sm:mt-4 bg-secondary hover:bg-secondary-darker w-full text-primary-foreground hover:ring-2 hover:ring-offset-2 hover:ring-secondary transition-all ease-out duration-300 uppercase">
      Send </button>
  </div>
</form>

Text Content

Brandon , you’re just a few clicks from going live! Don’t worry - we can still
make edits after launching. bucks
Launch my site Contact Us Learn more →
MENU Open/CLose menu TODO:
Home
Services
Masonry Step Installation Retaining Wall Construction Fireplace Installation
Landscape Installation
Patio Design & Construction Brickwork Concrete Repair Chimney Repairs Masonry
Restoration
Galleries

Hardscaping

Masonry

All Photos

Reviews
Send us a Text
(802) 393-9570
Close menu
Home
Services
Masonry Step Installation Retaining Wall Construction Fireplace Installation
Landscape Installation Patio Design & Construction Brickwork Concrete Repair
Chimney Repairs Masonry Restoration
Galleries
Hardscaping Masonry All Photos
Reviews
Send us a Text
(802) 393-9570


VERMONT CUSTOM MASONRY

Based in Montpelier, VT, Vermont Custom Masonry offers the best masonry services
in the area. Trust us for expert craftsmanship and exceptional results for your
project.

Get a Free Quote



OUR PROPERTIES

INSURED

BONDED

FAMILY OWNED

LOCALLY OWNED


ABOUT US

At Vermont Custom Masonry, we are a team of skilled craftsmen dedicated to
providing top-quality masonry services in Montpelier and surrounding areas. With
a commitment to excellence, we specialize in creating custom stone and brickwork
for residential and commercial projects. Let us bring your vision to life with
our expertise.
Connect with us
 * Facebook

What we are best at


OUR SERVICES


 * Masonry
   
   Our expert masonry service offers professional installation and repair for
   your home's brickwork, concrete, and stone features. Enhance the beauty and
   durability of your property with our skilled craftsmanship.

 * Step Installation
   
   Our Step Installation service enhances your home's curb appeal and
   functionality with expertly crafted masonry steps that provide safe and
   stylish access to your property, ensuring long-lasting durability.

 * Retaining Wall Construction
   
   Our expert masons specialize in designing and constructing durable retaining
   walls to enhance your property's aesthetics while providing stability,
   erosion control, and added value to your home.

 * Fireplace Installation
   
   Our expert masons offer professional fireplace installation services,
   enhancing the ambiance and functionality of your home. Trust our team to
   create a beautiful focal point that provides warmth and comfort.

 * Landscape Installation
   
   Our expert team specializes in creating stunning outdoor landscapes,
   incorporating various masonry elements like pathways, walls, and features to
   enhance your property's beauty and functionality. Contact us today for a
   consultation!

 * Patio Design & Construction
   
   Transform your outdoor space with our Patio Design & Construction service.
   From concept to completion, we create stunning and functional patios using
   high-quality materials and expert craftsmanship.

 * Brickwork
   
   Our expert brickwork service offers homeowners exceptional craftsmanship,
   durability, and aesthetic appeal for all masonry projects. Trust us to
   enhance your property with timeless beauty and lasting quality.

 * Concrete Repair
   
   Our Concrete Repair service restores the structural integrity and aesthetic
   appeal of damaged concrete surfaces, providing homeowners with a
   cost-effective solution to enhance the durability and beauty of their
   property.

 * Chimney Repairs
   
   Our Chimney Repairs service ensures your chimney is safe and functional,
   providing expert masonry repairs to protect your home from water damage and
   maintain optimal efficiency. Contact us today.

 * Masonry Restoration
   
   Our experienced team specializes in restoring and repairing masonry
   structures to their original beauty and integrity, ensuring lasting
   durability and enhancing the overall aesthetic appeal of your home.

See more services



READY TO GET STARTED?


BOOK AN APPOINTMENT TODAY.

Get a Free Quote

Get a quote

Receiving a quote is easy and only takes three simple steps
Send us a text Text us
Chat on the phone
Receive a quote
Send us a text
Text us
Chat on the phone
Receive a quote


SEE WHY OUR CUSTOMERS LOVE US OUR BEST WORK


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 


 * 

See more photos
Take a look for yourself on what your neighbors are saying about us.
Reviews

See all reviews


REVIEWS CAROUSEL

Skip to previous review
Carousel
 * 
   out of 5 stars
   
   > Removed and disposed of some old chimneys for me. They arrived on time, do
   > great work, finished the same day and were reasonably priced. They've taken
   > care of all the current work I needed done but they'll be the ones I call
   > next time I need a mason. Would definitely recommend. See more See less
   > Fifi Bochesni
   > Masonry

 * 
   out of 5 stars
   
   > Vermont Custom Masonry serviced and inspected the chimney at my home. The
   > inspection provided insight on the condition of my chimney, as well as
   > recommending solutions to service/repair deficiencies. Overall I am
   > completely satisfied with the service/capabilities of Vermont Custom
   > Masonry. Give them a call and see how they can help you with any issues you
   > may be dealing with. See more See less
   > Chris Clodgo
   > Masonry


 * 
   out of 5 stars
   
   > Removed and disposed of some old chimneys for me. They arrived on time, do
   > great work, finished the same day and were reasonably priced. They've taken
   > care of all the current work I needed done but they'll be the ones I call
   > next time I need a mason. Would definitely recommend. See more See less
   > Fifi Bochesni
   > Masonry

Skip to next slide
Skip to previous review
Skip to next slide
See all reviews
Leave Us a Review

 * Leave us a review on
   Facebook




FREQUENTLY ASKED QUESTIONS

Are estimates provided by Vermont Custom Masonry free of charge?



Yes, we offer free estimates for all masonry services.

How is Vermont Custom Masonry different from other masonry companies?



At Vermont Custom Masonry, we pride ourselves on our attention to detail,
exceptional craftsmanship, and commitment to exceeding customer expectations.
Our team of experienced masons are dedicated to delivering high-quality results
on every project, no matter the size or complexity.

What services do you provide as a Masonry company?



Vermont Custom Masonry provides a wide range of masonry services including
brickwork, stonework, concrete work, chimney repair, and outdoor hardscaping
projects.


Areas we proudly serve
Montpelier
Burlington
Plattsburgh
South Burlington
Colchester
Rutland


READY TO GET STARTED?


BOOK AN APPOINTMENT TODAY.

Get a Free Quote


FOOTER

Vermont Custom Masonry
Montpelier, VT, US
vermontcustommasonry@gmail.com
Contact Us
Book Now
 * Facebook


COMPANY

 * Home
 * Galleries
 * Reviews
 * Sitemap


SERVICES

 * Masonry
 * Step Installation
 * Retaining Wall Construction
 * Fireplace Installation
 * Landscape Installation
 * Patio Design & Construction
 * Brickwork
 * Concrete Repair
 * Chimney Repairs
 * Masonry Restoration


SERVICE AREAS

 * Montpelier, VT
 * Burlington, VT
 * Plattsburgh, NY
 * South Burlington, VT
 * Colchester, VT
 * Rutland, VT


HOURS

 * Sun:
   8:00am - 10:00pm
 * Mon:
   8:00am - 10:00pm
 * Tue:
   8:00am - 10:00pm
 * Wed:
   8:00am - 10:00pm
 * Thu:
   8:00am - 10:00pm
 * Fri:
   8:00am - 10:00pm
 * Sat:
   8:00am - 10:00pm

Powered by

ⓒ All Rights Reserved
Send Us a Text

Close modal


SEND US A TEXT

We usually respond via text within a few minutes.




SEND US A TEXT

We usually respond via text within a few minutes.



Full name *
Phone number *
Email
Address *
Preferred Date of Service

Promo code
Services
Masonry
Step Installation
Retaining Wall Construction
Fireplace Installation
Landscape Installation
Patio Design & Construction
Brickwork
Concrete Repair
Chimney Repairs
Masonry Restoration
Other
How can we help?
Upload a photo
Change
Upload a photo

PNG, JPG, GIF up to 10MB

The selected file is too large. Please reduce the size or choose another file.

By providing your phone number, you agree to receive text messages (SMS) from
Vermont Custom Masonry. You can unsubscribe at anytime by replying STOP. Message
and data rates may apply. Message frequency varies.
Send


LEAVE A REVIEW

Close modal

   Review types
 * Leave us a review on
   Facebook

Close menu
Home
Services
Masonry Step Installation Retaining Wall Construction Fireplace Installation
Landscape Installation Patio Design & Construction Brickwork Concrete Repair
Chimney Repairs Masonry Restoration
Galleries
Hardscaping Masonry All Photos
Reviews
Send us a Text
(802) 393-9570

Close modal


SEND US A TEXT

We usually respond via text within a few minutes.




SEND US A TEXT

We usually respond via text within a few minutes.



Full name *
Phone number *
 * 
   United States+1
 * 
   United Kingdom+44
 * 
 * 
   Canada+1
 * 
   United Kingdom+44
 * 
   United States+1

Email
Address *
Preferred Date of Service

Promo code
Services
Masonry
Step Installation
Retaining Wall Construction
Fireplace Installation
Landscape Installation
Patio Design & Construction
Brickwork
Concrete Repair
Chimney Repairs
Masonry Restoration
Other
How can we help?
Upload a photo
Change
Upload a photo

PNG, JPG, GIF up to 10MB

The selected file is too large. Please reduce the size or choose another file.

By providing your phone number, you agree to receive text messages (SMS) from
Vermont Custom Masonry. You can unsubscribe at anytime by replying STOP. Message
and data rates may apply. Message frequency varies.
Send


LEAVE A REVIEW

Close modal

   Review types
 * Leave us a review on
   Facebook