gunner.com Open in urlscan Pro
23.227.38.32  Public Scan

Submitted URL: http://gunner.com/
Effective URL: https://gunner.com/
Submission: On December 20 via api from US — Scanned from CA

Form analysis 9 forms found in the DOM

GET /search

<form action="/search" method="get" class="search-bar" role="search">
  <input type="hidden" name="type" value="product">
  <input type="search" name="q" value="">
  <button type="submit" class="search-bar--submit icon-fallback-text">
    <div class="search-icon">
      <svg aria-hidden="true" focusable="false" role="presentation" viewBox="0 0 37 40">
        <path
          d="M35.6 36l-9.8-9.8c4.1-5.4 3.6-13.2-1.3-18.1-5.4-5.4-14.2-5.4-19.7 0-5.4 5.4-5.4 14.2 0 19.7 2.6 2.6 6.1 4.1 9.8 4.1 3 0 5.9-1 8.3-2.8l9.8 9.8c.4.4.9.6 1.4.6s1-.2 1.4-.6c.9-.9.9-2.1.1-2.9zm-20.9-8.2c-2.6 0-5.1-1-7-2.9-3.9-3.9-3.9-10.1 0-14C9.6 9 12.2 8 14.7 8s5.1 1 7 2.9c3.9 3.9 3.9 10.1 0 14-1.9 1.9-4.4 2.9-7 2.9z">
        </path>
      </svg>
    </div>
  </button>
</form>

GET /search

<form action="/search" method="get" class="search-bar" role="search" data-event-types="form_submission" data-element-id="XkLOoz2o3aULlZJsW6ICUivTm2w3gEDl">
  <input type="hidden" name="type" value="product">
  <input type="search" name="q" value="" data-event-types="input_focus,input_blur" data-element-id="xMOisOouK8xNEuwAnvRpPENEy20bOkV4">
</form>

POST /contact#ContactFooter

<form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="contact-form" novalidate="novalidate" data-event-types="form_submission" data-element-id="NCLvHkhw8aAv1CodEIK6T6Mg5Q06TRaY"><input type="hidden"
    name="form_type" value="customer"><input type="hidden" name="utf8" value="✓">
  <div class="newsletter-form-fields">
    <input type="hidden" name="contact[tags]" value="newsletter">
    <input type="email" name="contact[email]" id="ContactFooter-email" value="" placeholder="Your Email Address" required="" autocorrect="off" autocapitalize="off" data-event-types="input_focus,input_blur"
      data-element-id="hY3x6Gw8ShJVx49vgT4wsAkMlBCfjuhH">
    <button type="submit" name="commit" id="Subscribe" data-event-types="hover,click" data-element-id="uWtBbpA1JTmBnU3L02C9fHMvsO4ri12Z">
      <span>JOIN THE PACK</span>
    </button>
  </div>
</form>

POST /cart/add

<form method="post" action="/cart/add" id="product_form_4504503648328" accept-charset="UTF-8" class="product-form product-form-45045036483282" enctype="multipart/form-data" novalidate="novalidate"><input type="hidden" name="form_type"
    value="product"><input type="hidden" name="utf8" value="✓">
  <div class="name-plate-add-to-cart">
    <div class="name-plate-quantity" style="display: none">
      <div class="dec increment-button">-</div>
      <input type="number" id="Quantity-45045036483282" name="quantity" value="1" min="1" pattern="[0-9]*">
      <div class="inc increment-button">+</div>
    </div>
    <div class="selector-wrapper js product-form__item">
      <label style="display: none" for="SingleOptionSelector-0"> Size </label>
      <select class="single-option-selector single-option-selector-45045036483282 product-form__input" id="SingleOptionSelector-0" data-index="option1" data-event-types="select_change" data-element-id="XJMRTvxBPhR4o1JoSCMf9h024dNFv3LR">
        <option value="Intermediate/Large" selected="selected">Intermediate/Large</option>
        <option value="Small/Medium">Small/Medium</option>
      </select>
    </div>
    <select style="display: none" name="id" id="ProductSelect-45045036483282-quickview" class="product-form__variants no-js">
      <option selected="selected" value="31801264013384"> Intermediate/Large </option>
      <option value="31882148020296"> Small/Medium </option>
    </select>
    <script type="module">
      const template = `index`;
      const productHandle = `personalized-kennel-name-plate`;
      const personalization = document.querySelector('.personalization[data-product="' + productHandle + '"]');
      const parentElement = personalization.closest('.product-details') || personalization.closest('.food-crate-name-plate-popup') || personalization.closest('.name-plate-popup') || personalization.closest('.kennel-bundle-popup') || personalization
        .closest('.upsell-accessories-modal') || personalization.closest('#shopify-section-product-details_development-bundle-promo') || personalization.closest('#shopify-section-product-details_event-promo') || personalization.closest(
          '#shopify-section-product-details_boykin-nationals-promo') || personalization.closest('#shopify-section-product-details_bundle') || personalization.closest('[id*=product-details_foodcratebundle]');
      const personalizationOverlay = parentElement.querySelector('.personalization-overlay');
      const dogNameInput = personalization.querySelector('.dog-name');
      const addToCartButton = parentElement.querySelector('.add-to-cart-button');
      const quantityButtons = parentElement.querySelector('.product-quantity');
      const variantSelector = parentElement.querySelector('.single-option-selector');
      const bundleStockCheck = () => {
        var bundlePersonalization = document.querySelector('.product-options-container[data-product-handle="personalized-kennel-name-plate"]');
        if (productHandle == 'food-crate-name-plate') {
          bundlePersonalization = document.querySelector('.product-options-container[data-product-handle="food-crate-name-plate"]');
        }
        if (!bundlePersonalization) {
          return;
        }
        if (!bundlePersonalization.querySelector('.bundle-out-of-stock')) {
          return;
        }
        // Bundle page kennel size swatch label
        let kennelSize;
        const kennelSizeSwatchLabel = document.querySelector('#product_form_6569779036359 .swatch[data-swatch-name="Size"] .swatch-selected');
        kennelSizeSwatchLabel ? kennelSize = kennelSizeSwatchLabel.textContent : null;
        let namePlateAvailable;
        kennelSize === 'Small' || kennelSize === 'Medium' ? namePlateAvailable = bundlePersonalization.querySelector('div[data-variant="Small/Medium"]').getAttribute('data-variant-available') : null;
        kennelSize === 'Intermediate' || kennelSize === 'Large' ? namePlateAvailable = bundlePersonalization.querySelector('div[data-variant="Intermediate/Large"]').getAttribute('data-variant-available') : null;
        if (!namePlateAvailable && !document.querySelectorAll('.bundle-out-of-stock.visible:not(.personalization-unavailable)').length) {
          bundlePersonalization.querySelector('.bundle-out-of-stock').classList.add('visible');
          // Bundle combination out of stock, hide/show Out of Stock form
          const outOfStockForm = document.querySelector('#out-of-stock-form');
          if (outOfStockForm) {
            // Add to cart container
            const addToCartContainer = document.querySelector('#product-add-to-cart');
            outOfStockForm.classList.remove('hidden');
            addToCartContainer.classList.add('hidden');
            const activeBundleId = determineBundle();
            // Determine which form to show
            const klaviyoForms = outOfStockForm.querySelectorAll('.klaviyo-form');
            klaviyoForms.forEach(klaviyoForm => {
              if (klaviyoForm.getAttribute('data-bundle-id') == activeBundleId) {
                klaviyoForm.classList.remove('hidden');
              } else {
                klaviyoForm.classList.add('hidden');
              }
            });
            // Update active bundle ID
            outOfStockForm.querySelector('#active-bundle').setAttribute('data-bundle-id', activeBundleId);
          }
        } else {
          bundlePersonalization.querySelector('.bundle-out-of-stock').classList.remove('visible');
        }
      };
      // checkCartButton(string)
      const checkCartButton = (inputValue) => {
        if (inputValue.length && personalization.querySelector('.personalization-approved').checked) {
          if (addToCartButton) {
            //food crate bundle, do not run the texts overlay in product image
            if (template.indexOf('food-crate-bundle') !== -1) {
              let productOptionsParent = document.getElementById('product-options');
              let productOptionsCont = productOptionsParent.querySelectorAll('.option-container');
              let countCheckedOptions = 0;
              let productOptionsLength = productOptionsCont.length;
              if (productOptionsCont) {
                productOptionsCont.forEach(productOptionContainer => {
                  let swatchCont = productOptionContainer.querySelector('.swatch-container');
                  let swatchInput = swatchCont.querySelectorAll('input[type="radio"]:checked');
                  if (swatchInput.length) {
                    countCheckedOptions++;
                  }
                });
                if (countCheckedOptions == productOptionsLength) {
                  addToCartButton.classList.remove('disabled');
                  addToCartButton.removeAttribute('disabled');
                }
              }
            } else {
              addToCartButton.classList.remove('disabled');
              addToCartButton.removeAttribute('disabled');
            }
          }
          quantityButtons && quantityButtons.classList.remove('disabled');
        } else {
          if (addToCartButton) {
            addToCartButton.classList.add('disabled');
            addToCartButton.setAttribute('disabled', true);
          }
          quantityButtons && quantityButtons.classList.add('disabled');
        }
        // If any bundles are disabled, disable cart functionality
        const unavailableBundleOptions = document.querySelectorAll('#shopify-section-product-details_bundle #bundle-product-options .product-options-container[data-available="false"]');
        if (unavailableBundleOptions.length) {
          if (addToCartButton) {
            addToCartButton.classList.add('disabled');
            addToCartButton.setAttribute('disabled', true);
          }
          quantityButtons && quantityButtons.classList.add('disabled');
        }
        // Up-sell accessories modal select buttons
        const upsellAccessoriesSelectsSelected = document.querySelectorAll('.upsell-accessories-modal .bundle-product-select.selected');
        if (addToCartButton && parentElement.classList.contains('upsell-accessories-modal') && !upsellAccessoriesSelectsSelected.length) {
          addToCartButton.classList.add('disabled');
          addToCartButton.setAttribute('disabled', true);
        }
      };
      // bundleDataCheck(string, HTMLElement)
      const bundleDataCheck = (inputValue, swatch) => {
        const bundleOptionsContainer = personalization.closest('.product-options-container');
        if (bundleOptionsContainer) {
          let kennelSize;
          // Bundle page kennel size swatch label
          const kennelSizeSwatchLabel = document.querySelector('#product_form_6569779036359 .swatch[data-swatch-name="Size"] .swatch-selected');
          kennelSizeSwatchLabel ? kennelSize = kennelSizeSwatchLabel.textContent : null;
          // Up-sell accessories modal
          const upsellAccessoriesModalKennelSize = document.querySelector('#upsell-accessories-modal-kennel-size');
          upsellAccessoriesModalKennelSize ? kennelSize = upsellAccessoriesModalKennelSize.getAttribute('data-size') : null;
          // Swatch override
          swatch ? kennelSize = swatch.getAttribute('data-swatch-value') : null;
          let isFoodCrateBundle = 0;
          if ((inputValue.length && personalization.querySelector('.personalization-approved').checked) || (isFoodCrateBundle == 1)) {
            const variantDataElements = bundleOptionsContainer.querySelectorAll('.bundle-product-variant-data > div');
            variantDataElements && variantDataElements.forEach(variantDataElement => {
              if (variantDataElement.getAttribute('data-variant').indexOf(kennelSize) >= 0) {
                bundleOptionsContainer.setAttribute('data-price', variantDataElement.getAttribute('data-variant-price'));
                bundleOptionsContainer.setAttribute('data-variant-id', variantDataElement.getAttribute('data-variant-id'));
              }
            });
          } else {
            bundleOptionsContainer.removeAttribute('data-price');
            bundleOptionsContainer.removeAttribute('data-variant-id');
          }
          //try {
          if (document.querySelector("#product_form_6569779036359 #SingleOptionSelector-0").length > 0) {
            document.querySelector('#product_form_6569779036359 #SingleOptionSelector-0') && document.querySelector('#product_form_6569779036359 #SingleOptionSelector-0').dispatchEvent(new Event('change'));
          }
          //} catch (e) {}
        }
      };
      // Disable the add to cart buttons.
      if (addToCartButton) {
        addToCartButton.classList.add('disabled');
        addToCartButton.setAttribute('disabled', true);
      }
      // Preview approval checkbox detection.
      personalization.querySelector('.personalization-approved').addEventListener('change', () => {
        checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''));
        bundleDataCheck(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''));
        // Bundle stock check
        bundleStockCheck();
      });
      // fixFontWidth(boolean)
      const fixFontWidth = (fromRerun) => {
        let fontSize = 250;
        if (template === 'product.personalized-name-plate' || template === 'product.food-crate-name-plate' || template === 'page.promo-landing-page' || template === 'page.boykin-nationals-promo') {
          if (window.matchMedia('(max-width: 1400px)').matches) {
            fontSize = 170;
          }
          if (window.matchMedia('(max-width: 1200px)').matches) {
            fontSize = 135;
          }
        } else {
          fontSize = 125;
        }
        if (window.matchMedia('(max-width: 1000px)').matches) {
          fontSize = 105;
        }
        if (window.matchMedia('(max-width: 700px)').matches) {
          fontSize = 125;
        }
        if (window.matchMedia('(max-width: 600px)').matches) {
          fontSize = 100;
        }
        if (window.matchMedia('(max-width: 480px)').matches) {
          fontSize = 90;
        }
        if (window.matchMedia('(max-width: 400px)').matches) {
          fontSize = 80;
        }
        if (document.querySelector('#shopify-section-product-details_bundle')) {
          fontSize = 75;
          if (window.matchMedia('(max-width: 1400px)').matches) {
            fontSize = 65;
          }
          if (window.matchMedia('(max-width: 1200px)').matches) {
            fontSize = 60;
          }
          if (window.matchMedia('(max-width: 1000px)').matches) {
            fontSize = 55;
          }
          if (window.matchMedia('(max-width: 700px)').matches) {
            fontSize = 50;
          }
          if (window.matchMedia('(max-width: 600px)').matches) {
            fontSize = 45;
          }
          if (window.matchMedia('(max-width: 480px)').matches) {
            fontSize = 40;
          }
          if (window.matchMedia('(max-width: 400px)').matches) {
            fontSize = 36;
          }
        }
        const textContainer = personalizationOverlay.querySelector('.personalization-overlay-text')
        const textContainerWidth = textContainer.offsetWidth;
        const textContainerInner = personalizationOverlay.querySelector('.personalization-overlay-text-inner');
        const textContainerInnerWidth = textContainerInner.offsetWidth;
        const currentFontSize = parseInt(window.getComputedStyle(textContainerInner).fontSize.replace('px', ''));
        let newFontSize = parseInt(window.getComputedStyle(textContainerInner).fontSize.replace('px', ''));
        let rerunFunction;
        if (textContainerInnerWidth >= textContainerWidth) {
          newFontSize = currentFontSize * 0.9;
          rerunFunction = true;
        } else if (textContainerInnerWidth < textContainerWidth && fontSize > currentFontSize && !fromRerun) {
          let totalRuns = 0;
          for (let i = fontSize; i > 6; i *= 0.9) {
            let mockElement = textContainerInner.cloneNode(true);
            mockElement.removeAttribute('id');
            mockElement.classList.add('personalization-overlay-text-mock-element');
            mockElement.style.fontSize = i + 'px';
            textContainer.append(mockElement);
            const mockElementWidth = mockElement.offsetWidth;
            mockElement.remove();
            if (mockElementWidth < textContainerWidth) {
              newFontSize = i;
              break;
            }
            totalRuns++;
            if (totalRuns > 30) {
              break;
            }
          };
        }
        textContainerInner.style.fontSize = newFontSize + 'px';
        rerunFunction && fixFontWidth(true);
      }
      // Dog name input change.
      dogNameInput.addEventListener('input', (e) => {
        const newValue = e.target.value;
        // Remove any special characters. Limit to 0-9 and A-Z.
        const valueWithoutSpecialChars = newValue.replace(/[^a-zA-Z0-9 ]/g, '');
        //food crate bundle, do not run the texts overlay in product image
        if (template.indexOf('food-crate-bundle') !== -1) {
          checkCartButton(valueWithoutSpecialChars);
          bundleDataCheck(valueWithoutSpecialChars);
        } else {
          // Blank image switch.
          if (document.querySelector('#shopify-section-product-details_bundle')) {
            let namePlateImageIndex;
            const mainProductImages = document.querySelectorAll('#main-product-image-slider .slick-slide:not(.slick-cloned) .product-image');
            mainProductImages.forEach((mainProductImage, index) => mainProductImage.getAttribute('data-name-plate-image') ? namePlateImageIndex = index : null);
            $('#main-product-image-slider').slick('slickGoTo', namePlateImageIndex);
            // Popup.
          } else {
            const namePlatePopup = document.querySelector('.name-plate-popup');
            const foodCrateNamePlatePopup = document.querySelector('.food-crate-name-plate-popup');
            const kennelBundlePopup = document.querySelector('.kennel-bundle-popup');
            const upsellAccessoriesModal = document.querySelector('.upsell-accessories-modal');
            if (namePlatePopup) {
              namePlatePopup.querySelector('.name-plate-product-image .blank').classList.remove('hidden');
              namePlatePopup.querySelector('.name-plate-product-image .not-blank').classList.add('hidden');
            }
            if (kennelBundlePopup) {
              kennelBundlePopup.querySelector('.name-plate-product-image .blank').classList.remove('hidden');
              kennelBundlePopup.querySelector('.name-plate-product-image .not-blank').classList.add('hidden');
            }
            if (foodCrateNamePlatePopup) {
              foodCrateNamePlatePopup.querySelector('.food-crate-name-plate-popup .food-crate-name-plate-product-image .blank').classList.remove('hidden');
              foodCrateNamePlatePopup.querySelector('.food-crate-name-plate-popup .food-crate-name-plate-product-image .not-blank').classList.add('hidden');
            }
            if (upsellAccessoriesModal) {
              upsellAccessoriesModal.querySelectorAll('.upsell-accessories-modal .name-plate-product-image .blank').forEach(blankImage => blankImage.classList.remove('hidden'));
              upsellAccessoriesModal.querySelectorAll('.upsell-accessories-modal .name-plate-product-image .not-blank').forEach(notBlankImage => notBlankImage.classList.add('hidden'));
            }
          }
          // Update the input.
          e.target.value = valueWithoutSpecialChars;
          // Text overlay.
          const inputLength = valueWithoutSpecialChars.length;
          const thisCharacter = valueWithoutSpecialChars[inputLength - 1];
          const lastCharacter = valueWithoutSpecialChars[inputLength - 2];
          // Do not show blanks.
          if (thisCharacter === ' ' && lastCharacter === ' ') {
            return;
          }
          if (inputLength === 1 && thisCharacter === ' ') {
            return;
          }
          personalizationOverlay.querySelector('.personalization-overlay-text-inner').textContent = valueWithoutSpecialChars;
          checkCartButton(valueWithoutSpecialChars);
          bundleDataCheck(valueWithoutSpecialChars);
          fixFontWidth();
        }
      });
      // Swatches.
      document.querySelectorAll('#shopify-section-product-details_development-bundle-promo .swatch label').forEach(swatch => {
        swatch.addEventListener('click', () => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, '')));
      });
      document.querySelectorAll('#shopify-section-product-details_event-promo .swatch label').forEach(swatch => {
        swatch.addEventListener('click', () => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, '')));
      });
      document.querySelectorAll('#shopify-section-product-details_bundle .swatch label').forEach(swatch => {
        swatch.addEventListener('click', () => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, '')));
      });
      document.querySelectorAll('#shopify-section-product-details_bundle #product-options .swatch[data-swatch-name="Size"] label').forEach(swatch => {
        swatch.addEventListener('click', () => bundleDataCheck(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''), swatch));
      });
      document.querySelectorAll('section[id*="product-details_foodcratebundle"] .swatch[data-swatch-name="FOOD SCOOP"] label').forEach(swatch => {
        swatch.addEventListener('click', () => bundleDataCheck(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''), swatch));
      });
      // Up-sell accessories modal select buttons
      document.querySelectorAll('.upsell-accessories-modal .bundle-product-select').forEach(bundleProductSelect => bundleProductSelect.addEventListener('click', () => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''))));
      // Bundle stock check
      document.querySelector('input.dog-name').addEventListener('focus', () => bundleStockCheck());
      // Variant selector.
      variantSelector && variantSelector.addEventListener('change', (e) => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, '')));
      // Window resize font fix.
      let resizeTimer;
      window.addEventListener('resize', function() {
        clearTimeout(resizeTimer);
        resizeTimer = setTimeout(fixFontWidth(), 50);
        fixFontWidth();
      });
    </script>
    <style>
      .personalization {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 250px;
        margin: 15px 0 10px 0
      }

      .personalization label {
        color: #4c4e58;
        font-family: 'Avenir Next Medium';
        font-weight: 800;
        font-size: 13px;
        line-height: 1;
        text-transform: uppercase;
      }

      .personalization .dog-name {
        width: 100%;
        font-family: 'Avenir Next Medium';
        font-weight: 800;
        color: #4c4e58;
        font-size: 12px;
        line-height: 1;
        text-transform: uppercase;
        border-color: #ccc;
        border-radius: 2px;
        padding: 8px 15px;
        margin: 0 0 5px 0;
      }

      .personalization-approved {
        vertical-align: middle;
        margin-left: 3px;
      }

      .personalization-approved-label {
        font-family: 'Avenir Next Medium';
        font-size: 13px;
        line-height: 1.2;
        color: #4c4e58;
      }

      .personalization .bundle-out-of-stock {
        display: none;
        margin: 15px 0 0 0;
        font-size: 14px;
        color: #ea5430;
        font-family: 'Avenir Next Medium';
        line-height: 1.3;
      }

      .personalization .bundle-out-of-stock.visible {
        display: block;
      }

      @media screen and (max-width: 769px) {
        .personalization {
          margin: 15px auto !important;
        }

        .personalization label {
          text-align: center !important;
        }
      }
    </style>
    <div class="personalization" data-product="personalized-kennel-name-plate">
      <label for="dog-name"> Dog Name </label>
      <input type="text" class="dog-name" name="properties[Dog Name]" maxlength="10" data-event-types="input_focus,input_blur" data-element-id="EA57Sl0R1TWCurF6HFobUM2rHXM0iRHB">
      <input type="hidden" name="properties[Product Information]" value="This is a custom product &amp; additional processing time may be required.">
      <div style="text-align: center">
        <span class="personalization-approved-label"> I've reviewed and approve the design shown in the preview </span>
        <input class="personalization-approved" type="checkbox" data-event-types="input_change" data-element-id="TlfesrBLtGO3RiZdqXWOeTjIO1I1UBRi">
      </div>
    </div>
    <button class="add-to-cart-button disabled" type="submit" name="add" id="AddToCart-45045036483282" data-event-types="hover,click" data-element-id="wRJR9LmdQ8TtfyOueyePyq3YuLlODxfa" disabled="true">
      <span id="AddToCartText-45045036483282"> ADD TO CART </span>
      <span class="add-to-cart-loading"><svg viewBox="0 0 40 40">
          <path opacity="0.2"
            d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946 s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634 c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z">
          </path>
          <path d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0 C22.32,8.481,24.301,9.057,26.013,10.047z">
            <animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20" to="360 20 20" dur="0.6s" repeatCount="indefinite"></animateTransform>
          </path>
        </svg></span>
    </button>
  </div>
  <input type="hidden" name="product-id" value="4504503648328">
</form>

POST /cart/add

<form method="post" action="/cart/add" id="product_form_6791594705095" accept-charset="UTF-8" class="product-form product-form-67915947050952" enctype="multipart/form-data" novalidate="novalidate"><input type="hidden" name="form_type"
    value="product"><input type="hidden" name="utf8" value="✓">
  <select style="display: none" name="id" id="ProductSelect-67915947050952-quickview" class="product-form__variants no-js">
    <option selected="selected" value="40195143073991"> Default Title </option>
  </select>
  <script type="module">
    const template = `index`;
    const productHandle = `food-crate-name-plate`;
    const personalization = document.querySelector('.personalization[data-product="' + productHandle + '"]');
    const parentElement = personalization.closest('.product-details') || personalization.closest('.food-crate-name-plate-popup') || personalization.closest('.name-plate-popup') || personalization.closest('.kennel-bundle-popup') || personalization
      .closest('.upsell-accessories-modal') || personalization.closest('#shopify-section-product-details_development-bundle-promo') || personalization.closest('#shopify-section-product-details_event-promo') || personalization.closest(
        '#shopify-section-product-details_boykin-nationals-promo') || personalization.closest('#shopify-section-product-details_bundle') || personalization.closest('[id*=product-details_foodcratebundle]');
    const personalizationOverlay = parentElement.querySelector('.personalization-overlay');
    const dogNameInput = personalization.querySelector('.dog-name');
    const addToCartButton = parentElement.querySelector('.add-to-cart-button');
    const quantityButtons = parentElement.querySelector('.product-quantity');
    const variantSelector = parentElement.querySelector('.single-option-selector');
    const bundleStockCheck = () => {
      var bundlePersonalization = document.querySelector('.product-options-container[data-product-handle="personalized-kennel-name-plate"]');
      if (productHandle == 'food-crate-name-plate') {
        bundlePersonalization = document.querySelector('.product-options-container[data-product-handle="food-crate-name-plate"]');
      }
      if (!bundlePersonalization) {
        return;
      }
      if (!bundlePersonalization.querySelector('.bundle-out-of-stock')) {
        return;
      }
      // Bundle page kennel size swatch label
      let kennelSize;
      const kennelSizeSwatchLabel = document.querySelector('#product_form_6569779036359 .swatch[data-swatch-name="Size"] .swatch-selected');
      kennelSizeSwatchLabel ? kennelSize = kennelSizeSwatchLabel.textContent : null;
      let namePlateAvailable;
      kennelSize === 'Small' || kennelSize === 'Medium' ? namePlateAvailable = bundlePersonalization.querySelector('div[data-variant="Small/Medium"]').getAttribute('data-variant-available') : null;
      kennelSize === 'Intermediate' || kennelSize === 'Large' ? namePlateAvailable = bundlePersonalization.querySelector('div[data-variant="Intermediate/Large"]').getAttribute('data-variant-available') : null;
      if (!namePlateAvailable && !document.querySelectorAll('.bundle-out-of-stock.visible:not(.personalization-unavailable)').length) {
        bundlePersonalization.querySelector('.bundle-out-of-stock').classList.add('visible');
        // Bundle combination out of stock, hide/show Out of Stock form
        const outOfStockForm = document.querySelector('#out-of-stock-form');
        if (outOfStockForm) {
          // Add to cart container
          const addToCartContainer = document.querySelector('#product-add-to-cart');
          outOfStockForm.classList.remove('hidden');
          addToCartContainer.classList.add('hidden');
          const activeBundleId = determineBundle();
          // Determine which form to show
          const klaviyoForms = outOfStockForm.querySelectorAll('.klaviyo-form');
          klaviyoForms.forEach(klaviyoForm => {
            if (klaviyoForm.getAttribute('data-bundle-id') == activeBundleId) {
              klaviyoForm.classList.remove('hidden');
            } else {
              klaviyoForm.classList.add('hidden');
            }
          });
          // Update active bundle ID
          outOfStockForm.querySelector('#active-bundle').setAttribute('data-bundle-id', activeBundleId);
        }
      } else {
        bundlePersonalization.querySelector('.bundle-out-of-stock').classList.remove('visible');
      }
    };
    // checkCartButton(string)
    const checkCartButton = (inputValue) => {
      if (inputValue.length && personalization.querySelector('.personalization-approved').checked) {
        if (addToCartButton) {
          //food crate bundle, do not run the texts overlay in product image
          if (template.indexOf('food-crate-bundle') !== -1) {
            let productOptionsParent = document.getElementById('product-options');
            let productOptionsCont = productOptionsParent.querySelectorAll('.option-container');
            let countCheckedOptions = 0;
            let productOptionsLength = productOptionsCont.length;
            if (productOptionsCont) {
              productOptionsCont.forEach(productOptionContainer => {
                let swatchCont = productOptionContainer.querySelector('.swatch-container');
                let swatchInput = swatchCont.querySelectorAll('input[type="radio"]:checked');
                if (swatchInput.length) {
                  countCheckedOptions++;
                }
              });
              if (countCheckedOptions == productOptionsLength) {
                addToCartButton.classList.remove('disabled');
                addToCartButton.removeAttribute('disabled');
              }
            }
          } else {
            addToCartButton.classList.remove('disabled');
            addToCartButton.removeAttribute('disabled');
          }
        }
        quantityButtons && quantityButtons.classList.remove('disabled');
      } else {
        if (addToCartButton) {
          addToCartButton.classList.add('disabled');
          addToCartButton.setAttribute('disabled', true);
        }
        quantityButtons && quantityButtons.classList.add('disabled');
      }
      // If any bundles are disabled, disable cart functionality
      const unavailableBundleOptions = document.querySelectorAll('#shopify-section-product-details_bundle #bundle-product-options .product-options-container[data-available="false"]');
      if (unavailableBundleOptions.length) {
        if (addToCartButton) {
          addToCartButton.classList.add('disabled');
          addToCartButton.setAttribute('disabled', true);
        }
        quantityButtons && quantityButtons.classList.add('disabled');
      }
      // Up-sell accessories modal select buttons
      const upsellAccessoriesSelectsSelected = document.querySelectorAll('.upsell-accessories-modal .bundle-product-select.selected');
      if (addToCartButton && parentElement.classList.contains('upsell-accessories-modal') && !upsellAccessoriesSelectsSelected.length) {
        addToCartButton.classList.add('disabled');
        addToCartButton.setAttribute('disabled', true);
      }
    };
    // bundleDataCheck(string, HTMLElement)
    const bundleDataCheck = (inputValue, swatch) => {
      const bundleOptionsContainer = personalization.closest('.product-options-container');
      if (bundleOptionsContainer) {
        let kennelSize;
        // Bundle page kennel size swatch label
        const kennelSizeSwatchLabel = document.querySelector('#product_form_6569779036359 .swatch[data-swatch-name="Size"] .swatch-selected');
        kennelSizeSwatchLabel ? kennelSize = kennelSizeSwatchLabel.textContent : null;
        // Up-sell accessories modal
        const upsellAccessoriesModalKennelSize = document.querySelector('#upsell-accessories-modal-kennel-size');
        upsellAccessoriesModalKennelSize ? kennelSize = upsellAccessoriesModalKennelSize.getAttribute('data-size') : null;
        // Swatch override
        swatch ? kennelSize = swatch.getAttribute('data-swatch-value') : null;
        let isFoodCrateBundle = 0;
        if ((inputValue.length && personalization.querySelector('.personalization-approved').checked) || (isFoodCrateBundle == 1)) {
          const variantDataElements = bundleOptionsContainer.querySelectorAll('.bundle-product-variant-data > div');
          variantDataElements && variantDataElements.forEach(variantDataElement => {
            if (variantDataElement.getAttribute('data-variant').indexOf(kennelSize) >= 0) {
              bundleOptionsContainer.setAttribute('data-price', variantDataElement.getAttribute('data-variant-price'));
              bundleOptionsContainer.setAttribute('data-variant-id', variantDataElement.getAttribute('data-variant-id'));
            }
          });
        } else {
          bundleOptionsContainer.removeAttribute('data-price');
          bundleOptionsContainer.removeAttribute('data-variant-id');
        }
        //try {
        if (document.querySelector("#product_form_6569779036359 #SingleOptionSelector-0").length > 0) {
          document.querySelector('#product_form_6569779036359 #SingleOptionSelector-0') && document.querySelector('#product_form_6569779036359 #SingleOptionSelector-0').dispatchEvent(new Event('change'));
        }
        //} catch (e) {}
      }
    };
    // Disable the add to cart buttons.
    if (addToCartButton) {
      addToCartButton.classList.add('disabled');
      addToCartButton.setAttribute('disabled', true);
    }
    // Preview approval checkbox detection.
    personalization.querySelector('.personalization-approved').addEventListener('change', () => {
      checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''));
      bundleDataCheck(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''));
      // Bundle stock check
      bundleStockCheck();
    });
    // fixFontWidth(boolean)
    const fixFontWidth = (fromRerun) => {
      let fontSize = 250;
      if (template === 'product.personalized-name-plate' || template === 'product.food-crate-name-plate' || template === 'page.promo-landing-page' || template === 'page.boykin-nationals-promo') {
        if (window.matchMedia('(max-width: 1400px)').matches) {
          fontSize = 170;
        }
        if (window.matchMedia('(max-width: 1200px)').matches) {
          fontSize = 135;
        }
      } else {
        fontSize = 125;
      }
      if (window.matchMedia('(max-width: 1000px)').matches) {
        fontSize = 105;
      }
      if (window.matchMedia('(max-width: 700px)').matches) {
        fontSize = 125;
      }
      if (window.matchMedia('(max-width: 600px)').matches) {
        fontSize = 100;
      }
      if (window.matchMedia('(max-width: 480px)').matches) {
        fontSize = 90;
      }
      if (window.matchMedia('(max-width: 400px)').matches) {
        fontSize = 80;
      }
      if (document.querySelector('#shopify-section-product-details_bundle')) {
        fontSize = 75;
        if (window.matchMedia('(max-width: 1400px)').matches) {
          fontSize = 65;
        }
        if (window.matchMedia('(max-width: 1200px)').matches) {
          fontSize = 60;
        }
        if (window.matchMedia('(max-width: 1000px)').matches) {
          fontSize = 55;
        }
        if (window.matchMedia('(max-width: 700px)').matches) {
          fontSize = 50;
        }
        if (window.matchMedia('(max-width: 600px)').matches) {
          fontSize = 45;
        }
        if (window.matchMedia('(max-width: 480px)').matches) {
          fontSize = 40;
        }
        if (window.matchMedia('(max-width: 400px)').matches) {
          fontSize = 36;
        }
      }
      const textContainer = personalizationOverlay.querySelector('.personalization-overlay-text')
      const textContainerWidth = textContainer.offsetWidth;
      const textContainerInner = personalizationOverlay.querySelector('.personalization-overlay-text-inner');
      const textContainerInnerWidth = textContainerInner.offsetWidth;
      const currentFontSize = parseInt(window.getComputedStyle(textContainerInner).fontSize.replace('px', ''));
      let newFontSize = parseInt(window.getComputedStyle(textContainerInner).fontSize.replace('px', ''));
      let rerunFunction;
      if (textContainerInnerWidth >= textContainerWidth) {
        newFontSize = currentFontSize * 0.9;
        rerunFunction = true;
      } else if (textContainerInnerWidth < textContainerWidth && fontSize > currentFontSize && !fromRerun) {
        let totalRuns = 0;
        for (let i = fontSize; i > 6; i *= 0.9) {
          let mockElement = textContainerInner.cloneNode(true);
          mockElement.removeAttribute('id');
          mockElement.classList.add('personalization-overlay-text-mock-element');
          mockElement.style.fontSize = i + 'px';
          textContainer.append(mockElement);
          const mockElementWidth = mockElement.offsetWidth;
          mockElement.remove();
          if (mockElementWidth < textContainerWidth) {
            newFontSize = i;
            break;
          }
          totalRuns++;
          if (totalRuns > 30) {
            break;
          }
        };
      }
      textContainerInner.style.fontSize = newFontSize + 'px';
      rerunFunction && fixFontWidth(true);
    }
    // Dog name input change.
    dogNameInput.addEventListener('input', (e) => {
      const newValue = e.target.value;
      // Remove any special characters. Limit to 0-9 and A-Z.
      const valueWithoutSpecialChars = newValue.replace(/[^a-zA-Z0-9 ]/g, '');
      //food crate bundle, do not run the texts overlay in product image
      if (template.indexOf('food-crate-bundle') !== -1) {
        checkCartButton(valueWithoutSpecialChars);
        bundleDataCheck(valueWithoutSpecialChars);
      } else {
        // Blank image switch.
        if (document.querySelector('#shopify-section-product-details_bundle')) {
          let namePlateImageIndex;
          const mainProductImages = document.querySelectorAll('#main-product-image-slider .slick-slide:not(.slick-cloned) .product-image');
          mainProductImages.forEach((mainProductImage, index) => mainProductImage.getAttribute('data-name-plate-image') ? namePlateImageIndex = index : null);
          $('#main-product-image-slider').slick('slickGoTo', namePlateImageIndex);
          // Popup.
        } else {
          const namePlatePopup = document.querySelector('.name-plate-popup');
          const foodCrateNamePlatePopup = document.querySelector('.food-crate-name-plate-popup');
          const kennelBundlePopup = document.querySelector('.kennel-bundle-popup');
          const upsellAccessoriesModal = document.querySelector('.upsell-accessories-modal');
          if (namePlatePopup) {
            namePlatePopup.querySelector('.name-plate-product-image .blank').classList.remove('hidden');
            namePlatePopup.querySelector('.name-plate-product-image .not-blank').classList.add('hidden');
          }
          if (kennelBundlePopup) {
            kennelBundlePopup.querySelector('.name-plate-product-image .blank').classList.remove('hidden');
            kennelBundlePopup.querySelector('.name-plate-product-image .not-blank').classList.add('hidden');
          }
          if (foodCrateNamePlatePopup) {
            foodCrateNamePlatePopup.querySelector('.food-crate-name-plate-popup .food-crate-name-plate-product-image .blank').classList.remove('hidden');
            foodCrateNamePlatePopup.querySelector('.food-crate-name-plate-popup .food-crate-name-plate-product-image .not-blank').classList.add('hidden');
          }
          if (upsellAccessoriesModal) {
            upsellAccessoriesModal.querySelectorAll('.upsell-accessories-modal .name-plate-product-image .blank').forEach(blankImage => blankImage.classList.remove('hidden'));
            upsellAccessoriesModal.querySelectorAll('.upsell-accessories-modal .name-plate-product-image .not-blank').forEach(notBlankImage => notBlankImage.classList.add('hidden'));
          }
        }
        // Update the input.
        e.target.value = valueWithoutSpecialChars;
        // Text overlay.
        const inputLength = valueWithoutSpecialChars.length;
        const thisCharacter = valueWithoutSpecialChars[inputLength - 1];
        const lastCharacter = valueWithoutSpecialChars[inputLength - 2];
        // Do not show blanks.
        if (thisCharacter === ' ' && lastCharacter === ' ') {
          return;
        }
        if (inputLength === 1 && thisCharacter === ' ') {
          return;
        }
        personalizationOverlay.querySelector('.personalization-overlay-text-inner').textContent = valueWithoutSpecialChars;
        checkCartButton(valueWithoutSpecialChars);
        bundleDataCheck(valueWithoutSpecialChars);
        fixFontWidth();
      }
    });
    // Swatches.
    document.querySelectorAll('#shopify-section-product-details_development-bundle-promo .swatch label').forEach(swatch => {
      swatch.addEventListener('click', () => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, '')));
    });
    document.querySelectorAll('#shopify-section-product-details_event-promo .swatch label').forEach(swatch => {
      swatch.addEventListener('click', () => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, '')));
    });
    document.querySelectorAll('#shopify-section-product-details_bundle .swatch label').forEach(swatch => {
      swatch.addEventListener('click', () => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, '')));
    });
    document.querySelectorAll('#shopify-section-product-details_bundle #product-options .swatch[data-swatch-name="Size"] label').forEach(swatch => {
      swatch.addEventListener('click', () => bundleDataCheck(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''), swatch));
    });
    document.querySelectorAll('section[id*="product-details_foodcratebundle"] .swatch[data-swatch-name="FOOD SCOOP"] label').forEach(swatch => {
      swatch.addEventListener('click', () => bundleDataCheck(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''), swatch));
    });
    // Up-sell accessories modal select buttons
    document.querySelectorAll('.upsell-accessories-modal .bundle-product-select').forEach(bundleProductSelect => bundleProductSelect.addEventListener('click', () => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, ''))));
    // Bundle stock check
    document.querySelector('input.dog-name').addEventListener('focus', () => bundleStockCheck());
    // Variant selector.
    variantSelector && variantSelector.addEventListener('change', (e) => checkCartButton(dogNameInput.value.replace(/[^a-z0-9 ]/gi, '')));
    // Window resize font fix.
    let resizeTimer;
    window.addEventListener('resize', function() {
      clearTimeout(resizeTimer);
      resizeTimer = setTimeout(fixFontWidth(), 50);
      fixFontWidth();
    });
  </script>
  <style>
    .personalization {
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width: 250px;
      margin: 15px 0 10px 0
    }

    .personalization label {
      color: #4c4e58;
      font-family: 'Avenir Next Medium';
      font-weight: 800;
      font-size: 13px;
      line-height: 1;
      text-transform: uppercase;
    }

    .personalization .dog-name {
      width: 100%;
      font-family: 'Avenir Next Medium';
      font-weight: 800;
      color: #4c4e58;
      font-size: 12px;
      line-height: 1;
      text-transform: uppercase;
      border-color: #ccc;
      border-radius: 2px;
      padding: 8px 15px;
      margin: 0 0 5px 0;
    }

    .personalization-approved {
      vertical-align: middle;
      margin-left: 3px;
    }

    .personalization-approved-label {
      font-family: 'Avenir Next Medium';
      font-size: 13px;
      line-height: 1.2;
      color: #4c4e58;
    }

    .personalization .bundle-out-of-stock {
      display: none;
      margin: 15px 0 0 0;
      font-size: 14px;
      color: #ea5430;
      font-family: 'Avenir Next Medium';
      line-height: 1.3;
    }

    .personalization .bundle-out-of-stock.visible {
      display: block;
    }

    @media screen and (max-width: 769px) {
      .personalization {
        margin: 15px auto !important;
      }

      .personalization label {
        text-align: center !important;
      }
    }
  </style>
  <div class="personalization" data-product="food-crate-name-plate">
    <label for="dog-name"> Dog Name </label>
    <input type="text" class="dog-name" name="properties[Dog Name]" maxlength="10" data-event-types="input_focus,input_blur" data-element-id="EA57Sl0R1TWCurF6HFobUM2rHXM0iRHB">
    <input type="hidden" name="properties[Product Information]" value="This is a custom product &amp; additional processing time may be required.">
    <div style="text-align: center">
      <span class="personalization-approved-label"> I've reviewed and approve the design shown in the preview </span>
      <input class="personalization-approved" type="checkbox" data-event-types="input_change" data-element-id="TlfesrBLtGO3RiZdqXWOeTjIO1I1UBRi">
    </div>
  </div>
  <button class="add-to-cart-button disabled" type="submit" name="add" id="AddToCart-67915947050952" data-event-types="hover,click" data-element-id="b4kMoqojyRQaA65MihPCrCSTgXjEg9QJ" disabled="true">
    <span id="AddToCartText-67915947050952"> ADD TO CART </span>
    <span class="add-to-cart-loading"><svg viewBox="0 0 40 40">
        <path opacity="0.2"
          d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946 s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634 c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z">
        </path>
        <path d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0 C22.32,8.481,24.301,9.057,26.013,10.047z">
          <animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20" to="360 20 20" dur="0.6s" repeatCount="indefinite"></animateTransform>
        </path>
      </svg></span>
  </button>
</form>

POST /account/login

<form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" novalidate="novalidate" data-event-types="form_submission" data-element-id="TJ623FcskIVQcsYkvrhNtQtpj9g50v6N"><input
    type="hidden" name="form_type" value="customer_login"><input type="hidden" name="utf8" value="✓">
  <input type="hidden" name="return_to" value="back"><input type="email" placeholder="Email" name="customer[email]" id="CustomerEmail" autocomplete="email" autocorrect="off" autocapitalize="off" data-event-types="input_focus,input_blur"
    data-element-id="7fu2cvaMTSxQ2hR1MOwHzWWt803c5tJk">
  <input type="password" placeholder="Password" value="" name="customer[password]" id="CustomerPassword" data-event-types="input_focus,input_blur" data-element-id="eRuVeL4zUvQb0ghW6dIPC1LDadEqYB6C">
  <div class="fit-finder_sign-in-button-container">
    <button class="login-button button-small button-primary" type="submit" data-event-types="hover,click" data-element-id="KjdeO5OTdQWvCllyJDIS1VAGlT5jw40f"> SIGN IN </button>
    <div class="fit-finder_sign-in-message register-here">Don't have an account <span class="fit-finder_register-link" data-event-types="hover,click" data-element-id="c4zuxnLgu19QGJKhCp23aBLLfjDGOsS2">click here</span> to register</div>
  </div>
  <div class="oxi_social_wrapper" style=""><iframe id="social_login_frame" title="Social Login Frame" src="https://social-login.oxiapps.com/widget?site=cs-gunner.myshopify.com&amp;vt=928350&amp;parenturl=https://gunner.com/"
      style="width:100%;max-width:100%;padding-top:0px;margin-bottom:5px;border:0px;height:144px;" scrolling="no"></iframe></div>
</form>

POST /account

<form method="post" action="/account" id="register" accept-charset="UTF-8" data-login-with-shop-sign-up="true" novalidate="novalidate" data-event-types="form_submission" data-element-id="gbH4Y77v8uUEKKoonr2UjAeJM4vVhyvD"><input type="hidden"
    name="form_type" value="create_customer"><input type="hidden" name="utf8" value="✓">
  <input type="hidden" name="return_to" value="back">
  <input placeholder="First Name" type="text" name="customer[first_name]" id="register-FirstName" autocomplete="given-name" data-event-types="input_focus,input_blur" data-element-id="61WVEZNnl7kLV2kkL5tUf439isjrQRvK">
  <input placeholder="Last Name" type="text" name="customer[last_name]" id="register-LastName" autocomplete="family-name" data-event-types="input_focus,input_blur" data-element-id="61WVEZNnl7kLV2kkL5tUf439isjrQRvK">
  <input placeholder="Email" type="email" name="customer[email]" id="register-email" class="" autocorrect="off" autocapitalize="off" autocomplete="email" aria-required="true" data-event-types="input_focus,input_blur"
    data-element-id="61WVEZNnl7kLV2kkL5tUf439isjrQRvK">
  <input placeholder="Password" type="password" name="customer[password]" id="register-password" class="" aria-required="true" data-event-types="input_focus,input_blur" data-element-id="aeoeVlcbfb8nWq7EDMIEGiIJcOVZuEyK">
  <div class="fit-finder_register-button-container">
    <button type="submit" class="button-primary button-small" data-event-types="hover,click" data-element-id="niBdIaAybMOXVqLgDbpJK5puinuMzJTq">REGISTER</button>
  </div>
</form>

POST /account

<form method="post" action="/account" id="register" accept-charset="UTF-8" data-login-with-shop-sign-up="true" novalidate="novalidate" data-event-types="form_submission" data-element-id="gbH4Y77v8uUEKKoonr2UjAeJM4vVhyvD"><input type="hidden"
    name="form_type" value="create_customer"><input type="hidden" name="utf8" value="✓">
  <input type="hidden" name="return_to" value="back">
  <input placeholder="First Name" type="text" name="customer[first_name]" id="register-FirstName" autocomplete="given-name" data-event-types="input_focus,input_blur" data-element-id="61WVEZNnl7kLV2kkL5tUf439isjrQRvK">
  <input placeholder="Last Name" type="text" name="customer[last_name]" id="register-LastName" autocomplete="family-name" data-event-types="input_focus,input_blur" data-element-id="61WVEZNnl7kLV2kkL5tUf439isjrQRvK">
  <input placeholder="Email" type="email" name="customer[email]" id="register-email" class="" autocorrect="off" autocapitalize="off" autocomplete="email" aria-required="true" data-event-types="input_focus,input_blur"
    data-element-id="61WVEZNnl7kLV2kkL5tUf439isjrQRvK">
  <input placeholder="Password" type="password" name="customer[password]" id="register-password" class="" aria-required="true" data-event-types="input_focus,input_blur" data-element-id="aeoeVlcbfb8nWq7EDMIEGiIJcOVZuEyK">
  <div class="fit-finder_register-button-container">
    <button type="submit" class="button-primary button-small" data-event-types="hover,click" data-element-id="niBdIaAybMOXVqLgDbpJK5puinuMzJTq">REGISTER</button>
  </div>
</form>

<form aria-label="Write A Review Form">
  <div class="write-review-wrapper write-form">
    <div class="write-review yotpo-regular-box" id="write-review-tabpanel-testimonials" role="tabpanel">
      <div class="yotpo-header">
        <div>
          <h2 class="y-label yotpo-header-title">WRITE A REVIEW</h2>
        </div>
        <div class="yotpo-mandatory-explain"> <span class="yotpo-mandatory-mark">*</span> Indicates a required field </div> <br> <span class="yotpo-mandatory-mark">* </span> <span class="y-label"
          id="write-review-score-918e79f5-0d62-42a1-86d3-76042d77fe14">Score: <span class="form-input-error yotpo-hidden" id="yotpo_score_message_918e79f5-0d62-42a1-86d3-76042d77fe14"></span></span>
        <div aria-describedby="yotpo_score_message_918e79f5-0d62-42a1-86d3-76042d77fe14" aria-labelledby="write-review-score-918e79f5-0d62-42a1-86d3-76042d77fe14" role="radiogroup" tabindex="-1"> <span class="stars-wrapper"> <span
              class="yotpo-icon yotpo-icon-empty-star pull-left review-star" data-score="1" aria-label="score 1" role="radio" tabindex="0" aria-checked="false" aria-required="true"></span> <span
              class="yotpo-icon yotpo-icon-empty-star pull-left review-star" data-score="2" aria-label="score 2" role="radio" tabindex="-1" aria-checked="false" aria-required="true"></span> <span
              class="yotpo-icon yotpo-icon-empty-star pull-left review-star" data-score="3" aria-label="score 3" role="radio" tabindex="-1" aria-checked="false" aria-required="true"></span> <span
              class="yotpo-icon yotpo-icon-empty-star pull-left review-star" data-score="4" aria-label="score 4" role="radio" tabindex="-1" aria-checked="false" aria-required="true"></span> <span
              class="yotpo-icon yotpo-icon-empty-star pull-left review-star" data-score="5" aria-label="score 5" role="radio" tabindex="-1" aria-checked="false" aria-required="true"></span> </span> </div>
      </div>
      <div class="write-review-content">
        <div class="form-group">
          <div class="form-element"> <span class="yotpo-mandatory-mark">* </span> <label class="y-label" for="yotpo_input_review_title_918e79f5-0d62-42a1-86d3-76042d77fe14"> Title: <span class="form-input-error yotpo-hidden"
                id="yotpo_input_review_title_error_918e79f5-0d62-42a1-86d3-76042d77fe14"></span> </label> <input id="yotpo_input_review_title_918e79f5-0d62-42a1-86d3-76042d77fe14" class="y-input" name="review_title" maxlength="150"
              aria-required="true" placeholder="" aria-describedby="yotpo_input_review_title_error_918e79f5-0d62-42a1-86d3-76042d77fe14"> </div>
          <div class="form-element"> <span class="yotpo-mandatory-mark">* </span> <label class="y-label" for="yotpo_input_review_content_918e79f5-0d62-42a1-86d3-76042d77fe14"> Review: <span class="form-input-error yotpo-hidden"
                id="yotpo_input_review_content_error_918e79f5-0d62-42a1-86d3-76042d77fe14"></span> </label> <textarea id="yotpo_input_review_content_918e79f5-0d62-42a1-86d3-76042d77fe14" class="y-input yotpo-text-box" name="review_content"
              aria-required="true" placeholder="" aria-describedby="yotpo_input_review_content_error_918e79f5-0d62-42a1-86d3-76042d77fe14"></textarea> </div>
        </div>
      </div>
      <div class="yotpo-footer yotpo-animation-opacity visible" style="display: inherit;">
        <div class="socialize-wrapper">
          <div class="connected">You are connected as <span class="username"></span></div>
          <div class="socialize"> <span class="y-label">Connect with:</span>
            <div>
              <div class="yotpo-default-button yotpo-icon-btn" data-network="twitter" aria-label="connect with twitter" role="link" tabindex="0"><span class="yotpo-icon yotpo-icon-twitter pull-left"></span></div>
              <div class="yotpo-default-button yotpo-icon-btn" data-network="facebook" aria-label="connect with facebook" role="link" tabindex="0"><span class="yotpo-icon yotpo-icon-facebook pull-left"></span></div>
            </div>
          </div>
          <div class="yotpo-or"> -OR- </div>
        </div>
        <div class="connect-wrapper visible " style="display: inherit;">
          <div class="form-element name-input visible" style="display: inherit;"> <span class="yotpo-mandatory-mark">* </span> <label class="y-label" for="yotpo_input_review_username_918e79f5-0d62-42a1-86d3-76042d77fe14">Use your name: <span
                class="form-input-error yotpo-hidden" id="yotpo_input_review_username_error_918e79f5-0d62-42a1-86d3-76042d77fe14"></span></label> <input id="yotpo_input_review_username_918e79f5-0d62-42a1-86d3-76042d77fe14" class="y-input"
              autocomplete="nickname" name="display_name" maxlength="40" aria-required="true" placeholder="" aria-describedby="yotpo_input_review_username_error_918e79f5-0d62-42a1-86d3-76042d77fe14"> </div>
          <div class="form-element email-input visible" style="display: inherit;"> <span class="yotpo-mandatory-mark">* </span> <label class="y-label" for="yotpo_input_review_email_918e79f5-0d62-42a1-86d3-76042d77fe14">Email: <span
                class="form-input-error yotpo-hidden" id="yotpo_input_review_email_error_918e79f5-0d62-42a1-86d3-76042d77fe14"></span></label> <input id="yotpo_input_review_email_918e79f5-0d62-42a1-86d3-76042d77fe14" class="y-input"
              autocomplete="email" name="email" aria-required="true" placeholder="" aria-describedby="yotpo_input_review_email_error_918e79f5-0d62-42a1-86d3-76042d77fe14"> </div>
          <div class="yotpo-clr"></div>
        </div>
      </div>
      <div class="error-box yotpo-hidden">
        <div class="text-wrapper"> <span class="error-text empty yotpo-hidden">Review's title &amp; body can't be empty</span>
          <span class="error-text empty_question yotpo-hidden">Question's body can't be empty</span>
          <span class="error-text score yotpo-hidden">Please enter a star rating for this review</span>
          <span class="error-text display_name_empty yotpo-hidden">Name field cannot be empty</span>
          <span class="error-text email yotpo-hidden">Invalid email</span>
          <span class="error-text user-already-reviewed yotpo-hidden">Your review has already been submitted.</span>
          <span class="error-text max_length yotpo-hidden">Max length was exceeded</span>
          <span class="error-text mandatory_field yotpo-hidden">Please fill out all of the mandatory (*) fields</span>
          <span class="error-text open_question_answer_length yotpo-hidden">One or more of your answers does not meet the required criteria</span>
        </div>
        <div class="yotpo-icon-btn-small transparent-color-btn"><span class="yotpo-icon yotpo-icon-cross" role="button" tabindex="0" aria-label="close error message"></span></div>
      </div>
      <div class="form-element submit-button"> <span class="form-input-error yotpo-hidden"></span> <input type="button" class="yotpo-default-button primary-color-btn yotpo-submit" aria-disabled="true" data-button-type="submit" value="Post"> </div>
      <div class="yotpo-preloader-wrapper">
        <div class="yotpo yotpo-pre-loader">
          <span class="yotpo-empty-stars">
            <span class="yotpo-icon yotpo-icon-empty-star"></span>
            <span class="yotpo-icon yotpo-icon-empty-star"></span>
            <span class="yotpo-icon yotpo-icon-empty-star"></span>
            <span class="yotpo-icon yotpo-icon-empty-star"></span>
            <span class="yotpo-icon yotpo-icon-empty-star"></span>
          </span>
          <span class="yotpo-full-stars">
            <span class="yotpo-icon yotpo-icon-star"></span>
            <span class="yotpo-icon yotpo-icon-star"></span>
            <span class="yotpo-icon yotpo-icon-star"></span>
            <span class="yotpo-icon yotpo-icon-star"></span>
            <span class="yotpo-icon yotpo-icon-star"></span>
          </span>
        </div>
      </div>
      <div class="yotpo-clr"></div>
    </div>
  </div>
</form>

Text Content

0


TOTAL $0

CHECKOUT







BUILD YOUR CUSTOM SETUP & SAVE.

Buy 2 bumpers, get 1 FREE. Limited time only.

SHOP
G1™ Kennel

Food & Water

Bundles

Accessories

GUNNER Wear

Bumper

Experience
Safety
Save Stories
5 STAR CRASH TESTED
Knowledge
Training Tips
Breed Profiles
Hunting Stories
Safety
Videos
Community
#GunnerEffect23
Reviews
Customer Gallery
Our Story
Meet Gunner
Thank You, Gunner
1% Pledge
MY ACCOUNT
My Account
Checkout
Register
Log In



BUY 2, GET 1 FREE


GIFT #MANSBESTBUMPER

SHOP DOG BUMPERS


ALWAYS IN SEASON


MAN'S BEST FRIEND DESERVES #MANSBEST

SHOP DOG PRODUCTS


BUY 2, GET 1 FREE


GIFT #MANSBESTBUMPER

SHOP DOG BUMPERS


ALWAYS IN SEASON


MAN'S BEST FRIEND DESERVES #MANSBEST

SHOP DOG PRODUCTS


BUY 2, GET 1 FREE


GIFT #MANSBESTBUMPER

SHOP DOG BUMPERS
 * 1
 * 2

Like some of the best stories, ours begins with a dog.

"I’d always felt uneasy traveling with my dog Gunner in traditional plastic
crates. He made me realize I wanted to produce a kennel with as much drive as he
gave retrieving. I wanted to build the world’s best dog crate." – Addison
Edmonds, Founder

▶️ Thank You, Gunner.

SHOP GIFT GUIDES


GIFTS UNDER $150


MAKE THEIR DAY.

GIFT IDEAS.


THE CONSERVATIONIST


"MOST THOUGHTFUL GIFT GIVER"

GIFT IDEAS.


ALL-AMERICAN


BUY AMERICAN MADE

GIFT IDEAS.


BOTTOMLAND FAN


BETTER IN BOTTOMLAND STUFF

GIFT IDEAS.


BIG DOG GUY.


"MY DOG NEVER DOES THIS"

GIFT IDEAS.


BIG DOG GAL.


CO-PILOT & BEST FRIEND

GIFT IDEAS.


1 / 6

BEST SELLERS


GUNNER KENNEL

5 Colors Available

SHOP NOW


GUNNER BUMPER

3 Colors Available

SHOP NOW


GUNNER DOG BOWL

3 Colors Available

SHOP NOW


GUNNER FOOD CRATE

2 Sizes Available

SHOP NOW


#MANSBESTKENNEL


SAFETY'S ALWAYS IN SEASON

Shop Now.


GUNNER FOOD CRATE


OUR HIGHEST RATED PRODUCT

Shop Now.


BUY 2 GET 1 FREE


#MANSBESTBUMPER

Shop Now.


$50 OFF


KENNEL BUNDLES

Shop Now.


1 / 4

JOIN THE PACK
5.0 5.0 star rating


GUNNER DOG BOWL

Buy Now
4.9 4.9 star rating


GUNNER DOG BOWL - GUNMETAL

Buy Now
4.9 4.9 star rating


PERSONALIZED GUNNER DOG BOWL - GUNMETAL

Buy Now
4.9 4.9 star rating


GUNNER DOG BOWL - TAN

Buy Now
4.9 4.9 star rating


PERSONALIZED GUNNER DOG BOWL - TAN

Buy Now
4.9 4.9 star rating


PERSONALIZED GUNNER DOG BOWL - DU GREEN

Buy Now


OTHER TAGGED PRODUCTS

 * 
 * 
 * 
 * 
 * 
 * 
 * SHOW MORE
   SHOW LESS

G
gunnerkennels

10/05/23
Last call for entries: don't miss your chance to win a sold-out Anahuac Kennel
setup and a NOMAD Grill with accessories. Want to throw your name in the hat?
Text WINNER to 82241 to enter, or go to the link in our bio. Ends Friday,
October 6.
READ MORE...
READ LESS
Was this review helpful?

0

0
5.0 5.0 star rating


GUNNER DOG BOWL

Buy Now
4.9 4.9 star rating


GUNNER DOG BOWL - GUNMETAL

Buy Now
4.9 4.9 star rating


PERSONALIZED GUNNER DOG BOWL - GUNMETAL

Buy Now
4.9 4.9 star rating


GUNNER DOG BOWL - TAN

Buy Now
4.9 4.9 star rating


PERSONALIZED GUNNER DOG BOWL - TAN

Buy Now
4.9 4.9 star rating


PERSONALIZED GUNNER DOG BOWL - DU GREEN

Buy Now
4.9 4.9 star rating


GUNNER DOG BOWL - DU GREEN

Buy Now


OTHER TAGGED PRODUCTS

 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * SHOW MORE
   SHOW LESS

G
gunnerkennels

10/05/23
Last call for entries: don't miss your chance to win a sold-out Anahuac Kennel
setup and a NOMAD Grill with accessories. Want to throw your name in the hat?
Text WINNER to 82241 to enter, or go to the link in our bio. Ends Friday,
October 6.
READ MORE...
READ LESS
Was this review helpful?

0

0
4.8 4.8 star rating


TIE-DOWN STRAP KIT

Buy Now
5.0 5.0 star rating


PERSONALIZED KENNEL NAME PLATE

Buy Now
4.8 4.8 star rating


G1™ KENNEL

Buy Now


OTHER TAGGED PRODUCTS

 * 
 * 
 * 
 * SHOW MORE
   SHOW LESS

F
fetching_feathers

07/27/23
That look you give your wife when she says “we need to talk” 😂 Rowdy boy,
you’re always making me laugh! 📸 ruggedseasons #FetchingFeathers #kkd
#keepkickingdirt #reFusetobeoutworked #birddog #gundog #workingdog
#mansbestFriend #mansbestkennel #gunnerkennels #dogtrainer #cockerspaniel
#cocker #fieldcocker #pointer #uplands #uplandhunting #trainmoretalkless
#dontrunyourmouthrunyourdog #builtdiFFerent #shootersshoot #shootyourshot
READ MORE...
READ LESS
Was this review helpful?

0

0
4.6 4.6 star rating


GUNNER BUMPER

Buy Now
G
gunnerkennels

07/25/23
Bumper release week 🤝 shark week⁠ ⁠ Level up your training with the GUNNER
Bumper, coming this Thursday 7/27. Link in bio to learn more.⁠ Photo
@haydendobbins ⁠ #MansBestFriend Deserves #MansBestBumper
READ MORE...
READ LESS
Was this review helpful?

0

0
4.6 4.6 star rating


GUNNER BUMPER

Buy Now
E
elcapitanhuntclub

07/25/23
The time has come. Ol Nixon is aging himself out of action and new pup will join
the ranks to carry on. . One still craves fetching and the never will demand it.
Luckily the latest release from gunnerkennels covers both of them with these
bumpers. . Scent chamber. Narrow body for holding. Rubber cord that won’t come
untied to toss. Man’s best friend, rides in safety and now trains with the best.
. . #gunnerkennels #Retriever #gundog #labrador #gunnerkennels #yellowlab
#mansbestfriend #barnporn #duckhunting
READ MORE...
READ LESS
Was this review helpful?

0

0
4.6 4.6 star rating


GUNNER BUMPER

Buy Now
D
07/18/23
DEVELOPMENT


Photo by Michael Martin
READ MORE...
READ LESS
Was this review helpful?

1

0
4.6 4.6 star rating


GUNNER BUMPER

Buy Now
D
07/18/23
DEVELOPMENT


Photo by Matt Carey.
READ MORE...
READ LESS
Was this review helpful?

1

0
G
gunnerkennels

05/26/23
The GUNNER kennel is the original 5 Star Crash Test Certified crate by Center
For Pet Safety, with certified GUNNER tie-down straps.⁠ ⁠ Our kennels offer at
least double the impact protection of a standard crate. The double-wall
rotomolded design allows the exterior layer of the kennel to absorb the majority
of an initial impact, with the interior layer adding additional protection for
your dog.⁠ ⁠ We take safety seriously– the GUNNER kennel was the only crate that
passed the original CPS crash test in 2015. 85% of products FAILED the safety
certification when originally crash tested.⁠ ⁠ The G1™ Intermediate actually
broke the vice machine during testing with 4,000 pounds of force. We don't
really know how much our product can withstand, but it's a lot.⁠ ⁠ Don’t just
take our word for it– the receipts are there. Check out more about our safety
stats and save stories at the link in our bio.
READ MORE...
READ LESS
Was this review helpful?

0

0
G
gunnerkennels

05/26/23
The GUNNER kennel is the original 5 Star Crash Test Certified crate by Center
For Pet Safety, with certified GUNNER tie-down straps.⁠ ⁠ Our kennels offer at
least double the impact protection of a standard crate. The double-wall
rotomolded design allows the exterior layer of the kennel to absorb the majority
of an initial impact, with the interior layer adding additional protection for
your dog.⁠ ⁠ We take safety seriously– the GUNNER kennel was the only crate that
passed the original CPS crash test in 2015. 85% of products FAILED the safety
certification when originally crash tested.⁠ ⁠ The G1™ Intermediate actually
broke the vice machine during testing with 4,000 pounds of force. We don't
really know how much our product can withstand, but it's a lot.⁠ ⁠ Don’t just
take our word for it– the receipts are there. Check out more about our safety
stats and save stories at the link in our bio.
READ MORE...
READ LESS
Was this review helpful?

0

0
G
gunnerkennels

05/12/23
In the summer heat, your dog's well-being is of the upmost importance. We tested
our G1 Kennel alongside a variety of other crates to see how they fare in warmer
temperatures.⁠ ⁠ In 100+ degree weather, the ceiling of a leading aluminum
kennel heated up ~50 degrees more than a GUNNER.⁠ ⁠ The primary reason the
GUNNER kennel performed so much better is because of its double-walled
structure. All kennels’ outer surfaces heated to temperatures over 166° and for
our competitors that high heat pushed right through to the interior of the
kennel and the water bucket. But for the GUNNER double-walled kennel, the heat
in the outer wall has a difficult time pushing through the air gap between the
two walls. This means that a much smaller amount of the sun’s heat ever makes it
to the interior walls of the kennel.⁠ ⁠ Want to learn more about the testing
parameters and how you can keep your dog safe this summer? Head to the link in
our bio.
READ MORE...
READ LESS
Was this review helpful?

0

0
G
gunnerkennels

05/06/23
"If our dog had been in a junk crate and not a GUNNER kennel, I’m pretty certain
it would’ve turned into chards during this accident. If that had happened, well
I don’t want to guess at the potential outcomes.⁠ ⁠ I was traveling in Kansas
with my wife, kids, and our dog Wyoming in our Mercedes Sprinter van one
evening. A vehicle pulling a gooseneck trailer on the interstate lost its whole
tire-axle-hub assembly. The entire thing jumped the concrete barrier into our
lane; it hit us dead on. The impact broke the van’s steer axle and triggered the
airbags, and we slammed into the concrete barrier and rode the median, which
eventually pulled the vehicle onto the driver’s side. We cleared the shoulder
and ended up in a ditch.⁠ ⁠ Everybody in my family was okay, but the vehicle was
totaled. The kennel might’ve saved my daughter from harm– and for sure saved my
dog. During the accident, Wyoming’s kennel was sitting between a set of captain
chairs on the passenger side. The kennel wasn’t tied down, but this time, it
actually factored to my family’s benefit.⁠ ⁠ When the vehicle overturned and
laid on the driver’s side to ride the median, the kennel flew across the van to
the left-hand side. It wedged itself between my daughter’s knees and the seat in
front of her. She was sitting on the driver’s side, where the van turned over to
ride the median, and there was a glass window, which broke in the middle of all
this.⁠ ⁠ The GUNNER did two things, I believe:⁠ ⁠ 1) When the van turned over, I
could see the momentum and gravity to cause her to slip out of her booster seat.
The kennel stopped that from happening.⁠ 2) It protected my daughter’s face from
the window that shattered in front of her, and the debris that came in after.
Everyone else got chards of glass in their bodies– but not her, because the
kennel took the full brunt of it.⁠ ⁠ The kennel took the abuse, but my dog is
ok. There’s no way any other crate door would’ve stayed closed. That would mean
my dog had been bouncing around the inside of the van, becoming a trajectory to
harm my family or a hazard to herself. I’m thankful to GUNNER." –Alan W., GUNNER
Pack Member⁠ ⁠ Read Alan's full story at the link in our bio.
READ MORE...
READ LESS
Was this review helpful?

0

0
G
gunnerkennels

04/12/23
“Your kennel helped save my dog's life, and then my dog helped save mine. It was
a freak accident. I was driving through Nashville with my GSD, Bodhi, and came
to a stop light where I needed to make an unprotected left turn. As soon as I
turned down, another driver was speeding and we suddenly t-boned. I slammed on
my brakes, knocked into the other driver, and wedged the other vehicle between
my Tahoe and a telephone pole. ⁠ ⁠ I got out of the car as soon as I could to
check on the other driver. I was freaking out in the heat of the situation, but
Bodhi did not even cross my mind since I knew he was in the kennel and totally
fine. We called 911 to come and they quickly showed up to help with the
situation. I kept telling the paramedic that I needed to get my dog, but he kept
telling me to sit and wait. ⁠ ⁠ Long story short, I was then crying and having a
whole physical PTSD panic attack. Everyone kept asking me what I needed, and I
could only think of Bodhi.⁠ ⁠ Bodhi has been training to be a fully equipped
Service Dog, but he’d never performed deep pressure therapy (DPT) in an
emergency before. The lead paramedic went to the car to open the kennel, and
instead of jumping on the paramedic, Bodhi immediately ran right up to me and
put his body weight on me to help me shake it out and get through the panic.⁠ ⁠
The crazy thing is that if he was injured or hurt during the accident, he
probably wouldn’t have been able to perform his service. It is obviously a sucky
situation, but it honestly felt like a miracle that I had him in a GUNNER. It’s
what kept him alive so he could start his career as a service dog. It’s one of
the best dog products I’ve ever seen on the market because it’s genuinely saving
lives.” –Gabby W., GUNNER Pack Member⁠ ⁠ Check out the full story at the link in
our bio #gunnersaves
READ MORE...
READ LESS
Was this review helpful?

1

0
G
gunnerkennels

04/08/23
Your dog is not an egg. But this egg test represents the risk of traveling with
them unrestrained on the road.⁠ ⁠ When your vehicle is traveling at highway
speeds, so is your dog – traveling in a GUNNER Kennel works the same way
seatbelts and airbags do at helping slow down the dog before the stop.⁠ ⁠ Think
about the effectiveness of seatbelts and airbags. In much the same way, a GUNNER
both helps slow down your dog before the stop, and also cushions them during
it.⁠ ⁠ Every size GUNNER Kennel has saved real dogs in real wrecks. They're
tested and proven to save. Learn more about how you can protect your dog at the
link in our bio.
READ MORE...
READ LESS
Was this review helpful?

0

0
Slideshow
Slide controls

Loading...



SLIDESHOW

Slide controls



PRODUCT

G1™ Kennels Accessories Food Crate GUNNER Wear Open Box

COMPANY

5 Star Crash Test Rated Customer Stories Direct To Customer GUNNER Match
Campaign Careers Our Core Values Pledge 1% Company

PROGRAMS

Military, LE & First Responders Influencer & Affiliate Program Partner Program

EXPERIENCE

Our Story Thank You, Gunner Customer Gallery Kennel Testimonials Pack Blog
Videos #GunnerEffect 12 Days of GUNNER

SHIPPING & RETURNS

Shipping Returns/Exchanges G1™ Kennel Warranty Food Crate Warranty

SHOP BY DOG TYPE

Waterfowl Dog Upland Dog Working K9 Family or Companion Dog Conformation or
Sport Dog Adventure or Trail Dog Dog with Phobias

CONTACT

Contact Us Showroom Appointments FAQs 1x1 Video Consultation Financing



5207 Linbar Drive, Suite 704 | Nashville, TN 37211 | info@gunner.com.

© Edmonds Outdoors, LLC. All rights reserved. Privacy Policy Terms Patents

✕

✕


✕


THE PACK OPINION


✕

ADDED. COMPLETE YOUR SETUP

PERSONALIZED KENNEL NAME PLATE

$30
-
+
Size Intermediate/Large Small/Medium
Intermediate/Large Small/Medium
Dog Name
I've reviewed and approve the design shown in the preview
ADD TO CART



✕

ADDED. COMPLETE YOUR SETUP

FOOD CRATE NAME PLATE

Regular price $30
Sale price $
Default Title
Dog Name
I've reviewed and approve the design shown in the preview
ADD TO CART



✕
Sizing Guide

…
Sizing Guide



KENNEL FIT FINDER


VIEW SAVED
START


VEHICLE FIT FINDER


VIEW SAVED
START


KENNEL DIMENSIONS



VIEW

Looking for your previous results?

Sign in to view saved Fit recommendations

small
medium
intermediate
large
SIDE-BY-SIDE COMPARISON

EXTERIOR

|

INTERIOR

INTERIOR: 21.75" (L - Floor) x 14.5" (W - Floor) x 15.5" (H) / 16.5" (W) at
kennel's widest interior point

EXTERIOR: 24.5" (L) x 18.625" (W) x 19" (H) / 20.5" (H) with carry handles

EMPTY WEIGHT: 27 lb.

EXTERIOR

|

INTERIOR

INTERIOR: 25" (L - Floor) x 18" (W - Floor) x 19.75" (H) / 19" (W) at kennel's
widest interior point

EXTERIOR: 29.5" (L) x 20.5" (W) x 23.5" (H) / 25" (H) with carry handles

EMPTY WEIGHT: 38 lb.

EXTERIOR

|

INTERIOR

INTERIOR: 30" (L - Floor) x 18" (W - Floor) x 25" (H) / 19" (W) at kennel's
widest interior point

EXTERIOR: 34" (L) x 23" (W) x 28.5" (H) / 30" (H) with carry handles

EMPTY WEIGHT: 48 lb.

EXTERIOR

|

INTERIOR

INTERIOR: 33.25" (L - Floor) x 21" (W - Floor) x 29" (H) / 23" (W) at kennel's
widest interior point

EXTERIOR: 40.25" (L) x 28" (W) x 33.25" (H) / 34.5" (H) with carry handles

EMPTY WEIGHT: 72 lb.

Interior Exterior Empty Weight G1™ SMALL 21.75" (L - Floor) x 14.5" (W - Floor)
x 15.5" (H) / 16.5" (W) at kennel's widest interior point 24.5" (L) x 18.625"
(W) x 19" (H) / 20.5" (H) with carry handles 27 lb. G1™ MEDIUM 25" (L - Floor) x
18" (W - Floor) x 19.75" (H) / 19" (W) at kennel's widest interior point 29.5"
(L) x 20.5" (W) x 23.5" (H) / 25" (H) with carry handles 38 lb. G1™ INTERMEDIATE
30" (L - Floor) x 18" (W - Floor) x 25" (H) / 19" (W) at kennel's widest
interior point 34" (L) x 23" (W) x 28.5" (H) / 30" (H) with carry handles 48 lb.
G1™ LARGE 33.25" (L - Floor) x 21" (W - Floor) x 29" (H) / 23" (W) at kennel's
widest interior point 40.25" (L) x 28" (W) x 33.25" (H) / 34.5" (H) with carry
handles 72 lb.

Sign in to save your recommendation

SIGN IN
Don't have an account click here to register

Return to results
REGISTER
Return to results
REGISTER
Return to results

VIEW
NEW +

Your result has been saved! You need to be logged in to your account to see your
saved recommendations

Back to results page
ADD ANOTHER

Your returned results have been sent to our Customer Experience team. We'll be
in touch as soon as possible to talk through your fit recommendation.

Return to results
The Kennel Fit Finder is intended for fully grown dogs, but we'd still love to
help you make your best decision.

Please choose whether we can contact you by email or SMS, and support will
contact you to help find your fit.


Email SMS
SUBMIT

Your request has been sent to our Customer Experience team. We'll be in touch as
soon as possible to talk through your fit recommendation.

You will need a soft measuring tape, your dog, and 2 minutes to find your
perfect fit.

Tip: If you don't have a soft measuring tape, use a piece of string or a leash
then compare.

NEXT

 

My dog is
select
Fully Grown
Still a Puppy
NEXT

Measure from base of tail to end of nose, keeping the tape along the spine.

Still need help measuring? Watch our video here.

My dog is inches in length
NEXT

 

My dog is inches in height from the base of paw to top of shoulder

Still need help measuring? Watch our video here.

NEXT

 

My dog weighs pounds
NEXT
My dog is a
select
male
female

named and is
select
Below Average
Average
Above Average
size for the breed.
My name is and my email is
FIND MY FIT
Heads up! The Intermediate (Bottomland / Tan) may take up to 14 days to ship.
G1™ SMALL

Quantity must be 1 or more
Size Small Medium Intermediate Large
Color Gunmetal Tan DU Green Mossy Oak Bottomland Tan Mossy Oak Bottomland
Gunmetal
Color:Gunmetal


Small / Gunmetal Small / Tan Small / DU Green Small / Mossy Oak Bottomland Tan
Small / Mossy Oak Bottomland Gunmetal Medium / Gunmetal Medium / Tan Medium / DU
Green Medium / Mossy Oak Bottomland Tan Medium / Mossy Oak Bottomland Gunmetal
Intermediate / Gunmetal Intermediate / Tan Intermediate / DU Green Intermediate
/ Mossy Oak Bottomland Tan Intermediate / Mossy Oak Bottomland Gunmetal Large /
Gunmetal Large / Tan Large / DU Green Large / Mossy Oak Bottomland Tan Large /
Mossy Oak Bottomland Gunmetal
Heads up! The Intermediate (Bottomland / Tan) may take up to 14 days to ship.
G1™ MEDIUM

Quantity must be 1 or more
Size Small Medium Intermediate Large
Color Gunmetal Tan DU Green Mossy Oak Bottomland Tan Mossy Oak Bottomland
Gunmetal
Color:Gunmetal


Small / Gunmetal Small / Tan Small / DU Green Small / Mossy Oak Bottomland Tan
Small / Mossy Oak Bottomland Gunmetal Medium / Gunmetal Medium / Tan Medium / DU
Green Medium / Mossy Oak Bottomland Tan Medium / Mossy Oak Bottomland Gunmetal
Intermediate / Gunmetal Intermediate / Tan Intermediate / DU Green Intermediate
/ Mossy Oak Bottomland Tan Intermediate / Mossy Oak Bottomland Gunmetal Large /
Gunmetal Large / Tan Large / DU Green Large / Mossy Oak Bottomland Tan Large /
Mossy Oak Bottomland Gunmetal
Heads up! The Intermediate (Bottomland / Tan) may take up to 14 days to ship.
G1™ INTERMEDIATE

Quantity must be 1 or more
Size Small Medium Intermediate Large
Color Gunmetal Tan DU Green Mossy Oak Bottomland Tan Mossy Oak Bottomland
Gunmetal
Color:Gunmetal


Small / Gunmetal Small / Tan Small / DU Green Small / Mossy Oak Bottomland Tan
Small / Mossy Oak Bottomland Gunmetal Medium / Gunmetal Medium / Tan Medium / DU
Green Medium / Mossy Oak Bottomland Tan Medium / Mossy Oak Bottomland Gunmetal
Intermediate / Gunmetal Intermediate / Tan Intermediate / DU Green Intermediate
/ Mossy Oak Bottomland Tan Intermediate / Mossy Oak Bottomland Gunmetal Large /
Gunmetal Large / Tan Large / DU Green Large / Mossy Oak Bottomland Tan Large /
Mossy Oak Bottomland Gunmetal
Heads up! The Intermediate (Bottomland / Tan) may take up to 14 days to ship.
G1™ LARGE

Quantity must be 1 or more
Size Small Medium Intermediate Large
Color Gunmetal Tan DU Green Mossy Oak Bottomland Tan Mossy Oak Bottomland
Gunmetal
Color:Gunmetal


Small / Gunmetal Small / Tan Small / DU Green Small / Mossy Oak Bottomland Tan
Small / Mossy Oak Bottomland Gunmetal Medium / Gunmetal Medium / Tan Medium / DU
Green Medium / Mossy Oak Bottomland Tan Medium / Mossy Oak Bottomland Gunmetal
Intermediate / Gunmetal Intermediate / Tan Intermediate / DU Green Intermediate
/ Mossy Oak Bottomland Tan Intermediate / Mossy Oak Bottomland Gunmetal Large /
Gunmetal Large / Tan Large / DU Green Large / Mossy Oak Bottomland Tan Large /
Mossy Oak Bottomland Gunmetal
TRAVEL


HOME
Recommended Size for Safe Travel small
Recommended Size for Safe Travel Medium safe travel not recommended
Recommended Size for Safe Travel Intermediate safe travel not recommended
Recommended Size for Safe Travel Large safe travel not recommended
Move the slider up for a roomier fit, if that's your preference. Move the slider
up or down to change the fit based on your primary use and preference
Move the slider up for a roomier fit, if that's your preference. Move the slider
up or down to change the fit based on your primary use and preference
Move the slider up for a roomier fit, if that's your preference. Move the slider
up or down to change the fit based on your primary use and preference
Move the slider up for a roomier fit, if that's your preference. Move the slider
up or down to change the fit based on your primary use and preference
LEARN ABOUT OUR SIZING RECOMMENDATION


WHY THIS SIZE?

GUNNER is the original 5 Star Crash Tested kennel, per the Center For Pet
Safety. We created this crate specifically for transportation and that factors
into our fit recommendations. In the best interest of your dog, we advise a snug
fit for safe travel. If choosing the GUNNER crate for home kenneling, simply
slide the toggle above to the right to see the best size.


SAFE TRAVEL GUIDELINES

When primarily used for travel, we always recommend a tight fit in the GUNNER
kennel. This protects the dog in the case of an accident: the less wasted
interior space the better. Think about it like this – if you’re hitting the
brakes too hard, or get into a wreck, you’d rather that your dog have less room
to move around inside the kennel. Many customers have also found that their dog
feels more secure when traveling in a tighter area too. For further explanation
on this point, let Seth Bynum, a Veterinarian, break it down for you.

For further explanation on this point, let Seth Bynum, a Veterinarian, break it
down for you.


WHAT DO WE MEAN BY SNUG FIT?

Check out the below visual. When the door is closed, the proper fit for safe
travel could mean that your dog:

• Is curled
• Paws are tucked
• Rump/tail is resting against the back

Here’s another look for how your dog might look in a crate sized for safe
travel, when the door is open:

SHOW MORE IMAGES
-
+
ADD TO CART

SAVE RECOMMENDATION
ADD ANOTHER
EMAIL RESULTS TO SUPPORT
DOWNLOAD SIZE CHART
It looks like we can't find a fit for your dog based on the measurements you
entered.

Please check they're correct or contact support for help.


EMAIL MY RESULTS
ADDED. COMPLETE YOUR SETUP
PERSONALIZED KENNEL NAME PLATE SMALL/MEDIUM
Regular price $30
Sale price $
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLAZE ORANGE / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART

ORTHOPEDIC DOG BED SMALL / GRAY
Regular price $100
Sale price $
-
+
ADD TO CART

PERSONALIZED KENNEL NAME PLATE SMALL/MEDIUM
Regular price $30
Sale price $
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLAZE ORANGE / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART

PERFORMANCE PAD MEDIUM / BLACK
Regular price $90
Sale price $
-
+
ADD TO CART

PERSONALIZED KENNEL NAME PLATE INTERMEDIATE/LARGE
Regular price $30
Sale price $
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLAZE ORANGE / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART

PERFORMANCE PAD INTERMEDIATE / BLACK
Regular price $100
Sale price $
-
+
ADD TO CART

PERSONALIZED KENNEL NAME PLATE INTERMEDIATE/LARGE
Regular price $30
Sale price $
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLAZE ORANGE / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART

PERFORMANCE PAD LARGE / BLACK
Regular price $130
Sale price $
-
+
ADD TO CART

Where do you plan to place your G1™ Kennel?
The cabin/passenger compartment
Cargo/trunk
Truck bed
Other
NEXT
Locate the door or opening through which you plan to insert your G1™ kennel. The
following will ensure that you can easily remove your kennel
Measure the interior width of this opening, from its narrowest point to its
narrowest point. Place the corresponding dimension here:
Inches
NEXT
 
Measure the interior height of this door opening, from the bottom of the seat to
the top of the interior frame. Place the corresponding dimension here:
Measure the interior height of this door opening, from the bottom of the
floorboard of the trunk opening, to the top of the interior frame. Place the
corresponding dimension here:
Measure the interior height of the opening where you plan to insert the kennel,
from the bottom of the floor to the top of the interior frame. Place the
corresponding dimension here:
Inches
NEXT
Please locate where you plan to place your G1™ in the compartment of the
vehicle.
Decide which direction your kennel will face. Then, measure the width of this
space, from narrowest point to narrowest point. Place the corresponding
dimension here:
Measure the interior width of your cargo space, from narrowest point to
narrowest point, taking into account the wheel wells. Place the corresponding
dimension here:
Measure the width of your bed, from narrowest point to narrowest point, taking
into account the wheel wells. Place the corresponding dimension here:
Measure the interior width of your space, from narrowest point to narrowest
point. Place the corresponding dimension here:
Inches
NEXT
 
Measure the height of this interior space, from the resting floor to the top of
the interior ceiling. Take into account any sloping points. Place the
corresponding dimension here:
Measure the height of the cargo space, from the floorboard to the top of the
interior ceiling. Take into account any sloping points. Place the corresponding
dimension here:
If you have a topper, measure the height of the space, from the floor to the top
of the interior ceiling. Place the corresponding dimension here:

*if you do not have a topper, enter the number "50".
Measure the height of the space, from the floor to the top of the interior
ceiling. Take into account any sloping points. Place the corresponding dimension
here:
Inches
NEXT
 
Measure the depth of this interior space, from narrowest point to narrowest
point. Place the corresponding dimension here:
Measure the depth of the cargo space, from the tailgate to the back of the seat.
Place the corresponding dimension here:
Measure the depth of the cargo space, from the tailgate to the back of the seat.
Place the corresponding dimension here:
Measure the depth of the space, from narrowest point to narrowest point.
Inches
NEXT
 
 
My vehicle is a
My name is and my email is
FIND MY FIT
Heads up! The Intermediate (Bottomland / Tan) may take up to 14 days to ship.
G1™ SMALL
FITS (2) G1™ SMALL
Quantity must be 1 or more
Size Small Medium Intermediate Large
Color Gunmetal Tan DU Green Mossy Oak Bottomland Tan Mossy Oak Bottomland
Gunmetal
Color:Gunmetal


Small / Gunmetal Small / Tan Small / DU Green Small / Mossy Oak Bottomland Tan
Small / Mossy Oak Bottomland Gunmetal Medium / Gunmetal Medium / Tan Medium / DU
Green Medium / Mossy Oak Bottomland Tan Medium / Mossy Oak Bottomland Gunmetal
Intermediate / Gunmetal Intermediate / Tan Intermediate / DU Green Intermediate
/ Mossy Oak Bottomland Tan Intermediate / Mossy Oak Bottomland Gunmetal Large /
Gunmetal Large / Tan Large / DU Green Large / Mossy Oak Bottomland Tan Large /
Mossy Oak Bottomland Gunmetal
-
+
ADD TO CART

Heads up! The Intermediate (Bottomland / Tan) may take up to 14 days to ship.
G1™ MEDIUM
FITS (2) G1™ MEDIUM
Quantity must be 1 or more
Size Small Medium Intermediate Large
Color Gunmetal Tan DU Green Mossy Oak Bottomland Tan Mossy Oak Bottomland
Gunmetal
Color:Gunmetal


Small / Gunmetal Small / Tan Small / DU Green Small / Mossy Oak Bottomland Tan
Small / Mossy Oak Bottomland Gunmetal Medium / Gunmetal Medium / Tan Medium / DU
Green Medium / Mossy Oak Bottomland Tan Medium / Mossy Oak Bottomland Gunmetal
Intermediate / Gunmetal Intermediate / Tan Intermediate / DU Green Intermediate
/ Mossy Oak Bottomland Tan Intermediate / Mossy Oak Bottomland Gunmetal Large /
Gunmetal Large / Tan Large / DU Green Large / Mossy Oak Bottomland Tan Large /
Mossy Oak Bottomland Gunmetal
-
+
ADD TO CART

Heads up! The Intermediate (Bottomland / Tan) may take up to 14 days to ship.
G1™ INTERMEDIATE
FITS (2) G1™ INTERMEDIATE
Quantity must be 1 or more
Size Small Medium Intermediate Large
Color Gunmetal Tan DU Green Mossy Oak Bottomland Tan Mossy Oak Bottomland
Gunmetal
Color:Gunmetal


Small / Gunmetal Small / Tan Small / DU Green Small / Mossy Oak Bottomland Tan
Small / Mossy Oak Bottomland Gunmetal Medium / Gunmetal Medium / Tan Medium / DU
Green Medium / Mossy Oak Bottomland Tan Medium / Mossy Oak Bottomland Gunmetal
Intermediate / Gunmetal Intermediate / Tan Intermediate / DU Green Intermediate
/ Mossy Oak Bottomland Tan Intermediate / Mossy Oak Bottomland Gunmetal Large /
Gunmetal Large / Tan Large / DU Green Large / Mossy Oak Bottomland Tan Large /
Mossy Oak Bottomland Gunmetal
-
+
ADD TO CART

Heads up! The Intermediate (Bottomland / Tan) may take up to 14 days to ship.
G1™ LARGE
FITS (2) G1™ LARGE
Quantity must be 1 or more
Size Small Medium Intermediate Large
Color Gunmetal Tan DU Green Mossy Oak Bottomland Tan Mossy Oak Bottomland
Gunmetal
Color:Gunmetal


Small / Gunmetal Small / Tan Small / DU Green Small / Mossy Oak Bottomland Tan
Small / Mossy Oak Bottomland Gunmetal Medium / Gunmetal Medium / Tan Medium / DU
Green Medium / Mossy Oak Bottomland Tan Medium / Mossy Oak Bottomland Gunmetal
Intermediate / Gunmetal Intermediate / Tan Intermediate / DU Green Intermediate
/ Mossy Oak Bottomland Tan Intermediate / Mossy Oak Bottomland Gunmetal Large /
Gunmetal Large / Tan Large / DU Green Large / Mossy Oak Bottomland Tan Large /
Mossy Oak Bottomland Gunmetal
-
+
ADD TO CART

Please note that, in some returned results, you may have to remove carry handles
before inserting the G1™ (or in the rare case, asssemble the kennel inside the
vehicle).
SAVE RECOMMENDATION
ADD ANOTHER
EMAIL RESULTS TO SUPPORT
I'm sorry, but it doesn't look like we have any Kennels that fit your
specification based on the measurements you entered.

Please check they're correct or contact support for help.


ADDED. COMPLETE YOUR BUNDLE
Receive a free Personalized Kennel Name Plate when adding a Name Plate and a
Tie-Down Strap Kit to your cart.

PERSONALIZED KENNEL NAME PLATE SMALL/MEDIUM
Regular price $30
Sale price $

Dog Name

I've reviewed and approve the design shown in the preview
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLAZE ORANGE / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLACK / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART

PERSONALIZED KENNEL NAME PLATE INTERMEDIATE/LARGE
Regular price $30
Sale price $

Dog Name

I've reviewed and approve the design shown in the preview
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLAZE ORANGE / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLACK / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART

PERSONALIZED KENNEL NAME PLATE INTERMEDIATE/LARGE
Regular price $30
Sale price $

Dog Name

I've reviewed and approve the design shown in the preview
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLAZE ORANGE / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART

TIE-DOWN STRAP KIT BLACK / TRADITIONAL
Regular price $90
Sale price $
-
+
ADD TO CART



★ Reviews
Popup content starts

close Popup


THESE ARE REAL REVIEWS
FROM REAL SHOPPERS

4.8 star rating 7387 Reviews




 * Site Reviews
 * Product Reviews




WRITE A REVIEW

* Indicates a required field

* Score:

* Title:
* Review:
You are connected as
Connect with:

-OR-
* Use your name:
* Email:

Review's title & body can't be empty Question's body can't be empty Please enter
a star rating for this review Name field cannot be empty Invalid email Your
review has already been submitted. Max length was exceeded Please fill out all
of the mandatory (*) fields One or more of your answers does not meet the
required criteria




Thank you for posting a review!
We value your input. Share your review so everyone else can enjoy it too.
share
share
share
Thank you for posting a review!
Your review was sent successfully and is now waiting for our staff to publish
it.
Verified Reviewer

0.0 star rating

12/20/23
Review by Anonymous User



On
share ' Share Review by Anonymous User facebook facebook Share Review by
Anonymous User twitter twitter Share Review by Anonymous User LinkedIn linkedin
Share Review by Anonymous User
12/20/23
Was this review helpful?

0

0


K
Kayla M.
Verified Buyer

5.0 star rating

11/13/23
Love it!

Review by Kayla M. on 13 Nov 2023 review stating Love it!
Love the look and the build! The large was a great fit for my 170lb Siberian
husky.


On G1™ KENNEL
share ' Share Review by Kayla M. on 13 Nov 2023 facebook facebook Share Review
by Kayla M. on 13 Nov 2023 twitter twitter Share Review by Kayla M. on 13 Nov
2023 LinkedIn linkedin Share Review by Kayla M. on 13 Nov 2023
11/13/23
Was this review helpful?

0

0

Slideshow
Slide controls

Loading...


C
Caitlin M.
Verified Buyer

5.0 star rating

11/12/23
Looks great.

Review by Caitlin M. on 12 Nov 2023 review stating Looks great.
Looks great.


On PERSONALIZED KENNEL NAME PLATE
share ' Share Review by Caitlin M. on 12 Nov 2023 facebook facebook Share Review
by Caitlin M. on 12 Nov 2023 twitter twitter Share Review by Caitlin M. on 12
Nov 2023 LinkedIn linkedin Share Review by Caitlin M. on 12 Nov 2023
11/12/23
Was this review helpful?

0

0

Slideshow
Slide controls

Loading...


C
Caitlin M.
Verified Buyer

5.0 star rating

11/12/23
Very secure and user friendly.

Review by Caitlin M. on 12 Nov 2023 review stating Very secure and user
friendly.
Very secure and user friendly.


On TIE-DOWN STRAP KIT
share ' Share Review by Caitlin M. on 12 Nov 2023 facebook facebook Share Review
by Caitlin M. on 12 Nov 2023 twitter twitter Share Review by Caitlin M. on 12
Nov 2023 LinkedIn linkedin Share Review by Caitlin M. on 12 Nov 2023
11/12/23
Was this review helpful?

0

0

Slideshow
Slide controls

Loading...


C
Caitlin M.
Verified Buyer

5.0 star rating

11/12/23
Great quality

Review by Caitlin M. on 12 Nov 2023 review stating Great quality
I got two small kennels for my two dachshunds, one is 17lbs and one is 8lbs.
They fit them great! I think I’ll purchase a bolster bed to put on top of the
gunner orthopedic bed, they’re rotten and are used to something to snuggle down
into. Neither are kenneled in the home or for travel until now so they didn’t
love not riding with their ears in t...Read MoreRead more about review stating
Great quality

he breeze, but all things considered there was less complaining than I thought
there would be and I felt much better having them safe. Some frozen kongs for a
few rides should convince them that their new kennels are the place to be. They
seem extremely secure when anchored to the seats. For reference, here is a
picture of two kennels in the second row seats of a 2023 highlander. Read
LessRead less about review stating Great quality



On G1™ KENNEL
share ' Share Review by Caitlin M. on 12 Nov 2023 facebook facebook Share Review
by Caitlin M. on 12 Nov 2023 twitter twitter Share Review by Caitlin M. on 12
Nov 2023 LinkedIn linkedin Share Review by Caitlin M. on 12 Nov 2023
11/12/23
Was this review helpful?

0

0

Slideshow
Slide controls

Loading...


L
Luke B.
Verified Buyer

5.0 star rating

11/11/23
Great bumpers

Review by Luke B. on 11 Nov 2023 review stating Great bumpers
You can definitely launch them. So far, so good! Have only had the cap pop off 1
time and it was when I hit blacktop with with. Great floats and like the ability
to shove some feathers inside.


On GUNNER BUMPER
share ' Share Review by Luke B. on 11 Nov 2023 facebook facebook Share Review by
Luke B. on 11 Nov 2023 twitter twitter Share Review by Luke B. on 11 Nov 2023
LinkedIn linkedin Share Review by Luke B. on 11 Nov 2023
11/11/23
Was this review helpful?

0

0

Slideshow
Slide controls

Loading...


1 2 3 4 5 6 7 8 9

Popup content ends




Earn Rewards