revo.com Open in urlscan Pro
23.227.38.65  Public Scan

URL: https://revo.com/
Submission Tags: analytics-framework
Submission: On April 24 via api from US — Scanned from CA

Form analysis 4 forms found in the DOM

GETSEARCHBUTTON /search

<form action="/search" method="getsearchButton" role="search" id="InnerHeaderSearchForm" class="site-header__search-form" autocomplete="off">
  <input type="hidden" name="type" value="product,article,page">
  <button type="submit" class="text-link site-header__search-btn site-header__search-btn--submit">
    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64">
      <path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"></path>
    </svg>
    <span class="icon__fallback-text">Search</span>
  </button>
  <input type="search" name="q" value="" placeholder="Search" class="site-header__search-input" aria-label="Search">
</form>

GET /search

<form action="/search" method="get" role="search" id="HeaderSearchForm" class="site-header__search-form" autocomplete="off">
  <input type="hidden" name="type" value="product,article,page">
  <button type="submit" class="text-link site-header__search-btn site-header__search-btn--submit medium-up--hide">
    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64">
      <path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"></path>
    </svg>
    <span class="icon__fallback-text">Search</span>
  </button>
  <input type="search" name="q" value="" placeholder="Search" class="site-header__search-input" aria-label="Search">
</form>

<form class="needsclick klaviyo-form klaviyo-form-version-cid_1 kl-private-reset-css-Xuajs1" data-testid="klaviyo-form-WEt2kt" 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: rgba(255, 255, 255, 0); background-repeat: no-repeat; background-position-y: 50%; padding: 10px 5px; 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: 10px 0px 0px; position: relative; background-color: rgb(0, 0, 0); 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_31732133" class="needsclick go4196397275 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: 43px; text-align: left; color: rgb(36, 36, 36); font-family: GT-America-Extended-Medium, Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 500; letter-spacing: 0px; background-color: rgb(255, 255, 255); border: 1px solid rgb(36, 36, 36);">
          <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 5px 0px 0px; position: relative; flex: 0 1 auto;"><button
          class="needsclick go3894874857 kl-private-reset-css-Xuajs1" type="button" tabindex="0"
          style="background: rgb(36, 36, 36); border-radius: 0px; border-style: solid; border-color: rgb(253, 253, 253); border-width: 4px; color: rgb(255, 255, 255); font-family: GT-America-Extended-Bold, &quot;Arial Black&quot;, &quot;Arial Bold&quot;, Gadget, sans-serif; font-size: 12px; 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

<form action="/cart" method="post" novalidate="" class="cart ajaxcart">
  <div class="drawer__inner drawer__inner--has-fixed-footer">
    {{#items}}
      <div class="ajaxcart__product appear-animation appear-delay-{{animationRow}}">
        <div class="ajaxcart__row">
          <div class="grid">
            <script data-discount_render="MTAwMDg4MDI2OTM4NGJjX2Rpc2NvdW50TWFuYWdlcg==">
              (async function() {
                var randomId = btoa(Date.now() + {
                  {
                    id
                  }
                });
                var currentScriptTag = document.querySelector('[data-discount_render="MTAwMDg4MDI2OTM4NGJjX2Rpc2NvdW50TWFuYWdlcg=="]');
                currentScriptTag.setAttribute('data-discount_render', randomId);
                window.bc_discountManager = window.bc_discountManager || {};
                window.bc_discountManager.items = window.bc_discountManager.items || [];
                var currentScript = document.currentScript;
                const data = {};
                data.productId = '{{id}}';
                data.id = randomId;
                data.parentElement = currentScript.parentNode;
                data.tags = "{{tags}}";
                data.url = '{{url}}';
                if (data.tags === "") {
                  await fetch(data.url.split('?')[0] + '.json').then(res => res.json()).then(res => data.tags = res.product.tags.split(',')).then(() => {
                    window.bc_discountManager.items.push(function() {
                      window.bc_discountManager.render(data);
                    });
                    //console.log ( 'data.tags', data.tags )
                  })
                } else {
                  window.bc_discountManager.items.push(function() {
                    window.bc_discountManager.render(data);
                  });
                }
              })();
            </script>
            <div class="grid__item one-third">
              <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt="{{name}}"></a>
              {{#if isTryNowProd}}
                <p class="tn-tag">Try First,<br>Pay Later</p>
              {{/if}}
            </div>
            <div class="grid__item two-thirds">
              <div class="ajaxcart__product-name--wrapper">
                <a href="{{url}}" class="ajaxcart__product-name">{{{name}}}</a>
                {{#if variation}}
                  <span class="ajaxcart__product-meta">{{variation}}</span>
                {{/if}}
                {{#properties}}
                  {{#each this}}
                    {{#if this}}
                      <!-- TryNow -->
                      {{#unless (istnenabled @key)}}
                        <span class="ajaxcart__product-meta">{{@key}}: {{this}}</span>
                      {{/unless}}
                      <!-- TryNow -->
                    {{/if}}
                  {{/each}}
                {{/properties}}
              </div>
              <div class="grid grid--full display-table">
                <div class="grid__item display-table-cell one-half">
                  <div class="ajaxcart__quantity">
                    <label for="updates_{{key}}" class="visually-hidden">Quantity</label>
                    <div class="js-qty__wrapper">
                      {{#if showQTY}}
                        {{#if (istrycartlimitreached isTryNowProd ../isCartLimitReached)}}
                          <input type="text" id="updates_{{key}}" class="js-qty__num js-trynow" value="{{itemQty}}" data-id="{{key}}" min="0" readonly="" aria-label="quantity" pattern="[0-9]*" name="updates[]">
                          <button type="button" class="js-qty__adjust js-qty__adjust--minus" aria-label="Reduce item quantity by one">
                            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-minus" viewBox="0 0 20 20">
                              <path fill="#444" d="M17.543 11.029H2.1A1.032 1.032 0 0 1 1.071 10c0-.566.463-1.029 1.029-1.029h15.443c.566 0 1.029.463 1.029 1.029 0 .566-.463 1.029-1.029 1.029z"></path>
                            </svg>
                            <span class="icon__fallback-text" aria-hidden="true">−</span>
                          </button>
                          <button type="button" disabled="" class="js-qty__adjust js-qty__adjust--plus" aria-label="Increase item quantity by one">
                            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" viewBox="0 0 20 20">
                              <path fill="#444"
                                d="M17.409 8.929h-6.695V2.258c0-.566-.506-1.029-1.071-1.029s-1.071.463-1.071 1.029v6.671H1.967C1.401 8.929.938 9.435.938 10s.463 1.071 1.029 1.071h6.605V17.7c0 .566.506 1.029 1.071 1.029s1.071-.463 1.071-1.029v-6.629h6.695c.566 0 1.029-.506 1.029-1.071s-.463-1.071-1.029-1.071z">
                              </path>
                            </svg>
                            <span class="icon__fallback-text" aria-hidden="true">+</span>
                          </button>
                        {{else}}
                          {{#if isTryNowProd}}
                            <input type="text" id="updates_{{key}}" class="js-qty__num js-trynow" value="{{itemQty}}" data-id="{{key}}" min="0" aria-label="quantity" pattern="[0-9]*" name="updates[]">
                          {{else}}
                            <input type="text" id="updates_{{key}}" class="js-qty__num" value="{{itemQty}}" data-id="{{key}}" min="0" aria-label="quantity" pattern="[0-9]*" name="updates[]">
                          {{/if}}
                          <button type="button" class="js-qty__adjust js-qty__adjust--minus" aria-label="Reduce item quantity by one">
                            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-minus" viewBox="0 0 20 20">
                              <path fill="#444" d="M17.543 11.029H2.1A1.032 1.032 0 0 1 1.071 10c0-.566.463-1.029 1.029-1.029h15.443c.566 0 1.029.463 1.029 1.029 0 .566-.463 1.029-1.029 1.029z"></path>
                            </svg>
                            <span class="icon__fallback-text" aria-hidden="true">−</span>
                          </button>
                          <button type="button" class="js-qty__adjust js-qty__adjust--plus" aria-label="Increase item quantity by one">
                            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" viewBox="0 0 20 20">
                              <path fill="#444"
                                d="M17.409 8.929h-6.695V2.258c0-.566-.506-1.029-1.071-1.029s-1.071.463-1.071 1.029v6.671H1.967C1.401 8.929.938 9.435.938 10s.463 1.071 1.029 1.071h6.605V17.7c0 .566.506 1.029 1.071 1.029s1.071-.463 1.071-1.029v-6.629h6.695c.566 0 1.029-.506 1.029-1.071s-.463-1.071-1.029-1.071z">
                              </path>
                            </svg>
                            <span class="icon__fallback-text" aria-hidden="true">+</span>
                          </button>
                        {{/if}}
                      {{/if}}
                    </div>
                  </div>
                </div>
                <div class="grid__item display-table-cell one-half text-right">
                  {{#if discountsApplied}}
                    <small class="cart__price--strikethrough">{{{price}}}</small>
                    <span class="ajaxcart__price">
                      {{{discountedPrice}}} </span>
                  {{else}}
                    <span class="ajaxcart__price">
                      {{{price}}} </span>
                  {{/if}}
                </div>
              </div>
              <div class="grid grid--full display-table">
                {{#if discountsApplied}}
                  <div class="grid__item text-right">
                    {{#each discounts}}
                      <small class="ajaxcart__discount cart__discount">
                        {{this.discount_application.title}} (-{{{this.formattedAmount}}}) </small>
                    {{/each}}
                  </div>
                {{/if}}
                {{#if unitBase}}
                  <div class="grid__item text-right">
                    <div class="product__unit-price">
                      {{{ unitPrice }}}/{{{ unitBase }}}
                    </div>
                  </div>
                {{/if}}
              </div>
            </div>
          </div>
        </div>
      </div>
    {{/items}}
    {{#if (checktnquantity tryNowRemainingProds)}}
      <div class="tn-cart-widget appear-animation appear-delay-{{lastAnimationRow}} tn-side-cart-widget {{#unless isTryNowCart}}tn-hidden{{/unless}}"> You can add&nbsp;<span class="tn-items">{{tryNowRemainingProds}}</span>&nbsp;more items to your
        TryNow order. </div>
    {{/if}}
  </div>
  <div class="drawer__footer drawer__footer--fixed appear-animation appear-delay-{{lastAnimationRow}}">
    {{#if cartDiscounts }}
      <div class="grid grid--full">
        <div class="grid__item one-half">
          <p class="ajaxcart__subtotal">Discounts</p>
        </div>
        <div class="grid__item one-half text-right">
          {{#each cartDiscounts}}
            <p class="ajaxcart__price cart__discount">
              {{this.title}} (-{{{this.formattedAmount}}})
            </p>
          {{/each}}
        </div>
      </div>
    {{/if}}
    <div class="grid grid--full sidecart_subtotal">
      <div class="grid__item one-half">
        {{#if isTryNowCart}}
          <p class="ajaxcart__subtotal">Due Today</p>
          <p class="ajaxcart__subtotal">Total <span class="tn-total-disclaimer">(If All Items Kept)</span></p>
        {{else}}
          <p class="ajaxcart__subtotal">Subtotal</p>
        {{/if}}
      </div>
      <div class="grid__item one-half text-right">
        <!-- TryNow -->
        {{#if isTryNowCart}}
          <p class="ajaxcart__price">{{{dueToday}}}</p>
          <p class="ajaxcart__price">{{{totalPrice}}}</p>
        {{else}}
          <p class="ajaxcart__price">{{{totalPrice}}}</p>
        {{/if}}
        <!-- TryNow -->
      </div>
    </div>
    <p class="ajaxcart__note"> Shipping, taxes, and discounts codes calculated at checkout. </p>
    <button type="button" class="btn btn--full cart__checkout tn-checkout-btn"> Check out </button>
    <button type="submit" class="btn btn--full cart__checkout" name="checkout"> Check out </button>
    {{#if isTryNowCart}}
      <div class="tn-side-cart-disclaimer-container">
        <div class="tn-disclaimer">
          <img src="https://components.trynow.net/images/trynow_logo.svg" alt="TryNow Logo" class="trynow-logo tn-cart-logo tn-info-img">
          <div>for 7 days before you pay</div>
        </div>
      </div>
    {{/if}}
  </div>
</form>

Text Content

×

Skip to content
Close menu


REVO SUNGLASSES

Search Svg Vector Icons : http://www.onlinewebfonts.com/icon Log in Site
navigation Cart 0
Search
"Close (esc)"
View more
 * SHOP
   * BACK
   * Men's Sunglasses
   * Women's Sunglasses
   * Prescription Sunglasses
   * Goggles
   * Readers & Computer Glasses
   * Accessories
   * SALE ON SALE
 * TECHNOLOGY
 * COLLECTIONS
   * BACK
   * New Arrivals
   * Best Sellers
   * Revo Black Collection
   * Glass Lens Collection
   * Collector's Edition Releases
   * From the Archives Collection
   * Revo x Kendall Toole
   * Revo x Bode Miller

 * --------------------------------------------------------------------------------
   
   Log in
   Shopping Bag
   Contact Us
 * 

Bag
Close cart

Your bag is currently empty.

Earth day flash sale - 25% off sitewide with Code 'EARTHDAY'

EARTH DAY SALE - 25% OFF


REVO SUNGLASSES

 * SHOP
   * Men's Sunglasses
   * Women's Sunglasses
   * Prescription Sunglasses
   * Goggles
   * Readers & Computer Glasses
   * Accessories
   * SALE ON SALE
 * TECHNOLOGY
 * COLLECTIONS
   * New Arrivals
   * Best Sellers
   * Revo Black Collection
   * Glass Lens Collection
   * Collector's Edition Releases
   * From the Archives Collection
   * Revo x Kendall Toole
   * Revo x Bode Miller

Search
"Close (esc)"
View more
Search Svg Vector Icons : http://www.onlinewebfonts.com/icon Log in Site
navigation Cart 0
Previous
Shop sitewide sale
Shop Polar
Next


SHOP BY COLLECTION


The Revo Black Collection

COLLECTOR’S EDITION RELEASES

The Descend Collection

1985 Glass Lens Collection


SHOP BEST SELLERS

25% OFF
TRY ME ON

Descend N
from $219.00

25% OFF
TRY ME ON

Descend Z
$249.00

25% OFF
TRY ME ON

Harness
from $219.00

25% OFF
TRY ME ON

Descend E
from $219.00

25% OFF
TRY ME ON

Horizon | Revo Black
from $329.00

25% OFF
TRY ME ON

Finley | Eco-friendly
from $239.00

25% OFF
TRY ME ON

Crawler
from $199.00

25% OFF
TRY ME ON

Jasper | Glass Lens
from $299.00

View all
View all
44 products
SHOP NOW


SIGN UP FOR OUR NEWSLETTER AND RECEIVE 15% OFF YOUR FIRST ORDER

SIGN UP FOR OUR NEWSLETTER AND RECEIVE 15% OFF YOUR FIRST ORDER
      SIGN UP     
 * Instagram
 * Facebook
 * YouTube
 * Twitter

Our Products

Our Products
 * New Arrivals
 * Best Sellers
 * Shop Men's
 * Shop Women's
 * All Sunglasses
 * Accessories

About Us

About Us
 * Our History
 * Technology
 * Ambassadors and Partnerships
 * Philanthropy
 * Corporate Events & Gifting
 * Revo Golf Events
 * Terms of Service
 * Refund policy

The Revo Guarantee

The Revo Guarantee
 * Return an Item
 * Shipping & Returns
 * Warranty & Repairs
 * Lens Replacement
 * Revo Care+ Program

Customer Care

Customer Care
 * FAQ
 * Email Us (24/7):
 * help@revo.com
 * Call us:
   Monday-Friday
   9am - 5pm EST
 * 888-940-7386
 * Find a Retailer
 * Accessibility



*Free shipping on domestic orders over $100.
$25 shipping on international orders.

REVO.COM EUROPE

REVO.COM AUSTRALIA

REVO.COM CANADA



 * Terms of Use

 * Privacy Policy
 * Revo Sonic Privacy Policy

Site Map

eCommerce by beeclever


{{#items}}
{{#if isTryNowProd}}

Try First,
Pay Later

{{/if}}
{{{name}}} {{#if variation}} {{variation}} {{/if}} {{#properties}} {{#each
this}} {{#if this}} {{#unless (istnenabled @key)}} {{@key}}: {{this}}
{{/unless}} {{/if}} {{/each}} {{/properties}}
Quantity
{{#if showQTY}} {{#if (istrycartlimitreached isTryNowProd
../isCartLimitReached)}} − + {{else}} {{#if isTryNowProd}} {{else}} {{/if}} − +
{{/if}} {{/if}}
{{#if discountsApplied}} {{{price}}} {{{discountedPrice}}} {{else}} {{{price}}}
{{/if}}
{{#if discountsApplied}}
{{#each discounts}} {{this.discount_application.title}}
(-{{{this.formattedAmount}}}) {{/each}}
{{/if}} {{#if unitBase}}
{{{ unitPrice }}}/{{{ unitBase }}}
{{/if}}
{{/items}} {{#if (checktnquantity tryNowRemainingProds)}}
You can add {{tryNowRemainingProds}} more items to your TryNow order.
{{/if}}
{{#if cartDiscounts }}

Discounts

{{#each cartDiscounts}}

{{this.title}} (-{{{this.formattedAmount}}})

{{/each}}
{{/if}}
{{#if isTryNowCart}}

Due Today

Total (If All Items Kept)

{{else}}

Subtotal

{{/if}}
{{#if isTryNowCart}}

{{{dueToday}}}

{{{totalPrice}}}

{{else}}

{{{totalPrice}}}

{{/if}}

Shipping, taxes, and discounts codes calculated at checkout.

Check out Check out {{#if isTryNowCart}}
for 7 days before you pay
{{/if}}
Previous Next
{{#if products}}
{{#products}}
{{#if custom_label }}
{{custom_label}}
{{/if}} {{#if on_sale }}
Sale
{{/if}}
{{#if image }} {{/if}}
{{title}}
{{/products}}
{{/if}} {{#if pages}}

Pages:

{{#pages}}
{{title}}
{{/pages}}
{{/if}} {{#if articles}}

Articles:

{{#articles}}
{{#if image }} {{/if}}
{{title}}
{{/articles}}
{{/if}}

"Close (esc)"



Reviews