grav.com Open in urlscan Pro
2606:4700:20::681a:87f  Public Scan

Submitted URL: http://grav.com/
Effective URL: https://grav.com/
Submission: On April 23 via api from US — Scanned from DE

Form analysis 8 forms found in the DOM

GET /pages/search-results-page

<form action="/pages/search-results-page" method="get" class="input-group search-bar hamburger--search" role="search">
  <input type="search" id="theFieldID2" name="q" value="" placeholder="search" class="input-group-field form-control snize-input-style" aria-label="search" autocomplete="off">
</form>

GET /pages/search-results-page

<form action="/pages/search-results-page" method="get" class="input-group search-bar" role="search">
  <input type="search" id="theFieldID" name="q" value="" placeholder="Search" class="input-group-field form-control snize-input-style" aria-label="Search" autocomplete="off">
  <input type="search" id="theFieldID3" name="q" value="" placeholder="Search" class="input-group-field form-control snize-input-style" aria-label="Search" autocomplete="off">
</form>

POST

<form method="post" id="new-review-form_" class="new-review-form" aria-expanded="false" onsubmit="event.preventDefault(); StampedFn.submitForm(this);" style="display: none;border: 1px solid #dddddd4d;padding: 15px"> <input type="hidden"
    name="productId" value="">
  <div class="stamped-form-title" style=" display:none;">Write a review</div>
  <fieldset class="stamped-form-contact">
    <legend style="display:none;">Author</legend>
    <div class="stamped-form-contact-name"> <label class="stamped-form-label" for="review_author_">Name</label> <input class="stamped-form-input stamped-form-input-text " id="review_author_" type="text" name="author" required="" value=""
        placeholder="Enter your name" autocomplete="name"> </div>
    <div class="stamped-form-contact-email"> <label class="stamped-form-label" for="review_email_">Email</label> <input class="stamped-form-input stamped-form-input-email " id="review_email_" type="email" name="email" required="" value=""
        placeholder="john.smith@example.com" autocomplete="email"> </div>
    <div class="stamped-form-contact-location"> <label class="stamped-form-label" for="review_location_">Location</label> <input class="stamped-form-input stamped-form-input-text " id="review_location_" type="text" name="location" value=""
        placeholder="e.g Paris, France" autocomplete="shipping country"> </div>
  </fieldset>
  <fieldset class="stamped-form-review">
    <legend style="display:none;">Rating</legend>
    <div class="stamped-form-review-rating"> <label class="stamped-form-label" for="reviewRating">Rating</label> <input type="text" id="reviewRating" name="reviewRating"
        style="font-size: 0px; border: none; height: 1px; width: 1px; margin: 0; padding: 0; line-height: 0px; min-height: 0px;" required="">
      <div class="stamped-form-input stamped-starrating">
        <a href="#" onclick="StampedFn.setRating(this);return false;" onkeydown="StampedFn.setRating(this);return false;" role="button" tabindex="0" class="stamped-fa stamped-fa-star-o" data-value="1"><span style="display:none;">1</span></a>
        <a href="#" onclick="StampedFn.setRating(this);return false;" onkeydown="StampedFn.setRating(this);return false;" role="button" tabindex="0" class="stamped-fa stamped-fa-star-o" data-value="2"><span style="display:none;">2</span></a>
        <a href="#" onclick="StampedFn.setRating(this);return false;" onkeydown="StampedFn.setRating(this);return false;" role="button" tabindex="0" class="stamped-fa stamped-fa-star-o" data-value="3"><span style="display:none;">3</span></a>
        <a href="#" onclick="StampedFn.setRating(this);return false;" onkeydown="StampedFn.setRating(this);return false;" role="button" tabindex="0" class="stamped-fa stamped-fa-star-o" data-value="4"><span style="display:none;">4</span></a>
        <a href="#" onclick="StampedFn.setRating(this);return false;" onkeydown="StampedFn.setRating(this);return false;" role="button" tabindex="0" class="stamped-fa stamped-fa-star-o" data-value="5"><span style="display:none;">5</span></a> </div>
    </div>
    <div class="stamped-form-review-title"> <label class="stamped-form-label" for="review_title_">Title of Review</label> <input class="stamped-form-input stamped-form-input-text" id="review_title_" type="text" name="reviewTitle" required="" value=""
        placeholder="Give your review a title"> </div>
    <div class="stamped-form-review-body"> <label class="stamped-form-label" for="review_body_">How was your overall experience?</label>
      <div class="stamped-form-input"> <textarea class="stamped-form-input stamped-form-input-textarea" id="review_body_" data-product-id="" name="reviewMessage" required="" rows="10" maxlength="5000"></textarea> </div>
    </div>
  </fieldset>
  <fieldset class="stamped-form-custom-questions">
    <legend style="display:none;">Questions</legend>
  </fieldset>
  <fieldset class="stamped-form-actions">
    <legend style="display:none;">Photos</legend> <span class="stamped-file-holder"> </span> <span class="stamped-file-uploader" style="display:none;"> <label for="stamped-file-uploader-input"> <span style="display:none;">Upload</span> <input
          id="stamped-file-uploader-input" type="file" name="stamped-file-uploader-input" class="stamped-file-uploader-input" multiple="" data-product-id="" style="display:none;"> <span class="stamped-file-uploader-btn"
          style="border:1px solid #333;padding: 6px 10px; font-size:13px; border-radius: .3em;"> <i class="stamped-fa stamped-fa-camera"></i> <span class="stamped-file-uploader-btn-label2"></span> </span> </label> </span> <span
      class="stamped-file-loading hide" style="display:none;"> <i class="fa fa-spinner fa-spin" aria-hidden="true"></i> </span> <input id="stamped-button-submit" type="submit"
      class="stamped-button stamped-button-primary button button-primary btn btn-primary" value="Submit">
  </fieldset>
</form>

<form class="needsclick klaviyo-form klaviyo-form-version-cid_2 kl-private-reset-css-Xuajs1" data-testid="klaviyo-form-VuMyLK" novalidate="" tabindex="-1"
  style="display: flex; flex-direction: row; box-sizing: border-box; width: 100%; overflow: visible; border-radius: 0px; border-style: none; border-width: 0px; border-color: rgb(0, 0, 0); background-color: rgb(69, 184, 143); background-repeat: no-repeat; background-position-y: 50%; padding: 25px 115px 35px; flex: 1 1 0%;">
  <div class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: column; width: 100%; margin: 0px; padding: 0px; justify-content: center;">
    <div data-testid="form-row" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 20px 0px 0px; position: relative; flex: 1 0 0px;">
        <div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-81411795" style="width: 100%;">
          <p style="font-size: 14px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400;"><span style="font-family: roboto-condensed, Helvetica, Arial, sans-serif; font-weight: 400; font-size: 18px;">Sign up to receive GRAV
              emails to get first dibs on new arrivals, sales, exclusive content, events and more!</span></p>
        </div>
      </div>
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 0px 0px 20px; position: relative; flex: 1 0 0px;">
        <div class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-grow: 1; flex-direction: column; align-self: flex-end;"><input id="email_81411796" class="needsclick go2945533412 kl-private-reset-css-Xuajs1" type="email"
            autocomplete="email" name="email" tabindex="0" placeholder="Enter your email" aria-label="Enter your email" aria-invalid="false" options="[object Object]"
            style="box-sizing: border-box; border-radius: 2px; padding: 0px 0px 0px 16px; height: 38px; text-align: left; color: rgb(0, 0, 0); font-family: roboto-condensed, Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0px; background-color: rgb(255, 255, 255); border: 1px solid rgb(180, 187, 195);">
          <div class="needsclick  kl-private-reset-css-Xuajs1" style="width: 100%; position: relative;"></div>
        </div>
      </div>
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px; position: relative; flex: 0 1 auto;"><button
          class="needsclick go279450927 kl-private-reset-css-Xuajs1" type="button" tabindex="0"
          style="background: rgb(0, 0, 0); border-radius: 2px; border-style: none; border-color: rgb(0, 0, 0); border-width: 0px; color: rgb(255, 255, 255); font-family: Courier, &quot;Lucida Sans Typewriter&quot;, &quot;Lucida Typewriter&quot;, monospace; font-size: 16px; font-weight: 700; letter-spacing: 0px; line-height: 1; white-space: normal; padding: 11px 10px; text-align: center; word-break: break-word; align-self: flex-end; cursor: pointer; height: auto;">SIGN
          UP</button></div>
    </div>
  </div><input type="submit" tabindex="-1" value="Submit" style="display: none;">
</form>

<form class="needsclick klaviyo-form klaviyo-form-version-cid_1 kl-private-reset-css-Xuajs1" data-testid="klaviyo-form-UJEvtL" novalidate="" tabindex="-1"
  style="display: flex; flex-direction: row; box-sizing: border-box; width: 100%; overflow: visible; border-radius: 2px; border-style: none; border-width: 0px; border-color: rgb(0, 0, 0); background-color: rgb(69, 184, 143); background-repeat: no-repeat; background-position-y: 50%; padding: 15px 60px 20px; flex: 1 1 0%;">
  <div class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: column; width: 100%; margin: 0px; padding: 0px; justify-content: center;">
    <div data-testid="form-row" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 0px 10px; position: relative; flex: 1 0 0px;">
        <div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-12114811" style="width: 100%;">
          <p style="font-size:14px;font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif;font-weight:400;">Sign up to receive GRAV emails to get first dibs on new arrivals, sales, exclusive content, events and more!</p>
        </div>
      </div>
    </div>
    <div data-testid="form-row" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 0px 16px; position: relative; flex: 1 0 0px;">
        <div class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-grow: 1; flex-direction: column; align-self: flex-end;"><input id="email_12114812" class="needsclick go890336221 kl-private-reset-css-Xuajs1" type="email"
            autocomplete="email" name="email" tabindex="0" placeholder="Enter your email" aria-label="Enter your email" aria-invalid="false" options="[object Object]"
            style="box-sizing: border-box; border-radius: 2px; padding: 0px 0px 0px 16px; height: 38px; text-align: left; color: rgb(0, 0, 0); font-family: Courier, &quot;Lucida Sans Typewriter&quot;, &quot;Lucida Typewriter&quot;, monospace; font-size: 14px; font-weight: 700; letter-spacing: 0px; background-color: rgb(255, 255, 255); border: 1px solid rgb(180, 187, 195);">
          <div class="needsclick  kl-private-reset-css-Xuajs1" style="width: 100%; position: relative;"></div>
        </div>
      </div>
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 0px 16px; position: relative; flex: 0 1 auto;"><button
          class="needsclick go3894874857 kl-private-reset-css-Xuajs1" type="button" tabindex="0"
          style="background: rgb(0, 0, 0); border-radius: 2px; border-style: none; border-color: rgb(0, 0, 0); border-width: 0px; color: rgb(255, 255, 255); font-family: Courier, &quot;Lucida Sans Typewriter&quot;, &quot;Lucida Typewriter&quot;, monospace; font-size: 16px; font-weight: 700; letter-spacing: 0px; line-height: 1; white-space: normal; padding: 11px 10px; text-align: center; word-break: break-word; align-self: flex-end; cursor: pointer; height: auto;">SIGN
          UP</button></div>
    </div>
  </div><input type="submit" tabindex="-1" value="Submit" style="display: none;">
</form>

POST /cart/add

<form action="/cart/add" method="post" class="variants">
  <select name="id" style=""></select>
  <div class="quantity-cart">
    <label>Quantity:</label>
    <div class="dec button">-</div>
    <input type="text" name="quantity" value="1" class="quantity" aria-label="quantity">
    <div class="inc button">+</div>
    <div class="actions">
      <button type="button" class="btn add-to-cart-btn">Add to Bag</button>
    </div>
  </div>
  <div class="total-price">
    <label>Subtotal : </label><span></span>
  </div>
</form>

POST /cart

<form method="post" action="/cart" id="cart_form" accept-charset="UTF-8" class="cart-drawer-form dbSlideSubmit" enctype="multipart/form-data"><input type="hidden" name="form_type" value="cart" aria-label="form_type"><input type="hidden" name="utf8"
    value="✓" aria-label="utf8">
  <div class="cart-drawer-error"></div>
  <div class="cart-drawer-empty">
    <p>Oh no, it looks like your cart is empty!</p>
    <span class="cart-drawer-header-top-close">CONTINUE SHOPPING</span>
  </div>
  <div class="tbtDiscountCombine  inSlide" style="border: 2px solid rgb(0, 0, 0);">
    <div class="dcbHeading" style="background: rgb(0, 0, 0);">Discount Code</div>
    <div class="dcbInputGroup"><input aria-label="Enter discount codes here" class="dcbInput" type="text" placeholder="Enter discount codes here"><button class="dcbButton" style="background: rgb(0, 0, 0);">Apply</button>
      <div class="dcbResult"></div><button class="dcCheckout" type="submit" style="display: none;background: #000000;">Checkout</button>
    </div>
  </div>
  <style style="display: none;" type="text/css">
    .dcCode {
      position: relative
    }

    .resultCodeRemove {
      background-image: url(https://thanhhd.com/app/public/discounts-combine/images/resultRemove.png);
      position: absolute;
      height: 10px;
      width: 10px;
      right: 0;
      top: 0;
      cursor: pointer;
    }

    .codesList::after {
      content: " ";
      display: table;
      clear: both;
    }

    .dcCode {
      float: left;
      padding: 5px;
      font-size: 13px;
      border-radius: 2px;
      background: #ddd;
      margin-right: 5px;
      margin-bottom: 5px;
    }

    .dcfreeShipping {
      margin-top: 10px;
    }

    .amoutDiscount {
      margin-top: 10px;
    }

    .tbtDiscountCombine b {
      font-weight: bold;
    }

    .tbtDiscountCombine del {
      text-decoration: line-through;
    }

    .dcCheckout {
      border: none;
      height: 40px;
      color: #fff;
      width: 100%;
      margin-top: 20px;
    }

    .tbtDiscountCombine {
      width: 500px;
      max-width: 100%;
      margin: auto;
      margin-top: 20px;
      margin-bottom: 20px;
      box-sizing: border-box;
      border: 2px #3f51b5 solid;
      clear: both;
    }

    .tbtDiscountCombine .dcbHeading {
      padding: 7px 15px;
      background: #3f51b5;
      font-size: 18px;
      box-sizing: border-box;
      color: #fff
    }

    .tbtDiscountCombine .dcbDes {
      padding: 15px;
      padding-bottom: 5px;
      box-sizing: border-box;
      font-size: 14px;
      box-sizing: border-box;
      color: #000
    }

    .tbtDiscountCombine .dcbInputGroup {
      padding: 15px;
      box-sizing: border-box
    }

    .tbtDiscountCombine .dcbInputGroup .dcbInput {
      box-sizing: border-box;
      width: 68%;
      height: 40px;
      padding: 5px;
      border: 1px solid #ddd;
      float: left
    }

    .tbtDiscountCombine .dcbInputGroup .dcbButton {
      width: 32%;
      float: left;
      background: #3f51b5;
      border: none;
      height: 40px;
      color: #fff;
      cursor: pointer
    }

    .discountCombineBox .dcbInputGroup .dcbButton:disabled {
      background: #ddd
    }

    .dcbInputGroup:after {
      content: " ";
      visibility: hidden;
      display: block;
      height: 0;
      clear: both
    }

    .dcbResult {
      float: left;
      margin-top: 10px;
      font-size: 18px;
      width: 100%;
    }

    .dcbLoader {
      border: 5px solid #f3f3f3;
      border-radius: 50%;
      border-top: 5px solid #3f51b5;
      width: 25px;
      height: 25px;
      -webkit-animation: spin 1s linear infinite;
      animation: spin 1s linear infinite;
      display: inline-block;
      margin-top: 6px;
      display: inline-block !important;
    }

    @-webkit-keyframes spin {
      0% {
        -webkit-transform: rotate(0deg)
      }

      100% {
        -webkit-transform: rotate(360deg)
      }
    }

    @keyframes spin {
      0% {
        transform: rotate(0deg)
      }

      100% {
        transform: rotate(360deg)
      }
    }
  </style>
</form>

<form class="needsclick klaviyo-form klaviyo-form-version-cid_5 kl-private-reset-css-Xuajs1" data-testid="klaviyo-form-SDB8zw" novalidate="" tabindex="-1"
  style="display: flex; flex-direction: row; box-sizing: border-box; width: 780px; min-width: 200px; max-width: 1000px; border-radius: 0px; border-style: none; border-width: 0px; border-color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); background-repeat: no-repeat; background-position-y: 50%; padding: 15px 40px; flex: 1 1 0%;">
  <div class="needsclick  kl-private-reset-css-Xuajs1"
    style="display: flex; flex-direction: column; width: 260px; margin: -15px 0px -15px -40px; padding: 0px; border-top: 0px solid transparent; border-right: 0px; border-bottom: 0px solid transparent; border-left: 0px solid transparent; border-bottom-left-radius: 0px; border-top-left-radius: 0px; overflow: hidden; min-width: 260px; min-height: 470px;">
    <div class="needsclick  kl-private-reset-css-Xuajs1"
      style="background-image: url(&quot;https://d3k81ch9hvuctc.cloudfront.net/company/NhHpMk/images/cc0509dc-17d6-4592-8343-9ed1b2604fcb.png&quot;); background-repeat: no-repeat; background-size: cover; background-position: 100% 50%; width: 100%; height: 100%; display: block;">
    </div>
  </div>
  <div class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: column; width: 100%; margin: 0px; padding: 0px 0px 0px 40px; min-height: 470px; justify-content: center;">
    <div data-testid="form-row" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 10px; position: relative; flex: 0 1 auto; margin: 0px auto;">
        <div class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; align-items: center; width: 100%; height: auto;">
          <div class="needsclick  kl-private-reset-css-Xuajs1" style="position: relative; display: flex; align-items: center; width: 100%; height: auto;"><img
              src="https://d3k81ch9hvuctc.cloudfront.net/company/NhHpMk/images/e532eae1-e1bf-4402-a542-411363caffc3.png" tabindex="-1" alt="GRAV - Premium Pipes &amp; Bongs" class="needsclick  kl-private-reset-css-Xuajs1"
              style="max-width: 100%; width: 100px; height: auto; cursor: initial;"></div>
        </div>
      </div>
    </div>
    <div data-testid="form-row" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 10px 10px 0px; position: relative; flex: 1 0 0px;">
        <div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-81435049" style="width: 100%;">
          <h1 style="text-align: center; font-size: 14px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400; line-height: 280%;"><span class="ql-font-kanit"
              style="font-size: 48px; color: #373f47; font-family: roboto-condensed, Helvetica, Arial, sans-serif; font-weight: bold;">Unlock 15% off your first order</span></h1>
        </div>
      </div>
    </div>
    <div data-testid="form-row" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 6px 10px; position: relative; flex: 1 0 0px;">
        <div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-81435050" style="width: 100%;">
          <p style="text-align: center; font-size: 14px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400;"><span class="ql-font-kanit"
              style="color: #373f47; font-size: 18px; font-family: roboto-condensed, Helvetica, Arial, sans-serif; font-weight: 400;">Sign up for special offers and updates from GRAV.</span></p>
        </div>
      </div>
    </div>
    <div data-testid="form-row" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 20px 10px 10px; position: relative; flex: 1 0 0px;">
        <div class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-grow: 1; flex-direction: column; align-self: flex-end;"><input id="email_81435051" class="needsclick go1535701540 kl-private-reset-css-Xuajs1" type="email"
            autocomplete="email" name="email" tabindex="0" placeholder="Email" aria-label="Email" aria-invalid="false" options="[object Object]"
            style="box-sizing: border-box; border-radius: 0px; padding: 0px 0px 0px 16px; height: 50px; text-align: left; color: rgb(0, 0, 0); font-family: roboto-condensed, Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 400; letter-spacing: 0px; background-color: rgb(255, 255, 255); border: 1px solid rgb(0, 0, 0); box-shadow: rgba(0, 0, 0, 0) 0px 0px 5px;">
          <div class="needsclick  kl-private-reset-css-Xuajs1" style="width: 100%; position: relative;"></div>
        </div>
      </div>
    </div>
    <div data-testid="form-row" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 0px 10px; position: relative; flex: 1 0 0px;"><button
          class="needsclick go952291206 kl-private-reset-css-Xuajs1" type="button" tabindex="0"
          style="background: rgb(0, 0, 0); border-radius: 0px; border-style: none; border-color: rgb(21, 117, 81); border-width: 2px; color: rgb(255, 255, 255); font-family: roboto-condensed, Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 700; letter-spacing: 0px; line-height: 1; white-space: normal; padding-top: 0px; padding-bottom: 0px; text-align: center; word-break: break-word; align-self: flex-end; cursor: pointer; height: 54px; width: 100%;">UNLOCK
          YOUR OFFER</button></div>
    </div>
    <div data-testid="form-row" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; flex-direction: row; align-items: stretch; position: relative;">
      <div component="[object Object]" data-testid="form-component" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; justify-content: flex-start; padding: 10px 25px 0px; position: relative; flex: 1 0 0px;">
        <div class="kl-private-reset-css-Xuajs1 go3176171171" id="rich-text-81435053" style="width: 100%;">
          <p style="font-size: 14px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400; text-align: center;"><span class="ql-font-kanit"
              style="color: #606a72; font-size: 12px; font-family: roboto, Helvetica, Arial, sans-serif; font-weight: 400; font-style: italic;">By signing up, you agree to receive email marketing from GRAV. Consent is not a requirement for purchase.
              Message frequency may vary. Unsubscribe at any time. See <a href="https://grav.com/#:~:text=Loyalty%20Program-,Data%20Privacy,-Terms%20of%20Use">privacy policy</a> and
              <a href="https://grav.com/#:~:text=My%20Account-,Terms%20of%20Service,-Replacement%20Policy">terms</a> for details.</span></p>
        </div>
      </div>
    </div>
  </div><input type="submit" tabindex="-1" value="Submit" style="display: none;">
</form>

Text Content

Back
Accessibility options


Are you sure you want to hide the widget forever? If you need it back, please
clear your cookies.

OkCancel
Content
Bigger Text


Bigger Text


Bigger Cursor


Bigger Cursor

Text Reader


Tooltips

Line Height


Line Height


Hide Images


Hide images

Readable Fonts


Readable fonts

Dyslexic Font


Dyslexic Font

Stop Animations


Stop Animations

Colors
Invert Color


Invert Colors

Brightness


Brightness


Contrast


Contrast


Grayscale Color


Grayscale

Saturation


Saturation


Navigation
Reading Line


Reading Line

Highlight Links


Highlight Links

Text Reader


Read page

Reading Mask


Reading Mask

Page Structure


Page Structure

LanguageEnglish (USA)
Search language
English
(USA)SwedishFinnishGermanSpanishPortugueseTurkishFrenchJapaneseKoreanHebrewLatvianPolishGreekThai
Accessibly App Accessibility Statement

Accessibly App is committed to making sites accessible for all, including people
with disabilities. We are continuously improving the service we provide through
our app to comply with increased accessibility standards, guidelines, and to
make the browsing experience better for everyone.

Conformance status

The app uses the Web Content Accessibility Guidelines (WCAG) defined
requirements to improve accessibility for people with disabilities. It defines
three levels of conformance: Level A, Level AA, and Level AAA. Accessibly App is
following the best guidelines and is partially conformant with WCAG 2.1 level
AA.

Technical information

Accessibly App is an app supported in Shopify and Wordpress environments. The
app relies on the following technologies:

HTML
CSS
JavaScript
NodeJs
MongoDB

Accessibly App features

When a site has Accessibly App i ac-h4 installed, the website can be adjusted
with keyboard navigation using the “tab” key (WCAG 2.1/2.1.1). Additionally, see
the list of all provided Accessibly App features and tools for better website
experience:

Zoom | WCAG 2.1 / 1.4.4

This feature enables users to enhance the size of the text to up to three times
the original text for better text readability.

Bigger cursor

Makes the cursor bigger and more prominent. Increases the size for better site
browsing.

Invert colors

Invert the colors of the website content. For those with decreased vision, the
high contrast greatly helps to read the site better.

Tweak Contrast | WCAG 2.1 / 1.4.6

This feature lets users manually select from two options: to enhance the
contrast of the website or to decrease the contrast.

Tweak Brightness | WCAG 2.1 / 1.4.6

This feature lets users update the brightness on the site. The content can
either be made brighter or darker.

Grayscale | WCAG 2.1 / 1.4.6

Users can turn on grayscale, making the website content appear only in shades of
gray. This benefits people with visual impairment.

Reading Line

Add a supportive reading line to the site.

Readable fonts

Convert the fonts available on-site to one of the most easily readable fonts:
Helvetica.

Alt Text and Images

Ability to read alt text of images. As of now, our tool has added a feature
where alt descriptions for images without them are generated using Google's
Vision AI. In the event that you haven't manually written these image
descriptions yourself, this greatly helps people with visual impairment browse
your site.

Tooltips | WCAG 2.1 / 2.5.3

Add labels to images that contain a written description of the image.

Highlight links

Highlight links to make them more prominent.

Hide images

Hide images on the site. This provides better site readability for people with
visual impairment.

Read page

A feature that allows a voice to read the text on your site out loud to
visitors.

Notes & Feedback

We always try to update our services and operate in the best possible manner to
benefit all of our clients and their site visitors.

We cannot control or correct problems with third-party sites, but please let us
know if you encounter difficulty with any sites we link to so we can pass the
information along to the site owners. You may also want to address your concerns
directly to these third parties.


Reset settings
Accessibility statement





CONGRATS

You qualify for a free .

DECLINE ACCEPT


✨ FREE STANDARD SHIPPING ON ALL ORDERS ✨



ARE YOU OVER 21?
NO YES
Shop by Collection


 * NEW
   
   New Best Sellers Gift Cards
   
   
   CATEGORIES
   
   Hand Pipes Bubblers Bongs Gravity Bongs Accessories Apparel & Merch One
   Hitters
   
   
   COLLECTIONS
   
   GRAV Sip Series Helix STAX Upline Orbis

Shop by Category


 * NEW
   
   New Best Sellers Gift Cards
   
   
   CATEGORIES
   
   Hand Pipes Bubblers Bongs Gravity Bongs Accessories Apparel & Merch One
   Hitters
   
   
   COLLECTIONS
   
   GRAV Sip Series Helix STAX Upline Orbis

SHOP
Shop by Collection
New Best Sellers Bundles Shop All
Shop by Category
Gravity Bongs Bongs Hand Pipes Bubblers Dab Rigs One-Hitters Fill-Your-Own Glass
Joints Accessories Grinders & Dugouts Apparel + Merch
ABOUT US
About Us
COMMUNITY
Blog Loyalty Events
SUPPORT
FAQ Customer Service
MY ACCOUNT
MY BAG
0
SHOP


SHOP BY COLLECTION

New Best Sellers Bundles Shop All


SHOP BY CATEGORY

Gravity Bongs Bongs Hand Pipes Bubblers Dab Rigs One-Hitters Fill-Your-Own Glass
Joints Accessories Grinders & Dugouts Apparel + Merch
ABOUT US
About Us
COMMUNITY
Blog Loyalty Events
SUPPORT
FAQ Customer Service
0
CLOSE

Your bag is currently empty!

Total: $0.00

Continue Shopping

You are $100.00 away from free shipping!



Total: $0.00


GO TO BAG
CHECKOUT
WARNING:

Cancer and Reproductive Harm -

www.P65Warnings.ca.gov

Best Sellers


imageUrl
Select a Color

 * Blue
 * Green
 * Black
 * Lavender
 * Pink
 * Lake Green
 * Smoke
 * Mint
 * Amber


GRAV® CLASSIC SPOON

$20.99

Add to Bag




imageUrl


16MM GRAV® OCTOTASTER® - CLEAR...

$4.99

Add to Bag




imageUrl


GRAV® FILL-YOUR-OWN GLASS JOIN...

$14.99

Add to Bag




imageUrl


GRAV® 10MM CUP BOWL

$9.99

Add to Bag




imageUrl


GRAV® 14MM CUP BOWL

$9.99

Add to Bag




imageUrl


GRAV® 14MM MALE OCTOBOWL

$11.99

Add to Bag




imageUrl
Select a Color

 * Clear
 * Amber
 * Pink
 * Smoke
 * Lake Green
 * Light Cobalt


SPHERICAL POCKET BUBBLER - ASS...

$44.99

Add to Bag




imageUrl
Select a Color

 * Blue
 * Green
 * Black
 * Pink
 * Lake Green
 * Smoke
 * Mint
 * Amber
 * Lavender


GRAV® CLASSIC SHERLOCK

$19.99

Add to Bag







 * My Account
 * My Wishlist
 * My Bag
 * Check Out
 * Login
 * Sign Up





AS SEEN ON YOUR DEALER'S SHELF

BONGS

GRAV Water Pipes are built for strong, smooth smoking experiences.

Shop Now

HAND PIPES

GRAV hand pipes help you keep things simple.

Shop Now

BUBBLERS

GRAV bubblers offer powerful water filtration in a portable package.

Shop Now

ACCESSORIES

GRAV accessories take your sessions to the next level.

Shop Now

GRINDERS & DUGOUTS

GRAV grinders & dugouts for when you are on the go.

Shop Now

Best Sellers


imageUrl
Select a Color

 * Blue
 * Green
 * Black
 * Lavender
 * Pink
 * Lake Green
 * Smoke
 * Mint
 * Amber


GRAV® CLASSIC SPOON

$20.99

Add to Bag




imageUrl


16MM GRAV® OCTOTASTER® - CLEAR...

$4.99

Add to Bag




imageUrl


GRAV® FILL-YOUR-OWN GLASS JOIN...

$14.99

Add to Bag




imageUrl


GRAV® 10MM CUP BOWL

$9.99

Add to Bag




imageUrl


GRAV® 14MM CUP BOWL

$9.99

Add to Bag




imageUrl


GRAV® 14MM MALE OCTOBOWL

$11.99

Add to Bag




imageUrl
Select a Color

 * Clear
 * Amber
 * Pink
 * Smoke
 * Lake Green
 * Light Cobalt


SPHERICAL POCKET BUBBLER - ASS...

$44.99

Add to Bag




imageUrl
Select a Color

 * Blue
 * Green
 * Black
 * Pink
 * Lake Green
 * Smoke
 * Mint
 * Amber
 * Lavender


GRAV® CLASSIC SHERLOCK

$19.99

Add to Bag







PIPES FOR THE PEOPLE

Customer Reviews
4.6 Based on 16,521 Reviews
5 ★
81% 
13422
4 ★
9% 
1413
3 ★
4% 
606
2 ★
2% 
333
1 ★
4% 
747
Customer Photos
i
i
i
i
i
i
i
i
i


Write a Review Ask a Question
 * Reviews
 * Questions

Write a review
Author
Name
Email
Location
Rating
Rating
1 2 3 4 5
Title of Review
How was your overall experience?

Questions Photos Upload

Thank you for submitting a review!

Your input is very much appreciated. Share it with your friends so they can
enjoy it too!

FacebookTwitter
Be the first to review this item
SortWith Photos Most Recent Highest Rating Lowest Rating Most Helpful
Filter Reviews:
×
SortWith Photos Most Recent Highest Rating Lowest Rating Most Helpful
Clear filter
More Filters
A
03/12/2024
Aime
United States



FAVORITE BOWL EVAH

It seems like such a silly thing a bowl, but Grav has a way of making simple
into exquisite and I don’t exaggerate here. When I received this today, I was
thrilled at its appearance and classy built to last overall crystal clear glassy
structure I am excited to write that this Caldera (got mine in the pink model)
bowl is my favorite bowl to use to date.it was love at first smoke. The flower
is dispersed well in the wide but not too wide good depth (not too deep not too
shallow) of the caldera. I enjoy the flavor now whereas before it hit the back
of my head with harshness and heat from my cheap *** bowl.i was You cannot go
wrong with Grav. I have 100% success rate with them for about a decade now.
Their shipping is so fast I turn around and it’s at my door.pretty much. Thank
you Grav for the best bowl. I am going to get one in every color !!now. Just
cuz.



GRAV® 14mm Caldera Bowl

Share   |   Facebook  •  Twitter
Was this helpful?  0    2
AG
02/13/2024
April G.




LOVE IT

Love it





Share   |   Facebook  •  Twitter
Was this helpful?  0    1
AG
02/13/2024
April G.




IT‚ÄÔS AMAZING

Perfect for a solo smoke after a long day.





Share   |   Facebook  •  Twitter
Was this helpful?  1    0
BM
02/13/2024
Briceson M.




GOOD BONG, THE BOTTOM...

Good bong, the bottom of it cracked though.





Share   |   Facebook  •  Twitter
Was this helpful?  1    0
AD
02/12/2024
Alanna D.




PERFECT SIZE AND EASY...

Perfect size and easy to clean. Sturdy medium sized piece.





Share   |   Facebook  •  Twitter
Was this helpful?  0    0
AD
02/12/2024
Alanna D.




LOVE THIS BOWL! IT'S...

Love this bowl! It's perfect for fresh hits every time. I always order backups.





Share   |   Facebook  •  Twitter
Was this helpful?  0    0
BT
02/12/2024
Barratt T.




WORKS GREAT HAVE LIKE...

works great have like 4 of them





Share   |   Facebook  •  Twitter
Was this helpful?  0    0
 * <
 * <<
 * 1
 * 2
 * 3
 * 4
 * 5
 * 6
 * 7
 * 8
 * 9
 * 10
 * >>
 * >


 * 
 * 

16521
03/12/2024

Favorite bowl EVAH
It seems like such a silly thing a bowl, but Grav has a way of making simple
into exquisite and I don’t exaggerate here. When I received this today, I was
thrilled at its...read moreIt seems like such a silly thing a bowl, but Grav has
a way of making simple into exquisite and I don’t exaggerate here. When I
received this today, I was thrilled at its appearance and classy built to last
overall crystal clear glassy structure I am excited to write that this Caldera
(got mine in the pink model) bowl is my favorite bowl to use to date.it was love
at first smoke. The flower is dispersed well in the wide but not too wide good
depth (not too deep not too shallow) of the caldera. I enjoy the flavor now
whereas before it hit the back of my head with harshness and heat from my cheap
*** bowl.i was You cannot go wrong with Grav. I have 100% success rate with them
for about a decade now. Their shipping is so fast I turn around and it’s at my
door.pretty much. Thank you Grav for the best bowl. I am going to get one in
every color !!now. Just cuz.
Aime
United States
GRAV® 14mm Caldera Bowl

02/13/2024

Love it
Love it
April G.
undefined
02/13/2024

It’s amazing
Perfect for a solo smoke after a long day.
April G.
undefined
02/13/2024

Good bong, the bottom...
Good bong, the bottom of it cracked though.
Briceson M.
undefined

1 2 3 … 3356


NEW AT GRAV





FEATURED PRODUCT










WHY CHOOSE GRAV


FREE SHIPPING ON ORDERS $100+


MOST TRUSTED NAME IN GLASS


EARN LOYALTY REWARD POINTS
ON EVERY PURCHASE

Sign up to receive GRAV emails to get first dibs on new arrivals, sales,
exclusive content, events and more!


SIGN UP
Creating high-quality borosilicate glass since 2004. Advocates for the cannabis
community, culture and causes. #findyourhigherself

3501 Dime Circle, Ste 119
Austin, TX 78744
ABOUT
Frequently Asked Questions
Teacher, Military & First Responders
Video Vault
CONTACT
Monday-Friday 8:00-6:00PM CST
Email Support
Careers
Wholesale
ACCOUNT
My Account
Terms of Service
Replacement Policy
Order Policy
Loyalty Program
Data Privacy
Terms of Use
 * 
 * 
 * 
 * 
 * 

Privacy Policy
©GRAVITRON, LLC. ALL RIGHTS RESERVED

Sign up to receive GRAV emails to get first dibs on new arrivals, sales,
exclusive content, events and more!

SIGN UP
Creating high-quality borosilicate glass since 2004. Advocates for the cannabis
community, culture and causes. #findyourhigherself

3501 Dime Circle, Ste 119
Austin, TX 78744
ABOUT
Frequently Asked Questions
Teacher, Military & First Responders
Video Vault
CONTACT
Monday-Friday 8:00-6:00PM CST
Email Support
Careers
Wholesale
ACCOUNT
My Account
Terms of Service
Replacement Policy
Order Policy
Loyalty Program
Data Privacy
FAQ Terms of Use Privacy Policy
 * 
 * 
 * 
 * 
 * 

©GRAVITRON, LLC. ALL RIGHTS RESERVED

Error


Item added to your bag.

is added to your wish list.

Continue Shopping Go to bag Go To Wishlist


 










Quantity:
-
+
Add to Bag
Subtotal :


YOUR CART

Oh no, it looks like your cart is empty!

CONTINUE SHOPPING
Discount Code
Apply

Checkout



{"themeColor":"#000000","iconColor":"#000000","showLogo":false,"topBottomPosition":90,"rightLeftPosition":10,"iconSize":"extra-small","iconCustomSize":60,"position":"bottom-left"}









Close dialog 5


UNLOCK 15% OFF YOUR FIRST ORDER

Sign up for special offers and updates from GRAV.


UNLOCK YOUR OFFER

By signing up, you agree to receive email marketing from GRAV. Consent is not a
requirement for purchase. Message frequency may vary. Unsubscribe at any time.
See privacy policy and terms for details.