<!doctype html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9 ]><html class="ie9 no-js" lang="en"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta name="google-site-verification" content="72awwRIMIMkLVXoj7em0d5Ho8VdNXi73ayhGg-XS4Mw" /><!--Content in content_for_header -->
<!--LayoutHub-Embed--><meta name="layouthub" /><link rel="stylesheet" type="text/css" href="data:text/css;base64,Ym9keSBpbnB1dCxib2R5IHRleHRhcmVhLGJvZHkgYnV0dG9uLGJvZHkgc2VsZWN0IHtmb250LWZhbWlseTogaW5oZXJpdDt9W2RhdGEtbGF5b3V0aHViPSJzZWN0aW9uIl0sIFtkYXRhLWxheW91dGh1Yj0ic2VjdGlvbiJdICoge3BhZGRpbmc6IDBweDttYXJnaW4tdG9wOiAwcHg7bWFyZ2luLWJvdHRvbTogMHB4O306cm9vdHstLWxoLWZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50Oy0tbGgtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgIWltcG9ydGFudDstLWxoLWNvbG9yLXJnYjogMjU1LCAgMjU1LCAgMjU1ICFpbXBvcnRhbnQ7fWJvZHkgc2VjdGlvbltkYXRhLWxheW91dGh1Yj0ic2VjdGlvbiJdIHtjb2xvcjogIzdBN0E3QTtmb250LXNpemU6IDEycHggIWltcG9ydGFudDt9W2RhdGEtbGF5b3V0aHViPSJzZWN0aW9uIl0gaDEsIFtkYXRhLWxheW91dGh1Yj0ic2VjdGlvbiJdIGgyLCBbZGF0YS1sYXlvdXRodWI9InNlY3Rpb24iXSBoMywgW2RhdGEtbGF5b3V0aHViPSJzZWN0aW9uIl0gaDQsIFtkYXRhLWxheW91dGh1Yj0ic2VjdGlvbiJdIGg1IHtjb2xvcjogIzFBMUExQjt9IGltZy5saC1sYXp5Om5vdChbc3JjXSkge3Zpc2liaWxpdHk6IGhpZGRlbjt9" media="all">
<!--LH--><script>window.LH = window.LH || {}; window.LH.tracking={"account_id":"87673884","profile_id":"215893492","property_id":"UA-87673884-2"};</script><!--/LayoutHub-Embed--><meta name="google-site-verification" content="7cmGE4E6v0fFv42xs8p57WeTJQ2QObQwNqql64OyAOo" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0">
<meta name="theme-color" content="#212121">
<link rel="canonical" href="https://hvoptics.com/404">
<meta name="facebook-domain-verification" content="ipudn5qheewokks6ichigdlksejtgo" />
<!-- Network optimisations -->
<link rel="preload" as="style" href="//hvoptics.com/cdn/shop/t/67/assets/theme-critical.scss.css?v=171114019535867972501709626759"><link rel="preconnect" href="//cdn.shopify.com" crossorigin>
<link rel="preconnect" href="//fonts.shopifycdn.com" crossorigin>
<link rel="preconnect" href="//v.shopify.com" crossorigin>
<link rel="preconnect" href="//ajax.googleapis.com" crossorigin>
<link rel="preconnect" href="//s.ytimg.com" crossorigin>
<link rel="preconnect" href="//www.youtube.com" crossorigin>
<link rel="dns-prefetch" href="//productreviews.shopifycdn.com">
<link rel="dns-prefetch" href="//maps.googleapis.com">
<link rel="dns-prefetch" href="//maps.gstatic.com">
<link rel="shortcut icon" href="//hvoptics.com/cdn/shop/files/V-01_32x32.png?v=1613736638" type="image/png">
<!-- Title and description ================================================== -->
<title>
404 Not Found – Happy Vision
</title>
<link rel="preload" href="//cdn.shopify.com/s/files/1/0639/7480/1583/t/1/assets/prefetch_critical_resources.js" as="script">
<!-- /snippets/social-meta-tags.liquid -->
<meta property="og:site_name" content="Happy Vision">
<meta property="og:url" content="https://hvoptics.com/404">
<meta property="og:title" content="404 Not Found">
<meta property="og:type" content="website">
<meta property="og:description" content="Shop Fashionable Frames, Sunglasses, Contact Lenses & Eyewear for women, men, and kids at Happy Vision Online Store in Egypt • FREE shipping • 14 Day Returns
Check out the latest Tommy Hifiger, Fossil, Carrera, Ray Ban, Dior, Jimmy Choo, Hugo Boss, & Fendi eyewear collections. Bella Contact lenses and Acuvue available">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="404 Not Found">
<meta name="twitter:description" content="Shop Fashionable Frames, Sunglasses, Contact Lenses & Eyewear for women, men, and kids at Happy Vision Online Store in Egypt • FREE shipping • 14 Day Returns
Check out the latest Tommy Hifiger, Fossil, Carrera, Ray Ban, Dior, Jimmy Choo, Hugo Boss, & Fendi eyewear collections. Bella Contact lenses and Acuvue available"><script src="//cdn.shopify.com/s/files/1/0639/7480/1583/t/1/assets/prefetch_critical_resources.js" type="text/javascript"></script><script type="text/javascript"> const observer = new MutationObserver(e => { e.forEach(({ addedNodes: e }) => { e.forEach(e => { 1 === e.nodeType && "SCRIPT" === e.tagName && (e.innerHTML.includes("asyncLoad") && (e.innerHTML = e.innerHTML.replace("if(window.attachEvent)", "document.addEventListener('asyncLazyLoad',function(event){asyncLoad();});if(window.attachEvent)").replaceAll(", asyncLoad", ", function(){}")), e.innerHTML.includes("PreviewBarInjector") && (e.innerHTML = e.innerHTML.replace("DOMContentLoaded", "asyncLazyLoad")), (e.className == 'analytics') && (e.type = 'text/lazyload'),(e.src.includes("assets/storefront/features")||e.src.includes("assets/shopify_pay")||e.src.includes("connect.facebook.net"))&&(e.setAttribute("data-src", e.src), e.removeAttribute("src")))})})});observer.observe(document.documentElement,{childList:!0,subtree:!0})</script><script src="//cdn.shopify.com/s/files/1/0639/7480/1583/t/1/assets/preload.js" type="text/javascript"></script>
<script type="text/javascripts">
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};
ttq.load('C3RCJ97M75MTE2LNA1MG');
ttq.page();
}(window, document, 'ttq');
</script>
<!-- Google Tag Manager -->
<script type="text/javascripts">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-KBXTGLN');</script>
<!-- End Google Tag Manager -->
<!-- JS before CSSOM =================================================== -->
<script type="text/javascript">
theme = {};
theme.t = {};
theme.map = {};
theme.cart_ajax = true;theme.multiple_currencies = false;
</script>
<script src="//hvoptics.com/cdn/shop/t/67/assets/lazysizes.min.js?v=128892553143126369191709626696"></script>
<script src="//hvoptics.com/cdn/shop/t/67/assets/vendor.min.js?v=164820642918265574901709626730" defer="defer"></script>
<script src="//hvoptics.com/cdn/shop/t/67/assets/ajax-cart.min.js?v=2032561716360336091709626759" defer="defer"></script>
<!-- CSS ================================================== -->
<style>@font-face {
font-family: Nunito;
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//hvoptics.com/cdn/fonts/nunito/nunito_n4.eeda324bc2f350e5c92cf5ef4a0712035386bd19.woff2?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=4b2805d9f28406b8491cb921145ab53db0af5dc1719449196e8731e8b3e57e90") format("woff2"),
url("//hvoptics.com/cdn/fonts/nunito/nunito_n4.510d96f4fbdd1b53fb60bf060c2e23e85d391444.woff?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=19f7736f933dea400efd7d6acfb8c055fa8d71850494ef2cd00ec9acecafbde0") format("woff");
}
@font-face {
font-family: Nunito;
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//hvoptics.com/cdn/fonts/nunito/nunito_n4.eeda324bc2f350e5c92cf5ef4a0712035386bd19.woff2?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=4b2805d9f28406b8491cb921145ab53db0af5dc1719449196e8731e8b3e57e90") format("woff2"),
url("//hvoptics.com/cdn/fonts/nunito/nunito_n4.510d96f4fbdd1b53fb60bf060c2e23e85d391444.woff?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=19f7736f933dea400efd7d6acfb8c055fa8d71850494ef2cd00ec9acecafbde0") format("woff");
}
@font-face {
font-family: Nunito;
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//hvoptics.com/cdn/fonts/nunito/nunito_n4.eeda324bc2f350e5c92cf5ef4a0712035386bd19.woff2?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=4b2805d9f28406b8491cb921145ab53db0af5dc1719449196e8731e8b3e57e90") format("woff2"),
url("//hvoptics.com/cdn/fonts/nunito/nunito_n4.510d96f4fbdd1b53fb60bf060c2e23e85d391444.woff?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=19f7736f933dea400efd7d6acfb8c055fa8d71850494ef2cd00ec9acecafbde0") format("woff");
}
@font-face {
font-family: Nunito;
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//hvoptics.com/cdn/fonts/nunito/nunito_n4.eeda324bc2f350e5c92cf5ef4a0712035386bd19.woff2?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=4b2805d9f28406b8491cb921145ab53db0af5dc1719449196e8731e8b3e57e90") format("woff2"),
url("//hvoptics.com/cdn/fonts/nunito/nunito_n4.510d96f4fbdd1b53fb60bf060c2e23e85d391444.woff?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=19f7736f933dea400efd7d6acfb8c055fa8d71850494ef2cd00ec9acecafbde0") format("woff");
}
@font-face {
font-family: Nunito;
font-weight: 700;
font-style: normal;
font-display: swap;
src: url("//hvoptics.com/cdn/fonts/nunito/nunito_n7.11fe4cbfacf531cf735c34b0201089187174544c.woff2?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=1a34a16aefdb3afae6cc96d24c54451e8b67618325067801444032daa9cfa832") format("woff2"),
url("//hvoptics.com/cdn/fonts/nunito/nunito_n7.020eae217066713ac7fdef90e29cdc906697a02f.woff?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=24c48a94d75e9f1134b01751f987a52727bb1e85168aca6fabfff4a3e0123c38") format("woff");
}
@font-face {
font-family: Nunito;
font-weight: 400;
font-style: italic;
font-display: swap;
src: url("//hvoptics.com/cdn/fonts/nunito/nunito_i4.dbaca638c505ec148af97f053d848593eba2f0b4.woff2?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=f1638afa1eaa0b99c2cec210365f7719c3ea89316b0a95addedd74758dae3b15") format("woff2"),
url("//hvoptics.com/cdn/fonts/nunito/nunito_i4.30fd4764a73b8d42cc49848e358ad40d27278c54.woff?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=ab04c0c6d968914f2aa113aa6a71b52e218c68e1efc034b2505b1deff8723da4") format("woff");
}
@font-face {
font-family: Nunito;
font-weight: 700;
font-style: italic;
font-display: swap;
src: url("//hvoptics.com/cdn/fonts/nunito/nunito_i7.2d10e1abe8ee167824bd81cffcfe2cdc382a5961.woff2?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=92ba70c99e4134ac358b407cb60136d1fdc2daee002ce417dc45d520791fb278") format("woff2"),
url("//hvoptics.com/cdn/fonts/nunito/nunito_i7.ef707341e7b30e253c3e6841a27f272b46a45ca5.woff?h1=aHZvcHRpY3MuY29t&h2=aGFwcHl2aXNpb24uYWNjb3VudC5teXNob3BpZnkuY29t&hmac=2ba759663f612e9623422c0c3a67007b7f1f71d3aa25b71e8ff9aba8b4a1b147") format("woff");
}
</style>
<link rel="stylesheet" href="//hvoptics.com/cdn/shop/t/67/assets/theme-critical.scss.css?v=171114019535867972501709626759">
<link rel="preload" href="//hvoptics.com/cdn/shop/t/67/assets/theme.scss.css?v=72404115512627796291709626759" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="//hvoptics.com/cdn/shop/t/67/assets/theme.scss.css?v=72404115512627796291709626759"></noscript>
<script>
/*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */
(function(w){"use strict";if(!w.loadCSS){w.loadCSS=function(){}}var rp=loadCSS.relpreload={};rp.support=(function(){var ret;try{ret=w.document.createElement("link").relList.supports("preload")}catch(e){ret=false}return function(){return ret}})();rp.bindMediaToggle=function(link){var finalMedia=link.media||"all";function enableStylesheet(){if(link.addEventListener){link.removeEventListener("load",enableStylesheet)}else if(link.attachEvent){link.detachEvent("onload",enableStylesheet)}link.setAttribute("onload",null);link.media=finalMedia}if(link.addEventListener){link.addEventListener("load",enableStylesheet)}else if(link.attachEvent){link.attachEvent("onload",enableStylesheet)}setTimeout(function(){link.rel="stylesheet";link.media="only x"});setTimeout(enableStylesheet,3000)};rp.poly=function(){if(rp.support()){return}var links=w.document.getElementsByTagName("link");for(var i=0;i<links.length;i+=1){var link=links[i];if(link.rel==="preload"&&link.getAttribute("as")==="style"&&!link.getAttribute("data-loadcss")){link.setAttribute("data-loadcss",true);rp.bindMediaToggle(link)}}};if(!rp.support()){rp.poly();var run=w.setInterval(rp.poly,500);if(w.addEventListener){w.addEventListener("load",function(){rp.poly();w.clearInterval(run)})}else if(w.attachEvent){w.attachEvent("onload",function(){rp.poly();w.clearInterval(run)})}}if(typeof exports!=="undefined"){exports.loadCSS=loadCSS}else{w.loadCSS=loadCSS}}(typeof global!=="undefined"?global:this));
</script>
<!-- JS after CSSOM=================================================== -->
<script src="//hvoptics.com/cdn/shop/t/67/assets/theme.min.js?v=163465797415349406041709626727" defer="defer"></script>
<script src="//hvoptics.com/cdn/shop/t/67/assets/custom.js?v=80737383346494004101709626675" defer="defer"></script>
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="fN0nkEjChpGEsS_-MCApUKwGjrJCkiEu_xeWQ5q2L2k">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/35835936906/digital_wallets/dialog">
<script async="async" data-src="/checkouts/internal/preloads.js?locale=en-EG"></script>
<script async="async" data-src="https://shop.app/checkouts/internal/preloads.js?locale=en-EG&shop_id=35835936906" crossorigin="anonymous"></script>
<script id="shopify-features" type="application/json">{"accessToken":"340d0f0c4dbcab5e6367ddafad1cfa40","betas":["rich-media-storefront-analytics"],"domain":"hvoptics.com","predictiveSearch":true,"shopId":35835936906,"smart_payment_buttons_url":"https:\/\/hvoptics.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/hvoptics.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en","flg4ff40b22":false}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "happyvision.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"EGP","rate":"1.0"};
Shopify.country = "EG";
Shopify.theme = {"name":"Copy of Copy of Corrected One 19.12.22 final ||...","id":139988566263,"theme_store_id":836,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "hvoptics.com/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script>(function() {
function asyncLoad() {
var urls = ["https:\/\/shopi.plexhr.com\/orderDeadlineInt\/script\/plex.php?shop=happyvision.myshopify.com","https:\/\/formbuilder.hulkapps.com\/skeletopapp.js?shop=happyvision.myshopify.com","https:\/\/app.layouthub.com\/shopify\/layouthub.js?shop=happyvision.myshopify.com","https:\/\/cdn.hextom.com\/js\/eventpromotionbar.js?shop=happyvision.myshopify.com","https:\/\/upsellproductaddons.com\/main.bundle.5d7b3c7054f5716ec06e.js?shop=happyvision.myshopify.com","https:\/\/hvoptics.com\/apps\/giraffly-trust\/trust-worker-0b1f61eefac3480c5f2548c4b6db64315500d3a2.js?v=20230719195055\u0026shop=happyvision.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0358\/3593\/6906\/t\/60\/assets\/pop_35835936906.js?v=1690280468\u0026shop=happyvision.myshopify.com","\/\/productreviews.shopifycdn.com\/embed\/loader.js?shop=happyvision.myshopify.com","https:\/\/widgetic.com\/sdk\/sdk.js?shop=happyvision.myshopify.com","https:\/\/gifts.good-apps.co\/storage\/js\/good_free_gift-happyvision.myshopify.com.js?ver=20\u0026shop=happyvision.myshopify.com","https:\/\/cdn.pushowl.com\/latest\/sdks\/pushowl-shopify.js?subdomain=happyvision\u0026environment=production\u0026guid=3a68b5ff-f565-45c1-849d-2d0afd9e8ca8\u0026shop=happyvision.myshopify.com"];
for (var i = 0; i < urls.length; i++) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = urls[i];
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
}
};
document.addEventListener('StartAsyncLoading',function(event){asyncLoad();});if(window.attachEvent) {
window.attachEvent('onload', function(){});
} else {
window.addEventListener('load', function(){}, false);
}
})();</script>
<script id="__st">var __st={"a":35835936906,"offset":10800,"reqid":"3ba3f227-e586-4f7e-9385-46156d17485f-1714888006","pageurl":"hvoptics.com\/404","u":"1915814e1c82"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script>!function(){'use strict';const e='contact',t='account',n='new_comment',o=e=>e.map((([e,t])=>`form[action*='/${e}'] input[name='form_type'][value='${t}']`)).join(',');function c(e,t,n){try{for(const[o,c]of Object.entries(JSON.parse(n.getItem(t))))e.elements[o]&&(e.elements[o].value=c);n.removeItem(t)}catch{}}const s='form_type',r='cptcha';var a,m,i,u;a=window,m=document,u='ce_forms',a[i='Shopify']=a[i]||{},a[i][u]=a[i][u]||{},a[i][u].q=[],function(a,m,i,u,f,d){const[l,p]=function(c,s){const r=s?[[e,e],['blogs',n],['comments',n],[e,'customer']]:[],a=c?[[t,'customer_login'],[t,'recover_customer_password'],[t,'create_customer']]:[],m=o([...r,...a]),i=o(r.slice(0,3)),u=e=>()=>e?[...document.querySelectorAll(e)].map((e=>e.form)):[];return[u(m),u(i)]}(!0,!0),_=e=>{const t=e.target,n=t instanceof HTMLFormElement?t:t&&t.form;return n&&l().find((e=>n===e))};a.addEventListener('submit',(e=>{_(e)&&e.preventDefault()}));for(const e of['focusin','change'])a.addEventListener(e,(e=>{const t=_(e);t&&!t.dataset[r]&&(u(t,p().some((e=>e===t))),t.dataset[r]=!0)}));const v=i.get('form_key'),g=i.get(s);v&&g&&a.addEventListener('DOMContentLoaded',(()=>{for(const e of p())e.elements[s].value===g&&c(e,v,m)}))}(m,a.sessionStorage,new URLSearchParams(a.location.search),((e,t)=>{const n=a[i][u],o=n.bindForm,c='6LeHG2ApAAAAAO4rPaDW-qVpPKPOBfjbCpzJB9ey';if(o)return o(e,c,t);n.q.push([e,c,t]),m.body.append(Object.assign(m.createElement('script'),{async:!0,src:'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_recaptcha.v1.0.2.iife.js'}))}))}();</script>
<script integrity="sha256-n5Uet9jVOXPHGd4hH4B9Y6+BxkTluaaucmYaxAjUcvY=" data-source-attribution="shopify.loadfeatures" defer="defer" data-src="//hvoptics.com/cdn/shopifycloud/shopify/assets/storefront/load_feature-9f951eb7d8d53973c719de211f807d63af81c644e5b9a6ae72661ac408d472f6.js" crossorigin="anonymous"></script>
<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.data-src="https://hvoptics.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("#dynamic-checkout-cart")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
</script>
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
<!-- Avada FSB Script -->
<!-- Avada FSB Compatible Script -->
<!-- /Avada FSB Compatible Script -->
<script>const AVADA_FSB = {
bars: [],
cart: 0
}</script>
<!-- /Avada FSB Script -->
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="fN0nkEjChpGEsS_-MCApUKwGjrJCkiEu_xeWQ5q2L2k">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/35835936906/digital_wallets/dialog">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-EG"></script>
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-EG&shop_id=35835936906" crossorigin="anonymous"></script>
<script id="shopify-features" type="application/json">{"accessToken":"340d0f0c4dbcab5e6367ddafad1cfa40","betas":["rich-media-storefront-analytics"],"domain":"hvoptics.com","predictiveSearch":true,"shopId":35835936906,"smart_payment_buttons_url":"https:\/\/hvoptics.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/hvoptics.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en","flg4ff40b22":false}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "happyvision.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"EGP","rate":"1.0"};
Shopify.country = "EG";
Shopify.theme = {"name":"Copy of Copy of Corrected One 19.12.22 final ||...","id":139988566263,"theme_store_id":836,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "hvoptics.com/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script>(function() {
function asyncLoad() {
var urls = ["https:\/\/shopi.plexhr.com\/orderDeadlineInt\/script\/plex.php?shop=happyvision.myshopify.com","https:\/\/formbuilder.hulkapps.com\/skeletopapp.js?shop=happyvision.myshopify.com","https:\/\/app.layouthub.com\/shopify\/layouthub.js?shop=happyvision.myshopify.com","https:\/\/cdn.hextom.com\/js\/eventpromotionbar.js?shop=happyvision.myshopify.com","https:\/\/upsellproductaddons.com\/main.bundle.5d7b3c7054f5716ec06e.js?shop=happyvision.myshopify.com","https:\/\/hvoptics.com\/apps\/giraffly-trust\/trust-worker-0b1f61eefac3480c5f2548c4b6db64315500d3a2.js?v=20230719195055\u0026shop=happyvision.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0358\/3593\/6906\/t\/60\/assets\/pop_35835936906.js?v=1690280468\u0026shop=happyvision.myshopify.com","\/\/productreviews.shopifycdn.com\/embed\/loader.js?shop=happyvision.myshopify.com","https:\/\/widgetic.com\/sdk\/sdk.js?shop=happyvision.myshopify.com","https:\/\/gifts.good-apps.co\/storage\/js\/good_free_gift-happyvision.myshopify.com.js?ver=20\u0026shop=happyvision.myshopify.com","https:\/\/cdn.pushowl.com\/latest\/sdks\/pushowl-shopify.js?subdomain=happyvision\u0026environment=production\u0026guid=3a68b5ff-f565-45c1-849d-2d0afd9e8ca8\u0026shop=happyvision.myshopify.com"];
for (var i = 0; i < urls.length; i++) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = urls[i];
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
}
};
if(window.attachEvent) {
window.attachEvent('onload', asyncLoad);
} else {
window.addEventListener('load', asyncLoad, false);
}
})();</script>
<script id="__st">var __st={"a":35835936906,"offset":10800,"reqid":"3ba3f227-e586-4f7e-9385-46156d17485f-1714888006","pageurl":"hvoptics.com\/404","u":"1915814e1c82"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script>!function(){'use strict';const e='contact',t='account',n='new_comment',o=e=>e.map((([e,t])=>`form[action*='/${e}'] input[name='form_type'][value='${t}']`)).join(',');function c(e,t,n){try{for(const[o,c]of Object.entries(JSON.parse(n.getItem(t))))e.elements[o]&&(e.elements[o].value=c);n.removeItem(t)}catch{}}const s='form_type',r='cptcha';var a,m,i,u;a=window,m=document,u='ce_forms',a[i='Shopify']=a[i]||{},a[i][u]=a[i][u]||{},a[i][u].q=[],function(a,m,i,u,f,d){const[l,p]=function(c,s){const r=s?[[e,e],['blogs',n],['comments',n],[e,'customer']]:[],a=c?[[t,'customer_login'],[t,'recover_customer_password'],[t,'create_customer']]:[],m=o([...r,...a]),i=o(r.slice(0,3)),u=e=>()=>e?[...document.querySelectorAll(e)].map((e=>e.form)):[];return[u(m),u(i)]}(!0,!0),_=e=>{const t=e.target,n=t instanceof HTMLFormElement?t:t&&t.form;return n&&l().find((e=>n===e))};a.addEventListener('submit',(e=>{_(e)&&e.preventDefault()}));for(const e of['focusin','change'])a.addEventListener(e,(e=>{const t=_(e);t&&!t.dataset[r]&&(u(t,p().some((e=>e===t))),t.dataset[r]=!0)}));const v=i.get('form_key'),g=i.get(s);v&&g&&a.addEventListener('DOMContentLoaded',(()=>{for(const e of p())e.elements[s].value===g&&c(e,v,m)}))}(m,a.sessionStorage,new URLSearchParams(a.location.search),((e,t)=>{const n=a[i][u],o=n.bindForm,c='6LeHG2ApAAAAAO4rPaDW-qVpPKPOBfjbCpzJB9ey';if(o)return o(e,c,t);n.q.push([e,c,t]),m.body.append(Object.assign(m.createElement('script'),{async:!0,src:'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_recaptcha.v1.0.2.iife.js'}))}))}();</script>
<script integrity="sha256-n5Uet9jVOXPHGd4hH4B9Y6+BxkTluaaucmYaxAjUcvY=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//hvoptics.com/cdn/shopifycloud/shopify/assets/storefront/load_feature-9f951eb7d8d53973c719de211f807d63af81c644e5b9a6ae72661ac408d472f6.js" crossorigin="anonymous"></script>
<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://hvoptics.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("#dynamic-checkout-cart")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
</script>
<!-- placeholder f4a65e409e7c4ee6 --><script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "WebSite",
"name": "Happy Vision",
"url": "https://hvoptics.com/",
"potentialAction": {
"@type": "SearchAction",
"target": "https://hvoptics.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
<script>
window.mlvedaShopCurrency = "EGP";
window.shopCurrency = "EGP";
window.supported_currencies = "EGP SAR AED";
</script>
<!-- "snippets/pagefly-header.liquid" was not rendered, the associated app was uninstalled -->
<!-- "snippets/shogun-head.liquid" was not rendered, the associated app was uninstalled -->
<!-- "snippets/weglot_hreftags.liquid" was not rendered, the associated app was uninstalled -->
<!-- "snippets/weglot_switcher.liquid" was not rendered, the associated app was uninstalled -->
<script>
</script>
<!-- SlideRule Script Start -->
<script name="sliderule-tracking" data-ot-ignore>
(function(){
slideruleData = {
"version":"v0.0.1",
"referralExclusion":"/(paypal|visa|MasterCard|clicksafe|arcot\.com|geschuetzteinkaufen|checkout\.shopify\.com|checkout\.rechargeapps\.com|portal\.afterpay\.com|payfort)/",
"googleSignals":true,
"anonymizeIp":true,
"productClicks":true,
"persistentUserId":true,
"hideBranding":false,
"ecommerce":{"currencyCode":"EGP",
"impressions":[]},
"pageType":"404",
"destinations":{"google_analytics_4":{"measurementIds":["G-8VW6VZT7QS"]}},
"cookieUpdate":true
}
slideruleData.themeMode = "live"
})();
</script>
<script async type="text/javascript" src=https://files.slideruletools.com/eluredils-g.js></script>
<!-- SlideRule Script End -->
<script type="text/javascript">
window.Pop = window.Pop || {};
window.Pop.common = window.Pop.common || {};
window.Pop.common.shop = {
permanent_domain: 'happyvision.myshopify.com',
currency: "EGP",
money_format: "LE {{amount_no_decimals}}",
id: 35835936906
};
window.Pop.common.template = '404';
window.Pop.common.cart = {};
window.Pop.common.vapid_public_key = "BJuXCmrtTK335SuczdNVYrGVtP_WXn4jImChm49st7K7z7e8gxSZUKk4DhUpk8j2Xpiw5G4-ylNbMKLlKkUEU98=";
window.Pop.global_config = {"asset_urls":{"loy":{},"rev":{},"pu":{"init_js":null},"widgets":{"init_js":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_widget_init.js?v=1704919191","modal_js":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_widget_modal.js?v=1704919193","modal_css":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_widget_modal.css?v=1654723622"},"forms":{},"global":{"helper_js":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_pop_tracking.js?v=1704919189"}},"proxy_paths":{"pop":"\/apps\/ba-pop","app_metrics":"\/apps\/ba-pop\/app_metrics","push_subscription":"\/apps\/ba-pop\/push"},"aat":["pop"],"pv":false,"sts":false,"bam":true,"batc":true,"base_money_format":"LE {{amount_no_decimals}}","online_store_version":1,"loy_js_api_enabled":false,"shop":{"id":35835936906,"name":"Happy Vision","domain":"hvoptics.com"}};
window.Pop.widgets_config = {"id":104687,"active":false,"frequency_limit_amount":2,"frequency_limit_time_unit":"days","background_image":{"position":"none","widget_background_preview_url":""},"initial_state":{"body":"Join Now","title":"Get Exclusive Offers First!","cta_text":"Sign Up","show_email":"true","action_text":"Saving...","footer_text":"You are signing up to receive communication via email and can unsubscribe at any time.","dismiss_text":"No thanks","email_placeholder":"Email Address","phone_placeholder":"Phone Number"},"success_state":{"body":"Thank You","title":"successfully🎉","cta_text":"Continue shopping","cta_action":"dismiss","redirect_url":"","open_url_new_tab":"false"},"closed_state":{"action":"close_widget","font_size":"20","action_text":"GET 10% OFF","display_offset":"300","display_position":"left"},"error_state":{"submit_error":"Sorry, please try again later","invalid_email":"Please enter valid email address!","error_subscribing":"Error subscribing, try again later","already_registered":"You have already registered","invalid_phone_number":"Please enter valid phone number!"},"trigger":{"action":"on_timer","delay_in_seconds":"0"},"colors":{"link_color":"#4FC3F7","sticky_bar_bg":"#C62828","cta_font_color":"#fff","body_font_color":"#000","sticky_bar_text":"#fff","background_color":"#fff","error_text_color":"#ff2626","title_font_color":"#000","footer_font_color":"#bbb","dismiss_font_color":"#bbb","cta_background_color":"#000","sticky_coupon_bar_bg":"#286ef8","error_text_background":"","sticky_coupon_bar_text":"#fff"},"sticky_coupon_bar":{"enabled":"false","message":"Don't forget to use your code"},"display_style":{"font":"Arial","size":"regular","align":"center"},"dismissable":true,"has_background":false,"opt_in_channels":["email"],"rules":[],"widget_css":".powered_by_rivo{\n display: block;\n}\n.ba_widget_main_design {\n background: #fff;\n}\n.ba_widget_content{text-align: center}\n.ba_widget_parent{\n font-family: Arial;\n}\n.ba_widget_parent.background{\n}\n.ba_widget_left_content{\n}\n.ba_widget_right_content{\n}\n#ba_widget_cta_button:disabled{\n background: #000cc;\n}\n#ba_widget_cta_button{\n background: #000;\n color: #fff;\n}\n#ba_widget_cta_button:after {\n background: #000e0;\n}\n.ba_initial_state_title, .ba_success_state_title{\n color: #000;\n}\n.ba_initial_state_body, .ba_success_state_body{\n color: #000;\n}\n.ba_initial_state_dismiss_text{\n color: #bbb;\n}\n.ba_initial_state_footer_text, .ba_initial_state_sms_agreement{\n color: #bbb;\n}\n.ba_widget_error{\n color: #ff2626;\n background: ;\n}\n.ba_link_color{\n color: #4FC3F7;\n}\n","custom_css":null,"logo":null};
</script>
<script type="text/javascript">
(function() {
//Global snippet for Email Popups
//this is updated automatically - do not edit manually.
document.addEventListener('DOMContentLoaded', function() {
function loadScript(src, defer, done) {
var js = document.createElement('script');
js.src = src;
js.defer = defer;
js.onload = function(){done();};
js.onerror = function(){
done(new Error('Failed to load script ' + src));
};
document.head.appendChild(js);
}
function browserSupportsAllFeatures() {
return window.Promise && window.fetch && window.Symbol;
}
if (browserSupportsAllFeatures()) {
main();
} else {
loadScript('https://polyfill.io/v3/polyfill.min.js?features=Promise,fetch', true, main);
}
function loadAppScripts(){
const popAppEmbedEnabled = document.getElementById("pop-app-embed-init");
if (window.Pop.global_config.aat.includes("pop") && !popAppEmbedEnabled){
loadScript(window.Pop.global_config.asset_urls.widgets.init_js, true, function(){});
}
}
function main(err) {
loadScript(window.Pop.global_config.asset_urls.global.helper_js, false, loadAppScripts);
}
});
})();
</script>
<!-- BEGIN app block: shopify://apps/easysell-cod-form-upsells/blocks/app-embed/7bfd0a95-6839-4f02-b2ee-896832dbe67e --><script type="application/javascript">
var EASYSELL_CONFIG = {"status":"disabled"};
var EASYSELL_DOWNSELLS = [];
var ES_CONFIG_VERSION = "";
var ES_CSS_URL = "https://cdn.shopify.com/extensions/fb22c583-b1ae-4163-a1e6-0d8c5bae48fc/easysell-cod-form-upsells-108/assets/easysell.css";
var ES_CURRENT_PAGE = "404"
var ES_WEIGHT_UNIT = "0.0 kg";
var ES_MONEY_FORMAT = 'LE {{amount_no_decimals}}';
var ES_PRODUCT_COLLECTIONS = null;
var ES_CUSTOMER_ADDRESSES = null;
var ES_CUSTOMER_EMAIL = "";
</script>
<script id="es-custom-js" type="application/javascript">
;
</script>
<style id="es-css">
;
</style>
<script id="es-script" crossorigin="anonymous" defer src="https://cdn.shopify.com/extensions/fb22c583-b1ae-4163-a1e6-0d8c5bae48fc/easysell-cod-form-upsells-108/assets/easysell.js"></script>
<!-- END app app block --><!-- BEGIN app block: shopify://apps/uploadly-file-upload/blocks/app-embed/d91e9a53-de3d-49df-b7a1-ac8a15b213e5 -->
<div data-ph-meta="{"buy_button":false,"field_65951f47435716cea8661b9c":{"status":true,"position":1,"data":{"fieldname":"Eye Test for lenses","directUpload":true,"atcTitle":"Please upload your Eye Test for lenses (Optional)","uploadButtonText":"Upload","uploadButtonText2":"Change File","dialogInstructionOne":"Choose an image from the list to crop or enhance it. To add more files, use the links on the left","dialogInstructionTwo":"Choose an image from the list to crop or enhance it. To add more files, use the menu icon in the top left","dialogInstructionThree":"If you have trouble uploading, click ⋮ in the top right, then ‘Open in Chrome’","buttonTextSize":14,"buttonFontSize":14,"fontStyle":"Theme Font","introTitleColor":"#000","buttonCol":"#fff","buttonBg":"#de4a00","buttonTopBottomPadding":10,"buttonLeftRightPadding":10,"buttonBorderRadius":3,"buttonWidth":"Full","buttonDialogLang":"Arabic","dialogLanguage":"ar","opt1":true,"op2":false,"maximumFiles":3,"minimumfiles":0,"opt3":false,"fopt1":true,"fopt2":false,"fopt3":false,"pdf":false,"word":false,"customFile":false,"fileTypes":[],"buttonStatus":"Disable","textFieldName":"Notes:","fieldHelpText":"","textFieldMaxLength":"No","textFieldMaxChars":"30","textFieldRequired":"No","textFieldRequiredMessage":"Please enter a text!","textFieldrequiredMessageButtonText":"OK","fileSizeRestriction":false,"fileSizeRestrictionType":"minimumFileRestriction","fileSizeMinimumRestriction":"2","fileSizeMaximumRestriction":"4","fileSizeMinMaxMinimum":"2","fileSizeMinMaxMaximum":"4","no":true,"yes":false,"fileRequiredMessage":"Please upload a file!","fileRequiredMessageButtonText":"OK","allowCropping":true,"croppingType":"crop_free","croppingAspectRatio":"3:2","allowEditing":false,"editingType":"optional","buttonStatus2":"Disable","imageWidth":"1800","imageHeight":"1200","selectedUploadSources":"file","productCondition":{"condition":"","products":[],"productIds":[],"collection":["7th Street Frames","Calvin Klein Frames","Carolina Herrera Frames","Carrera Frames","Cartier Frames","Despada Frames","Dior Frames","Elie Saab Frames","Eyeglasses Frames","Female Frames","Female Frames Core Collection","Fendi Frames","Fossil Frames","Frame Clip On","Frames Core Collection","Frames Made in Europe","Frames on Sale!","Givenchy Frames","Gucci Frames","Hugo Boss Frames","Hugo Frames","Jimmy Choo Frames","Jimmy Crystal","Juicy Couture Frames","kate spade Frames","Kids Frames","Levi's Frames","Love Moschino Frames","Luxury Female Frames","Luxury Frames","Luxury Male Frames","M Missoni Frames","Male Frames","Marc Jacobs Frames","Max\u0026Co Frames","MaxMara Frames","Missoni Frames","Montblanc Frames","Moschino Frames","Nano Vista","New arrival Frames","New Frames Collection","Pierre Cardin Frames","Polar Frames","Polaroid Frames","Prive Revaux Frames","Ricardo Frames","Rimless Collection","Safilo Frames","Slastik","Smith Frames","Sports","Tommy Hilfiger Frames","Under Armour Frames","Unisex Frames","Value Frames","Vega Frames"],"collectionIds":["gid:\/\/shopify\/Collection\/179317932170","gid:\/\/shopify\/Collection\/387252257015","gid:\/\/shopify\/Collection\/377365397751","gid:\/\/shopify\/Collection\/179426197642","gid:\/\/shopify\/Collection\/387250225399","gid:\/\/shopify\/Collection\/387199926519","gid:\/\/shopify\/Collection\/179427213450","gid:\/\/shopify\/Collection\/262684016789","gid:\/\/shopify\/Collection\/180277379210","gid:\/\/shopify\/Collection\/177200103562","gid:\/\/shopify\/Collection\/232643657877","gid:\/\/shopify\/Collection\/179427999882","gid:\/\/shopify\/Collection\/179344179338","gid:\/\/shopify\/Collection\/273626661013","gid:\/\/shopify\/Collection\/380832481527","gid:\/\/shopify\/Collection\/223264669845","gid:\/\/shopify\/Collection\/222979489941","gid:\/\/shopify\/Collection\/179426820234","gid:\/\/shopify\/Collection\/387210936567","gid:\/\/shopify\/Collection\/179426721930","gid:\/\/shopify\/Collection\/179426033802","gid:\/\/shopify\/Collection\/179417383050","gid:\/\/shopify\/Collection\/387803382007","gid:\/\/shopify\/Collection\/179344048266","gid:\/\/shopify\/Collection\/179344441482","gid:\/\/shopify\/Collection\/200003354773","gid:\/\/shopify\/Collection\/272826171541","gid:\/\/shopify\/Collection\/179344310410","gid:\/\/shopify\/Collection\/232644116629","gid:\/\/shopify\/Collection\/387430318327","gid:\/\/shopify\/Collection\/232654045333","gid:\/\/shopify\/Collection\/234258759829","gid:\/\/shopify\/Collection\/177183359114","gid:\/\/shopify\/Collection\/179417612426","gid:\/\/shopify\/Collection\/179318423690","gid:\/\/shopify\/Collection\/179426459786","gid:\/\/shopify\/Collection\/234258694293","gid:\/\/shopify\/Collection\/387250913527","gid:\/\/shopify\/Collection\/235854528661","gid:\/\/shopify\/Collection\/200003846293","gid:\/\/shopify\/Collection\/371047923959","gid:\/\/shopify\/Collection\/263313555605","gid:\/\/shopify\/Collection\/179318096010","gid:\/\/shopify\/Collection\/387268083959","gid:\/\/shopify\/Collection\/179318030474","gid:\/\/shopify\/Collection\/389079367927","gid:\/\/shopify\/Collection\/387489104119","gid:\/\/shopify\/Collection\/367831384311","gid:\/\/shopify\/Collection\/179426656394","gid:\/\/shopify\/Collection\/383912870135","gid:\/\/shopify\/Collection\/179318259850","gid:\/\/shopify\/Collection\/180839252106","gid:\/\/shopify\/Collection\/179426361482","gid:\/\/shopify\/Collection\/377365463287","gid:\/\/shopify\/Collection\/206268727445","gid:\/\/shopify\/Collection\/387509354743","gid:\/\/shopify\/Collection\/384198050039"],"prodOpt":"","prodTitleEqual":[],"prodTitleContains":[],"collOpt":"","collectionTitleEqual":[],"collectionTitleContains":[]},"allVariants":true,"anyConditionVariant":false,"allConditionVariant":false,"noneConditionVariant":false,"allVariantValues":[],"anyConditionCheck":false,"allConditionCheck":false,"showAllFields":false,"thisProduct":false,"thisCollection":true,"ucCustomTransalations":{"uploading":"Uploading... Please wait.","loadingInfo":"Loading info...","errors_default":"Error","error_invalid_filetype":"Invalid file type","errors_baddata":"Incorrect value","errors_size":"File too big","errors_upload":"Can't upload","errors_user":"Upload canceled","errors_info":"Can't load info","errors_image":"Only images allowed","draghere":"Drop a file here","one":"1 file","file_other":"1 files","buttons_cancel":"Cancel","buttons_remove":"Remove","buttons_choose_files_one":"Choose a file","buttons_choose_files_other":"Choose files","buttons_choose_images_one":"Choose an image","buttons_choose_images_other":"Choose images","dialog_close":"Close","dialog_done":"Done","dialog_showFiles":"Show files","dialog_tabs_names_preview":"Preview","dialog_tabs_names_file":"Local Files","dialog_tabs_names_url":"Direct Link","dialog_tabs_names_file_drag":"drag \u0026 drop\u003cbr\u003eany files","dialog_tabs_names_file_or":"or","dialog_tabs_names_file_also":"or choose from","dialog_tabs_names_file_button":"Choose a local file","dialog_tabs_names_url_title":"Files from the Web","dialog_tabs_names_url_line2":"Provide the link.","dialog_tabs_names_url_input":"Paste your link here...","dialog_tabs_names_url_button":"Upload","dialog_tabs_names_camera_title":"File from web camera","dialog_tabs_names_camera_capture":"Take a photo","dialog_tabs_names_camera_mirror":"Mirror","dialog_tabs_names_camera_startRecord":"Record a video","dialog_tabs_names_camera_stopRecord":"Stop","dialog_tabs_names_camera_retry":"Request permissions again","dialog_tabs_names_camera_pleaseAllow_title":"Please allow access to your camera","dialog_tabs_names_camera_pleaseAllow_text":"You have been prompted to allow camera access from this site.\u003cbr\u003eIn order to take pictures with your camera you must approve this request.","notFound_title":"No camera detected","notFound_text":"Looks like you have no camera connected to this device.","dialog_tabs_names_preview_back":"Back","dialog_tabs_names_preview_done":"Add","dialog_tabs_names_preview_unknown_done":"Skip preview and accept","dialog_tabs_names_preview_regular_title":"Add this file?","dialog_tabs_names_preview_regular_line1":"You are about to add the file above.","dialog_tabs_names_preview_regular_line2":"Please confirm.","dialog_tabs_names_preview_image_title":"Add this image?","dialog_tabs_names_preview_crop_title":"Crop and add this image","dialog_tabs_names_preview_crop_free":"free","dialog_tabs_names_preview_video_title":"Add this video?","dialog_tabs_names_preview_error_default_title":"Oops!","dialog_tabs_names_preview_error_default_text":"Something went wrong during the upload.","dialog_tabs_names_preview_error_default_back":"Please try again","dialog_tabs_names_preview_error_loadImage_text":"Can't load image","dialog_tabs_names_preview_multiple_question":"Add files?","dialog_tabs_names_preview_multiple_tooManyFiles":"You've chosen too many files. max is maximum.","dialog_tabs_names_preview_multiple_title":"You've chosen files.","dialog_tabs_names_preview_multiple_tooFewFiles":"You've chosen files. At least min required.","dialog_tabs_names_preview_multiple_clear":"Remove all","effects_captions_blur":"Blur","effects_captions_crop":"Crop","effects_captions_enhance":"Enhance","effects_captions_flip":"Flip","effects_captions_grayscale":"Grayscale","effects_captions_invert":"Invert","effects_captions_mirror":"Mirror","effects_captions_rotate":"Rotate","effects_captions_sharp":"Sharpen","effects_apply_button":"Apply"},"fileRequiredButton":"","previewStyle":"tile_preview","customStyling":{"container":"","heading":"","button":""},"targetingType":"beginner","thisProductVariants":false,"selectedProducts":[{"id":"gid:\/\/shopify\/Collection\/179317932170","title":"7th Street Frames"},{"id":"gid:\/\/shopify\/Collection\/387252257015","title":"Calvin Klein Frames"},{"id":"gid:\/\/shopify\/Collection\/377365397751","title":"Carolina Herrera Frames"},{"id":"gid:\/\/shopify\/Collection\/179426197642","title":"Carrera Frames"},{"id":"gid:\/\/shopify\/Collection\/387250225399","title":"Cartier Frames"},{"id":"gid:\/\/shopify\/Collection\/387199926519","title":"Despada Frames"},{"id":"gid:\/\/shopify\/Collection\/179427213450","title":"Dior Frames"},{"id":"gid:\/\/shopify\/Collection\/262684016789","title":"Elie Saab Frames"},{"id":"gid:\/\/shopify\/Collection\/180277379210","title":"Eyeglasses Frames"},{"id":"gid:\/\/shopify\/Collection\/177200103562","title":"Female Frames"},{"id":"gid:\/\/shopify\/Collection\/232643657877","title":"Female Frames Core Collection"},{"id":"gid:\/\/shopify\/Collection\/179427999882","title":"Fendi Frames"},{"id":"gid:\/\/shopify\/Collection\/179344179338","title":"Fossil Frames"},{"id":"gid:\/\/shopify\/Collection\/273626661013","title":"Frame Clip On"},{"id":"gid:\/\/shopify\/Collection\/380832481527","title":"Frames Core Collection"},{"id":"gid:\/\/shopify\/Collection\/223264669845","title":"Frames Made in Europe"},{"id":"gid:\/\/shopify\/Collection\/222979489941","title":"Frames on Sale!"},{"id":"gid:\/\/shopify\/Collection\/179426820234","title":"Givenchy Frames"},{"id":"gid:\/\/shopify\/Collection\/387210936567","title":"Gucci Frames"},{"id":"gid:\/\/shopify\/Collection\/179426721930","title":"Hugo Boss Frames"},{"id":"gid:\/\/shopify\/Collection\/179426033802","title":"Hugo Frames"},{"id":"gid:\/\/shopify\/Collection\/179417383050","title":"Jimmy Choo Frames"},{"id":"gid:\/\/shopify\/Collection\/387803382007","title":"Jimmy Crystal"},{"id":"gid:\/\/shopify\/Collection\/179344048266","title":"Juicy Couture Frames"},{"id":"gid:\/\/shopify\/Collection\/179344441482","title":"kate spade Frames"},{"id":"gid:\/\/shopify\/Collection\/200003354773","title":"Kids Frames"},{"id":"gid:\/\/shopify\/Collection\/272826171541","title":"Levi's Frames"},{"id":"gid:\/\/shopify\/Collection\/179344310410","title":"Love Moschino Frames"},{"id":"gid:\/\/shopify\/Collection\/232644116629","title":"Luxury Female Frames"},{"id":"gid:\/\/shopify\/Collection\/387430318327","title":"Luxury Frames"},{"id":"gid:\/\/shopify\/Collection\/232654045333","title":"Luxury Male Frames"},{"id":"gid:\/\/shopify\/Collection\/234258759829","title":"M Missoni Frames"},{"id":"gid:\/\/shopify\/Collection\/177183359114","title":"Male Frames"},{"id":"gid:\/\/shopify\/Collection\/179417612426","title":"Marc Jacobs Frames"},{"id":"gid:\/\/shopify\/Collection\/179318423690","title":"Max\u0026Co Frames"},{"id":"gid:\/\/shopify\/Collection\/179426459786","title":"MaxMara Frames"},{"id":"gid:\/\/shopify\/Collection\/234258694293","title":"Missoni Frames"},{"id":"gid:\/\/shopify\/Collection\/387250913527","title":"Montblanc Frames"},{"id":"gid:\/\/shopify\/Collection\/235854528661","title":"Moschino Frames"},{"id":"gid:\/\/shopify\/Collection\/200003846293","title":"Nano Vista"},{"id":"gid:\/\/shopify\/Collection\/371047923959","title":"New arrival Frames"},{"id":"gid:\/\/shopify\/Collection\/263313555605","title":"New Frames Collection"},{"id":"gid:\/\/shopify\/Collection\/179318096010","title":"Pierre Cardin Frames"},{"id":"gid:\/\/shopify\/Collection\/387268083959","title":"Polar Frames"},{"id":"gid:\/\/shopify\/Collection\/179318030474","title":"Polaroid Frames"},{"id":"gid:\/\/shopify\/Collection\/389079367927","title":"Prive Revaux Frames"},{"id":"gid:\/\/shopify\/Collection\/387489104119","title":"Ricardo Frames"},{"id":"gid:\/\/shopify\/Collection\/367831384311","title":"Rimless Collection"},{"id":"gid:\/\/shopify\/Collection\/179426656394","title":"Safilo Frames"},{"id":"gid:\/\/shopify\/Collection\/383912870135","title":"Slastik"},{"id":"gid:\/\/shopify\/Collection\/179318259850","title":"Smith Frames"},{"id":"gid:\/\/shopify\/Collection\/180839252106","title":"Sports"},{"id":"gid:\/\/shopify\/Collection\/179426361482","title":"Tommy Hilfiger Frames"},{"id":"gid:\/\/shopify\/Collection\/377365463287","title":"Under Armour Frames"},{"id":"gid:\/\/shopify\/Collection\/206268727445","title":"Unisex Frames"},{"id":"gid:\/\/shopify\/Collection\/387509354743","title":"Value Frames"},{"id":"gid:\/\/shopify\/Collection\/384198050039","title":"Vega Frames"}],"fileExtensions":[],"translations":[]}}}"></div>
<script>
try {
window.ph_meta_fields = JSON.parse(document.querySelector('[data-ph-meta]').getAttribute('data-ph-meta'));
} catch (err) {
window.ph_meta_fields = {};
}
console.log("cli3 update");
</script>
<script defer src="https://inspon-app.com/photoupload/js/page_script.js?v=app_block"></script>
<script async src="https://cdn.shopify.com/s/files/1/0515/2384/6340/files/uploadcare.js"></script>
<!-- END app app block --><!-- BEGIN app block: shopify://apps/whatsapp-button/blocks/app-embed-block/96d80a63-e860-4262-a001-8b82ac4d00e6 --><script>
(function() {
function asyncLoad() {
var url = 'https://whatsapp-button.eazeapps.io/api/buttonInstallation/scriptTag?shopId=5637';
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = url;
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
};
if(window.attachEvent) {
window.attachEvent('onload', asyncLoad);
} else {
window.addEventListener('load', asyncLoad, false);
}
})();
</script>
<!-- END app app block --><!-- BEGIN app block: shopify://apps/blockify-ip-block/blocks/app_embed/2e3e0ba5-0e70-447a-9ec5-3bf76b5ef12e --><link href="https://cdn.shopify.com/extensions/5fd6b989-ab9a-4fd9-8b59-33d25a657e14/blockify-ip-block-59/assets/blockify-embed.min.js" as="script" type="text/javascript" rel="preload">
<script type="text/javascript">
window.blockifyBaseUrl = 'https://apps-shopify.ipblocker.io/s/api';
window.blockifyPublicUrl = 'https://apps-shopify.ipblocker.io/s/api/public';
</script>
<script id="blockifyScriptTag" type="text/javascript" src=https://cdn.shopify.com/extensions/5fd6b989-ab9a-4fd9-8b59-33d25a657e14/blockify-ip-block-59/assets/blockify-embed.min.js async></script>
<!-- END app app block --><script src="https://cdn.shopify.com/extensions/1aff304a-11ec-47a0-aee1-7f4ae56792d4/tydal-popups-email-pop-ups-4/assets/pop-app-embed.js" type="text/javascript" defer="defer"></script>
<meta property="og:image" content="https://cdn.shopify.com/s/files/1/0358/3593/6906/files/1200x628_4c1934ee-b6da-4283-931b-a5e4835cbc7c.png?v=1620290698" />
<meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0358/3593/6906/files/1200x628_4c1934ee-b6da-4283-931b-a5e4835cbc7c.png?v=1620290698" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="628" />
<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {var session_token = document.cookie.match(/_shopify_s=([^;]*)/);function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 35835936906,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "404"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script id="web-pixels-manager-setup">(function e(e,n,a,t,r){var o="function"==typeof BigInt&&-1!==BigInt.toString().indexOf("[native code]")?"modern":"legacy";window.Shopify=window.Shopify||{};var i=window.Shopify;i.analytics=i.analytics||{};var s=i.analytics;s.replayQueue=[],s.publish=function(e,n,a){return s.replayQueue.push([e,n,a]),!0};try{self.performance.mark("wpm:start")}catch(e){}var l=[a,"/wpm","/b",r,o.substring(0,1),".js"].join("");!function(e){var n=e.src,a=e.async,t=void 0===a||a,r=e.onload,o=e.onerror,i=document.createElement("script"),s=document.head,l=document.body;i.async=t,i.src=n,r&&i.addEventListener("load",r),o&&i.addEventListener("error",o),s?s.appendChild(i):l?l.appendChild(i):console.error("Did not find a head or body element to append the script")}({src:l,async:!0,onload:function(){var a=window.webPixelsManager.init(e);n(a);var t=window.Shopify.analytics;t.replayQueue.forEach((function(e){var n=e[0],t=e[1],r=e[2];a.publishCustomEvent(n,t,r)})),t.replayQueue=[],t.publish=a.publishCustomEvent,t.visitor=a.visitor},onerror:function(){var n=e.storefrontBaseUrl.replace(/\/$/,""),a="".concat(n,"/.well-known/shopify/monorail/unstable/produce_batch"),r=JSON.stringify({metadata:{event_sent_at_ms:(new Date).getTime()},events:[{schema_id:"web_pixels_manager_load/2.0",payload:{version:t||"latest",page_url:self.location.href,status:"failed",error_msg:"".concat(l," has failed to load")},metadata:{event_created_at_ms:(new Date).getTime()}}]});try{if(self.navigator.sendBeacon.bind(self.navigator)(a,r))return!0}catch(e){}var o=new XMLHttpRequest;try{return o.open("POST",a,!0),o.setRequestHeader("Content-Type","text/plain"),o.send(r),!0}catch(e){console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging a load error.")}return!1}})})({shopId: 35835936906,storefrontBaseUrl: "https://hvoptics.com",cdnBaseUrl: "https://hvoptics.com/cdn",surface: "storefront-renderer",enabledBetaFlags: ["5de24938","3b4293f9"],webPixelsConfigList: [{"id":"28049655","configuration":"{\"measurementIds\":\"G-8VW6VZT7QS\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7aaae93c56736e9df275e05ad7cdcadf","type":"APP","apiClientId":3542712321,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"064","apiClientId":"shopify-pixel","type":"APP","purposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"064","apiClientId":"shopify-pixel","type":"CUSTOM","purposes":["ANALYTICS","MARKETING"]}],initData: {"cart":null,"checkout":null,"customer":null,"productVariants":[]},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed");},"https://hvoptics.com/cdn","a37bdf26f8653b8fca454a8b9abaae645af1380a","bf0a1c21w381382fdp2197aec3mf9663592",);</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {};
window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
window.ShopifyAnalytics.meta.currency = 'EGP';
var meta = {"page":{}};
for (var attr in meta) {
window.ShopifyAnalytics.meta[attr] = meta[attr];
}</script>
<script>window.ShopifyAnalytics.merchantGoogleAnalytics = function() {
};
</script>
<script class="analytics">(window.gaDevIds=window.gaDevIds||[]).push('BwiEti');
(function () {
var customDocumentWrite = function(content) {
var jquery = null;
if (window.jQuery) {
jquery = window.jQuery;
} else if (window.Checkout && window.Checkout.$) {
jquery = window.Checkout.$;
}
if (jquery) {
jquery('body').append(content);
}
};
var hasLoggedConversion = function(token) {
if (token) {
return document.cookie.indexOf('loggedConversion=' + token) !== -1;
}
return false;
}
var setCookieIfConversion = function(token) {
if (token) {
var twoMonthsFromNow = new Date(Date.now());
twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
}
}
var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
if (trekkie.integrations) {
return;
}
trekkie.methods = [
'identify',
'page',
'ready',
'track',
'trackForm',
'trackLink'
];
trekkie.factory = function(method) {
return function() {
var args = Array.prototype.slice.call(arguments);
args.unshift(method);
trekkie.push(args);
return trekkie;
};
};
for (var i = 0; i < trekkie.methods.length; i++) {
var key = trekkie.methods[i];
trekkie[key] = trekkie.factory(key);
}
trekkie.load = function(config) {
trekkie.config = config || {};
trekkie.config.initialDocumentCookie = document.cookie;
var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
var scriptFallback = document.createElement('script');
scriptFallback.type = 'text/javascript';
scriptFallback.onerror = function(error) {
var Monorail = {
produce: function produce(monorailDomain, schemaId, payload) {
var currentMs = new Date().getTime();
var event = {
schema_id: schemaId,
payload: payload,
metadata: {
event_created_at_ms: currentMs,
event_sent_at_ms: currentMs
}
};
return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
},
sendRequest: function sendRequest(endpointUrl, payload) {
// Try the sendBeacon API
if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
var blobData = new window.Blob([payload], {
type: 'text/plain'
});
if (window.navigator.sendBeacon(endpointUrl, blobData)) {
return true;
} // sendBeacon was not successful
} // XHR beacon
var xhr = new XMLHttpRequest();
try {
xhr.open('POST', endpointUrl);
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send(payload);
} catch (e) {
console.log(e);
}
return false;
},
isIos12: function isIos12() {
return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
}
};
Monorail.produce('monorail-edge.shopifysvc.com',
'trekkie_storefront_load_errors/1.1',
{shop_id: 35835936906,
theme_id: 139988566263,
app_name: "storefront",
context_url: window.location.href,
source_url: "//hvoptics.com/cdn/s/trekkie.storefront.dd626a6a6fbdab104f8779acc4331c330134c832.min.js"});
};
scriptFallback.async = true;
scriptFallback.src = '//hvoptics.com/cdn/s/trekkie.storefront.dd626a6a6fbdab104f8779acc4331c330134c832.min.js';
first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//hvoptics.com/cdn/s/trekkie.storefront.dd626a6a6fbdab104f8779acc4331c330134c832.min.js';
first.parentNode.insertBefore(script, first);
};
trekkie.load(
{"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":35835936906,"isMerchantRequest":null,"themeId":139988566263,"themeCityHash":"3254635250649393019","contentLanguage":"en","currency":"EGP"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["bbcf04e6"]},"Google Analytics":{"trackingId":"UA-87673884-2","domain":"auto","siteSpeedSampleRate":"10","enhancedEcommerce":true,"doubleClick":true,"includeSearch":true},"Facebook Pixel":{"pixelIds":["790429294916985"],"agent":"plshopify1.2"},"TikTok Pixel":{"pixelId":"CIPV603C77U6DK9I6ET0"},"Google Gtag Pixel":{"conversionId":"AW-703592547","eventLabels":[{"type":"search","action_label":"AW-703592547\/hP19CKDwn90BEOPwv88C"},{"type":"begin_checkout","action_label":"AW-703592547\/s7TNCJ3wn90BEOPwv88C"},{"type":"view_item","action_label":["AW-703592547\/6kCyCJfwn90BEOPwv88C","MC-8DB0E928KR"]},{"type":"purchase","action_label":["AW-703592547\/ddiBCJTwn90BEOPwv88C","MC-8DB0E928KR"]},{"type":"page_view","action_label":["AW-703592547\/h-E_CJHwn90BEOPwv88C","MC-8DB0E928KR"]},{"type":"add_payment_info","action_label":"AW-703592547\/EtvsCKPwn90BEOPwv88C"},{"type":"add_to_cart","action_label":"AW-703592547\/jzldCJrwn90BEOPwv88C"}],"targetCountry":"EG"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"facebookAppPixelId":"790429294916985","source":"trekkie-storefront-renderer"}}
);
var loaded = false;
trekkie.ready(function() {
if (loaded) return;
loaded = true;
window.ShopifyAnalytics.lib = window.trekkie;
ga('require', 'linker');
function addListener(element, type, callback) {
if (element.addEventListener) {
element.addEventListener(type, callback);
}
else if (element.attachEvent) {
element.attachEvent('on' + type, callback);
}
}
function decorate(event) {
event = event || window.event;
var target = event.target || event.srcElement;
if (target && (target.getAttribute('action') || target.getAttribute('href'))) {
ga(function (tracker) {
var linkerParam = tracker.get('linkerParam');
document.cookie = '_shopify_ga=' + linkerParam + '; ' + 'path=/';
});
}
}
addListener(window, 'load', function(){
for (var i=0; i < document.forms.length; i++) {
var action = document.forms[i].getAttribute('action');
if(action && action.indexOf('/cart') >= 0) {
addListener(document.forms[i], 'submit', decorate);
}
}
for (var i=0; i < document.links.length; i++) {
var href = document.links[i].getAttribute('href');
if(href && href.indexOf('/checkout') >= 0) {
addListener(document.links[i], 'click', decorate);
}
}
});
var originalDocumentWrite = document.write;
document.write = customDocumentWrite;
try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
document.write = originalDocumentWrite;
window.ShopifyAnalytics.lib.page(null,{});
var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
var token = match? match[1]: undefined;
if (!hasLoggedConversion(token)) {
setCookieIfConversion(token);
}
});
var eventsListenerScript = document.createElement('script');
eventsListenerScript.async = true;
eventsListenerScript.src = "//hvoptics.com/cdn/shopifycloud/shopify/assets/shop_events_listener-61fa9e0a912c675e178777d2b27f6cbd482f8912a6b0aa31fa3515985a8cd626.js";
document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script class="boomerang">
(function () {
if (window.BOOMR && (window.BOOMR.version || window.BOOMR.snippetExecuted)) {
return;
}
window.BOOMR = window.BOOMR || {};
window.BOOMR.snippetStart = new Date().getTime();
window.BOOMR.snippetExecuted = true;
window.BOOMR.snippetVersion = 12;
window.BOOMR.application = "storefront-renderer";
window.BOOMR.themeName = "Venue";
window.BOOMR.themeVersion = "4.6.1";
window.BOOMR.shopId = 35835936906;
window.BOOMR.themeId = 139988566263;
window.BOOMR.renderRegion = "gcp-us-east1";
window.BOOMR.url =
"https://hvoptics.com/cdn/shopifycloud/boomerang/shopify-boomerang-1.0.0.min.js";
var where = document.currentScript || document.getElementsByTagName("script")[0];
var parentNode = where.parentNode;
var promoted = false;
var LOADER_TIMEOUT = 3000;
function promote() {
if (promoted) {
return;
}
var script = document.createElement("script");
script.id = "boomr-scr-as";
script.src = window.BOOMR.url;
script.async = true;
parentNode.appendChild(script);
promoted = true;
}
function iframeLoader(wasFallback) {
promoted = true;
var dom, bootstrap, iframe, iframeStyle;
var doc = document;
var win = window;
window.BOOMR.snippetMethod = wasFallback ? "if" : "i";
bootstrap = function(parent, scriptId) {
var script = doc.createElement("script");
script.id = scriptId || "boomr-if-as";
script.src = window.BOOMR.url;
BOOMR_lstart = new Date().getTime();
parent = parent || doc.body;
parent.appendChild(script);
};
if (!window.addEventListener && window.attachEvent && navigator.userAgent.match(/MSIE [67]./)) {
window.BOOMR.snippetMethod = "s";
bootstrap(parentNode, "boomr-async");
return;
}
iframe = document.createElement("IFRAME");
iframe.src = "about:blank";
iframe.title = "";
iframe.role = "presentation";
iframe.loading = "eager";
iframeStyle = (iframe.frameElement || iframe).style;
iframeStyle.width = 0;
iframeStyle.height = 0;
iframeStyle.border = 0;
iframeStyle.display = "none";
parentNode.appendChild(iframe);
try {
win = iframe.contentWindow;
doc = win.document.open();
} catch (e) {
dom = document.domain;
iframe.src = "javascript:var d=document.open();d.domain='" + dom + "';void(0);";
win = iframe.contentWindow;
doc = win.document.open();
}
if (dom) {
doc._boomrl = function() {
this.domain = dom;
bootstrap();
};
doc.write("<body onload='document._boomrl();'>");
} else {
win._boomrl = function() {
bootstrap();
};
if (win.addEventListener) {
win.addEventListener("load", win._boomrl, false);
} else if (win.attachEvent) {
win.attachEvent("onload", win._boomrl);
}
}
doc.close();
}
var link = document.createElement("link");
if (link.relList &&
typeof link.relList.supports === "function" &&
link.relList.supports("preload") &&
("as" in link)) {
window.BOOMR.snippetMethod = "p";
link.href = window.BOOMR.url;
link.rel = "preload";
link.as = "script";
link.addEventListener("load", promote);
link.addEventListener("error", function() {
iframeLoader(true);
});
setTimeout(function() {
if (!promoted) {
iframeLoader(true);
}
}, LOADER_TIMEOUT);
BOOMR_lstart = new Date().getTime();
parentNode.appendChild(link);
} else {
iframeLoader(false);
}
function boomerangSaveLoadTime(e) {
window.BOOMR_onload = (e && e.timeStamp) || new Date().getTime();
}
if (window.addEventListener) {
window.addEventListener("load", boomerangSaveLoadTime, false);
} else if (window.attachEvent) {
window.attachEvent("onload", boomerangSaveLoadTime);
}
if (document.addEventListener) {
document.addEventListener("onBoomerangLoaded", function(e) {
e.detail.BOOMR.init({
ResourceTiming: {
enabled: true,
trackedResourceTypes: ["script", "img", "css"]
},
});
e.detail.BOOMR.t_end = new Date().getTime();
});
} else if (document.attachEvent) {
document.attachEvent("onpropertychange", function(e) {
if (!e) e=event;
if (e.propertyName === "onBoomerangLoaded") {
e.detail.BOOMR.init({
ResourceTiming: {
enabled: true,
trackedResourceTypes: ["script", "img", "css"]
},
});
e.detail.BOOMR.t_end = new Date().getTime();
}
});
}
})();</script>
</head>
<link data-href="//hvoptics.com/cdn/shop/t/67/assets/globo.formbuilder.css?v=124773530447652224731709626691" rel="stylesheet" type="text/css" media="all" /><script>
var Globo = Globo || {};
Globo.FormBuilder = Globo.FormBuilder || {}
Globo.FormBuilder.url = "https://form.globosoftware.net"
Globo.FormBuilder.shop = {
settings : {
reCaptcha : {
siteKey : ''
},
hideWaterMark : false
},
pricing:{
features:{
fileUpload : 2,
removeCopyright : false
}
}
}
Globo.FormBuilder.forms = []
Globo.FormBuilder.page = {
title : document.title,
href : window.location.href
}
</script>
<script type="text/template" id="globo-formbuilder-dynamicCSS">
.globo-form-app{
max-width: {{configs.appearance.width}}px;
width: -webkit-fill-available;
background-color:#FFF;
{% if configs.appearance.background == 'color' %}
background-color: {{configs.appearance.backgroundColor}};
{% endif %}
{% if configs.appearance.background == 'image' %}
background-image : url('{{configs.appearance.backgroundImage}}');
background-position: center {{configs.appearance.backgroundImageAlignment}};;
background-repeat:no-repeat;
background-size: cover;
{% endif %}
}
.globo-form-app .globo-heading{
color: {{configs.appearance.headingColor}}
}
.globo-form-app .globo-description,
.globo-form-app .header .globo-description{
color: {{configs.appearance.descriptionColor}}
}
.globo-form-app .globo-label,
.globo-form-app .globo-form-control label.globo-label{
color: {{configs.appearance.labelColor}}
}
.globo-form-app .globo-form-control .help-text.globo-description{
color: {{configs.appearance.descriptionColor}}
}
.globo-form-app .globo-form-control .checkbox-wrapper .globo-option,
.globo-form-app .globo-form-control .radio-wrapper .globo-option
{
color: {{configs.appearance.optionColor}}
}
.globo-form-app .footer{
text-align:{{configs.footer.submitAlignment}};
}
.globo-form-app .footer button{
border:1px solid {{configs.appearance.mainColor}};
{% if configs.footer.submitFullWidth %}
width:100%;
{% endif %}
}
.globo-form-app .footer button.submit,
.globo-form-app .footer button.action.loading .spinner{
background-color: {{configs.appearance.mainColor}};
color : {{ configs.appearance.mainColor | idealTextColor }};
}
.globo-form-app .globo-form-control .star-rating>fieldset:not(:checked)>label:before {
content: url('data:image/svg+xml; utf8, <svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="star" class="svg-inline--fa fa-star fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="{{configs.appearance.mainColor | encodeHexColor }}" d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z"></path></svg>');
}
.globo-form-app .globo-form-control .star-rating>fieldset>input:checked ~ label:before {
content: url('data:image/svg+xml; utf8, <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="star" class="svg-inline--fa fa-star fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="{{configs.appearance.mainColor | encodeHexColor }}" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"></path></svg>');
}
.globo-form-app .globo-form-control .star-rating>fieldset:not(:checked)>label:hover:before, .globo-form-app .globo-form-control .star-rating>fieldset:not(:checked)>label:hover ~ label:before{
content : url('data:image/svg+xml; utf8, <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="star" class="svg-inline--fa fa-star fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="{{configs.appearance.mainColor | encodeHexColor }}" d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"></path></svg>')
}
.globo-form-app .globo-form-control .radio-wrapper .radio-input:checked ~ .radio-label:after {
background: {{configs.appearance.mainColor}};
background: radial-gradient({{configs.appearance.mainColor}} 40%, #fff 45%);
}
.globo-form-app .globo-form-control .checkbox-wrapper .checkbox-input:checked ~ .checkbox-label:before {
border-color: {{configs.appearance.mainColor}};
box-shadow: 0 4px 6px rgba(50,50,93,0.11), 0 1px 3px rgba(0,0,0,0.08);
background-color: {{configs.appearance.mainColor}};
}
.globo-form-app .step.-completed .step__number,
.globo-form-app .line.-progress,
.globo-form-app .line.-start{
background-color: {{configs.appearance.mainColor}};
}
.globo-form-app .checkmark__check,
.globo-form-app .checkmark__circle{
stroke: {{configs.appearance.mainColor}};
}
.globo-form .floating-button{
background-color: {{configs.appearance.mainColor}};
}
.globo-form-app .globo-form-control .checkbox-wrapper .checkbox-input ~ .checkbox-label:before,
.globo-form-app .globo-form-control .radio-wrapper .radio-input ~ .radio-label:after{
border-color : {{configs.appearance.mainColor}};
}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
background: {{configs.appearance.mainColor}};
border-color: {{configs.appearance.mainColor}};
}
</script>
<script type="text/template" id="globo-formbuilder-template">
<div class="globo-form {{configs.appearance.layout}}-form">
<style>{{ null | renderElement : dynamicCSS,configs }}</style>
<div class="globo-form-app {{configs.appearance.layout}}-layout">
<form class="g-container" novalidate action="{{Globo.FormBuilder.url}}/api/front/form/{{formId}}/send" method="POST" enctype="multipart/form-data" data-id={{formId}}>
{% if configs.header.active %}
<div class="header">
<h3 class="title globo-heading">{{configs.header.title}}</h3>
{% if configs.header.description != '' and configs.header.description != '<p><br></p>' %}
<div class="description globo-description">{{configs.header.description}}</div>
{% endif %}
</div>
{% endif %}
{% if configs.isStepByStepForm %}
<div class="globo-formbuilder-wizard" data-id={{formId}}>
<div class="wizard__content">
<header class="wizard__header">
<div class="wizard__steps">
<nav class="steps">
{% for element in configs.elements %}
<div class="step">
<div class="step__content">
<p class="step__number"></p>
<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
</svg>
<div class="lines">
{% if forloop.first == true %}
<div class="line -start"></div>
{% endif %}
<div class="line -background">
</div>
<div class="line -progress">
</div>
</div>
</div>
</div>
{% endfor %}
</nav>
</div>
</header>
<div class="panels">
{% for element in configs.elements %}
<div class="panel" data-id={{formId}}>
{% if element.type != "group" %}
{{ element | renderElement : partialElement , configs }}
{% else %}
{% for el in element.elements %}
{{ el | renderElement : partialElement , configs }}
{% endfor %}
{% endif %}
{% if forloop.last == true %}
{% if configs.reCaptcha.enable = true %}
<div class="globo-form-control">
<div class="globo-g-recaptcha" data-sitekey="{{Globo.FormBuilder.shop.settings.reCaptcha.siteKey}}"></div>
<input type="hidden" name="reCaptcha" id="reCaptcha">
<small class="messages"></small>
</div>
{% endif %}
{% endif %}
</div>
{% endfor %}
</div>
{% if Globo.FormBuilder.shop.pricing.features.removeCopyright == false and Globo.FormBuilder.shop.settings.hideWaterMark == false %}
<p style="text-align: right;font-size:small;" >Made by <a target="_blank" rel="nofollow" href="https://apps.shopify.com/form-builder-contact-form">Powerful Contact Form Builder</a> </p>
{% endif %}
<div class="message error">
<div class="content"></div>
<div class="dismiss" onclick="Globo.dismiss(this)">
<svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg>
</div>
</div>
{% unless configs.afterSubmit.message == "" %}
<div class="message success">
<div class="content">{{configs.afterSubmit.message}}</div>
<div class="dismiss" onclick="Globo.dismiss(this)">
<svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg>
</div>
</div>
{% endunless %}
<div class="footer wizard__footer">
{% if configs.footer.description != '' and configs.footer.description != '<p><br></p>' %}
<div class="description globo-description">{{configs.footer.description}}</div>
{% endif %}
<button type="button" class="action previous {{configs.appearance.style}}-button">{{configs.footer.previousText}}</button>
<button type="button" class="action next submit {{configs.appearance.style}}-button" data-submitting-text="{{configs.footer.submittingText}}" data-submit-text='<span class="spinner"></span>{{configs.footer.submitText}}' data-next-text={{configs.footer.nextText}} ><span class="spinner"></span>{{configs.footer.nextText}}</button>
<h1 class="wizard__congrats-message"></h1>
</div>
</div>
</div>
{% else %}
<div class="content flex-wrap block-container" data-id={{formId}}>
{% for element in configs.elements %}
{% if element.type != "group" %}
{{ element | renderElement : partialElement , configs }}
{% else %}
{% for el in element.elements %}
{{ el | renderElement : partialElement , configs }}
{% endfor %}
{% endif %}
{% endfor %}
{% if configs.reCaptcha.enable = true %}
<div class="globo-form-control">
<div class="globo-g-recaptcha" data-sitekey="{{Globo.FormBuilder.shop.settings.reCaptcha.siteKey}}"></div>
<input type="hidden" name="reCaptcha" id="reCaptcha">
<small class="messages"></small>
</div>
{% endif %}
</div>
{% if Globo.FormBuilder.shop.pricing.features.removeCopyright == false and Globo.FormBuilder.shop.settings.hideWaterMark == false %}
<p style="text-align: right;font-size:small;">Made by <a target="_blank" rel="nofollow" href="https://apps.shopify.com/form-builder-contact-form">Powerful Contact Form Builder</a> </p>
{% endif %}
<div class="message error">
<div class="content"></div>
<div class="dismiss" onclick="Globo.dismiss(this)">
<svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg>
</div>
</div>
{% unless configs.afterSubmit.message == "" %}
<div class="message success">
<div class="content">{{configs.afterSubmit.message}}</div>
<div class="dismiss" onclick="Globo.dismiss(this)">
<svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg>
</div>
</div>
{% endunless %}
<div class="footer">
{% if configs.footer.description != '' and configs.footer.description != '<p><br></p>' %}
<div class="description globo-description">{{configs.footer.description}}</div>
{% endif %}
<button class="action submit {{configs.appearance.style}}-button"><span class="spinner"></span>{{configs.footer.submitText}}</button>
</div>
{% endif %}
{% if Globo.FormBuilder.customer %}
<input type="hidden" value="{{Globo.FormBuilder.customer.id}}" name="customer[id]">
<input type="hidden" value="{{Globo.FormBuilder.customer.email}}" name="customer[email]">
<input type="hidden" value="{{Globo.FormBuilder.customer.name}}" name="customer[name]">
{% endif %}
<input type="hidden" value="{{Globo.FormBuilder.page.title}}" name="page[title]">
<input type="hidden" value="{{Globo.FormBuilder.page.href}}" name="page[href]">
<input type="hidden" value="" name="_keyLabel">
</form>
{% unless configs.afterSubmit.message == "" %}
<div class="message success">
<div class="content">{{configs.afterSubmit.message}}</div>
<div class="dismiss" onclick="Globo.dismiss(this)">
<svg viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg>
</div>
</div>
{% endunless %}
</div>
{% if configs.appearance.layout == 'float' %}
{% if configs.appearance.floatingIcon != '' or configs.appearance.floatingText != '' %}
{% if configs.appearance.floatingText != '' and configs.appearance.floatingText != null %}
{% assign circle = '' %}
{% else %}
{% assign circle = 'circle' %}
{% endif %}
<div class="floating-button {{circle}} {{configs.appearance.position}}" onclick="Globo.FormBuilder.showFloatingForm(this)">
<div class="fabLabel">
{{configs.appearance.floatingIcon}}
{{configs.appearance.floatingText}}
</div>
</div>
{% endif %}
<div class="overlay" onclick="Globo.FormBuilder.hideFloatingForm(this)"></div>
{% endif %}
</div>
</script>
<script type="text/template" id="globo-formbuilder-element">
{% assign columnWidth = element.columnWidth | parseInt %}
{% assign columnWidthClass = "layout-" | append : columnWidth | append : "-column" %}
{% assign attrInput = "" %}
{% if element.conditionalField && element.onlyShowIf && element.onlyShowIf != false %}
{% assign columnWidthClass = columnWidthClass | append : " conditional-field" %}
{% assign escapeConnectedValue = element[element.onlyShowIf] | escapeHtml %}
{% assign attrInput = "disabled='disabled'" %}
{% assign dataAttr = dataAttr | append : " data-connected-id='" | append : element.onlyShowIf | append : "'" %}
{% assign dataAttr = dataAttr | append : " data-connected-value='" | append : escapeConnectedValue | append : "'" %}
{% endif %}
{% case element.type %}
{% when "text" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} >
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "name" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} >
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "email" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} >
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "textarea" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<textarea id="{{element.id}}" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" rows="3" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} ></textarea>
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "url" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} >
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "phone" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input type="text" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} >
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "number" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input type="number" {{attrInput}} class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} >
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "password" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input type="password" data-type="{{element.type}}" {{attrInput}} class="{{configs.appearance.style}}-input" id="{{element.id}}" name="{{element.id}}" {% if element.validationRule %} data-validate-rule="{{element.validationRule}}" {% endif %} {% if element.validationRule == 'advancedValidateRule' %} data-advanced-validate-rule="{{element.advancedValidateRule}}" {% endif %} placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} >
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% if element.hasConfirm %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}Confirm" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.labelConfirm}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input type="password" data-type="{{element.type}}" data-additional-type="confirm-{{element.type}}" data-connected-element="{{element.id}}" {% if element.validationRule %} data-validate-rule="{{element.validationRule}}" {% endif %} {% if element.validationRule == 'advancedValidateRule' %} data-advanced-validate-rule="{{element.advancedValidateRule}}" {% endif %} {{attrInput}} class="{{configs.appearance.style}}-input" id="{{element.id}}Confirm" name="{{element.id}}Confirm" placeholder="{{element.placeholderConfirm}}" {% if element.required %}presence{% endif %} >
{% if element.descriptionConfirm != '' %}
<small class="help-text globo-description">{{element.descriptionConfirm}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% endif %}
{% when "datetime" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input
type="text"
{{attrInput}}
data-type="{{element.type}}"
class="{{configs.appearance.style}}-input"
id="{{element.id}}"
name="{{element.id}}"
placeholder="{{element.placeholder}}"
{% if element.required %}presence{% endif %}
data-format="{{element.format}}"
{% if element.otherLang %}
data-locale="{{element.localization}}"
{% endif %}
dataDateFormat="{{element.date-format}}"
dataTimeFormat="{{element.time-format}}"
{% if element.format == 'date' and element.isLimitDate %}
limitDateType="{{element.limitDateType}}"
{% if element.limitDateSpecificEnabled %}
limitDateSpecificDates="{{element.limitDateSpecificDates}}"
{% endif %}
{% if element.limitDateRangeEnabled %}
limitDateRangeDates="{{element.limitDateRangeDates}}"
{% endif %}
{% if element.limitDateDOWEnabled %}
limitDateDOWDates="{{element.limitDateDOWDates}}"
{% endif %}
{% endif %}
>
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "file" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<input type="file" {{attrInput}} data-type="{{element.type}}" class="{{configs.appearance.style}}-input" id="{{element.id}}" {% if element.allowed-multiple %} multiple name="{{element.id}}[]" {% else %} name="{{element.id}}" {% endif %}
placeholder="{{element.placeholder}}" {% if element.required %}presence{% endif %} data-allowed-extensions="{{element.allowed-extensions | join : ',' }}">
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "checkbox" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<legend class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</legend>
{% assign options = element.options | optionsToArray %}
<ul>
{% for option in options %}
<li>
<div class="checkbox-wrapper">
<input class="checkbox-input" {{attrInput}} id="{{element.id}}-{{option}}-{{uniqueId}}" type="checkbox" data-type="{{element.type}}" name="{{element.id}}[]" {% if element.required %}presence{% endif %} value="{{option}}">
<label class="checkbox-label globo-option" for="{{element.id}}-{{option}}-{{uniqueId}}">{{option}}</label>
</div>
</li>
{% endfor %}
</ul>
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "radio" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<legend class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</legend>
{% assign options = element.options | optionsToArray %}
<ul>
{% for option in options %}
<li>
<div class="radio-wrapper">
<input class="radio-input" {{attrInput}} id="{{element.id}}-{{option}}-{{uniqueId}}" type="radio" data-type="{{element.type}}" name="{{element.id}}" {% if element.required %}presence{% endif %} value="{{option}}">
<label class="radio-label globo-option" for="{{element.id}}-{{option}}-{{uniqueId}}">{{option}}</label>
</div>
</li>
{% endfor %}
</ul>
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "select" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
{% assign options = element.options | optionsToArray %}
<select name="{{element.id}}" {{attrInput}} id="{{element.id}}" class="{{configs.appearance.style}}-input" {% if element.required %}presence{% endif %}>
<option selected="selected" value="" disabled="disabled">{{element.placeholder}}</option>
{% for option in options %}
<option value="{{option}}">{{option}}</option>
{% endfor %}
</select>
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "country" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
{% assign options = element.options | optionsToArray %}
<select name="{{element.id}}" {{attrInput}} id="{{element.id}}" class="{{configs.appearance.style}}-input" {% if element.required %}presence{% endif %}>
<option selected="selected" value="" disabled="disabled">{{element.placeholder}}</option>
{% for option in options %}
<option value="{{option}}">{{option}}</option>
{% endfor %}
</select>
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "heading" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<h3 class="heading-title globo-heading">{{element.heading}}</h3>
<p class="heading-caption">{{element.caption}}</p>
</div>
{% when "paragraph" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label"><span class="label-content">{{element.label}}</span></label>
<div class="globo-paragraph">{{element.text}}</div>
</div>
{% when "rating-star" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}}>
<label for="{{element.id}}" class="{{configs.appearance.style}}-label globo-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
<div class="star-rating">
<fieldset>
<input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-5-stars" name="{{element.id}}" value="5" /><label for="{{element.id}}-5-stars" title="5 Stars">5 stars</label>
<input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-4-stars" name="{{element.id}}" value="4" /><label for="{{element.id}}-4-stars" title="4 Stars">4 stars</label>
<input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-3-stars" name="{{element.id}}" value="3" /><label for="{{element.id}}-3-stars" title="3 Stars">3 stars</label>
<input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-2-stars" name="{{element.id}}" value="2" /><label for="{{element.id}}-2-stars" title="2 Stars">2 stars</label>
<input type="radio" {{attrInput}} data-type="{{element.type}}" {% if element.required %}presence{% endif %} id="{{element.id}}-1-star" name="{{element.id}}" value="1" /><label for="{{element.id}}-1-star" title="1 Star">1 star</label>
</fieldset>
</div>
{% if element.description != '' %}
<small class="help-text globo-description">{{element.description}}</small>
{% endif %}
<small class="messages"></small>
</div>
{% when "devider" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}} >
<hr>
</div>
{% when "hidden" %}
<div class="globo-form-control {{columnWidthClass}}" {{dataAttr}} style="display: none;visibility: hidden;">
<label for="{{element.id}}" class="{{configs.appearance.style}}-label"><span class="label-content">{{element.label}}</span>{% if element.required %}<span class="text-danger text-smaller"> *</span>{% endif %}</label>
{% if element.dataType == 'fixed' %}
<input type="hidden" data-type="{{element.dataType}}" id="{{element.id}}" name="{{element.id}}" value="{{element.fixedValue}}">
{% else %}
<input type="hidden" data-type="{{element.dataType}}" id="{{element.id}}" name="{{element.id}}" value="" >
{% endif %}
</div>
{% else %}
{% endcase %}
</script>
<script src="//hvoptics.com/cdn/shop/t/67/assets/globo.formbuilder.data.25989.js?v=18722601405118760561709626691" type="text/javascript"></script>
<script src="//hvoptics.com/cdn/shop/t/67/assets/globo.formbuilder.js?v=101714632603210921991709626692" type="text/javascript"></script>
<body id="404-not-found" class="template-404" data-anim-fade="false" data-anim-load="false" data-anim-interval-style="fade_down" data-anim-zoom="false" data-anim-interval="true">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KBXTGLN"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<script type="text/javascript">
//loading class for animations
document.body.className += ' ' + 'js-theme-loading';
setTimeout(function(){
document.body.className = document.body.className.replace('js-theme-loading','js-theme-loaded');
}, 300);
</script>
<div class="page-transition"></div>
<div class="page-container">
<div id="shopify-section-mobile-drawer" class="shopify-section js-section__mobile-draw"><style>
.mobile-draw,
.mobile-draw .mfp-close {
background-color: #ffffff;
}
.mobile-draw__currency {
background-color: #f2f2f2;
}
</style>
<div class="mobile-draw mobile-draw--dark js-menu-draw mfp-hide">
<div class="mobile-draw__wrapper">
<nav class="mobile-draw__nav mobile-nav">
<ul class="mobile-nav__items o-list-bare">
<li class="mobile-nav__item mobile-nav__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-1">
<a href="#mobile-sub-1" class="mobile-nav__link mobile-nav__link--sub js-toggle-trigger">Sunglasses</a>
<div class="mobile-nav__sub js-toggle-target" id="mobile-sub-1">
<ul class="mobile-nav__sub__items o-list-bare">
<li class="mobile-nav__sub__item mobile-nav__sub__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-1">
<a href="#mobile-sub-t-1-1" class="mobile-nav__sub__link mobile-nav__sub__link--t js-toggle-trigger">Brands</a>
<div class="mobile-nav__sub-t js-toggle-target" id="mobile-sub-t-1-1">
<ul class="mobile-nav__sub-t__items o-list-bare">
<li class="mobile-nav__sub-t__item">
<a href="/collections/sunglasses-1" class="mobile-nav__sub-t__link">All Brands</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/hugo-boss-sunglasses" class="mobile-nav__sub-t__link">Boss</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/calvin-klein-sunglasses" class="mobile-nav__sub-t__link">Calvin Klein</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/carolina-herrera-sunglasses" class="mobile-nav__sub-t__link">Carolina Herrera</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/carrera" class="mobile-nav__sub-t__link">Carrera</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/despada-sunglasses" class="mobile-nav__sub-t__link">Despada</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/dsquared-2-sunglasses" class="mobile-nav__sub-t__link">Dsquared 2</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/el-greco" class="mobile-nav__sub-t__link">El Greco</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/fossil-sunglasses" class="mobile-nav__sub-t__link">Fossil</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/givenchy-sunglasses" class="mobile-nav__sub-t__link">Givenchy</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/gucci-sunglasses" class="mobile-nav__sub-t__link">Gucci</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/hoffman" class="mobile-nav__sub-t__link">Hoffman</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/hugo" class="mobile-nav__sub-t__link">Hugo</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/jimmy-choo-sunglasses" class="mobile-nav__sub-t__link">Jimmy Choo</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/juicy-couture-sunglasses" class="mobile-nav__sub-t__link">Juicy Couture</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/kate-spade-sunglasses" class="mobile-nav__sub-t__link">Kate Spade</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/levis-sunglasses" class="mobile-nav__sub-t__link">Levi's</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/love-moschino-sunglasses" class="mobile-nav__sub-t__link">Love Moschino</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/marc-jacobs-sunglasses" class="mobile-nav__sub-t__link">Marc Jacobs</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/missoni-sunglasses" class="mobile-nav__sub-t__link">Missoni</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/m-missoni" class="mobile-nav__sub-t__link">M Missoni</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/moschino-sunglasses" class="mobile-nav__sub-t__link">Moschino</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/nike-sunglasses" class="mobile-nav__sub-t__link">Nike</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/pierre-cardin-sunglasses" class="mobile-nav__sub-t__link">Pierre Cardin</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/polar-sunglasses" class="mobile-nav__sub-t__link">Polar</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/polaroid" class="mobile-nav__sub-t__link">Polaroid</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/prive-revaux-sunglasses" class="mobile-nav__sub-t__link">Prive Revaux</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/tailor-made" class="mobile-nav__sub-t__link">Tailor Made</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/tommy-hilfiger-sunglasses" class="mobile-nav__sub-t__link">Tommy Hilfiger</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/under-armour-sunglasses" class="mobile-nav__sub-t__link">Under Armour</a>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__sub__item mobile-nav__sub__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-2">
<a href="#mobile-sub-t-1-2" class="mobile-nav__sub__link mobile-nav__sub__link--t js-toggle-trigger">Female Sunglasses</a>
<div class="mobile-nav__sub-t js-toggle-target" id="mobile-sub-t-1-2">
<ul class="mobile-nav__sub-t__items o-list-bare">
<li class="mobile-nav__sub-t__item">
<a href="/collections/female-sunglasses" class="mobile-nav__sub-t__link">All Brands</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/unisex-sunglasses" class="mobile-nav__sub-t__link">Unisex</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-sunglasses/shape_aviator" class="mobile-nav__sub-t__link">Aviator</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-sunglasses/shape_cat-eye" class="mobile-nav__sub-t__link">Cat-Eye</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-sunglasses/shape_round" class="mobile-nav__sub-t__link">Round</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-sunglasses/shape_square" class="mobile-nav__sub-t__link">Square</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/sports" class="mobile-nav__sub-t__link">Sports</a>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__sub__item mobile-nav__sub__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-1-3">
<a href="#mobile-sub-t-1-3" class="mobile-nav__sub__link mobile-nav__sub__link--t js-toggle-trigger">Male Sunglasses</a>
<div class="mobile-nav__sub-t js-toggle-target" id="mobile-sub-t-1-3">
<ul class="mobile-nav__sub-t__items o-list-bare">
<li class="mobile-nav__sub-t__item">
<a href="/collections/sunglasses" class="mobile-nav__sub-t__link">All Brands</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/unisex-sunglasses" class="mobile-nav__sub-t__link">Unisex</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/sunglasses/shape_aviator?page=1&sort_by=price-ascending" class="mobile-nav__sub-t__link">Aviator</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/sunglasses/shape_round?sort_by=price-ascending" class="mobile-nav__sub-t__link">Round</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/sunglasses/shape_square?page=1&sort_by=manual" class="mobile-nav__sub-t__link">Square</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/sports" class="mobile-nav__sub-t__link">Sports</a>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__item mobile-nav__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-2">
<a href="#mobile-sub-2" class="mobile-nav__link mobile-nav__link--sub js-toggle-trigger">Frames</a>
<div class="mobile-nav__sub js-toggle-target" id="mobile-sub-2">
<ul class="mobile-nav__sub__items o-list-bare">
<li class="mobile-nav__sub__item mobile-nav__sub__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-2-1">
<a href="#mobile-sub-t-2-1" class="mobile-nav__sub__link mobile-nav__sub__link--t js-toggle-trigger">Brands</a>
<div class="mobile-nav__sub-t js-toggle-target" id="mobile-sub-t-2-1">
<ul class="mobile-nav__sub-t__items o-list-bare">
<li class="mobile-nav__sub-t__item">
<a href="/collections/frames" class="mobile-nav__sub-t__link">All brands</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/hugo-boss-frames-1" class="mobile-nav__sub-t__link">Boss</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/calvin-klein-frames" class="mobile-nav__sub-t__link">Calvin Klein</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/carolina-herrera-frames" class="mobile-nav__sub-t__link">Carolina Herrera</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/carrera-frames" class="mobile-nav__sub-t__link">Carrera</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/despada-frames" class="mobile-nav__sub-t__link">Despada</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/dsquared-2-frames" class="mobile-nav__sub-t__link">Dsquared 2</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/fossil-frames" class="mobile-nav__sub-t__link">Fossil</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/givenchy-frames-1" class="mobile-nav__sub-t__link">Givenchy</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/gucci-frames" class="mobile-nav__sub-t__link">Gucci</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/hugo-frames" class="mobile-nav__sub-t__link">Hugo</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/jimmy-choo-frames" class="mobile-nav__sub-t__link">Jimmy Choo</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/juicy-couture-frames" class="mobile-nav__sub-t__link">Juicy Couture</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/kate-spade-frames" class="mobile-nav__sub-t__link">Kate Spade</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/levis-frames" class="mobile-nav__sub-t__link">Levi's</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/love-moschino-frames" class="mobile-nav__sub-t__link">Love Moschino</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/marc-jacobs-frames" class="mobile-nav__sub-t__link">Marc Jacobs</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/missoni-frames" class="mobile-nav__sub-t__link">Missoni</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/m-missoni-frames" class="mobile-nav__sub-t__link">M Missoni</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/moschino-frames" class="mobile-nav__sub-t__link">Moschino</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/montblanc-frames" class="mobile-nav__sub-t__link">Mont Blanc</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/polaroid-frames" class="mobile-nav__sub-t__link">Polaroid</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/prive-revaux-frames" class="mobile-nav__sub-t__link">Prive Revaux</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/pierre-cardin-frames" class="mobile-nav__sub-t__link">Pierre Cardin</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/tommy-hilfiger-frames" class="mobile-nav__sub-t__link">Tommy Hilfiger</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/7th-street-frames" class="mobile-nav__sub-t__link">7th Street</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/under-armour-frames" class="mobile-nav__sub-t__link">Under Armour</a>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__sub__item mobile-nav__sub__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-2-2">
<a href="#mobile-sub-t-2-2" class="mobile-nav__sub__link mobile-nav__sub__link--t js-toggle-trigger">Female Frames</a>
<div class="mobile-nav__sub-t js-toggle-target" id="mobile-sub-t-2-2">
<ul class="mobile-nav__sub-t__items o-list-bare">
<li class="mobile-nav__sub-t__item">
<a href="/collections/female-eyeglasses" class="mobile-nav__sub-t__link">All Brands</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/unisex-frames" class="mobile-nav__sub-t__link">Unisex</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_aviator?sort_by=manual" class="mobile-nav__sub-t__link">Aviator</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_cat-eye?sort_by=manual" class="mobile-nav__sub-t__link">Cat-Eye</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_rimless?sort_by=manual" class="mobile-nav__sub-t__link">Rimless</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_round?sort_by=manual" class="mobile-nav__sub-t__link">Round</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_square?sort_by=manual" class="mobile-nav__sub-t__link">Square</a>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__sub__item mobile-nav__sub__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-2-3">
<a href="#mobile-sub-t-2-3" class="mobile-nav__sub__link mobile-nav__sub__link--t js-toggle-trigger">Male Frames</a>
<div class="mobile-nav__sub-t js-toggle-target" id="mobile-sub-t-2-3">
<ul class="mobile-nav__sub-t__items o-list-bare">
<li class="mobile-nav__sub-t__item">
<a href="/collections/mens-sunglasses" class="mobile-nav__sub-t__link">All Brands</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/unisex-frames" class="mobile-nav__sub-t__link">Unisex</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://hvoptics.com/collections/mens-sunglasses/shape_aviator" class="mobile-nav__sub-t__link">Aviator</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://hvoptics.com/collections/mens-sunglasses/shape_rimless" class="mobile-nav__sub-t__link">Rimless</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://hvoptics.com/collections/mens-sunglasses/shape_round" class="mobile-nav__sub-t__link">Round</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://hvoptics.com/collections/mens-sunglasses/shape_square" class="mobile-nav__sub-t__link">Square</a>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__item mobile-nav__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-3">
<a href="#mobile-sub-3" class="mobile-nav__link mobile-nav__link--sub js-toggle-trigger">New Collection!</a>
<div class="mobile-nav__sub js-toggle-target" id="mobile-sub-3">
<ul class="mobile-nav__sub__items o-list-bare">
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-3-1">
<a href="/collections/new-sunglasses-collection" class="mobile-nav__sub__link">Sunglasses</a>
</li>
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-3-2">
<a href="/collections/new-frames-collection" class="mobile-nav__sub__link">Frames</a>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__item">
<a href="/collections/kids-frames" class="mobile-nav__link">Kids</a>
</li>
<li class="mobile-nav__item mobile-nav__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-5">
<a href="#mobile-sub-5" class="mobile-nav__link mobile-nav__link--sub js-toggle-trigger">Contact Lens</a>
<div class="mobile-nav__sub js-toggle-target" id="mobile-sub-5">
<ul class="mobile-nav__sub__items o-list-bare">
<li class="mobile-nav__sub__item mobile-nav__sub__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-5-1">
<a href="#mobile-sub-t-5-1" class="mobile-nav__sub__link mobile-nav__sub__link--t js-toggle-trigger">Colored Lenses</a>
<div class="mobile-nav__sub-t js-toggle-target" id="mobile-sub-t-5-1">
<ul class="mobile-nav__sub-t__items o-list-bare">
<li class="mobile-nav__sub-t__item">
<a href="/collections/contact-lenses" class="mobile-nav__sub-t__link">All Brands</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/daily-contact-lenses" class="mobile-nav__sub-t__link">Daily Contact Lenses</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/monthly-contact-lenses" class="mobile-nav__sub-t__link">Monthly Contact Lenses</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/adore-collection" class="mobile-nav__sub-t__link">Adore</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/bella-contact-lenses" class="mobile-nav__sub-t__link">Bella</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/celena" class="mobile-nav__sub-t__link">Celena</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="https://hvoptics.com/search?type=product%2Carticle%2Cpage&q=desio" class="mobile-nav__sub-t__link">Desio</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/dahab" class="mobile-nav__sub-t__link">Dahab</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/freshlook-collection" class="mobile-nav__sub-t__link">Freshlook</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/lazord-collection" class="mobile-nav__sub-t__link">Lazord</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/le-reve-collection" class="mobile-nav__sub-t__link">Le Reve</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/lorans-collection" class="mobile-nav__sub-t__link">Lorans</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/luminous-collection" class="mobile-nav__sub-t__link">Luminous</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/lydia-collection" class="mobile-nav__sub-t__link">Lydia</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/magic-color-collection" class="mobile-nav__sub-t__link">Magic Color</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/mylens-collection" class="mobile-nav__sub-t__link">MyLens</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/naturel-collection" class="mobile-nav__sub-t__link">Naturel</a>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__sub__item mobile-nav__sub__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-5-2">
<a href="#mobile-sub-t-5-2" class="mobile-nav__sub__link mobile-nav__sub__link--t js-toggle-trigger">Clear Lenses</a>
<div class="mobile-nav__sub-t js-toggle-target" id="mobile-sub-t-5-2">
<ul class="mobile-nav__sub-t__items o-list-bare">
<li class="mobile-nav__sub-t__item">
<a href="/collections/clear-contact-lenses" class="mobile-nav__sub-t__link">All Brands</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/acuvue" class="mobile-nav__sub-t__link">Acuvue</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/bausch-lomb" class="mobile-nav__sub-t__link">Bauch + Lomb</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/coopervision" class="mobile-nav__sub-t__link">CooperVision</a>
</li>
<li class="mobile-nav__sub-t__item">
<a href="/collections/contact-lens-solution" class="mobile-nav__sub-t__link">Contact Lens Solution</a>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__item mobile-nav__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-6">
<a href="#mobile-sub-6" class="mobile-nav__link mobile-nav__link--sub js-toggle-trigger">Accessories</a>
<div class="mobile-nav__sub js-toggle-target" id="mobile-sub-6">
<ul class="mobile-nav__sub__items o-list-bare">
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-6-1">
<a href="/collections/accessories" class="mobile-nav__sub__link">All Accessories</a>
</li>
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-6-2">
<a href="/collections/centro-style" class="mobile-nav__sub__link">Centro Style</a>
</li>
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-6-3">
<a href="/collections/sunny-cords" class="mobile-nav__sub__link">Sunny Cords</a>
</li>
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-6-4">
<a href="/collections/contact-lens-solution" class="mobile-nav__sub__link">Contact Lens Solution</a>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__item mobile-nav__item--sub" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-7">
<a href="#mobile-sub-7" class="mobile-nav__link mobile-nav__link--sub js-toggle-trigger">Ready Readers</a>
<div class="mobile-nav__sub js-toggle-target" id="mobile-sub-7">
<ul class="mobile-nav__sub__items o-list-bare">
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-7-1">
<a href="/collections/thin-optics" class="mobile-nav__sub__link">Thin Optics</a>
</li>
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-7-2">
<a href="/collections/slastik" class="mobile-nav__sub__link">Slastik</a>
</li>
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-7-3">
<a href="/collections/jimmy-crystal" class="mobile-nav__sub__link">Jimmy Crystal</a>
</li>
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-7-4">
<a href="/collections/quick-look" class="mobile-nav__sub__link">Quick Look</a>
</li>
<li class="mobile-nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="mobile-sub-t-7-5">
<a href="/collections/flexsee" class="mobile-nav__sub__link">Flexsee</a>
</li>
</ul>
</div>
</li>
<li class="mobile-nav__item">
<a href="/pages/locations" class="mobile-nav__link">Locations</a>
</li>
<li class="mobile-nav__item">
<a href="/pages/home-try-on" class="mobile-nav__link">Free Try On</a>
</li>
<li class="mobile-nav__item">
<a href="/account/login" class="mobile-nav__link">Log in</a>
</li>
</ul>
</nav>
<div class="mobile-draw__search mobile-search">
<form action="/search" method="get" class="mobile-search__form" role="search">
<input type="hidden" name="type" value="product,article,page">
<input type="search" name="q" class="mobile-search__input" value="" aria-label="Search our store..." placeholder="Search our store...">
<button type="submit" class="mobile-search__submit">
<i class="icon icon--search" aria-hidden="true"></i>
<span class="icon-fallback__text">Search</span>
</button>
</form>
</div>
<div class="mobile-draw__footer mobile-footer">
<ul class="mobile-footer__social-items o-list-bare">
<li class="mobile-footer__social-item">
<a href="https://www.facebook.com/hvoptics" class="mobile-footer__social-link icon-fallback" target="_blank">
<i class="icon icon--facebook" aria-hidden="true"></i>
<span class="icon-fallback__text">Facebook</span>
</a>
</li>
<li class="mobile-footer__social-item">
<a href="https://www.instagram.com/hvoptics" class="mobile-footer__social-link icon-fallback" target="_blank">
<i class="icon icon--instagram" aria-hidden="true"></i>
<span class="icon-fallback__text">Instagram</span>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id="shopify-section-header" class="shopify-section js-section__header"><script type="text/javascript" src="https://www.waffarad.com/integration/shopify.js"></script><style type="text/css">
.header, .header--mega .primary-nav .nav__sub-wrap {background-color: #ffffff}
.header.js-header-sticky--fixed {border-bottom: 1px solid #e4e4e4}
.header,
.header__logo,
.header-trigger {
height: 180px;
}
.header__logo-img,
.header-trigger {
max-height: 180px;
}
.header--center .header__logo-img {
width: 180px;
}
.header__logo-img {
padding: 0px 0;
}
@media screen and (max-width: 767px) {
.header,
.header__logo,
.header.header--center .header__logo,
.header-trigger {height: 94px;}
.header__logo-img,
.header--center.header--center .header__logo-img,
.header-trigger {max-height: 94px;}
}
.header--mega .primary-nav .nav__sub {
padding-top: 73px;
}
.announcement {
background-color: #e20c0c;
}
.announcement__text,
.announcement__text.rte a {
color: #ffffff;
}
.announcement__text.rte a {
border-color: #ffffff;
}
</style>
<div class="announcement">
<p class="announcement__text">Free & Fast Delivery within 3 DAYS!</p>
</div>
<header role="banner" id="top" class="header header--dark js-header header--sticky js-header-sticky header--scroll js-header-scroll header--center header--mega" data-section-id="header" data-section-type="header-section">
<div class="header__logo u-flex u-flex--middle u-flex--center">
<div class="header__logo-wrapper js-main-logo" itemscope itemtype="http://schema.org/Organization">
<a href="/" itemprop="url" class="header__logo-link animsition-link">
<img src="//hvoptics.com/cdn/shop/files/happyvision-JPG_b404fe3d-c93a-4567-be4b-f8bcde8524e3_420x.jpg?v=1613733565" class="header__logo-img" alt="Happy Vision" itemprop="logo">
</a>
</div>
</div>
<div class="header-trigger header-trigger--left mobile-draw-trigger-icon u-flex u-flex--middle js-mobile-draw-icon" style="display: none">
<a href="#" class="header-trigger__link header-trigger__link--mobile js-mobile-draw-trigger icon-fallback">
<i class="icon icon--menu" aria-hidden="true"></i>
<span class="icon-fallback__text">Menu</span>
</a>
</div>
<div class="header-trigger header-trigger--right search-draw-trigger-icon u-flex u-flex--middle js-search-draw-icon" style="display: none">
<a href="/search" class="header-trigger__link header-trigger__link--search icon-fallback js-search-trigger js-no-transition">
<i class="icon icon--search" aria-hidden="true"></i>
<span class="icon-fallback__text">Search</span>
</a>
</div>
<div class="header-trigger header-trigger--far-right cart-draw-trigger-icon u-flex u-flex--middle js-cart-draw-icon" style="display: none">
<a href="/cart" class="header-trigger__link header-trigger__link--cart js-cart-trigger icon-fallback js-no-transition">
<i class="icon icon--cart" aria-hidden="true"></i>
<span class="icon-fallback__text">Cart</span>
</a>
</div>
<div class="header-navs js-heaver-navs u-clearfix u-hidden@tab-down">
<nav class="primary-nav header-navs__items js-primary-nav" role="navigation">
<ul class="primary-nav__items">
<li class="primary-nav__item primary-nav__item--sub js-header-sub-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-1">
<a href="/collections/sunglasses-1" class="primary-nav__link animsition-link nav__link--sub js-header-sub-link-a">Sunglasses</a>
<div class="nav__sub" id="sub-1">
<div class="nav__sub-wrap">
<ul class="nav__sub__items nav__sub__items--3 o-list-bare">
<li class="nav__sub__item nav__sub__item--sub js-header-sub-t-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-1-1">
<a href="/collections/sunglasses-1" class="nav__sub__link js-header-sub-t-a">Brands</a>
<div class="nav__sub-t js-nav-sub-t" id="sub-t-1-1">
<div class="nav__sub-t-wrap">
<ul class="nav__sub-t__items o-list-bare">
<li class="nav__sub-t__item">
<a href="/collections/sunglasses-1" class="nav__sub-t__link">All Brands</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/hugo-boss-sunglasses" class="nav__sub-t__link">Boss</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/calvin-klein-sunglasses" class="nav__sub-t__link">Calvin Klein</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/carolina-herrera-sunglasses" class="nav__sub-t__link">Carolina Herrera</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/carrera" class="nav__sub-t__link">Carrera</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/despada-sunglasses" class="nav__sub-t__link">Despada</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/dsquared-2-sunglasses" class="nav__sub-t__link">Dsquared 2</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/el-greco" class="nav__sub-t__link">El Greco</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/fossil-sunglasses" class="nav__sub-t__link">Fossil</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/givenchy-sunglasses" class="nav__sub-t__link">Givenchy</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/gucci-sunglasses" class="nav__sub-t__link">Gucci</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/hoffman" class="nav__sub-t__link">Hoffman</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/hugo" class="nav__sub-t__link">Hugo</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/jimmy-choo-sunglasses" class="nav__sub-t__link">Jimmy Choo</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/juicy-couture-sunglasses" class="nav__sub-t__link">Juicy Couture</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/kate-spade-sunglasses" class="nav__sub-t__link">Kate Spade</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/levis-sunglasses" class="nav__sub-t__link">Levi's</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/love-moschino-sunglasses" class="nav__sub-t__link">Love Moschino</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/marc-jacobs-sunglasses" class="nav__sub-t__link">Marc Jacobs</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/missoni-sunglasses" class="nav__sub-t__link">Missoni</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/m-missoni" class="nav__sub-t__link">M Missoni</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/moschino-sunglasses" class="nav__sub-t__link">Moschino</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/nike-sunglasses" class="nav__sub-t__link">Nike</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/pierre-cardin-sunglasses" class="nav__sub-t__link">Pierre Cardin</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/polar-sunglasses" class="nav__sub-t__link">Polar</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/polaroid" class="nav__sub-t__link">Polaroid</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/prive-revaux-sunglasses" class="nav__sub-t__link">Prive Revaux</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/tailor-made" class="nav__sub-t__link">Tailor Made</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/tommy-hilfiger-sunglasses" class="nav__sub-t__link">Tommy Hilfiger</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/under-armour-sunglasses" class="nav__sub-t__link">Under Armour</a>
</li>
</ul>
</div>
</div>
</li>
<li class="nav__sub__item nav__sub__item--sub js-header-sub-t-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-1-2">
<a href="/collections/female-sunglasses" class="nav__sub__link js-header-sub-t-a">Female Sunglasses</a>
<div class="nav__sub-t js-nav-sub-t" id="sub-t-1-2">
<div class="nav__sub-t-wrap">
<ul class="nav__sub-t__items o-list-bare">
<li class="nav__sub-t__item">
<a href="/collections/female-sunglasses" class="nav__sub-t__link">All Brands</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/unisex-sunglasses" class="nav__sub-t__link">Unisex</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-sunglasses/shape_aviator" class="nav__sub-t__link">Aviator</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-sunglasses/shape_cat-eye" class="nav__sub-t__link">Cat-Eye</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-sunglasses/shape_round" class="nav__sub-t__link">Round</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-sunglasses/shape_square" class="nav__sub-t__link">Square</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/sports" class="nav__sub-t__link">Sports</a>
</li>
</ul>
</div>
</div>
</li>
<li class="nav__sub__item nav__sub__item--sub js-header-sub-t-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-1-3">
<a href="/collections/sunglasses" class="nav__sub__link js-header-sub-t-a">Male Sunglasses</a>
<div class="nav__sub-t js-nav-sub-t" id="sub-t-1-3">
<div class="nav__sub-t-wrap">
<ul class="nav__sub-t__items o-list-bare">
<li class="nav__sub-t__item">
<a href="/collections/sunglasses" class="nav__sub-t__link">All Brands</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/unisex-sunglasses" class="nav__sub-t__link">Unisex</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/sunglasses/shape_aviator?page=1&sort_by=price-ascending" class="nav__sub-t__link">Aviator</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/sunglasses/shape_round?sort_by=price-ascending" class="nav__sub-t__link">Round</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/sunglasses/shape_square?page=1&sort_by=manual" class="nav__sub-t__link">Square</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/sports" class="nav__sub-t__link">Sports</a>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
</li>
<li class="primary-nav__item primary-nav__item--sub js-header-sub-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-2">
<a href="/collections/frames" class="primary-nav__link animsition-link nav__link--sub js-header-sub-link-a">Frames</a>
<div class="nav__sub" id="sub-2">
<div class="nav__sub-wrap">
<ul class="nav__sub__items nav__sub__items--3 o-list-bare">
<li class="nav__sub__item nav__sub__item--sub js-header-sub-t-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-2-1">
<a href="/collections/frames" class="nav__sub__link js-header-sub-t-a">Brands</a>
<div class="nav__sub-t js-nav-sub-t" id="sub-t-2-1">
<div class="nav__sub-t-wrap">
<ul class="nav__sub-t__items o-list-bare">
<li class="nav__sub-t__item">
<a href="/collections/frames" class="nav__sub-t__link">All brands</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/hugo-boss-frames-1" class="nav__sub-t__link">Boss</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/calvin-klein-frames" class="nav__sub-t__link">Calvin Klein</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/carolina-herrera-frames" class="nav__sub-t__link">Carolina Herrera</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/carrera-frames" class="nav__sub-t__link">Carrera</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/despada-frames" class="nav__sub-t__link">Despada</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/dsquared-2-frames" class="nav__sub-t__link">Dsquared 2</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/fossil-frames" class="nav__sub-t__link">Fossil</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/givenchy-frames-1" class="nav__sub-t__link">Givenchy</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/gucci-frames" class="nav__sub-t__link">Gucci</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/hugo-frames" class="nav__sub-t__link">Hugo</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/jimmy-choo-frames" class="nav__sub-t__link">Jimmy Choo</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/juicy-couture-frames" class="nav__sub-t__link">Juicy Couture</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/kate-spade-frames" class="nav__sub-t__link">Kate Spade</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/levis-frames" class="nav__sub-t__link">Levi's</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/love-moschino-frames" class="nav__sub-t__link">Love Moschino</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/marc-jacobs-frames" class="nav__sub-t__link">Marc Jacobs</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/missoni-frames" class="nav__sub-t__link">Missoni</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/m-missoni-frames" class="nav__sub-t__link">M Missoni</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/moschino-frames" class="nav__sub-t__link">Moschino</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/montblanc-frames" class="nav__sub-t__link">Mont Blanc</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/polaroid-frames" class="nav__sub-t__link">Polaroid</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/prive-revaux-frames" class="nav__sub-t__link">Prive Revaux</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/pierre-cardin-frames" class="nav__sub-t__link">Pierre Cardin</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/tommy-hilfiger-frames" class="nav__sub-t__link">Tommy Hilfiger</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/7th-street-frames" class="nav__sub-t__link">7th Street</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/under-armour-frames" class="nav__sub-t__link">Under Armour</a>
</li>
</ul>
</div>
</div>
</li>
<li class="nav__sub__item nav__sub__item--sub js-header-sub-t-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-2-2">
<a href="/collections/female-eyeglasses" class="nav__sub__link js-header-sub-t-a">Female Frames</a>
<div class="nav__sub-t js-nav-sub-t" id="sub-t-2-2">
<div class="nav__sub-t-wrap">
<ul class="nav__sub-t__items o-list-bare">
<li class="nav__sub-t__item">
<a href="/collections/female-eyeglasses" class="nav__sub-t__link">All Brands</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/unisex-frames" class="nav__sub-t__link">Unisex</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_aviator?sort_by=manual" class="nav__sub-t__link">Aviator</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_cat-eye?sort_by=manual" class="nav__sub-t__link">Cat-Eye</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_rimless?sort_by=manual" class="nav__sub-t__link">Rimless</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_round?sort_by=manual" class="nav__sub-t__link">Round</a>
</li>
<li class="nav__sub-t__item">
<a href="https://happyvision.myshopify.com/collections/female-eyeglasses/shape_square?sort_by=manual" class="nav__sub-t__link">Square</a>
</li>
</ul>
</div>
</div>
</li>
<li class="nav__sub__item nav__sub__item--sub js-header-sub-t-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-2-3">
<a href="/collections/mens-sunglasses" class="nav__sub__link js-header-sub-t-a">Male Frames</a>
<div class="nav__sub-t js-nav-sub-t" id="sub-t-2-3">
<div class="nav__sub-t-wrap">
<ul class="nav__sub-t__items o-list-bare">
<li class="nav__sub-t__item">
<a href="/collections/mens-sunglasses" class="nav__sub-t__link">All Brands</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/unisex-frames" class="nav__sub-t__link">Unisex</a>
</li>
<li class="nav__sub-t__item">
<a href="https://hvoptics.com/collections/mens-sunglasses/shape_aviator" class="nav__sub-t__link">Aviator</a>
</li>
<li class="nav__sub-t__item">
<a href="https://hvoptics.com/collections/mens-sunglasses/shape_rimless" class="nav__sub-t__link">Rimless</a>
</li>
<li class="nav__sub-t__item">
<a href="https://hvoptics.com/collections/mens-sunglasses/shape_round" class="nav__sub-t__link">Round</a>
</li>
<li class="nav__sub-t__item">
<a href="https://hvoptics.com/collections/mens-sunglasses/shape_square" class="nav__sub-t__link">Square</a>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
</li>
<li class="primary-nav__item primary-nav__item--sub js-header-sub-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-3">
<a href="/collections/new-collection" class="primary-nav__link animsition-link nav__link--sub js-header-sub-link-a">New Collection!</a>
<div class="nav__sub" id="sub-3">
<div class="nav__sub-wrap">
<ul class="nav__sub__items nav__sub__items--2 nav__sub__items--single o-list-bare">
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-3-1">
<a href="/collections/new-sunglasses-collection" class="nav__sub__link">Sunglasses</a>
</li>
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-3-2">
<a href="/collections/new-frames-collection" class="nav__sub__link">Frames</a>
</li>
</ul>
</div>
</div>
</li>
<li class="primary-nav__item">
<a href="/collections/kids-frames" class="primary-nav__link animsition-link">Kids</a>
</li>
<li class="primary-nav__item primary-nav__item--sub js-header-sub-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-5">
<a href="/collections/clear-contact-lenses" class="primary-nav__link animsition-link nav__link--sub js-header-sub-link-a">Contact Lens</a>
<div class="nav__sub" id="sub-5">
<div class="nav__sub-wrap">
<ul class="nav__sub__items nav__sub__items--2 o-list-bare">
<li class="nav__sub__item nav__sub__item--sub js-header-sub-t-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-5-1">
<a href="/collections/contact-lenses" class="nav__sub__link js-header-sub-t-a">Colored Lenses</a>
<div class="nav__sub-t js-nav-sub-t" id="sub-t-5-1">
<div class="nav__sub-t-wrap">
<ul class="nav__sub-t__items o-list-bare">
<li class="nav__sub-t__item">
<a href="/collections/contact-lenses" class="nav__sub-t__link">All Brands</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/daily-contact-lenses" class="nav__sub-t__link">Daily Contact Lenses</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/monthly-contact-lenses" class="nav__sub-t__link">Monthly Contact Lenses</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/adore-collection" class="nav__sub-t__link">Adore</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/bella-contact-lenses" class="nav__sub-t__link">Bella</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/celena" class="nav__sub-t__link">Celena</a>
</li>
<li class="nav__sub-t__item">
<a href="https://hvoptics.com/search?type=product%2Carticle%2Cpage&q=desio" class="nav__sub-t__link">Desio</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/dahab" class="nav__sub-t__link">Dahab</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/freshlook-collection" class="nav__sub-t__link">Freshlook</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/lazord-collection" class="nav__sub-t__link">Lazord</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/le-reve-collection" class="nav__sub-t__link">Le Reve</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/lorans-collection" class="nav__sub-t__link">Lorans</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/luminous-collection" class="nav__sub-t__link">Luminous</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/lydia-collection" class="nav__sub-t__link">Lydia</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/magic-color-collection" class="nav__sub-t__link">Magic Color</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/mylens-collection" class="nav__sub-t__link">MyLens</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/naturel-collection" class="nav__sub-t__link">Naturel</a>
</li>
</ul>
</div>
</div>
</li>
<li class="nav__sub__item nav__sub__item--sub js-header-sub-t-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-5-2">
<a href="/collections/clear-contact-lenses" class="nav__sub__link js-header-sub-t-a">Clear Lenses</a>
<div class="nav__sub-t js-nav-sub-t" id="sub-t-5-2">
<div class="nav__sub-t-wrap">
<ul class="nav__sub-t__items o-list-bare">
<li class="nav__sub-t__item">
<a href="/collections/clear-contact-lenses" class="nav__sub-t__link">All Brands</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/acuvue" class="nav__sub-t__link">Acuvue</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/bausch-lomb" class="nav__sub-t__link">Bauch + Lomb</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/coopervision" class="nav__sub-t__link">CooperVision</a>
</li>
<li class="nav__sub-t__item">
<a href="/collections/contact-lens-solution" class="nav__sub-t__link">Contact Lens Solution</a>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
</li>
<li class="primary-nav__item primary-nav__item--sub js-header-sub-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-6">
<a href="/collections/accessories" class="primary-nav__link animsition-link nav__link--sub js-header-sub-link-a">Accessories</a>
<div class="nav__sub" id="sub-6">
<div class="nav__sub-wrap">
<ul class="nav__sub__items nav__sub__items--4 nav__sub__items--single o-list-bare">
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-6-1">
<a href="/collections/accessories" class="nav__sub__link">All Accessories</a>
</li>
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-6-2">
<a href="/collections/centro-style" class="nav__sub__link">Centro Style</a>
</li>
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-6-3">
<a href="/collections/sunny-cords" class="nav__sub__link">Sunny Cords</a>
</li>
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-6-4">
<a href="/collections/contact-lens-solution" class="nav__sub__link">Contact Lens Solution</a>
</li>
</ul>
</div>
</div>
</li>
<li class="primary-nav__item primary-nav__item--sub js-header-sub-link" aria-has-popup="true" aria-expanded="false" aria-controls="sub-7">
<a href="/collections/ready-readers-1" class="primary-nav__link animsition-link nav__link--sub js-header-sub-link-a">Ready Readers</a>
<div class="nav__sub" id="sub-7">
<div class="nav__sub-wrap">
<ul class="nav__sub__items nav__sub__items--5 nav__sub__items--single o-list-bare">
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-7-1">
<a href="/collections/thin-optics" class="nav__sub__link">Thin Optics</a>
</li>
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-7-2">
<a href="/collections/slastik" class="nav__sub__link">Slastik</a>
</li>
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-7-3">
<a href="/collections/jimmy-crystal" class="nav__sub__link">Jimmy Crystal</a>
</li>
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-7-4">
<a href="/collections/quick-look" class="nav__sub__link">Quick Look</a>
</li>
<li class="nav__sub__item" aria-has-popup="true" aria-expanded="false" aria-controls="sub-t-7-5">
<a href="/collections/flexsee" class="nav__sub__link">Flexsee</a>
</li>
</ul>
</div>
</div>
</li>
<li class="primary-nav__item">
<a href="/pages/locations" class="primary-nav__link animsition-link">Locations</a>
</li>
<li class="primary-nav__item">
<a href="/pages/home-try-on" class="primary-nav__link animsition-link">Free Try On</a>
</li>
</ul>
</nav>
<nav class="secondary-nav header-navs__items js-secondary-nav">
<ul class="secondary-nav__items">
<li class="secondary-nav__item">
<a href="/account/login" class="secondary-nav__link">Log in</a>
</li>
<li class="secondary-nav__item">
<a href="/cart" class="secondary-nav__link js-cart-trigger js-no-transition">Cart (<span id="CartCount">0</span>)</a>
</li>
<li class="secondary-nav__item secondary-nav__item--search">
<a href="/search" class="secondary-nav__link secondary-nav__link--search icon-fallback js-search-trigger js-no-transition">
<i class="icon icon--search" aria-hidden="true"></i>
<span class="icon-fallback__text u-hidden-visually">Search</span>
</a>
</li>
</ul>
</nav>
</div>
</header>
<script>
var primaryNav = document.getElementsByClassName('js-primary-nav')[0];
var primaryWidth = document.getElementsByClassName('js-primary-nav')[0].offsetWidth;
var navSpace = document.getElementsByClassName('js-heaver-navs')[0].offsetWidth / 2 - document.getElementsByClassName('js-main-logo')[0].offsetWidth / 2 - 18;
if (document.getElementsByClassName('js-header')[0].classList.contains('header--left')) {
if (navSpace < primaryWidth) {
document.getElementsByClassName('js-header')[0].classList.add('header--inline-icons');
}
}
</script>
</div>
<div class="main">
<!--LayoutHub-Workspace-Start--><section class="section section--404">
<div class="404">
<div class="container container--tiny">
<div class="section__title section__title--center section__title--desc">
<h1 class="section__title-text">404 Page Not Found</h1>
<p class="section__title-desc">The page you requested does not exist.</p>
</div>
<div class="u-text-center">
<span class="emoji 404__emoji">
<i class="icon icon--confused"></i>
</span>
<p>
<a href="/" class="c-btn c-btn--primary">Continue shopping</a>
</p>
</div>
</div>
</div>
</section><!--LayoutHub-Workspace-End-->
</div>
<div id="shopify-section-footer" class="shopify-section js-section__footer"><style type="text/css">
.footer {
background-color: #222222;
}
.footer__bottom {
background-color: #151515;
}
.section--footer .newsletter {
background-color: #f0f0f0;
}
</style>
<section class="section section--footer">
<div class="container">
<div class="newsletter newsletter--default">
<div class="newsletter__content">
<div class="newsletter__title section__title section__title--center section__title--desc">
<h2 class="section__title-text">Newsletter</h2>
<div class="section__title-desc rte"><p>Latest and greatest eyewear collection at your fingertips</p></div>
</div>
<div class="newsletter__form-wrapper">
<form method="post" action="/contact#newsletter" id="newsletter" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
<div class="o-layout o-layout--flush">
<div class="o-layout__item u-1/1 u-2/3@tab">
<input type="hidden" name="contact[tags]" value="newsletter">
<label for="Email" class="u-hidden-visually">Email</label>
<input type="email"
name="contact[email]"
id="Email"
class="newsletter__input"
value=""
placeholder="email@example.com"
autocorrect="off"
autocapitalize="off">
</div>
<div class="o-layout__item u-1/1 u-1/3@tab">
<button type="submit" class="c-btn c-btn--full c-btn--primary c-btn--arrow newsletter__btn" name="commit" id="Subscribe">Subscribe</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</section>
<footer role="contentinfo" id="footer" class="footer footer--light">
<div class="container">
<div class="footer__content">
<div class="o-layout">
<div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk">
<div class="footer-nav">
<h4 class="footer-nav__title h5">HV links</h4>
<ul class="footer-nav__items o-list-bare">
<li class="footer-nav__item"><a href="https://hvoptics.com/pages/our-story" class="footer-nav__link">About us</a></li>
<li class="footer-nav__item"><a href="/pages/career-opportunities" class="footer-nav__link">Careers</a></li>
<li class="footer-nav__item"><a href="/pages/locations" class="footer-nav__link">Locations</a></li>
<li class="footer-nav__item"><a href="/pages/home-try-on" class="footer-nav__link">Free Home Try-On</a></li>
<li class="footer-nav__item"><a href="/pages/terms-and-condition" class="footer-nav__link">Terms & Conditions</a></li>
<li class="footer-nav__item"><a href="/pages/contact-us" class="footer-nav__link">Contact Us</a></li>
<li class="footer-nav__item"><a href="/policies/terms-of-service" class="footer-nav__link">Terms of Service</a></li>
<li class="footer-nav__item"><a href="/pages/payment-and-refund-policy" class="footer-nav__link">Payment and Refund policy</a></li>
<li class="footer-nav__item"><a href="/policies/refund-policy" class="footer-nav__link">Refund policy</a></li>
</ul>
</div>
</div>
<div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk">
<div class="footer-nav">
<h4 class="footer-nav__title h5">Top brands</h4>
<ul class="footer-nav__items o-list-bare">
<li class="footer-nav__item"><a href="/collections/carrera" class="footer-nav__link">Carrera</a></li>
<li class="footer-nav__item"><a href="/collections/love-moschino-sunglasses" class="footer-nav__link">Love Moschino</a></li>
<li class="footer-nav__item"><a href="/collections/tommy-hilfiger-sunglasses" class="footer-nav__link">Tommy Hilfiger</a></li>
<li class="footer-nav__item"><a href="/collections/kate-spade-sunglasses" class="footer-nav__link">Kate Spade</a></li>
<li class="footer-nav__item"><a href="/collections/smith-sunglasses" class="footer-nav__link">SMITH</a></li>
</ul>
</div>
</div>
<div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk">
<div class="footer-nav">
<h4 class="footer-nav__title h5">community</h4>
<div class="footer-nav__social-wrapper">
<ul class="footer-nav__social-items o-list-bare">
<li class="footer-nav__social-item">
<a href="https://www.facebook.com/hvoptics" class="footer-nav__social-link icon-fallback" target="_blank">
<i class="icon icon--facebook" aria-hidden="true"></i>
<span class="icon-fallback__text">Facebook</span>
</a>
</li>
<li class="footer-nav__social-item">
<a href="https://www.instagram.com/hvoptics" class="footer-nav__social-link icon-fallback" target="_blank">
<i class="icon icon--instagram" aria-hidden="true"></i>
<span class="icon-fallback__text">Instagram</span>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk">
<div class="footer-nav">
<h4 class="footer-nav__title h5">Contact</h4>
<div class="footer-nav__text rte">
<p><a href="/pages/career-opportunities" title="Career Opportunities">Join</a> the Happy Vision team</p><p></p><p>Let us know any <a href="/pages/contact-us" title="Contact us">questions or concerns </a></p>
</div>
</div>
</div>
</div>
<div class="footer-copyright">
<p class="footer-copyright__text">
<span class="footer-copyright__span footer-copyright__span--shop">© 2024, Happy Vision</span>
</p>
</div>
</div>
</div>
<div class="footer__bottom">
<div class="container">
<div class="footer__icons footer__bottom-item">
</div>
</div>
</div>
</footer>
</div>
<div id="shopify-section-promo-pop" class="shopify-section js-section__promo-pop">
<div class="promo-pop js-promo-pop promo-pop--disabled promo-pop--no-mobile" data-promo-enabled="false" data-promo-delay="10000" data-promo-expiry="30">
<a href="#" class="promo-pop__close js-promo-pop-close icon-fallback">
<i class="icon icon--close" aria-hidden="true"></i>
<span class="icon-fallback__text">Close (esc)</span>
</a>
<div class="promo-pop__wrapper">
<div class="promo-pop__content">
<div class="section__title promo-pop__title">
<h4 class="section__title-text">join the family</h4>
</div>
<div class="promo-pop__desc rte"><p>Enter our exclusive group and get special discounts and news on the latest eyewear brand.</p></div>
<div class="promo-pop__form">
<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
<div class="promo-pop__fieldset">
<input type="hidden" name="contact[tags]" value="newsletter">
<input type="email"
name="contact[email]"
id="Email"
class="promo-pop__fieldset-item promo-pop__input"
value=""
placeholder="email@example.com"
autocorrect="off"
autocapitalize="off">
<button type="submit" class="c-btn c-btn--primary c-btn--arrow promo-pop__fieldset-item promo-pop__btn" name="commit" id="Subscribe">Subscribe</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div id="shopify-section-age-checker" class="shopify-section js-section__age-checker"><div class="age-checker js-age-draw mfp-hide" data-age-check-enabled="false">
<div class="age-checker__wrapper">
<div class="age-checker__content">
<div class="section__title section__title--center age-checker__title">
<h3 class="section__title-text">Age verification</h3>
</div>
<div class="age-checker__desc"><p>By clicking enter you are verifying that you are old enough to consume alcohol.</p></div>
<div class="age-checker__actions">
<a href="#" class="age-checker__btn c-btn c-btn--primary c-btn--full js-age-close">Enter</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="search-draw js-search-draw mfp-hide">
<div class="search-draw__wrapper">
<div class="search__head">
<div class="search__label">
<h3 class="search__label-title">Search</h3>
</div>
</div>
<div class="search__inner">
<form action="/search" method="get" class="search__form" role="search">
<input type="hidden" name="type" value="product,article,page">
<input type="search" name="q" class="search__form-input js-search-input" value="" placeholder="Search our store..." aria-label="Search our store...">
<button type="submit" class="search__form-submit">
<i class="icon icon--search" aria-hidden="true"></i>
<span class="icon-fallback__text">Search</span>
</button>
</form>
<div class="search__nav">
<h4 class="search__nav-title h5">Main menu</h4>
<ul class="search__nav-items o-list-bare">
<li class="search__nav-item">
<a href="/" class="search__nav-link">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="ajaxcart-draw js-cart-draw mfp-hide">
<div class="ajaxcart-draw__wrapper js-cart-draw-inner">
<div class="ajaxcart-draw__scroll">
<div class="ajaxcart__head">
<div class="ajaxcart__label">
<h3 class="ajaxcart__label-title">Shopping Cart</h3>
</div>
</div>
<div id="CartContainer"></div>
<div id="EmptyCart">
<div class="ajaxcart-empty">
<h5 class="ajaxcart-empty__title">Your cart is currently empty.</h5>
<span class="emoji ajaxcart-empty__emoji">
<i class="icon icon--sad"></i>
</span>
<a href="/collections/all" class="c-btn c-btn--primary c-btn--full">Shop now</a>
</div>
</div>
</div>
</div>
</div>
<script id="CartTemplate" type="text/template">
<form action="/cart" method="post" novalidate class="cart ajaxcart__form">
<div class="ajaxcart__inner">
<div class="ajaxcart__products">
{{#items}}
<div class="ajaxcart__product">
<div class="ajaxcart__row" data-line="{{line}}">
<div class="o-layout o-layout--tiny u-flex u-flex--middle">
<div class="o-layout__item u-1/1 u-5/10@tab">
<div class="o-layout o-layout--tiny u-flex u-flex--middle">
<div class="o-layout__item u-1/3 u-1/4@tab">
<a href="{{url}}" class="ajaxcart__product-image">
<div class="o-ratio o-ratio--bg-grey">
<img src="{{img}}" class="o-ratio__content" alt="{{name}}">
</div>
</a>
</div>
<div class="o-layout__item u-2/3 u-3/4@tab">
<a href="{{url}}"><h3 class="ajaxcart__product-name">{{name}}</h3></a>
{{#if variation}}
<p class="ajaxcart__product-meta">{{variation}}</p>
{{/if}}
{{#properties}}
{{#each this}}
{{#if this}}
<p class="ajaxcart__product-meta">{{@key}}: {{this}}</p>
{{/if}}
{{/each}}
{{/properties}}
</div>
</div>
</div>
<div class="o-layout__item u-4/10 u-2/10@tab">
<div class="ajaxcart__qty">
<button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
<span aria-hidden="true">−</span>
<span class="u-hidden-visually">Reduce item quantity by one</span>
</button>
<input type="text" name="updates[]" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*">
<button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
<span aria-hidden="true">+</span>
<span class="u-hidden-visually">Increase item quantity by one</span>
</button>
</div>
</div>
<div class="o-layout__item u-6/10 u-3/10@tab">
{{#if lineDiscount}}
<div class="ajaxcart-item__price ajaxcart-item__price--original"><s><span class="money">{{{originalLinePrice}}}</span></s></div>
<div class="ajaxcart-item__discount">
{{#each lineDiscounts}}
<p class="ajaxcart-item__discount-text">
{{ this.discount_application.title }} (-<span class="money">{{{ this.amount }}}</span>)
</p>
{{/each}}
</div>
<div class="ajaxcart-item__price ajaxcart-item__price--sale"><span class="money">{{{lineDiscountedPrice}}}</span></div>
{{else}}
<div class="ajaxcart-item__price"><span class="money">{{{linePrice}}}</span></div>
{{/if}}
</div>
</div>
</div>
</div>
{{/items}}
</div>
</div>
<div class="ajaxcart__footer">
<div class="o-layout o-layout--tiny o-layout--reverse">
<div class="o-layout__item u-1/1 u-1/3@tab">
{{#if cartDiscounts}}
{{#each cartDiscounts}}
<p class="ajaxcart__footer-discount">{{ this.title }} (-<span class="money">{{ this.total_allocated_amount }}</span>)</p>
{{/each}}
{{/if}}
<p class="ajaxcart__footer-total">Subtotal <span class="money">{{{totalPrice}}}</span></p>
</div>
<div class="o-layout__item u-1/1 u-2/3@tab">
<p class="ajaxcart__footer-message">Shipping & taxes calculated at checkout</p>
</div>
<div>
<sympl-widget productprice="0" storecode="STR-767"></sympl-widget>
</div>
</div>
</div>
<div class="ajaxcart__button">
<div class="o-layout o-layout--tiny o-layout--reverse">
<div class="o-layout__item u-1/1 u-1/2@tab">
<button type="submit" class="c-btn c-btn--full c-btn--primary c-btn--arrow ajaxcart__checkout" name="checkout">Check Out</button>
</div>
<div class="o-layout__item u-1/1 u-1/2@tab">
<a href="#" class="c-btn c-btn--full c-btn--light js-close-mfp ajaxcart__continue">Continue shopping</a>
</div>
</div>
</div>
</form>
</script>
<script id="AjaxQty" type="text/template">
<div class="ajaxcart__qty">
<button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
<span aria-hidden="true">−</span>
<span class="u-hidden-visually">Reduce item quantity by one</span>
</button>
<input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
<button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
<span aria-hidden="true">+</span>
<span class="u-hidden-visually">Increase item quantity by one</span>
</button>
</div>
</script>
<script id="JsQty" type="text/template">
<div class="js-qty">
<button type="button" class="js-qty__adjust js-qty__adjust--minus icon-fallback-text" data-id="{{key}}" data-qty="{{itemMinus}}">
<span aria-hidden="true">−</span>
<span class="u-hidden-visually">Reduce item quantity by one</span>
</button>
<input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
<button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
<span aria-hidden="true">+</span>
<span class="u-hidden-visually">Increase item quantity by one</span>
</button>
</div>
</script>
<script>
//cart functions
theme.ajaxCartInit = function() {
ajaxCart.init({
cartContainer: '#CartContainer',
cartCountSelector: '#CartCount',
cartCostSelector: '#CartCost',
emptySelector: '#EmptyCart',
triggerSelector: '.js-cart-trigger',
formSelector: '.js-product-form',
addToCartSelector: '.js-product-add',
moneyFormat: "LE {{amount_no_decimals}}"
});
};
</script>
<!-- Venue theme by Safe As Milk - http://safeasmilk.co/ -->
<!-- Theme version 4.6.1 -->
<script data-src="//hvoptics.com/cdn/shop/t/67/assets/booster.js?v=179466491330069451031709626670" defer></script>
<script type="text/javascript">
//Isolate script scope
(function (){
window.baMsg = {
"remote_id": "35835936906",
"shopify_domain": "happyvision.myshopify.com",
"fb_page_id": "496683527084278",
"locale": "en_US",
"app_id": 369783430202516,
"use_stm_callback": "",
"user_ref": 'ba_35835936906_' + Math.random().toString(36).substring(5) + '_' + Math.floor(Math.random() * (9999999 - 1000000)),
"atc_preference": "push",
"active_fb_atc_shown": false,
"active_sms_atc_shown": false,
"active_email_atc_shown": false,
"app_url": "/apps/ba_fb_app",
"page_url": window.location.href,
"is_preview": (window.location.href.indexOf("ba-preview") != -1),
"is_generating": (window.location.href.indexOf("ba_action=generate") != -1),
"fb_active": true,
"sms_active": false,
"email_active": false,
"push_active": false,
"bis_active": false,
"ab_active": false
};
baMsg.debug = function (enabled) {
if (enabled === false) {
baMet.destroyCookie("baMsg_debug");
} else {
baMet.setCookie("baMsg_debug", "t", 365 * 24 * 60);
}
return true;
};
baMsg.log = function(message){
if (baMet.getCookie("baMsg_debug")) {
window.console.log(message);
}
}
function isMobile() {
return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
}
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, '\\$&');
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
function getUrlParam(paramName) {
var params = {};
window.location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(str,key,value) {
params[key] = value;
});
return params[paramName];
}
function hasFlag(flag){
return window.baMsg.settings.flags[flag] == true
}
function getAtcButton(){
var addToCartBtn = document.querySelector('[name=add]');
if (!addToCartBtn || addToCartBtn.length === 0){
addToCartBtn = document.getElementsByClassName("btn-addtocart")[0];
}
if (!addToCartBtn || addToCartBtn.length === 0){
addToCartBtn = document.getElementsByClassName("button-cart")[0];
}
if (!addToCartBtn || addToCartBtn.length === 0){
addToCartBtn = document.getElementsByClassName("product-add")[0];
}
if (!addToCartBtn || addToCartBtn.length === 0){
addToCartBtn = document.getElementsByClassName("add-to-cart")[0] !== undefined ? document.getElementsByClassName("add-to-cart")[0].getElementsByTagName('input')[0] : null;
}
return addToCartBtn;
}
function canDisplayByDevice(devices) {
if (devices !== 'all') {
var isMobile = (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
if (devices === 'desktop' && isMobile){ return false;}
if (devices === 'mobile' && !isMobile){ return false;}
}
return true;
}
function getProductForm() {
var form = document.getElementById('add-item-form');
if (!form || form.length === 0){
form = document.getElementsByClassName("product-form")[1];
}
if (!form || form.length === 0){
form = document.querySelector("form[action='/cart/add']");
}
if (!form || form.length === 0){
form = document.querySelector("form[action^='/cart/add']");
}
if (!form || form.length === 0){
form = document.querySelector("form[action$='/cart/add']");
}
if (!form || form.length === 0){
form = document.querySelector("form[action='/cart/add.js']");
}
if (!form || form.length === 0){
form = document.querySelector("form[action='/cart/add?return=/']");
}
if (!form || form.length === 0){
form = document.getElementsByClassName("product-form")[0];
}
if (!form || form.length === 0){
form = document.getElementsByClassName("btn-addtocart")[0];
}
return form
}
function canDisplayByRules(rules) {
var pageURL = window.location.href;
var url = new URL(pageURL);
var pathname = (url.pathname.length === 1) ? '' : url.pathname.length;
var urlWOParams = url.origin + pathname;
var canDisplay = rules.length === 0;
for (var i = 0; i < rules.length; i++) {
var rule = rules[i];
if (rule.rule === 'match') {
if (rule.operator === 'true') {
if (rule.string === pageURL || rule.string === urlWOParams) {
canDisplay = true;
}
} else if (rule.string === pageURL || rule.string === urlWOParams) {
canDisplay = false;
break;
}
}
if (rule.rule === 'begin_with') {
var stringLength = rule.string.length;
if (rule.operator === 'true') {
if (rule.string === pageURL.substr(0, stringLength) || rule.string === urlWOParams.substr(0, stringLength)) {
canDisplay = true;
}
} else if (rule.string === pageURL.substr(0, stringLength) || rule.string === urlWOParams.substr(0, stringLength)) {
canDisplay = false;
break;
}
}
if (rule.rule === 'contains') {
if (rule.operator === 'true') {
if (pageURL.indexOf(rule.string) !== -1 || urlWOParams.indexOf(rule.string) !== -1) {
canDisplay = true;
}
} else if (pageURL.indexOf(rule.string) !== -1 || urlWOParams.indexOf(rule.string) !== -1) {
canDisplay = false;
break;
}
}
}
return canDisplay;
}
function handleAtcClick(event){
var subscriberHash = window.baMsg.subscriber_hash;
var atcPref = window.baMsg.atc_preference;
if (atcPref == 'fb'){
window.baMsg.showFbAtcModal(event);
} else if (atcPref == 'sms'){
window.baMsg.showSmsAtcModal(event);
} else if (atcPref == 'email'){
window.baMsg.showEmailAtcModal(event);
}
}
function listentoAtc(){
window.baMet.onBaEv("click", ".product-form__cart-submit, .product-form__cart-submit span, #AddToCart-product-template, .product-atc-btn, .product-menu-button.product-menu-button-atc, .button-cart, .product-add, .add-to-cart input, .btn-addtocart, [name=add]", function (e){
try {
baMsg.log(e)
var addToCartBtn = (e.target);
window.baMsg.active_atc = addToCartBtn;
addToCartBtn.classList.add('ba-click-ready');
if (window.baMsg.fb_active && window.baMsg.fb_page_id || window.baMsg.sms_active || window.baMsg.email_active){
handleAtcClick(e)
}
} catch(err){
console.log(err);
}
});
}
function updateSubscriberHash(updateHash){
var updatedSubscriberHash = window.baMsg.subscriber_hash;
for (var prop in updateHash) {
updatedSubscriberHash[prop] = updateHash[prop];
}
var subscriberKey = "ba_msg_subscriber_" + baMet.getVisitorToken();
localStorage.setItem(subscriberKey, JSON.stringify(updatedSubscriberHash));
window.BoosterApps.can_update_cart = true;
}
function applyMet(metName){
eventHash = {}
//baMet.apply(metName, eventHash, "ba_msg");
}
function getCartSessionId(){
return baMet.getCookie("baMet_cs_id");
}
function isHidden(el) {
return (el.offsetParent === null)
}
function documentReady(callback) {
document.readyState === "interactive" || document.readyState === "complete" ? callback() : document.addEventListener("DOMContentLoaded", callback);
}
documentReady(function() {
var baFbPresent = (document.getElementsByTagName('head')[0].innerHTML.search("ba_fb_" + window.baMsg.remote_id) > 0);
if (!baFbPresent){return;}
var bisScriptPresent = (document.getElementsByTagName('head')[0].innerHTML.search("bis_" + window.baMsg.remote_id) > 0);
window.baMsg.ba_fb_script_present = baFbPresent;
window.baMsg.bis_script_present = bisScriptPresent;
window.baMsg.visitor_token = window.baMet.getVisitorToken();
window.baMsg.session_token = window.baMet.getVisitToken();
window.baMsg.cart_uid = baMet.getCookie('baMet_cs_id');
window.baMsg.browser_info = window.baMet.getBrowserInfo();
var baSubscriberKey = "ba_msg_subscriber_" + window.baMsg.visitor_token;
var rawSubscriber = localStorage.getItem(baSubscriberKey);
var baSubscriberHash = JSON.parse(rawSubscriber || "{}");
window.baMsg.subscriber_hash = baSubscriberHash;
if (rawSubscriber){
window.BoosterApps.can_update_cart = true;
} else {
window.BoosterApps.can_update_cart = false;
}
var baId = window.baMet.getCookie("baid");
var ba_fb_opted_in_cookie = window.baMet.getCookie("ba_opted_in");
if (window.BoosterApps.common.customer && !window.baMsg.subscriber_hash.customer_synced_at){
var data = {
action_type: 'sync_customer', visitor_token: window.baMsg.visitor_token,
sync_data: window.BoosterApps.common.customer
}
baMet.sendRequest(window.baMsg.app_url, data, function(resp) {
baMsg.log('sub sync updated')
rightNow = parseInt(new Date().getTime());
updateSubscriberHash({customer_synced_at: rightNow, cus_id: window.BoosterApps.common.customer.id, cus_email: window.BoosterApps.common.customer.email});
});
}
//update last seen at if subscriber active
if (window.baMsg.subscriber_hash.ba_fb_opted_in && window.baMsg.ab_active && window.baMsg.cart_uid && !window.baMsg.handle_legacy){
var data = {"action_type": 'heartbeat', visitor_token: window.baMsg.visitor_token, "cart_uid": window.baMsg.cart_uid}
baMet.sendRequest(window.baMsg.app_url, data, function(resp) {
baMsg.log('heartbeat recorded')
});
}
if (window.baMsg.is_generating == true){
var cartUid = getParameterByName('cart_uid');
var baId = getParameterByName('baid');
if (cartUid || baId){
var abStep = getParameterByName('ab_step');
var baCheckoutUrl = getParameterByName('ba_checkout_url');
var baChannel = getParameterByName('channel');
var overlayWrapper = document.createElement('div');
overlayWrapper.id = 'ba-overlay';
overlayWrapper.setAttribute('style', 'position: fixed;display: block;width: 100%;height: 100%;top: 0;left: 0;right: 0;bottom: 0;background-color: rgba(0,0,0,0.8);z-index: 9999999999999;cursor: pointer;');
var overlayTextDiv = document.createElement('div');
overlayTextDiv.innerHTML = "Please wait... Generating cart";
overlayTextDiv.setAttribute('style', 'position: absolute;top: 50%;left: 50%;font-size: 22px;color: white;transform: translate(-50%,-50%);-ms-transform: translate(-50%,-50%);');
overlayWrapper.appendChild(overlayTextDiv);
document.getElementsByTagName('body')[0].appendChild(overlayWrapper);
//get the cart
var data = {"action_type": 'generate_cart', "ab_step": + abStep,
"cart_uid": window.baMsg.cart_uid, "baid": baId, "channel": baChannel
}
baMet.sendRequest(window.baMsg.app_url, data, function(resp) {
var baCheckoutStr = baCheckoutUrl + "?attributes[from]=Booster%20Apps%20Abandoned%20Cart%20Notification";
if (resp.code){
var baCheckoutStr = baCheckoutStr + "&discount=" + resp.code;
}
window.location = baCheckoutStr;
});
return;
}
}
window.baMsg.settings = {
fb_base: {
"shop_id":35835936906,
"active": 0,
"visible":1,
"type":"discount",
"text":"Get 10% discount",
"checked_text": "Your discount: %discountCode",
"placement": "under_cart",
"text_placement": "above",
"background_color": "#fff",
"icon_background_color": "#f7f7f7",
"color": "#000",
"checked_color": "#000",
"border_color":"#e5e5e5",
"font_size":14,
"font_style":"normal",
"margin_top":15,
"margin_bottom":10,
"icon":"discount_1",
"checked_icon":"check_1",
"border_width":1,
"border_style":"solid",
"border_radius":5,
"align":"left",
"button_text":"Get Discount Code",
"button_background_color":"#F6F6F6",
"button_text_color":"#555555",
"button_font_size":14,
"button_font_style":"bold",
"button_border_color":"#eee",
"button_border_width":1,
"button_border_radius":5,
"discount_code":"<PUT YOUR DISCOUNT CODE HERE>",
"subtitle": ""
},
fb_modal: {
"shop_id":35835936906,
"active":0,
"title":"Hi! Opt-in and recieve a discount!",
"subtitle":"Just click on "Send To Messenger" and you will automatically be opted-in!",
"submitted_title":"Thanks for opt-ing in!",
"submitted_subtitle":"Your discount code is: %discountCode!'",
"button_text":"View in Messenger",
"send_color":"blue",
"send_size":"large",
"background_color":"#fff",
"title_color":"#000",
"subtitle_color":"#808080",
"button_color":"#fff",
"button_text_color":"#000",
"border_color":"#eee",
"display":"immediately",
"delay":3,
"devices":"all",
"message":"Hi! Thanks for opt-ing in. Your discount code is: %discountCode! Enjoy!",
"image_name":"",
"submitted_image_name":"",
"image_placement":"above_title",
"submitted_image_placement":"above_title",
"discount_code":"DISCOUNT_CODE_HERE",
"rules": JSON.parse('[] ')
},
fb_atc_popup: {
"shop_id":35835936906,
"active":1,
"title":"Join us on Messenger",
"paragraph":"Sign up and gain access to new products, exclusive deals, and discounts before anybody else!",
"no_thanks_text":"No thanks",
"close_button":"1",
"plugin_type":"send_to_messenger",
"button_cta":"SEND_TO_MESSENGER",
"button_cta_color":"blue",
"header_bg_color":"#f4f6f8",
"body_bg_color":"#fff",
"header_text_color":"#626974",
"paragraph_text_color":"#626974",
"no_thanks_text_color":"#626974"
}
}
function boosterFBLoader(){
this.load = function () {
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)){return;}
js = d.createElement(s);
js.id = id;
// js.src = "https://connect.facebook.net/" + locale + "/sdk.js";
js.src = "https://connect.facebook.net/" + window.baMsg.locale + "/sdk/xfbml.customerchat.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.fbLoaded = (new Deferred());
window.fbAsyncInit = function () {
initFb();
window.fbScriptHasLoaded = true;
};
setTimeout(function () {
if (!window.fbScriptHasLoaded) {
if (typeof FB === 'undefined') {
setTimeout(function () {
initFb();
}, 2000);
} else {
initFb();
}
}
}, 3000);
};
function initFb() {
FB.init({
appId: window.baMsg.app_id,
autoLogAppEvents: true,
xfbml: true,
version: 'v3.0'
});
window.fbLoaded.resolve();
}
function Deferred() {
var self = this;
this.promise = new Promise(function (resolve, reject) {
self.reject = reject;
self.resolve = resolve;
});
}
this.loadChat = function (chatSettings) {
var isChatInPreview = (document.location.search.indexOf("ba-chat-preview") != -1)
if (chatSettings.active || isChatInPreview) {
window.fbLoaded.promise.then(function(){
var chatBox = document.createElement('div');
chatBox.classList = 'fb-customerchat';
chatBox.setAttribute('page_id', window.baMsg.fb_page_id);
chatBox.setAttribute('greeting_dialog_display', chatSettings.minimized ? 'hide' : 'show');
chatBox.setAttribute('theme_color', chatSettings.theme_color);
var dataRef = 'CUSTOMER_CHAT_PLUGIN:customer_chat_plugin:';
if (window.baMsg.visitor_token !== ''){
dataRef += window.baMsg.visitor_token;
}
chatBox.setAttribute('ref', dataRef);
if (chatSettings.logged_in_greeting !== null){chatBox.setAttribute('logged_in_greeting', chatSettings.logged_in_greeting);}
if (chatSettings.logged_out_greeting !== null){chatBox.setAttribute('logged_out_greeting', chatSettings.logged_out_greeting);}
document.body.appendChild(chatBox);
});
}
};
return this;
}
function hideFbOptIns(element){
if (element == 'atc_popup'){
document.getElementById('fb-messenger-checkbox').setAttribute('style', 'display:none;');
}
}
function trackFbOptIn(cartData, element){
var parsedCartData = JSON.parse(cartData);
var data = {
channel: 'fb',
element: element,
visitor_token: window.baMsg.visitor_token,
fb_pid: window.baMsg.fb_page_id,
cart_data: parsedCartData,
action_type: 'track_opt_in',
user_ref: window.baMsg.user_ref,
cart_uid: window.baMsg.cart_uid,
tz_offset: window.baMsg.browser_info.tz_offset,
os: window.baMsg.browser_info.os,
browser: window.baMsg.browser_info.browser
};
baMet.sendRequest(window.baMsg.app_url, data, function(){
baMsg.log(data);
hideFbOptIns(element);
});
}
function boosterFbCheckboxes() {
var self = this;
this.alignWraper = function(wrapperElement,align) {
//Default value is center
wrapperElement.style.marginRight = 'auto';
wrapperElement.style.marginLeft = 'auto';
if (align === 'left') {
wrapperElement.style.marginLeft = '0px';
}
if (align === 'right') {
wrapperElement.style.marginRight = '0px';
}
}
this.generate = function(settings){
if (window.baMsg.page_url.indexOf('products') !== -1) {
if (!window.baMsg.is_preview){
if (!settings.active){return;}
if (window.baMsg.subscriber_hash.ba_fbchk_opted_in){return;}
if (window.baMsg.subscriber_hash.ba_fb_opted_in){return;}
}
var form = getProductForm();
if (!form || form.length === 0 || (window.baMsg.subscriber_hash.ba_fbchk_opted_in && !window.baMsg.is_preview)){
return;
}
var addToCartBtn = getAtcButton();
var messengerWrapper = document.createElement('div');
messengerWrapper.classList.add('ba-fbchk-wrapper');
messengerWrapper.setAttribute('style', 'display:block;clear:both;min-width:270px;height:1px;');
messengerWrapper.style.color = settings.color;
messengerWrapper.style.fontSize = settings.font_size + 'px';
messengerWrapper.style.marginTop = settings.margin_top + 'px';
messengerWrapper.style.marginBottom = settings.margin_bottom + 'px';
messengerWrapper.style.opacity = '0';
if (settings.font_style === 'italic-bold') {
messengerWrapper.style.fontWeight = 'bold';
messengerWrapper.style.fontStyle = 'italic'
} else {
messengerWrapper.style.fontWeight = settings.font_style;
messengerWrapper.style.fontStyle = settings.font_style
}
var discountBox = document.createElement('div');
discountBox.classList.add('ba-discount-box');
discountBox.setAttribute('style', 'position:relative;height:76px;max-width:350px;min-width:270px;overflow:hidden;');
discountBox.style.boxShadow = '0 0 0 ' + settings.border_width + 'px ' + settings.border_color;
discountBox.style.borderRadius = settings.border_radius + 'px';
var cartBtn = addToCartBtn ? addToCartBtn : form.getElementsByTagName('button')[0];
var selects = form.getElementsByTagName('select');
//Cart width is smaller than 351
if (cartBtn.offsetWidth > 0 && cartBtn.offsetWidth < 351 && (selects.length === 0 || selects[0].offsetParent === null)) {
messengerWrapper.style.maxWidth = cartBtn.offsetWidth + 'px';
discountBox.style.maxWidth = cartBtn.offsetWidth + 'px';
} else {
messengerWrapper.style.maxWidth = '350px';
discountBox.style.maxWidth = '350px'
}
this.alignWraper(messengerWrapper,settings.align)
var iconDiv = document.createElement('div');
iconDiv.setAttribute('style', 'position:absolute;left:0;width:25%;padding:13px 0;height:100%;text-align:center;');
iconDiv.style.backgroundColor = settings.icon_background_color;
iconDiv.style.borderTopLeftRadius = settings.border_radius + 'px';
iconDiv.style.borderBottomLeftRadius = settings.border_radius + 'px';
var iconImg = document.createElement('img');
iconImg.src = 'https://cdn.shopify.com/s/files/1/0194/1736/6592/t/1/assets/' + settings.icon + '.png?4295918388649998166';
iconImg.style.height = '48px';
iconDiv.appendChild(iconImg);
var checkboxWrapper = document.createElement('div');
checkboxWrapper.setAttribute('style', 'position:absolute;left:0;height:100%;margin-left:25%;width:75%;display:table;');
checkboxWrapper.style.borderLeft = settings.border_width + 'px dashed ' + settings.border_color;
checkboxWrapper.style.backgroundColor = settings.background_color;
var messengerDiv = document.createElement('div');
messengerDiv.classList = 'fb-messenger-checkbox';
messengerWrapper.id = 'fb-messenger-checkbox';
messengerDiv.setAttribute('style', 'display:inline-block!important;position:relative!important;max-width:180px;overflow:hidden;margin-top:3px;margin-left:15px;');
messengerDiv.setAttribute('origin', 'https://hvoptics.com');
messengerDiv.setAttribute('page_id', window.baMsg.fb_page_id);
messengerDiv.setAttribute('messenger_app_id', window.baMsg.app_id);
messengerDiv.setAttribute('user_ref', window.baMsg.user_ref);
messengerDiv.setAttribute('prechecked', !0);
messengerDiv.setAttribute('allow_login', !0);
messengerDiv.setAttribute('size', 'large');
checkboxWrapper.appendChild(messengerDiv);
discountBox.appendChild(iconDiv);
discountBox.appendChild(checkboxWrapper);
var optInButton = document.createElement('div');
optInButton.classList.add('ba-opt-in-confirm');
optInButton.setAttribute('style', 'margin-top:10px;width:100%;border:none;min-width:250px;cursor:pointer;text-align:center;padding:3px');
optInButton.style.boxShadow = '0 0 0 ' + settings.button_border_width + 'px ' + settings.button_border_color;
optInButton.style.borderRadius = settings.button_border_radius + 'px';
optInButton.style.backgroundColor = settings.button_background_color;
optInButton.style.fontWeight = settings.button_font_style;
optInButton.style.fontStyle = settings.button_font_style;
optInButton.style.color = settings.button_text_color;
optInButton.innerHTML = settings.button_text;
optInButton.addEventListener('click', function() {
shakeBox(discountBox)
}, !1);
var baTitle = document.createElement('div');
baTitle.classList = 'ba-title';
baTitle.setAttribute('style', 'max-width:350px;min-width:250px;display:block;text-align:center;');
baTitle.innerHTML = settings.text;
var subtitle = document.createElement('div');
subtitle.classList = 'ba-subtitle';
subtitle.setAttribute('style', 'max-width:350px;min-width:250px;display:block;text-align:center;');
subtitle.innerHTML = settings.subtitle;
subtitle.style.fontSize = (settings.font_size - 2) + 'px';
if (settings.text_placement === 'above') {
baTitle.style.marginBottom = '11px';
subtitle.style.marginBottom = '11px';
messengerWrapper.appendChild(baTitle);
if (settings.subtitle !== '' && settings.subtitle !== null && settings.subtitle.length > 0) {
baTitle.style.marginBottom = '5px';
messengerWrapper.appendChild(subtitle)
}
messengerWrapper.appendChild(discountBox);
messengerWrapper.appendChild(optInButton)
} else {
messengerWrapper.appendChild(discountBox);
messengerWrapper.appendChild(optInButton);
messengerWrapper.appendChild(baTitle);
baTitle.style.marginTop = '11px';
messengerWrapper.appendChild(baTitle);
if (settings.subtitle !== '' && settings.subtitle !== null && settings.subtitle.length > 0) {
subtitle.style.marginTop = '5px';
messengerWrapper.appendChild(subtitle)
}
}
window.fbLoaded.promise.then(function(){
if (settings.placement === 'custom') {
var checkbox = document.getElementsByClassName('ba-checkbox');
if (checkbox.length > 0) {
checkbox = checkbox[0];
checkbox.appendChild(messengerWrapper)
}
} else{
form.parentNode.insertBefore(messengerWrapper, settings.placement === 'under_cart' ? form.nextSibling : form);
}
FB.Event.subscribe('xfbml.render', function(e) {
baMsg.log('rendered')
messengerWrapper.style.opacity = '1';
messengerWrapper.style.height = 'inherit';
applyMet('fb_chk_view');
});
FB.Event.subscribe('messenger_checkbox', function(e) {
if (e.event === 'checkbox') {
if (e.state === 'checked') {
var optInButton = document.getElementsByClassName('ba-opt-in-confirm')[0];
var optInButtonClone = optInButton.cloneNode(!0);
optInButton.parentNode.replaceChild(optInButtonClone, optInButton);
optInButtonClone.addEventListener('click', function(){
confirmFbChkOptIn('discount', !0);
messengerWrapper.style.opacity = 0;
if (settings.checked_text.length > 0) {
setTimeout(function() {
iconImg.src = 'https://cdn.shopify.com/s/files/1/0194/1736/6592/t/1/assets/' + settings.checked_icon + '.png?4295918388649998166';
document.getElementsByClassName('ba-title')[0].style.display = 'none';
messengerDiv.style.display = 'none';
optInButtonClone.style.display = 'none';
var checkedDiv = document.createElement('div');
checkedDiv.setAttribute('style', 'padding-left: 10px;display:table-cell;vertical-align:middle;');
checkedDiv.style.color = settings.checked_color;
checkedDiv.innerHTML = settings.discount_code === null ? settings.checked_text : settings.checked_text.replace('%discountCode', settings.discount_code);
var checkedButton = document.createElement('div');
checkedButton.setAttribute('style', 'margin-top:10px;width:100%;border:none;min-width:250px;cursor:pointer;text-align:center;padding:3px');
checkedButton.style.boxShadow = '0 0 0 ' + settings.button_border_width + 'px ' + settings.button_border_color;
checkedButton.style.borderRadius = settings.button_border_radius + 'px';
checkedButton.style.backgroundColor = settings.button_background_color;
checkedButton.style.fontWeight = settings.button_font_style;
checkedButton.style.fontStyle = settings.button_font_style;
checkedButton.style.color = settings.button_text_color;
checkedButton.innerHTML = 'Copy Discount Code'
checkedButton.addEventListener('click', function() {
var tempCopyInput = document.createElement('input');
tempCopyInput.value = settings.discount_code;
document.getElementsByTagName('body')[0].appendChild(tempCopyInput);
tempCopyInput.select();
document.execCommand("copy");
document.body.removeChild(tempCopyInput);
}, !1);
setTimeout(function() {
messengerWrapper.style.opacity = 1
}, 1000);
checkboxWrapper.appendChild(checkedDiv)
messengerWrapper.appendChild(checkedButton)
}, 1000)
}
})
} else {
var optInButton = document.getElementsByClassName('ba-opt-in-confirm')[0];
var optInButtonClone = optInButton.cloneNode(!0);
optInButton.parentNode.replaceChild(optInButtonClone, optInButton);
optInButtonClone.addEventListener('click', function() {
shakeBox(discountBox)
}, !1)
}
}
})
});
window.onresize = function() {
var cartBtn = addToCartBtn ? addToCartBtn : form.getElementsByTagName('button')[0];
if (cartBtn.offsetWidth > 0 && cartBtn.offsetWidth < 351 && (selects.length === 0 || selects[0].offsetParent === null)) {
messengerWrapper.style.maxWidth = cartBtn.offsetWidth + 'px';
discountBox.style.maxWidth = cartBtn.offsetWidth + 'px';
} else {
messengerWrapper.style.maxWidth = '350px';
discountBox.style.maxWidth = '350px'
}
self.alignWraper(messengerWrapper,settings.align)
}
}
};
function shakeBox(elem) {
shake(elem, 16);
}
var shake = function (element, magnitude) {
//A counter to count the number of shakes
var counter = 1;
//The total number of shakes (there will be 1 shake per frame)
var numberOfShakes = 10;
//Capture the element's position and angle so you can
//restore them after the shaking has finished
var startX = 0,
startY = 0;
// Divide the magnitude into 10 units so that you can
// reduce the amount of shake by 10 percent each frame
var magnitudeUnit = magnitude / numberOfShakes;
var randomInt = function(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
};
upAndDownShake();
function upAndDownShake() {
//Shake the element while the `counter` is less than
//the `numberOfShakes`
if (counter < numberOfShakes) {
//Reset the element's position at the start of each shake
element.style.transform = 'translate(' + startX + 'px, ' + startY + 'px)';
//Reduce the magnitude
magnitude -= magnitudeUnit;
//Randomly change the element's position
var randomX = randomInt(-magnitude, magnitude);
var randomY = randomInt(-magnitude, magnitude);
element.style.transform = 'translate(' + randomX + 'px, ' + randomY + 'px)';
//Add 1 to the counter
counter += 1;
requestAnimationFrame(upAndDownShake);
}
//When the shaking is finished, restore the element to its original
//position and remove it from the `shakingElements` array
if (counter >= numberOfShakes) {
element.style.transform = 'translate(' + startX + ', ' + startY + ')';
}
}
};
function confirmFbChkOptIn(chkType, optedIn) {
if (chkType == 'regular' && !checkboxChecked){
return;
} else if (chkType == 'discount' && (!optedIn || window.baMsg.subscriber_hash.ba_fbchk_opted_in)){
return;
}
baMet.getCartData(function(data){
var cartToken = JSON.parse(data).token;
if (!window.baMsg.subscriber_hash.ba_fbchk_opted_in){
var rightNow = parseInt(new Date().getTime());
var updateHash = {
ba_fbchk_opt_in_cart_token: cartToken,
ba_fbchk_opted_in: rightNow,
ba_fb_opted_in: rightNow
}
updateSubscriberHash(updateHash);
FB.AppEvents.logEvent('MessengerCheckboxUserConfirmation', null, {
'app_id': window.baMsg.app_id,
'page_id': window.baMsg.fb_page_id,
'user_ref': window.baMsg.user_ref,
'ref': cartToken + '|' + window.baMsg.visitor_token,
})
trackFbOptIn(data, 'checkbox');
}
});
}
return this;
}
function boosterFbModal() {
window.baLoaded = false;
this.generate = function (settings) {
if (window.baMsg.page_url.indexOf('/checkouts/') !== -1 && window.baMsg.page_url.indexOf('/thank_you') !== -1){
return;
}
if (window.baMsg.page_url.indexOf('ba-modal-preview') === -1) {
if (!settings.active){return;}
if (window.baMsg.subscriber_hash.ba_fb_modal_opted_in){return;}
if (window.baMsg.subscriber_hash.ba_fb_opted_in){return;}
if (window.baMsg.subscriber_hash.ba_fb_modal_closed){return;}
if (!canDisplayByDevice(settings.devices)){return;}
//TODO if (!canDisplayByRules(settings.rules)){return;}
}
var modalShade = document.createElement('div');
modalShade.classList = 'ba-modal-shade';
modalShade.setAttribute('style', 'position: fixed; z-index: 100000; background: rgba(0,0,0,.42); width:100%; height: 100%; opacity: 0;display:none;');
modalShade.style.overflow = 'none';
modalShade.style.transition = 'all 0.5s';
window.fbLoaded.promise.then(function(){
var s = document.body.firstChild;
s.parentNode.insertBefore(modalShade, s);
});
var modal = document.createElement('div');
modal.id = 'ba-send-to-messenger-modal';
modal.setAttribute('style', 'max-width: 430px; height: auto;z-index:2147483647; border-radius:5px;text-align:center;');
modal.style.position = 'relative';
modal.style.left = 0;
modal.style.right = 0;
modal.style.margin = '20px auto';
modal.style.marginTop = '10%';
modal.style.marginTop = '10vh';
modal.style.padding = '15px';
modal.style.overflow = 'hidden';
modal.style.backgroundColor = settings.background_color;
if (window.innerHeight < 600) {
modalShade.style.overflowY = 'scroll';
modalShade.style.zIndex = 2147483647;
modal.style.marginTop = '5%';
modal.style.marginTop = '5vh';
} else if (window.innerHeight < 700) {
modalShade.style.overflowY = 'scroll';
modalShade.style.zIndex = 2147483647;
modal.style.marginTop = '10%';
modal.style.marginTop = '10vh';
}
var exitIcon = document.createElement('span');
exitIcon.classList = 'ba-modal-close';
exitIcon.setAttribute('style', 'position: absolute;right: 10px;top: 5px;cursor: pointer;color: #000;opacity:0.3;font-size:30px;');
exitIcon.innerHTML = '×';
modal.appendChild(exitIcon);
var title = document.createElement('div');
title.setAttribute('id', 'ba-fb-modal-title');
title.setAttribute('style', 'text-align: center; padding: 20px 20px 15px;font-size: 20px; line-height:24px;');
title.style.color = settings.title_color;
title.innerHTML = settings.title;
modal.appendChild(title);
var description = document.createElement('div');
description.setAttribute('style', 'text-align: center;font-size:17px;padding:10px 20px 35px;');
description.style.color = settings.subtitle_color;
description.innerHTML = settings.subtitle;
description.setAttribute('id', 'ba-fb-modal-desc');
modal.appendChild(description);
var image = document.createElement('img');
if (settings.image_name !== null) {
image.style.width = '100%';
image.src = settings.image_name;
if (settings.image_placement === 'above_title') {
modal.style.paddingTop = '40px';
modal.insertBefore(image, modal.childNodes[0]);
} else if (settings.image_placement === 'under_title') {
modal.insertBefore(image, title.nextSibling);
} else {
modal.appendChild(image);
}
}
var width = 125;
if (settings.send_size === 'standard'){
width = 125;
} else if (settings.send_size === 'large'){
width = 155;
} else if (settings.send_size === 'xlarge'){
width = 180;
}
var optInBoxWrapper = document.createElement('div');
optInBoxWrapper.setAttribute('style', 'margin: 20px auto 30px;');
optInBoxWrapper.style.width = width + 'px';
modal.appendChild(optInBoxWrapper);
var dataRef = 'OPT_IN_FROM_SEND_TO_MESSENGER:modal:';
if (window.baMsg.visitor_token !== ''){
dataRef += window.baMsg.visitor_token;
}
var optInBox = document.createElement('div');
optInBox.classList = 'fb-send-to-messenger';
optInBox.setAttribute('messenger_app_id', window.baMsg.app_id);
optInBox.setAttribute('page_id', window.baMsg.fb_page_id);
optInBox.setAttribute('data-ref', dataRef);
optInBox.setAttribute('color', settings.send_color);
optInBox.setAttribute('size', settings.send_size);
modal.appendChild(optInBox);
optInBoxWrapper.appendChild(optInBox);
var buttonWrapper = document.createElement('div');
buttonWrapper.setAttribute('style', 'margin: 0 auto;padding-bottom: 20px;display:none;');
modal.appendChild(buttonWrapper);
var button = document.createElement('a');
button.setAttribute('target', '_blank');
button.href = 'https://m.me/' + window.baMsg.fb_page_id;
button.innerHTML = settings.button_text;
button.setAttribute('style', 'text-align:center;padding: 10px 20px; border-radius: 5px; margin-bottom: 15px;margin-top:10px;text-decoration: none;');
button.style.backgroundColor = settings.button_color;
button.style.color = settings.button_text_color;
button.style.border = '1px solid ' + settings.border_color;
button.onmouseover = function () {button.style.opacity = 0.8;};
button.onmouseout = function () {button.style.opacity = 1;};
button.onclick = function () {closeModal(false);};
buttonWrapper.appendChild(button);
modalShade.appendChild(modal);
switch (settings.display) {
case 'immediately':
showModal();
break;
case 'exit_intent':
document.addEventListener("mouseleave", function (e) {
if (e.clientY < 0) {
showModal();
}
}, false);
break;
case 'seconds_passed':
setTimeout(function () {
showModal();
}, settings.delay * 1000);
break;
}
exitIcon.onclick = function () {
closeModal(true);
};
function showModal(){
modalShade.style.display = 'block';
modalShade.style.opacity = 1;
window.baMsg.use_stm_callback = 'modal';
applyMet('fb_modal_view');
}
function closeModal(markAsClosed) {
modalShade.style.opacity = '0';
window.baMsg.use_stm_callback = '';
if (markAsClosed){
updateSubscriberHash({ba_fb_modal_closed: parseInt(new Date().getTime())});
applyMet('ba_fb_modal_close')
}
setTimeout(function () {
document.body.removeChild(modalShade);
}, 500);
}
};
return this;
}
function boosterFbAtcModal() {
window.baLoaded = false;
try{
var css = document.createElement('style');
css.type = 'text/css';
var styles = '@import url("https://fonts.googleapis.com/css?family=Roboto");';
css.appendChild(document.createTextNode(styles));
document.getElementsByTagName("head")[0].appendChild(css);
} catch (err){
console.log(err)
}
this.generate = function (settings) {
window.baMsg.showFbAtcModal = function(event){
if (window.baMsg.active_fb_atc_shown == false && window.baMsg.settings.fb_atc_popup.active){
if (window.baMsg.subscriber_hash.ba_fb_opted_in){return;}
if (window.baMsg.subscriber_hash.ba_fb_atc_popup_closed){return;}
event.preventDefault();
window.baMsg.active_atc.classList.remove("ba-click-ready");
//var atcModal = document.getElementById("ba-fb-atc-popup");
createModal.classList.add("show-pop");
createModal.style.display = "block";
window.baMsg.active_atc.removeEventListener('click', function(){});
window.baMsg.use_stm_callback = 'fb_atc_popup';
applyMet('fb_atc_view');
window.baMsg.active_fb_atc_shown = true;
return false;
}
}
window.baMsg.closeFbAtcModal = function(markAsClosed){
createModal.classList.remove("show-pop");
createModal.style.display = "none";
window.baMsg.use_stm_callback = '';
window.baMsg.active_atc.removeEventListener('click',function(){});
if (markAsClosed){
updateSubscriberHash({ba_fb_atc_popup_closed: parseInt(new Date().getTime())});
applyMet('fb_atc_close');
}
setTimeout(function (){
window.baMsg.active_atc.click();
}, 500);
}
if (!window.baMsg.is_preview){
if (!settings.active){return;}
if (window.baMsg.subscriber_hash.ba_fb_atc_popup_opted_in){return;}
if (window.baMsg.subscriber_hash.ba_fb_opted_in){return;}
if (window.baMsg.subscriber_hash.ba_fb_atc_popup_closed){return;}
}
if (window.baMsg.page_url.indexOf('products') !== -1) {
if (!settings.active && !window.baMsg.is_preview){
return;
}
var form = getProductForm();
if (!form || form.length === 0 || (window.baMsg.subscriber_hash.ba_fb_atc_popup_opted_in && !window.baMsg.is_preview)){
return;
}
}
var modalShade = document.createElement('div');
modalShade.classList = 'ba-modal-shade';
modalShade.setAttribute('style', 'position: fixed; z-index: 100000; background: rgba(0,0,0,.42); width:100%; height: 100%; opacity: 0;display:none;');
modalShade.style.overflow = 'none';
modalShade.style.transition = 'all 0.5s';
window.fbLoaded.promise.then(function(){
var s = document.body.firstChild;
s.parentNode.insertBefore(modalShade, s);
});
var createModal = document.createElement('div');
createModal.setAttribute('id', 'ba-fb-atc-popup');
var appendModal = document.body.appendChild(createModal);
var modalClass = appendModal.classList.add("ba-fb-add-tc-popup__overlay");
createModal.setAttribute('style','position: fixed;top: 0;left: 0;width: 100%;height: 100%;z-index: 2147483647;display: none;');
var modalWrapper = document.createElement('div');
var modalWrapperMain = createModal.appendChild(modalWrapper);
modalWrapperMain.classList.add('ba-fb-add-tc-popup__wrapper');
modalWrapper.setAttribute('style','display: block;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 720px;max-width: 93%;');
var modalContainer = document.createElement('div');
modalWrapperMain.appendChild(modalContainer);
modalContainer.classList.add('ba-fb-add-tc-popup__container');
modalContainer.setAttribute('style','background: #FFFFFF;border: 1px solid #DADADA;border-radius: 7px;box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1);position: relative;');
if(settings.close_button == "1"){
var closeButton = document.createElement('button');
modalContainer.appendChild(closeButton);
closeButton.classList.add('ba-fb-add-tc-popup__close','ba-fb-tc-modal-close');
closeButton.innerHTML = "✖";
closeButton.setAttribute('style','width: 30px;height: 30px;line-height: 30px;position: absolute;top: 15px;right: 15px;border: none;background: none;z-index: 10;');
}
var modalHeader = document.createElement('div');
modalContainer.appendChild(modalHeader);
modalHeader.classList.add('ba-fb-add-tc-pop-head');
var modalHeaderImage = document.createElement('div');
modalHeader.setAttribute('style','background: #F2F5F9;border-bottom: 1px solid #DADADA;border-radius: 7px 7px 0 0;height: 130px;position: relative;');
modalHeader.appendChild(modalHeaderImage);
modalHeaderImage.setAttribute('style','position: absolute;bottom: 0px;width: 100%;height: 200%;background-image: url("https://cdn.shopify.com/s/files/1/2701/3534/t/1/assets/phone-hand.svg?10344228977754903280");background-size: 260px;background-position: center bottom;background-repeat: no-repeat;');
modalHeaderImage.classList.add('ba-fb-add-tc-popup-head-img');
var modalBody = document.createElement('div');
modalContainer.appendChild(modalBody);
modalBody.classList.add('ba-fb-add-tc-popup__body');
modalBody.setAttribute('style','padding: 30px;text-align: center;background: #ffffff;');
var modalHeaderTag = document.createElement('h3');
modalBody.appendChild(modalHeaderTag);
modalHeaderTag.classList.add('ba-fb-add-tc-pop-title');
modalHeaderTag.setAttribute('style','margin: 10px 0 25px;font-family: "Roboto", sans-serif;font-size: 25px;text-align: center;');
modalHeaderTag.innerHTML = settings.title;
modalHeaderTag.style.color = settings.header_text_color;
var modalParaTag = document.createElement('p');
modalParaTag.innerHTML = settings.paragraph;
modalBody.appendChild(modalParaTag);
modalParaTag.classList.add('ba-fb-add-tc-pop-desc');
modalParaTag.setAttribute('style','margin: 0 0 20px;font-family: "Roboto", sans-serif;font-size: 17px;text-align: center;line-height: 25px;');
modalParaTag.style.color = settings.paragraph_text_color;
var optInBoxWrapper = document.createElement('div');
optInBoxWrapper.setAttribute('style', 'margin: 10px auto 30px;');
modalBody.appendChild(optInBoxWrapper);
var dataRef = 'OPT_IN_FROM_SEND_TO_MESSENGER:atc_popup';
if (window.baMsg.visitor_token !== ''){
dataRef += ':' + window.baMsg.visitor_token;
}
var optInBox = document.createElement('div');
optInBox.classList = 'fb-send-to-messenger';
optInBox.setAttribute('messenger_app_id', window.baMsg.app_id);
optInBox.setAttribute('page_id', window.baMsg.fb_page_id);
optInBox.setAttribute('data-ref', dataRef);
optInBox.setAttribute('color', settings.button_cta_color);
optInBox.setAttribute('size', 'xlarge');
optInBox.setAttribute('cta_text', settings.button_cta);
optInBox.setAttribute('style', 'width:176px !important;margin-top:15px;');
modalBody.appendChild(optInBox);
optInBoxWrapper.appendChild(optInBox);
var modalFooter = document.createElement('small');
modalFooter.innerHTML = settings.no_thanks_text;
modalBody.appendChild(modalFooter);
modalFooter.classList.add('ba-fb-add-tc-pop-footer','ba-fb-tc-modal-close');
modalFooter.setAttribute('style','display: block;margin: 5px auto 0;font-family: "Roboto", sans-serif;font-size: 12px;text-align: center;cursor: pointer;');
modalFooter.style.color = settings.no_thanks_text_color;
var closePopup = document.querySelector(".ba-fb-tc-modal-close");
closePopup.addEventListener("click", function(e) {
e.preventDefault();
window.baMsg.closeFbAtcModal(true);
});
modalFooter.addEventListener("click", function(e) {
e.preventDefault();
window.baMsg.closeFbAtcModal(true);
});
return this;
};
function getProductForm() {
var form = document.getElementById('add-item-form');
if (!form || form.length === 0){
form = document.querySelector("form[action='/cart/add']");
}
if (!form || form.length === 0){
form = document.querySelector("form[action^='/cart/add']");
}
if (!form || form.length === 0){
form = document.querySelector("form[action$='/cart/add']");
}
if (!form || form.length === 0){
form = document.querySelector("form[action='/cart/add.js']");
}
if (!form || form.length === 0){
form = document.querySelector("form[action='/cart/add?return=/']");
}
if (!form || form.length === 0){
form = document.getElementsByClassName("form.product-form")[0];
}
if (!form || form.length === 0){
form = document.getElementsByClassName("btn-addtocart")[0];
}
return form
}
setTimeout(function () {
FB.Event.subscribe('send_to_messenger', function (e) {
if (window.baMsg.use_stm_callback == 'modal'){
if (e.event === 'clicked') {
applyMet('ba_fb_modal_click');
var fbModalTitle = document.getElementById('ba-fb-modal-title');
var fbModalDesc = document.getElementById('ba-fb-modal-desc');
if (window.baMsg.settings.fb_modal.discount_code === null) {
fbModalTitle.innerHTML = window.baMsg.settings.fb_modal.submitted_title;
fbModalDesc.innerHTML = window.baMsg.settings.fb_modal.submitted_subtitle;
} else {
fbModalTitle.innerHTML = window.baMsg.settings.fb_modal.submitted_title.replace('%discountCode', '<b>' + window.baMsg.settings.fb_modal.discount_code + '</b>');
fbModalDesc.innerHTML = window.baMsg.settings.fb_modal.submitted_subtitle === null ? null : window.baMsg.settings.fb_modal.submitted_subtitle.replace('%discountCode', '<b>' + window.baMsg.settings.fb_modal.discount_code + '</b>');
}
if (window.baMsg.settings.fb_modal.image_name !== null){
//image.parentNode.removeChild(image);
}
}
if (e.event === 'opt_in') {
if (window.baMsg.subscriber_hash.ba_fb_modal_opted_in){return;}
baMet.getCartData(function(data){
var cartToken = JSON.parse(data).token;
if (!window.baMsg.subscriber_hash.ba_fb_modal_opted_in){
var rightNow = parseInt(new Date().getTime());
var updateHash = {
ba_fb_modal_opted_in: rightNow,
ba_fb_opted_in: rightNow,
ba_fb_modal_opt_in_cart_token: cartToken
}
updateSubscriberHash(updateHash);
trackFbOptIn(data, 'ba_fb_modal');
}
});
}
} else if (window.baMsg.use_stm_callback == 'fb_atc_popup'){
// if (e.event === 'clicked') {
// trackClick();
// }
if (e.event === 'opt_in') {
if (window.baMsg.subscriber_hash.ba_fb_atc_popup_opted_in === 'true'){return;}
baMet.getCartData(function(data){
var cartToken = JSON.parse(data).token;
if (!window.baMsg.subscriber_hash.ba_fb_atc_popup_opted_in){
var rightNow = parseInt(new Date().getTime());
var updateHash = {
ba_fb_atc_popup_opted_in: rightNow,
ba_fb_opted_in: rightNow,
ba_fb_atc_popup_opt_in_cart_token: cartToken
}
updateSubscriberHash(updateHash);
trackFbOptIn(data, 'atc_popup');
}
});
window.baMsg.closeFbAtcModal(false);
}
}
});
}, 1000);
return this;
}
(function() {
if (window.baMsg.fb_active && window.baMsg.fb_page_id){
//fb
var loader = new boosterFBLoader();
loader.load();
loader.loadChat({
"active":1,
"minimized":0,
"theme_color":'#0084FF',
"logged_in_greeting":"Hi there! How can we help you?",
"logged_out_greeting":"Hi! We\'re here to answer any questions you may have."
});
new boosterFbCheckboxes().generate(window.baMsg.settings.fb_base);
new boosterFbModal().generate(window.baMsg.settings.fb_modal);
new boosterFbAtcModal().generate(window.baMsg.settings.fb_atc_popup);
}
//push
if (window.baMsg.push_active){
new boosterPushSession().generate({
"active": false
});
}
})();
listentoAtc();
});
}())
</script>
<!-- "snippets/swymSnippet.liquid" was not rendered, the associated app was uninstalled -->
<!-- "snippets/mlveda-currencies-switcher.liquid" was not rendered, the associated app was uninstalled --><!-- "snippets/mlveda-currencies.liquid" was not rendered, the associated app was uninstalled --><!-- "snippets/mlveda-flag.liquid" was not rendered, the associated app was uninstalled --><!-- "snippets/mlveda-currencies-style.liquid" was not rendered, the associated app was uninstalled --><!--Content in content_for_footer -->
<!--LH--><script>window.LH = window.LH || {}; window.LH.tracking={"account_id":"87673884","profile_id":"215893492","property_id":"UA-87673884-2"};</script><!-- **BEGIN** Hextom CTB Integration // Main Include - DO NOT MODIFY -->
<!-- **BEGIN** Hextom CTB Integration // Main - DO NOT MODIFY -->
<script type="application/javascript">
window.hextom_ctb = {
p1: [
],
p2: {
}
};
</script>
<!-- **END** Hextom CTB Integration // Main - DO NOT MODIFY -->
<!-- **END** Hextom CTB Integration // Main Include - DO NOT MODIFY -->
<script async type="text/javascript" src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=R6ykHJ"></script>
<!-- "snippets/smile-initializer.liquid" was not rendered, the associated app was uninstalled -->
<script src="//cdn.shopify.com/s/files/1/0639/7480/1583/t/1/assets/gem.js" type="text/javascript"></script>
<div id="shopify-block-7555218208816688692" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: pop-init --><script type="text/javascript" id="pop-app-embed-init">
window.Pop = window.Pop || {};
window.Pop.embedded_version_enabled = true;
window.Pop.common = window.Pop.common || {};
window.Pop.common.shop = {
permanent_domain: 'happyvision.myshopify.com',
currency: "EGP",
money_format: "LE {{amount_no_decimals}}",
id: 35835936906
};
window.Pop.common.template = '404';
window.Pop.common.cart = {};
window.Pop.global_config = {"asset_urls":{"loy":{},"rev":{},"pu":{"init_js":null},"widgets":{"init_js":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_widget_init.js?v=1704919191","modal_js":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_widget_modal.js?v=1704919193","modal_css":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_widget_modal.css?v=1654723622"},"forms":{},"global":{"helper_js":"https:\/\/cdn.shopify.com\/s\/files\/1\/0194\/1736\/6592\/t\/1\/assets\/ba_pop_tracking.js?v=1704919189"}},"proxy_paths":{"pop":"\/apps\/ba-pop","app_metrics":"\/apps\/ba-pop\/app_metrics","push_subscription":"\/apps\/ba-pop\/push"},"aat":["pop"],"pv":false,"sts":false,"bam":true,"batc":true,"base_money_format":"LE {{amount_no_decimals}}","online_store_version":1,"loy_js_api_enabled":false,"shop":{"id":35835936906,"name":"Happy Vision","domain":"hvoptics.com"}};
window.Pop.widgets_config = {"id":104687,"active":false,"frequency_limit_amount":2,"frequency_limit_time_unit":"days","background_image":{"position":"none","widget_background_preview_url":""},"initial_state":{"body":"Join Now","title":"Get Exclusive Offers First!","cta_text":"Sign Up","show_email":"true","action_text":"Saving...","footer_text":"You are signing up to receive communication via email and can unsubscribe at any time.","dismiss_text":"No thanks","email_placeholder":"Email Address","phone_placeholder":"Phone Number"},"success_state":{"body":"Thank You","title":"successfully🎉","cta_text":"Continue shopping","cta_action":"dismiss","redirect_url":"","open_url_new_tab":"false"},"closed_state":{"action":"close_widget","font_size":"20","action_text":"GET 10% OFF","display_offset":"300","display_position":"left"},"error_state":{"submit_error":"Sorry, please try again later","invalid_email":"Please enter valid email address!","error_subscribing":"Error subscribing, try again later","already_registered":"You have already registered","invalid_phone_number":"Please enter valid phone number!"},"trigger":{"action":"on_timer","delay_in_seconds":"0"},"colors":{"link_color":"#4FC3F7","sticky_bar_bg":"#C62828","cta_font_color":"#fff","body_font_color":"#000","sticky_bar_text":"#fff","background_color":"#fff","error_text_color":"#ff2626","title_font_color":"#000","footer_font_color":"#bbb","dismiss_font_color":"#bbb","cta_background_color":"#000","sticky_coupon_bar_bg":"#286ef8","error_text_background":"","sticky_coupon_bar_text":"#fff"},"sticky_coupon_bar":{"enabled":"false","message":"Don't forget to use your code"},"display_style":{"font":"Arial","size":"regular","align":"center"},"dismissable":true,"has_background":false,"opt_in_channels":["email"],"rules":[],"widget_css":".powered_by_rivo{\n display: block;\n}\n.ba_widget_main_design {\n background: #fff;\n}\n.ba_widget_content{text-align: center}\n.ba_widget_parent{\n font-family: Arial;\n}\n.ba_widget_parent.background{\n}\n.ba_widget_left_content{\n}\n.ba_widget_right_content{\n}\n#ba_widget_cta_button:disabled{\n background: #000cc;\n}\n#ba_widget_cta_button{\n background: #000;\n color: #fff;\n}\n#ba_widget_cta_button:after {\n background: #000e0;\n}\n.ba_initial_state_title, .ba_success_state_title{\n color: #000;\n}\n.ba_initial_state_body, .ba_success_state_body{\n color: #000;\n}\n.ba_initial_state_dismiss_text{\n color: #bbb;\n}\n.ba_initial_state_footer_text, .ba_initial_state_sms_agreement{\n color: #bbb;\n}\n.ba_widget_error{\n color: #ff2626;\n background: ;\n}\n.ba_link_color{\n color: #4FC3F7;\n}\n","custom_css":null,"logo":null};
</script>
<!-- END app snippet -->
</div></body>
</html>