CINXE.COM
Buy a UNISTELLAR EVSCOPE 2 smart telescope, today – UNISTELLAR USA
<!doctype html> <html class="no-js no-touch supports-no-cookies" lang="en"> <head> <!-- Google Tag Manager --> <script>(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-P9Q6PZ3');</script> <!-- End Google Tag Manager --> <!-- Push UserID in Datalayer --> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="theme-color" content="#828282"> <link rel="canonical" href="https://shop.unistellar.com/products/evscope-2"> <!-- ======================= Facebook Verification ======================================= --> <meta name="facebook-domain-verification" content="ig4zrvmimowkglqi4mqx2d4kerdr37" /> <!-- ======================= Unbounce ======================================= --> <script src="https://4e4f27625c9747dcbf23cc8508c04205.js.ubembed.com" async></script> <!-- ======================= Optimonk ======================================= --> <script type="text/javascript" src="https://onsite.optimonk.com/script.js?account=192164" async></script> <!-- ======================= Broadcast Theme V3.1.0 ========================= --> <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> <link rel="preconnect" href="https://fonts.shopify.com" crossorigin> <link rel="preconnect" href="https://monorail-edge.shopifysvc.com" crossorigin> <link rel="preload" href="//shop.unistellar.com/cdn/shop/t/17/assets/lazysizes.js?v=111431644619468174291693317487" as="script"> <link rel="preload" href="//shop.unistellar.com/cdn/shop/t/17/assets/vendor.js?v=54255692255079777131693317487" as="script"> <link rel="preload" href="//shop.unistellar.com/cdn/shop/t/17/assets/theme.js?v=6942488491397586041693317487" as="script"> <link rel="preload" href="//shop.unistellar.com/cdn/shop/t/17/assets/theme.css?v=100147868560721018571711635457" as="style"> <link rel="shortcut icon" href="//shop.unistellar.com/cdn/shop/files/unistellar-favicon_32x32.png?v=1704673502" type="image/png" /> <!-- Title and description ================================================ --> <title> Buy a UNISTELLAR EVSCOPE 2 smart telescope, today – UNISTELLAR USA </title> <meta name="description" content="The UNISTELLAR EVSCOPE 2, is the best smart telescope for deep space observations. Visit our US online store to order yours today and start exploring galaxies and nebulae from your backyard. Deep space exploration has never been so immersive."> <!-- /snippets/social-meta.liquid --><meta property="og:site_name" content="UNISTELLAR USA"> <meta property="og:url" content="https://shop.unistellar.com/products/evscope-2"> <meta property="og:title" content="EVSCOPE 2"> <meta property="og:type" content="product"> <meta property="og:description" content="The UNISTELLAR EVSCOPE 2, is the best smart telescope for deep space observations. Visit our US online store to order yours today and start exploring galaxies and nebulae from your backyard. Deep space exploration has never been so immersive."><meta property="og:price:amount" content="3,919.00"> <meta property="og:price:currency" content="USD"> <meta property="og:image" content="http://shop.unistellar.com/cdn/shop/files/ev1.png?v=1704660551"> <meta property="og:image:secure_url" content="https://shop.unistellar.com/cdn/shop/files/ev1.png?v=1704660551"> <meta property="og:image:height" content="798"> <meta property="og:image:width" content="803"> <meta property="og:image" content="http://shop.unistellar.com/cdn/shop/files/ev2.png?v=1704660552"> <meta property="og:image:secure_url" content="https://shop.unistellar.com/cdn/shop/files/ev2.png?v=1704660552"> <meta property="og:image:height" content="798"> <meta property="og:image:width" content="803"> <meta property="og:image" content="http://shop.unistellar.com/cdn/shop/files/ev3.png?v=1704660552"> <meta property="og:image:secure_url" content="https://shop.unistellar.com/cdn/shop/files/ev3.png?v=1704660552"> <meta property="og:image:height" content="798"> <meta property="og:image:width" content="803"> <meta name="twitter:site" content="@Unistellar"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="EVSCOPE 2"> <meta name="twitter:description" content="The UNISTELLAR EVSCOPE 2, is the best smart telescope for deep space observations. Visit our US online store to order yours today and start exploring galaxies and nebulae from your backyard. Deep space exploration has never been so immersive."> <!-- CSS ================================================================== --> <link href="//shop.unistellar.com/cdn/shop/t/17/assets/font-settings.css?v=97925229787355713361723022153" rel="stylesheet" type="text/css" media="all" /> <style data-shopify> :root { ---color-video-bg: #251c21; ---color-bg: #080607; ---color-bg-secondary: #1e1f1f; ---color-bg-rgb: 8, 6, 7; ---color-text-dark: #d9d9d9; ---color-text: #ffffff; ---color-text-light: #b5b4b5; /* === Opacity shades of grey ===*/ ---color-a5: rgba(255, 255, 255, 0.05); ---color-a10: rgba(255, 255, 255, 0.1); ---color-a15: rgba(255, 255, 255, 0.15); ---color-a20: rgba(255, 255, 255, 0.2); ---color-a25: rgba(255, 255, 255, 0.25); ---color-a30: rgba(255, 255, 255, 0.3); ---color-a35: rgba(255, 255, 255, 0.35); ---color-a40: rgba(255, 255, 255, 0.4); ---color-a45: rgba(255, 255, 255, 0.45); ---color-a50: rgba(255, 255, 255, 0.5); ---color-a55: rgba(255, 255, 255, 0.55); ---color-a60: rgba(255, 255, 255, 0.6); ---color-a65: rgba(255, 255, 255, 0.65); ---color-a70: rgba(255, 255, 255, 0.7); ---color-a75: rgba(255, 255, 255, 0.75); ---color-a80: rgba(255, 255, 255, 0.8); ---color-a85: rgba(255, 255, 255, 0.85); ---color-a90: rgba(255, 255, 255, 0.9); ---color-a95: rgba(255, 255, 255, 0.95); ---color-border: rgb(255, 255, 255); ---color-border-light: #9c9b9c; ---color-border-hairline: #000000; ---color-border-dark: #cccccc;/* === Bright color ===*/ ---color-primary: #335dd1; ---color-primary-hover: #183c9f; ---color-primary-fade: rgba(51, 93, 209, 0.05); ---color-primary-fade-hover: rgba(51, 93, 209, 0.1);---color-primary-opposite: #ffffff; /* === Secondary Color ===*/ ---color-secondary: #828282; ---color-secondary-hover: #655353; ---color-secondary-fade: rgba(130, 130, 130, 0.05); ---color-secondary-fade-hover: rgba(130, 130, 130, 0.1);---color-secondary-opposite: #ffffff; /* === link Color ===*/ ---color-link: #ffffff; ---color-link-hover: #ffffff; ---color-link-fade: rgba(255, 255, 255, 0.05); ---color-link-fade-hover: rgba(255, 255, 255, 0.1);---color-link-opposite: #000000; /* === Product grid sale tags ===*/ ---color-sale-bg: #f9dee5; ---color-sale-text: #af7b88;---color-sale-text-secondary: #f9dee5; /* === Product grid badges ===*/ ---color-badge-bg: #ffffff; ---color-badge-text: #212121; /* === Helper colors for form error states ===*/ ---color-error: var(---color-primary); ---color-error-bg: var(---color-primary-fade); ---radius: 300px; ---radius-sm: 3px; ---color-announcement-bg: #ffffff; ---color-announcement-text: #ab8c52; ---color-announcement-border: #e6ddcb; ---color-header-bg: #000000; ---color-header-link: #ffffff; ---color-header-link-hover: #ffffff; ---color-menu-bg: #050608; ---color-menu-border: rgba(0,0,0,0); ---color-menu-link: #ffffff; ---color-menu-link-hover: #ffffff; ---color-submenu-bg: #1e1f1f; ---color-submenu-link: #ffffff; ---color-submenu-link-hover: #ffffff; ---color-menu-transparent: #ffffff; ---color-footer-bg: #434247; ---color-footer-text: #ffffff; ---color-footer-link: #ffffff; ---color-footer-link-hover: #ffffff; ---color-footer-border: #ffffff; /* === Custom Cursor ===*/ --icon-zoom-in: url( "//shop.unistellar.com/cdn/shop/t/17/assets/icon-zoom-in.svg?v=178956157335693753651693317487" ); --icon-zoom-out: url( "//shop.unistellar.com/cdn/shop/t/17/assets/icon-zoom-out.svg?v=128675709041987423641693317487" ); /* === Typography ===*/ ---product-grid-aspect-ratio: 90.0%; ---product-grid-size-piece: 9.0; ---font-weight-body: 400; ---font-weight-body-bold: 500; ---font-stack-body: "IBM Plex Sans", sans-serif; ---font-style-body: normal; ---font-adjust-body: 1.0; ---font-weight-heading: 400; ---font-weight-heading-bold: 700; ---font-stack-heading: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Helvetica Neue, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; ---font-style-heading: normal; ---font-adjust-heading: 1.0; ---font-stack-nav: "IBM Plex Sans", sans-serif; ---font-style-nav: normal; ---font-adjust-nav: 1.0; ---font-weight-nav: 400; ---font-weight-nav-bold: 500; ---font-size-base: 1.0rem; ---font-size-base-percent: 1.0; ---ico-select: url("//shop.unistellar.com/cdn/shop/t/17/assets/ico-select.svg?v=115630813262522069291693317487"); /* === Parallax ===*/ ---parallax-strength-min: 120.0%; ---parallax-strength-max: 130.0%; } </style> <link href="//shop.unistellar.com/cdn/shop/t/17/assets/theme.css?v=100147868560721018571711635457" rel="stylesheet" type="text/css" media="all" /> <link href="//shop.unistellar.com/cdn/shop/t/17/assets/css_product.scss.css?v=97227382656197853391704660168" rel="stylesheet" type="text/css" media="all" /> <link href="//shop.unistellar.com/cdn/shop/t/17/assets/css_collection.scss.css?v=164445079693945844501728573109" rel="stylesheet" type="text/css" media="all" /> <link href="//shop.unistellar.com/cdn/shop/t/17/assets/css_header_footer.scss.css?v=47784936830995044761704667082" rel="stylesheet" type="text/css" media="all" /> <link href="//shop.unistellar.com/cdn/shop/t/17/assets/css_custom_faq.scss.css?v=180101507732714647421704660196" rel="stylesheet" type="text/css" media="all" /> <link href="//shop.unistellar.com/cdn/shop/t/17/assets/css_custom_reviews.scss.css?v=120207680811714796781693317487" rel="stylesheet" type="text/css" media="all" /> <link href="//shop.unistellar.com/cdn/shop/t/17/assets/css_custom_specs.scss.css?v=173339704847267386421704660209" rel="stylesheet" type="text/css" media="all" /> <link href="//shop.unistellar.com/cdn/shop/t/17/assets/css_cart_drawer.scss.css?v=83260848723187565031693317487" rel="stylesheet" type="text/css" media="all" /> <script> if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0) { document.documentElement.className = document.documentElement.className + ' ie'; var scripts = document.getElementsByTagName('script')[0]; var polyfill = document.createElement("script"); polyfill.defer = true; polyfill.src = "//shop.unistellar.com/cdn/shop/t/17/assets/ie11.js?v=144489047535103983231693317487"; scripts.parentNode.insertBefore(polyfill, scripts); } else { document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); } window.lazySizesConfig = window.lazySizesConfig || {}; window.lazySizesConfig.preloadAfterLoad = true; let root = '/'; if (root[root.length - 1] !== '/') { root = `${root}/`; } window.theme = { routes: { root: root, cart: '/cart', cart_add_url: '/cart/add', product_recommendations_url: '/recommendations/products', search_url: '/search' }, assets: { photoswipe: '//shop.unistellar.com/cdn/shop/t/17/assets/photoswipe.js?v=12261563163868600691693317487', smoothscroll: '//shop.unistellar.com/cdn/shop/t/17/assets/smoothscroll.js?v=37906625415260927261693317487', swatches: '//shop.unistellar.com/cdn/shop/t/17/assets/swatches.json?v=184343565545568312921693317487', base: "//shop.unistellar.com/cdn/shop/t/17/assets/", no_image: "//shop.unistellar.com/cdn/shopifycloud/shopify/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_1024x.gif", }, strings: { addToCart: "Add to cart", soldOut: "Sold Out", from: "From", preOrder: "Preorder", unavailable: "Unavailable", unitPrice: "Unit price", unitPriceSeparator: "per", resultsFor: "Results for", noResultsFor: "No results for", shippingCalcSubmitButton: "Calculate shipping", shippingCalcSubmitButtonDisabled: "Calculating...", selectValue: "Select value", oneColor: "color", otherColor: "colors", upsellAddToCart: "Add", free: "Free" }, customerLoggedIn: false, moneyWithCurrencyFormat: "${{amount}} USD", moneyFormat: "${{amount}}", cartDrawerEnabled:true, enableQuickAdd: true, swatchLabels: ["Color"," Colour"], showFirstSwatch: false, transparentHeader: false, info: { name: 'broadcast' }, version: '3.1.0' }; </script> <script src="//shop.unistellar.com/cdn/shopifycloud/shopify/assets/themes_support/shopify_common-33bb9d312118840468a53f36b59c62c1e8f2b7d1a0a77250db9e300441827470.js" defer="defer"></script> <!-- Theme Javascript ============================================================== --> <script src="//shop.unistellar.com/cdn/shop/t/17/assets/lazysizes.js?v=111431644619468174291693317487" async="async"></script> <script src="//shop.unistellar.com/cdn/shop/t/17/assets/vendor.js?v=54255692255079777131693317487" defer="defer"></script> <script src="//shop.unistellar.com/cdn/shop/t/17/assets/theme.dev.js?v=23061734100372519891693317487" defer="defer"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"> </script> <!-- Shopify app scripts =========================================================== --> <!-- TrustBox script --> <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script> <!-- End TrustBox script --> <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="lF30U91hrbYSCHlSMV8gkcgBi3PrE_2JY60jBjw5Vyo"> <meta name="facebook-domain-verification" content="7h7pyw9f6qoen036i0hn3ry4uv49a2"> <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/56765186071/digital_wallets/dialog"> <meta name="shopify-checkout-api-token" content="d33e76d43e91dc6fddfb24df512ccd64"> <meta id="in-context-paypal-metadata" data-shop-id="56765186071" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> <link rel="alternate" type="application/json+oembed" href="https://shop.unistellar.com/products/evscope-2.oembed"> <script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script> <link rel="preconnect" href="https://shop.app" crossorigin="anonymous"> <script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=56765186071" crossorigin="anonymous"></script> <script id="apple-pay-shop-capabilities" type="application/json">{"shopId":56765186071,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/56765186071","merchantName":"UNISTELLAR USA","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"UNISTELLAR USA","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script> <script id="shopify-features" type="application/json">{"accessToken":"d33e76d43e91dc6fddfb24df512ccd64","betas":["rich-media-storefront-analytics"],"domain":"shop.unistellar.com","predictiveSearch":true,"shopId":56765186071,"smart_payment_buttons_url":"https:\/\/shop.unistellar.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/shop.unistellar.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script> <script>var Shopify = Shopify || {}; Shopify.shop = "us-unistellar.myshopify.com"; Shopify.locale = "en"; Shopify.currency = {"active":"USD","rate":"1.0"}; Shopify.country = "US"; Shopify.theme = {"name":"2024-01-07 -- ODYSSEY Launch","id":126058135575,"schema_name":"Broadcast","schema_version":"3.1.0","theme_store_id":null,"role":"main"}; Shopify.theme.handle = "null"; Shopify.theme.style = {"id":null,"handle":null}; Shopify.cdnHost = "shop.unistellar.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>window.ShopifyPay = window.ShopifyPay || {}; window.ShopifyPay.apiHost = "shop.app\/pay";</script> <script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script> <script> window.Shopify = window.Shopify || {}; if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; window.Shopify.featureAssets['shop-js'] = {"login-button":["modules/client.login-button_PyB0yoLG.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"shop-pay-payment-request":["modules/client.shop-pay-payment-request_BSPYpBgE.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js","modules/chunk.shop-pay_DNi9j_X8.esm.js"],"payment-terms":["modules/client.payment-terms_BF5x7ymI.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"],"pay-button":["modules/client.pay-button_Cc3hmsbn.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"discount-app":["modules/client.discount-app_Dl148wJa.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"avatar":["modules/client.avatar_BTnouDA3.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/client.init-shop-for-new-customer-accounts_BXLde5-4.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/client.init-shop-email-lookup-coordinator_CSM1j0yH.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"init-customer-accounts-sign-up":["modules/client.init-customer-accounts-sign-up_BDGFEblG.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"],"init-customer-accounts":["modules/client.init-customer-accounts_CO51Msyl.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"]}; </script> <script>(function() { function asyncLoad() { var urls = ["https:\/\/api.pp-prod-ads.ue2.breadgateway.net\/api\/shopify-plugin-backend\/messaging-app\/cart.js?shopId=b9f45c0c-3fe5-44fa-8503-4b97de7f55e9\u0026shop=us-unistellar.myshopify.com","https:\/\/stack-discounts.merchantyard.com\/js\/integrations\/script.js?v=3421\u0026shop=us-unistellar.myshopify.com","https:\/\/dr4qe3ddw9y32.cloudfront.net\/awin-shopify-integration-code.js?aid=61967\u0026v=shopifyApp_4.6.0\u0026ts=1722500504576\u0026shop=us-unistellar.myshopify.com","https:\/\/cdn-app.cart-bot.net\/public\/js\/append.js?shop=us-unistellar.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":56765186071,"offset":-28800,"reqid":"505d76db-0617-401d-b4a0-43e0f49fab66-1732740658","pageurl":"shop.unistellar.com\/products\/evscope-2?srsltid=AfmBOooDBxN5no9UwREEwOOdu96LdcNH70bOA5g_lJxG87OFYkkfVIyY\u0026variant=40131698163735\u0026source=aw\u0026sv1=affiliate\u0026sv_campaign_id=103504\u0026utm_source=awin\u0026utm_medium=affiliate\u0026utm_campaign=103504\u0026awc=61967_1732740658_e28c678a7f656b4a021c3ff99b22dd9f","u":"e37880977f0c","p":"product","rtyp":"product","rid":6753268891671};</script> <script>window.ShopifyPaypalV4VisibilityTracking = true;</script> <script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');function s(t,e,n=!1){try{const o=window.sessionStorage;for(const[n,c]of Object.entries(JSON.parse(o.getItem(e))))t.elements[n]&&(t.elements[n].value=c);n&&o.removeItem(e)}catch{}}const a='form_key',i=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response','password'],u=()=>{try{return window.sessionStorage}catch{return}},m=t=>t.elements[a],f='form_type',d='cptcha';function p(t){t.dataset[d]=!0}const l=window,h=l.document,_='Shopify',y='ce_forms',E='captcha';let v=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe','https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js',T={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=l[_][y],c=o.bindForm;if(c)return c(t,g,e,T).then(n);o.q.push([[t,g,e,T],n]),v||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js'})),v=!0)});var g,T;l[_]=l[_]||{},l[_][y]=l[_][y]||{},l[_][y].q=[],l[_][E]=l[_][E]||{},l[_][E].protect=function(t,e){n(t,void 0,e),p(t)},Object.freeze(l[_][E]),function(t,e,n,l,h,_){const[y,E,v,g]=function(t,e,n){const s=e?o:[],a=t?c:[],i=[...s,...a],u=[...o],m=r(i),f=r(s),d=n&&r(i.filter((([t,e])=>n.includes(e)))),p=r(u),l=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];return[l(m),l(f),l(d),l(p)]}(l,h,_),T=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},S=t=>y().includes(t);t.addEventListener('submit',(t=>{const e=T(t);if(!e)return;const n=S(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=m(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!u())return;!function(t){const e=u();if(!e)return;const n=m(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){m(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:a})),t.elements[a].value=e}(t,e),function(t,e){const n=u();if(!n)return;const o=[...t.querySelectorAll('input[type="password"]')].map((({name:t})=>t)),c=[...i,...o],r={};for(const[s,a]of new FormData(t).entries())c.includes(s)||(r[s]=a);n.setItem(e,JSON.stringify(r))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const w=(t,e)=>{t&&!t.dataset[d]&&(n(t,e.some((e=>e===t))),p(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=T(t);S(e)&&w(e,E())}));const A=e.get('form_key'),b=e.get(f),I=A&&b;t.addEventListener('DOMContentLoaded',(()=>{const t=E();if(I)for(const e of t)e.elements[f].value===b&&s(e,A);[...new Set([...v(),...y().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>w(e,t)))}))}(h,new URLSearchParams(l.location.search),n,!0,!0,['guest_login'])})()}();</script> <script integrity="sha256-EGCDRYTvIEOXsReXgqGwkAR+5Dl8tickSrieA/ZcQwc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//shop.unistellar.com/cdn/shopifycloud/shopify/assets/storefront/load_feature-1060834584ef204397b1179782a1b090047ee4397cb627244ab89e03f65c4307.js" crossorigin="anonymous"></script> <script crossorigin="anonymous" defer="defer" src="//shop.unistellar.com/cdn/shopifycloud/shopify/assets/shopify_pay/storefront-80e528be853eac23af2454534897ca9536b1d3d04aa043b042f34879a3c111c8.js?v=20220906"></script> <script integrity="sha256-HAs5a9TQVLlKuuHrahvWuke+s1UlxXohfHeoYv8G2D8=" data-source-attribution="shopify.dynamic-checkout" defer="defer" src="//shop.unistellar.com/cdn/shopifycloud/shopify/assets/storefront/features-1c0b396bd4d054b94abae1eb6a1bd6ba47beb35525c57a217c77a862ff06d83f.js" crossorigin="anonymous"></script> <style id="shopify-dynamic-checkout-cart">@media screen and (min-width: 750px) { #dynamic-checkout-cart { min-height: 50px; } } @media screen and (max-width: 750px) { #dynamic-checkout-cart { min-height: 240px; } } </style><script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script> <!-- Script to push to datalayer the content of the cart --> <script> document.addEventListener('DOMContentLoaded', function() { // Select all elements with the class "navlink--cart" var cartButtons = document.querySelectorAll('.navlink--cart'); // Loop through each cart button element and add a click event listener for (var i = 0; i < cartButtons.length; i++) { cartButtons[i].addEventListener('click', function() { // Get the cart data jQuery.getJSON('/cart.js', function(cart) { // Format the cart data for the data layer var eventData = { 'event': 'view_cart', 'params': { 'location': 'layer' }, 'ecommerce': { 'currency': cart.currency, 'value': Number(Math.floor(cart.total_price) / 100), 'items': [] } }; cart.items.forEach(function(item, index) { eventData.ecommerce.items.push({ 'item_id': item.sku, 'item_name': item.product_title.replace(/\s+/g, ''), 'coupon': '', 'discount': Number(item.total_discount), 'index': index, 'item_brand': item.vendor, 'item_category': item.product_type, 'price': Number(Math.floor(item.price) / 100), 'quantity': item.quantity }); }); // Push the event to the data layer dataLayer.push({ ecommerce: null }); dataLayer.push(eventData); }); }); } }); </script> <!-- Handle remove or add to cart with minus and plus for GTM Datalayer --> <script> function handleCartButtonClick(event, action) { var button = event.target.closest('button'); // Assuming item_id, item_category, item_currency, item_title, and item_price are available as data attributes on cart-item element var cartItem = button.closest('.cart-item'); var itemId = cartItem.getAttribute('data-item-id'); var itemCategory = cartItem.getAttribute('data-item-category'); var itemCurrency = cartItem.getAttribute('data-item-currency'); var itemTitle = cartItem.getAttribute('data-item-title'); var itemPrice = cartItem.getAttribute('data-item-price'); var pageLocation = 'layer'; var currentUrl = window.location.href; if (currentUrl.indexOf('cart') !== -1) { pageLocation = 'page'; } dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object. dataLayer.push({ event: action, ecommerce: { currency: itemCurrency, value: Number(Math.floor(itemPrice) / 100), item_list_id: "cart", item_list_name: "Cart", items: [ { item_id: itemTitle.replace(/\s+/g, '').toUpperCase(), item_name: itemTitle.replace(/\s+/g, ''), item_brand: "Unistellar", item_category: itemCategory, price: Number(Math.floor(itemPrice) / 100), quantity: 1 } ] }, params: { location: pageLocation } }); } </script> <!-- AddShopper Script --> <script type="text/javascript"> var AddShoppersWidgetOptions = { 'loadCss': false, 'pushResponse': false }; (!function(){ var t=document.createElement("script"); t.type="text/javascript", t.async=!0, t.id="AddShoppers", t.src="https://shop.pe/widget/widget_async.js#6401bb7d952b8d0413d3785b", document.getElementsByTagName("head")[0].appendChild(t) }()); </script> <!-- End AddShopper Script --> <!-- BEGIN app block: shopify://apps/geo-pro-geolocation-redirects/blocks/geopro/16fc5313-7aee-4e90-ac95-f50fc7c8b657 --><!-- This snippet is used to load Geo:Pro data on the storefront --> <meta class='geo-ip' content='eyJwYXJhbWV0ZXJzIjp7InJlZGlyZWN0X3RleHQiOiJJdCBzZWVtcyB5b3UmIzM5cmUgaW4gJUNPVU5UUlklLjxiclwvPlxuVG8gbWFrZSBzdXJlIHlvdSBhcmUgdmlld2luZyB0aGUgY29udGVudCBzcGVjaWZpYyB0bzxiclwvPlxueW91ciBsb2NhdGlvbiBhbmQgc2hvcCBvbmxpbmUsIHBsZWFzZSBtYWtlIGEgY2hvaWNlIiwieWVzIjoiWWVzIHRha2UgbWUgdGhlcmUiLCJubyI6Ik5vLCB0aGFua3MiLCJwb3B1cF9kZWxheSI6IjAiLCJwZXJtYW5lbnQtcmVkaXJlY3QiOjAsImJhY2tncm91bmQtY29sb3IiOiI0MzQyNDdmZiIsInRleHQtY29sb3IiOiJmZmZmZmZmZiIsInllcy1iYWNrZ3JvdW5kLWNvbG9yIjoiMzM1ZGQxZmYiLCJ5ZXMtdGV4dC1jb2xvciI6ImZmZmZmZmZmIiwibm8tYmFja2dyb3VuZC1jb2xvciI6IjQzNDI0NyIsIm5vLXRleHQtY29sb3IiOiJmZmZmZmYiLCJsYXlvdXQtc2VsZWN0b3IiOiJ0b3AiLCJkb21haW5zX2xpc3QiOmZhbHNlLCJzdG9yZV90aXRsZSI6IlVOSVNURUxMQVIgVVNBIiwibG9jYWxpemF0aW9uIjpbXSwib3duZXJfaXAiOiI5NS4xNDkuNzYuMTczIiwib3duZXJfaXBfbW9kZSI6dHJ1ZX0sInJ1bGVzTGlzdCI6W3siY291bnRyaWVzIjoiRXVyb3BlIiwiZXhjZXB0aW9ucyI6IkZyYW5jZSxVbml0ZWQgS2luZ2RvbSxHZXJtYW55IiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiU2hvcCBFdXJvcGUiLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC9zaG9wLmV1LnVuaXN0ZWxsYXIuY29tXC8iLCJkb21haW5fcmVkaXJlY3QiOiIxIn0seyJjb3VudHJpZXMiOiJGcmFuY2UiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiU2hvcCBGcmFuY2UiLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC9zaG9wLmV1LnVuaXN0ZWxsYXIuY29tXC9mclwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCJ9LHsiY291bnRyaWVzIjoiR2VybWFueSIsImV4Y2VwdGlvbnMiOiIiLCJpcCI6IiIsInN0b3JlX25hbWUiOiJTaG9wIEdlcm1hbnkiLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC9zaG9wLmV1LnVuaXN0ZWxsYXIuY29tXC9kZVwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCJ9LHsiY291bnRyaWVzIjoiVW5pdGVkIEtpbmdkb20iLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiU2hvcCBVSyIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3Nob3AudWsudW5pc3RlbGxhci5jb21cLyIsImRvbWFpbl9yZWRpcmVjdCI6IjAifSx7ImNvdW50cmllcyI6IkphcGFuIiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6Ilx1NjVlNVx1NjcyYyIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3Nob3AuanAudW5pc3RlbGxhci5jb20iLCJkb21haW5fcmVkaXJlY3QiOiIwIn1dfQ=='> <!-- This snippet initializes the plugin --> <script> try { const loadGeoPro=()=>{let e=e=>{if(!e||e.isCrawler||"success"!==e.message){window.geopro_cancel="1";return}let o=e.isAdmin?"el-geoip-location-admin":"el-geoip-location",s=Date.now()+864e5;localStorage.setItem(o,JSON.stringify({value:e.data,expires:s})),e.isAdmin&&localStorage.setItem("el-geoip-admin",JSON.stringify({value:"1",expires:s}))},o=new XMLHttpRequest;o.open("GET","https://geo.geoproapp.com?x-api-key=91e359ab7-2b63-539e-1de2-c4bf731367a7",!0),o.responseType="json",o.onload=()=>e(200===o.status?o.response:null),o.send()},load=!["el-geoip-location-admin","el-geoip-location"].some(e=>{try{let o=JSON.parse(localStorage.getItem(e));return o&&o.expires>Date.now()}catch(s){return!1}});load&&loadGeoPro(); } catch(e) { console.warn('Geo:Pro error', e); window.geopro_cancel = '1'; } </script> <!-- END app app block --><!-- BEGIN app block: shopify://apps/stape-server-gtm/blocks/gtm/7e13c847-7971-409d-8fe0-29ec14d5f048 --><script> window.lsData = {}; window.lsData.customer = null; window.lsData.currency = "USD"; window.lsData.currency2 = "USD"; window.lsData.collection_title = ""; window.lsData.collection = null; window.lsData.product = {"id":6753268891671,"title":"EVSCOPE 2","handle":"evscope-2","description":"\u003cp\u003eEVSCOPE 2 stands as the pinnacle of smart telescopes, offering unrivaled advancement and immersion. Its state-of-the-art technology invites astronomers to explore the Cosmos in unprecedented ways while actively contributing to the expansion of our Universe's comprehension through the UNISTELLAR Citizen Science Program.\u003c\/p\u003e\n\u003cul style=\"margin-top:35px\"\u003e\n\u003cli\u003eEyepiece observation experience \u003cspan style=\"background-color: #ff5443;\"\u003e(Exclusive to UNISTELLAR).\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eObserve via your mobile device or tablet.\u003c\/li\u003e\n\u003cli\u003eFree iOS \u0026amp; Android App available.\u003c\/li\u003e\n\u003cli\u003eManual Focus and Collimation.\u003c\/li\u003e\n\u003cli\u003eAccess the sky catalog, click \u0026amp; observe over 5000 amazing objects.\u003c\/li\u003e\n\u003cli\u003eExperience live image processing for a stunning observation and easy image sharing.\u003c\/li\u003e\n\u003cli\u003ePremium high tripod included.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"color: #808080;\"\u003e\u003ca href=\"#TechSpecs\" style=\"color: #808080;\"\u003eTech specs\u003c\/a\u003e | \u003ca href=\"#WhatsInTheBox\" style=\"color: #808080;\"\u003eWhat's in the box?\u003c\/a\u003e | \u003ca href=\"#FAQ\" style=\"color: #808080;\"\u003eFrequently asked questions\u003c\/a\u003e\u003c\/p\u003e","published_at":"2022-06-03T01:27:18-07:00","created_at":"2022-06-03T01:27:28-07:00","vendor":"UNISTELLAR","type":"Telescope","tags":[],"price":391900,"price_min":391900,"price_max":391900,"available":true,"price_varies":false,"compare_at_price":489900,"compare_at_price_min":489900,"compare_at_price_max":489900,"compare_at_price_varies":false,"variants":[{"id":40131698163735,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"EVSCOPE2","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"EVSCOPE 2","public_title":null,"options":["Default Title"],"price":391900,"weight":0,"compare_at_price":489900,"inventory_management":"shopify","barcode":"3701393200226","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev2.png?v=1704660552","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev3.png?v=1704660552","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev4.png?v=1704660551","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev5.png?v=1704660552","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev6.png?v=1704660552","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev7.png?v=1704660551"],"featured_image":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551","options":["Title"],"media":[{"alt":null,"id":23383799234583,"position":1,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551","width":803},{"alt":null,"id":23383799267351,"position":2,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev2.png?v=1704660552"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev2.png?v=1704660552","width":803},{"alt":null,"id":23383799300119,"position":3,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev3.png?v=1704660552"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev3.png?v=1704660552","width":803},{"alt":null,"id":23383799332887,"position":4,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev4.png?v=1704660551"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev4.png?v=1704660551","width":803},{"alt":null,"id":23383799365655,"position":5,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev5.png?v=1704660552"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev5.png?v=1704660552","width":803},{"alt":null,"id":23383799398423,"position":6,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev6.png?v=1704660552"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev6.png?v=1704660552","width":803},{"alt":null,"id":23383799431191,"position":7,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev7.png?v=1704660551"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev7.png?v=1704660551","width":803}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eEVSCOPE 2 stands as the pinnacle of smart telescopes, offering unrivaled advancement and immersion. Its state-of-the-art technology invites astronomers to explore the Cosmos in unprecedented ways while actively contributing to the expansion of our Universe's comprehension through the UNISTELLAR Citizen Science Program.\u003c\/p\u003e\n\u003cul style=\"margin-top:35px\"\u003e\n\u003cli\u003eEyepiece observation experience \u003cspan style=\"background-color: #ff5443;\"\u003e(Exclusive to UNISTELLAR).\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eObserve via your mobile device or tablet.\u003c\/li\u003e\n\u003cli\u003eFree iOS \u0026amp; Android App available.\u003c\/li\u003e\n\u003cli\u003eManual Focus and Collimation.\u003c\/li\u003e\n\u003cli\u003eAccess the sky catalog, click \u0026amp; observe over 5000 amazing objects.\u003c\/li\u003e\n\u003cli\u003eExperience live image processing for a stunning observation and easy image sharing.\u003c\/li\u003e\n\u003cli\u003ePremium high tripod included.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"color: #808080;\"\u003e\u003ca href=\"#TechSpecs\" style=\"color: #808080;\"\u003eTech specs\u003c\/a\u003e | \u003ca href=\"#WhatsInTheBox\" style=\"color: #808080;\"\u003eWhat's in the box?\u003c\/a\u003e | \u003ca href=\"#FAQ\" style=\"color: #808080;\"\u003eFrequently asked questions\u003c\/a\u003e\u003c\/p\u003e"}; window.lsData.cart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; window.lsData.checkout = null; window.lsData.order = null; </script> <script async src="https://sp.stapecdn.com/widget/script?shop=shop.unistellar.com&shop_id=56765186071"></script> <!-- END app app block --><script src="https://cdn.shopify.com/extensions/3890d66a-edff-437f-bfc7-ee62ecd3e274/1.7.6/assets/easylocation-storefront.min.js" type="text/javascript" defer="defer"></script> <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: 56765186071,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "product"};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 d(d,e,r,a,n){var o,i,t,s,l=(i=(o={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,t=o.legacy,s=navigator.userAgent,i.test(s)?"modern":(t.test(s),"legacy"));window.Shopify=window.Shopify||{};var c=window.Shopify;c.analytics=c.analytics||{};var u=c.analytics;u.replayQueue=[],u.publish=function(d,e,r){return u.replayQueue.push([d,e,r]),!0};try{self.performance.mark("wpm:start")}catch(d){}var h=[r,"/wpm","/b",n,l.substring(0,1),".js"].join("");!function(d){var e=d.src,r=d.async,a=void 0===r||r,n=d.onload,o=d.onerror,i=document.createElement("script"),t=document.head,s=document.body;i.async=a,i.src=e,n&&i.addEventListener("load",n),o&&i.addEventListener("error",o),t?t.appendChild(i):s?s.appendChild(i):console.error("Did not find a head or body element to append the script")}({src:h,async:!0,onload:function(){var r=window.webPixelsManager.init(d);e(r);var a=window.Shopify.analytics;a.replayQueue.forEach((function(d){var e=d[0],a=d[1],n=d[2];r.publishCustomEvent(e,a,n)})),a.replayQueue=[],a.publish=r.publishCustomEvent,a.visitor=r.visitor},onerror:function(){var e=d.storefrontBaseUrl.replace(/\/$/,""),r="".concat(e,"/.well-known/shopify/monorail/unstable/produce_batch"),n=JSON.stringify({metadata:{event_sent_at_ms:(new Date).getTime()},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:a||"latest",bundle_target:l,page_url:self.location.href,status:"failed",surface:d.surface,error_msg:"".concat(h," has failed to load")},metadata:{event_created_at_ms:(new Date).getTime()}}]});try{if(self.navigator.sendBeacon.bind(self.navigator)(r,n))return!0}catch(d){}var o=new XMLHttpRequest;try{return o.open("POST",r,!0),o.setRequestHeader("Content-Type","text/plain"),o.send(n),!0}catch(d){console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging a load error.")}return!1}})})({shopId: 56765186071,storefrontBaseUrl: "https://shop.unistellar.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"385318935","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"GT-NBJ7ZXS\\\",\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-6WGS5LHQTM\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-6WGS5LHQTM\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-6WGS5LHQTM\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"afe7c2de16587d6c6689522527d6c67f","type":"APP","apiClientId":1780363,"privacyPurposes":[]},{"id":"195461143","configuration":"{\"accountID\":\"56765186071\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"dda0c8ab65be75f082bf0060c6cc55c2","type":"APP","apiClientId":10250649601,"privacyPurposes":["SALE_OF_DATA"]},{"id":"95092759","configuration":"{\"pixel_id\":\"294116294424769\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"8d894c63179843e74a9691414b5ad83d","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"17268759","configuration":"{\"advertiserId\":\"61967\",\"shopDomain\":\"us-unistellar.myshopify.com\",\"appVersion\":\"shopifyApp_4.6.0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1196a046538a0d2ce53d353af4f6ff78","type":"APP","apiClientId":2887701,"privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"27623447","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"Stape GTM - Manual Add"},{"id":"31424535","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"AddShoppers \/ SafeOpt Tag"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"UNISTELLAR USA","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"us-unistellar.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/shop.unistellar.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":3919.0,"currencyCode":"USD"},"product":{"title":"EVSCOPE 2","vendor":"UNISTELLAR","id":"6753268891671","untranslatedTitle":"EVSCOPE 2","url":"\/products\/evscope-2","type":"Telescope"},"id":"40131698163735","image":{"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551"},"sku":"EVSCOPE2","title":"Default Title","untranslatedTitle":"Default Title"}],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});webPixelsManagerAPI.publish("product_viewed", {"productVariant":{"price":{"amount":3919.0,"currencyCode":"USD"},"product":{"title":"EVSCOPE 2","vendor":"UNISTELLAR","id":"6753268891671","untranslatedTitle":"EVSCOPE 2","url":"\/products\/evscope-2","type":"Telescope"},"id":"40131698163735","image":{"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551"},"sku":"EVSCOPE2","title":"Default Title","untranslatedTitle":"Default Title"}});},"https://shop.unistellar.com/cdn","1518c2ba4d2b3301a1e3cb6576947ef22edf7bb6","3c762e5aw5b983e43pc2dc4883m545d5a27",);</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {}; window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; window.ShopifyAnalytics.meta.currency = 'USD'; var meta = {"product":{"id":6753268891671,"gid":"gid:\/\/shopify\/Product\/6753268891671","vendor":"UNISTELLAR","type":"Telescope","variants":[{"id":40131698163735,"price":391900,"name":"EVSCOPE 2","public_title":null,"sku":"EVSCOPE2"}]},"page":{"pageType":"product","resourceType":"product","resourceId":6753268891671}}; 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: 56765186071, theme_id: 126058135575, app_name: "storefront", context_url: window.location.href, source_url: "//shop.unistellar.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js"}); }; scriptFallback.async = true; scriptFallback.src = '//shop.unistellar.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(scriptFallback, first); }; script.async = true; script.src = '//shop.unistellar.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(script, first); }; trekkie.load( {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":56765186071,"isMerchantRequest":null,"themeId":126058135575,"themeCityHash":"12055285678011351958","contentLanguage":"en","currency":"USD"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Google Analytics":{"trackingId":"UA-108618431-7","domain":"auto","siteSpeedSampleRate":"10","enhancedEcommerce":true,"doubleClick":true,"includeSearch":true},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} ); 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,{"pageType":"product","resourceType":"product","resourceId":6753268891671}); var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) var token = match? match[1]: undefined; if (!hasLoggedConversion(token)) { setCookieIfConversion(token); window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":40131698163735,"productId":6753268891671,"productGid":"gid:\/\/shopify\/Product\/6753268891671","name":"EVSCOPE 2","price":"3919.00","sku":"EVSCOPE2","brand":"UNISTELLAR","variant":null,"category":"Telescope","nonInteraction":true}); window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"USD","variantId":40131698163735,"productId":6753268891671,"productGid":"gid:\/\/shopify\/Product\/6753268891671","name":"EVSCOPE 2","price":"3919.00","sku":"EVSCOPE2","brand":"UNISTELLAR","variant":null,"category":"Telescope","nonInteraction":true,"referer":"https:\/\/shop.unistellar.com\/products\/evscope-2?srsltid=AfmBOooDBxN5no9UwREEwOOdu96LdcNH70bOA5g_lJxG87OFYkkfVIyY\u0026variant=40131698163735\u0026source=aw\u0026sv1=affiliate\u0026sv_campaign_id=103504\u0026utm_source=awin\u0026utm_medium=affiliate\u0026utm_campaign=103504\u0026awc=61967_1732740658_e28c678a7f656b4a021c3ff99b22dd9f"}); } }); var eventsListenerScript = document.createElement('script'); eventsListenerScript.async = true; eventsListenerScript.src = "//shop.unistellar.com/cdn/shopifycloud/shopify/assets/shop_events_listener-61fa9e0a912c675e178777d2b27f6cbd482f8912a6b0aa31fa3515985a8cd626.js"; document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); })();</script> <script class="boomerang"> (function () { window.BOOMR = window.BOOMR || {}; window.BOOMR.themeName = "Broadcast"; window.BOOMR.themeVersion = "3.1.0"; window.BOOMR.shopId = 56765186071; window.BOOMR.themeId = 126058135575; })();</script> <script defer src="https://shop.unistellar.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.0.2.min.js" data-application="storefront-renderer" data-shop-id="56765186071" data-render-region="gcp-asia-southeast1" data-page-type="product" data-theme-instance-id="126058135575" data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" ></script> </head> <body id="buy-a-unistellar-evscope-2-smart-telescope-today" class="template-product aos-initialized" data-animations="true"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P9Q6PZ3" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <a class="in-page-link visually-hidden skip-link" data-skip-content href="#MainContent">Skip to content</a> <div class="container" data-site-container> <div id="shopify-section-announcement" class="shopify-section"> </div> <div id="shopify-section-header" class="shopify-section"><style data-shopify>:root { --menu-height: calc(49px); }.header__logo__link::before { padding-bottom: 9.731543624161073%; }</style> <div class="header__wrapper" data-header-wrapper data-header-transparent="false" data-header-sticky="static" data-header-style="logo_beside" data-section-id="header" data-section-type="header"> <header class="theme__header header__icons--clean" role="banner" data-header-height> <div> <div class="header__mobile"> <div class="header__mobile__left"> <div class="header__mobile__button"> <button class="header__mobile__hamburger" data-drawer-toggle="hamburger" aria-label="Show menu" aria-haspopup="true" aria-expanded="false" aria-controls="header-menu"> <div class="hamburger__lines"> <span></span> <span></span> <span></span> </div> </button> </div> </div> <div class="header__logo header__logo--image"> <a class="header__logo__link" href="/" style="width: 200px;"> <img data-src="//shop.unistellar.com/cdn/shop/files/logo_{width}x.png?v=1704673488" class="lazyload logo__img logo__img--color" data-widths="[110, 160, 220, 320, 480, 540, 720, 900]" data-sizes="auto" data-aspectratio="10.275862068965518" alt="UNISTELLAR USA"> <noscript> <img class="logo__img" style="opacity: 1;" src="//shop.unistellar.com/cdn/shop/files/logo_360x.png?v=1704673488" alt=""/> </noscript> </a> </div> <div class="header__mobile__right"> <div class="header__mobile__button"> <a href="/account" class="navlink"> <!-- /snippets/social-icon.liquid --> <svg width="41" height="41" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="41" height="41"><path fill="#D9D9D9" d="M.5.5h40v40H.5z"/></mask><g mask="url(#a)"><path d="M20.5 19.474c-1.375 0-2.552-.49-3.531-1.468-.98-.98-1.469-2.157-1.469-3.532s.49-2.552 1.469-3.53c.979-.98 2.156-1.47 3.531-1.47s2.552.49 3.531 1.47c.98.978 1.469 2.155 1.469 3.53s-.49 2.552-1.469 3.532c-.979.979-2.156 1.468-3.531 1.468ZM8.833 29.794v-1.012c0-.688.2-1.332.601-1.931.4-.6.94-1.065 1.617-1.396a23.65 23.65 0 0 1 4.721-1.697 20.238 20.238 0 0 1 4.728-.566c1.577 0 3.153.189 4.728.566a23.65 23.65 0 0 1 4.72 1.697 4.034 4.034 0 0 1 1.618 1.396c.4.6.6 1.243.6 1.931v1.013c0 .49-.165.9-.498 1.232a1.674 1.674 0 0 1-1.232.499H10.564c-.49 0-.9-.166-1.232-.499a1.674 1.674 0 0 1-.499-1.232Zm1.667.065h20v-1.077c0-.37-.12-.717-.357-1.042-.239-.324-.568-.599-.99-.823a21.15 21.15 0 0 0-4.242-1.528 18.637 18.637 0 0 0-8.822 0 21.15 21.15 0 0 0-4.243 1.528c-.42.224-.75.499-.989.823a1.729 1.729 0 0 0-.357 1.042v1.077Zm10-12.051a3.21 3.21 0 0 0 2.354-.98 3.21 3.21 0 0 0 .98-2.354 3.21 3.21 0 0 0-.98-2.354 3.21 3.21 0 0 0-2.354-.979 3.21 3.21 0 0 0-2.354.98 3.21 3.21 0 0 0-.98 2.353c0 .917.327 1.702.98 2.354a3.21 3.21 0 0 0 2.354.98Z" fill="#fff"/></g></svg> <span class="visually-hidden">My Account</span> </a> </div> <div class="header__mobile__button"> <a class="navlink navlink--cart" href="/cart" data-cart-toggle data-focus-element > <div class="cart__icon__content"> <span class="header__cart__status" data-cart-count="0"> 0 </span> <!-- /snippets/social-icon.liquid --> <svg width="41" height="41" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="41" height="41"><path fill="#D9D9D9" d="M.5.5h40v40H.5z"/></mask><g mask="url(#a)"><path d="M11.526 35.5c-.768 0-1.408-.257-1.922-.77-.514-.515-.77-1.155-.77-1.922V14.859c0-.767.256-1.408.77-1.921.514-.514 1.155-.771 1.922-.771h3.14v-.834c0-1.62.568-2.996 1.703-4.131C17.503 6.067 18.88 5.5 20.5 5.5s2.997.567 4.131 1.702c1.135 1.135 1.702 2.512 1.702 4.131v.834h3.141c.767 0 1.408.257 1.922.77.514.514.77 1.155.77 1.922v17.949c0 .767-.256 1.407-.77 1.921s-1.155.771-1.922.771H11.526Zm0-1.667h17.948c.257 0 .492-.106.706-.32.213-.214.32-.449.32-.705V14.859c0-.256-.107-.492-.32-.705-.214-.214-.45-.32-.706-.32h-3.14V18c0 .237-.08.435-.24.595a.807.807 0 0 1-.594.238.807.807 0 0 1-.595-.238.807.807 0 0 1-.238-.595v-4.167h-8.334V18c0 .237-.08.435-.238.595a.807.807 0 0 1-.595.238.807.807 0 0 1-.595-.238.807.807 0 0 1-.238-.595v-4.167h-3.141c-.257 0-.492.107-.706.32-.213.214-.32.45-.32.706v17.949c0 .256.107.491.32.705.214.214.45.32.706.32Zm4.807-21.666h8.334v-.834c0-1.173-.402-2.16-1.204-2.963-.802-.802-1.79-1.203-2.963-1.203s-2.16.4-2.963 1.203c-.802.803-1.204 1.79-1.204 2.963v.834Z" fill="#fff"/></g></svg> <span class="visually-hidden">Your Cart</span> </div> </a> </div> </div> </div> <div data-header-desktop class="header__desktop"><div class="header__desktop__upper" data-takes-space-wrapper> <div data-child-takes-space class="header__desktop__bar__l"> <div class="header__logo header__logo--image"> <a class="header__logo__link" href="/" style="width: 200px;"> <img data-src="//shop.unistellar.com/cdn/shop/files/logo_{width}x.png?v=1704673488" class="lazyload logo__img logo__img--color" data-widths="[110, 160, 220, 320, 480, 540, 720, 900]" data-sizes="auto" data-aspectratio="10.275862068965518" alt="UNISTELLAR USA"> <noscript> <img class="logo__img" style="opacity: 1;" src="//shop.unistellar.com/cdn/shop/files/logo_360x.png?v=1704673488" alt=""/> </noscript> </a> </div> </div> <div data-child-takes-space class="header__desktop__bar__c"> <nav class="header__menu"> <div class="header__menu__inner" data-text-items-wrapper> <div class="hover__bar"></div> <div class="hover__bg"></div> </div> </nav> </div> <div data-child-takes-space class="header__desktop__bar__r"> <div class="header__desktop__buttons header__desktop__buttons--icons"> <div class="header__desktop__country"> <button class="active_country"> Select Region <span class="test"></span> </button> <div class="countries_wrapper"> <a href="https://shop.unistellar.com">United States</a> <a href="https://shop.eu.unistellar.com/fr/">France</a> <a href="https://shop.eu.unistellar.com/de/">Deutschland</a> <a href="https://shop.eu.unistellar.com">Europe</a> <a href="https://shop.uk.unistellar.com/">United Kingdom</a> <a href="https://www.unistellar.com/ja/shop/">日本</a> </div> </div> <div class="header__desktop__button"> <a href="/account" class="navlink" title="My Account"> <!-- /snippets/social-icon.liquid --> <svg width="41" height="41" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="41" height="41"><path fill="#D9D9D9" d="M.5.5h40v40H.5z"/></mask><g mask="url(#a)"><path d="M20.5 19.474c-1.375 0-2.552-.49-3.531-1.468-.98-.98-1.469-2.157-1.469-3.532s.49-2.552 1.469-3.53c.979-.98 2.156-1.47 3.531-1.47s2.552.49 3.531 1.47c.98.978 1.469 2.155 1.469 3.53s-.49 2.552-1.469 3.532c-.979.979-2.156 1.468-3.531 1.468ZM8.833 29.794v-1.012c0-.688.2-1.332.601-1.931.4-.6.94-1.065 1.617-1.396a23.65 23.65 0 0 1 4.721-1.697 20.238 20.238 0 0 1 4.728-.566c1.577 0 3.153.189 4.728.566a23.65 23.65 0 0 1 4.72 1.697 4.034 4.034 0 0 1 1.618 1.396c.4.6.6 1.243.6 1.931v1.013c0 .49-.165.9-.498 1.232a1.674 1.674 0 0 1-1.232.499H10.564c-.49 0-.9-.166-1.232-.499a1.674 1.674 0 0 1-.499-1.232Zm1.667.065h20v-1.077c0-.37-.12-.717-.357-1.042-.239-.324-.568-.599-.99-.823a21.15 21.15 0 0 0-4.242-1.528 18.637 18.637 0 0 0-8.822 0 21.15 21.15 0 0 0-4.243 1.528c-.42.224-.75.499-.989.823a1.729 1.729 0 0 0-.357 1.042v1.077Zm10-12.051a3.21 3.21 0 0 0 2.354-.98 3.21 3.21 0 0 0 .98-2.354 3.21 3.21 0 0 0-.98-2.354 3.21 3.21 0 0 0-2.354-.979 3.21 3.21 0 0 0-2.354.98 3.21 3.21 0 0 0-.98 2.353c0 .917.327 1.702.98 2.354a3.21 3.21 0 0 0 2.354.98Z" fill="#fff"/></g></svg> <span class="visually-hidden">My Account</span> </a> </div> <div class="header__desktop__button"> <a href="/cart" class="navlink navlink--cart" title="Your Cart" data-cart-toggle data-focus-element > <div class="cart__icon__content"> <span class="header__cart__status" data-cart-count="0"> 0 </span> <!-- /snippets/social-icon.liquid --> <svg width="41" height="41" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="41" height="41"><path fill="#D9D9D9" d="M.5.5h40v40H.5z"/></mask><g mask="url(#a)"><path d="M11.526 35.5c-.768 0-1.408-.257-1.922-.77-.514-.515-.77-1.155-.77-1.922V14.859c0-.767.256-1.408.77-1.921.514-.514 1.155-.771 1.922-.771h3.14v-.834c0-1.62.568-2.996 1.703-4.131C17.503 6.067 18.88 5.5 20.5 5.5s2.997.567 4.131 1.702c1.135 1.135 1.702 2.512 1.702 4.131v.834h3.141c.767 0 1.408.257 1.922.77.514.514.77 1.155.77 1.922v17.949c0 .767-.256 1.407-.77 1.921s-1.155.771-1.922.771H11.526Zm0-1.667h17.948c.257 0 .492-.106.706-.32.213-.214.32-.449.32-.705V14.859c0-.256-.107-.492-.32-.705-.214-.214-.45-.32-.706-.32h-3.14V18c0 .237-.08.435-.24.595a.807.807 0 0 1-.594.238.807.807 0 0 1-.595-.238.807.807 0 0 1-.238-.595v-4.167h-8.334V18c0 .237-.08.435-.238.595a.807.807 0 0 1-.595.238.807.807 0 0 1-.595-.238.807.807 0 0 1-.238-.595v-4.167h-3.141c-.257 0-.492.107-.706.32-.213.214-.32.45-.32.706v17.949c0 .256.107.491.32.705.214.214.45.32.706.32Zm4.807-21.666h8.334v-.834c0-1.173-.402-2.16-1.204-2.963-.802-.802-1.79-1.203-2.963-1.203s-2.16.4-2.963 1.203c-.802.803-1.204 1.79-1.204 2.963v.834Z" fill="#fff"/></g></svg> <span class="visually-hidden">Your Cart</span> </div> </a> </div> <div class="header__desktop__button"> <span class="ly-custom-1000"></span> </div> </div> </div> </div></div> </div> </header> <nav class="header__drawer" data-drawer="hamburger" aria-label="Menu" id="header-menu"> <div class="drawer__content"> <div class="drawer__inner" data-drawer-inner> <div class="drawer__menu" data-stagger-animation data-sliderule-pane="0"> </div> </div> <div class="drawer__bottom"><div class="drawer__bottom__left"> <!-- /snippets/social.liquid --> <ul class="social__links"> <li><a href="https://www.facebook.com/unistellaroptics/" class="social__link" title="UNISTELLAR USA on Facebook" rel="noopener" target="_blank"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 20 20"><path fill="#444" d="M18.05.811q.439 0 .744.305t.305.744v16.637q0 .439-.305.744t-.744.305h-4.732v-7.221h2.415l.342-2.854h-2.757v-1.83q0-.659.293-1t1.073-.342h1.488V3.762q-.976-.098-2.171-.098-1.634 0-2.635.964t-1 2.72V9.47H7.951v2.854h2.415v7.221H1.413q-.439 0-.744-.305t-.305-.744V1.859q0-.439.305-.744T1.413.81H18.05z"/></svg><span class="visually-hidden">Facebook</span></a></li> <li><a href="https://twitter.com/Unistellar" class="social__link" title="UNISTELLAR USA on Twitter" rel="noopener" target="_blank"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-twitter" viewBox="0 0 20 20"><path fill="#444" d="M19.551 4.208q-.815 1.202-1.956 2.038 0 .082.02.255t.02.255q0 1.589-.469 3.179t-1.426 3.036-2.272 2.567-3.158 1.793-3.963.672q-3.301 0-6.031-1.773.571.041.937.041 2.751 0 4.911-1.671-1.284-.02-2.292-.784T2.456 11.85q.346.082.754.082.55 0 1.039-.163-1.365-.285-2.262-1.365T1.09 7.918v-.041q.774.408 1.773.448-.795-.53-1.263-1.396t-.469-1.864q0-1.019.509-1.997 1.487 1.854 3.596 2.924T9.81 7.184q-.143-.509-.143-.897 0-1.63 1.161-2.781t2.832-1.151q.815 0 1.569.326t1.284.917q1.345-.265 2.506-.958-.428 1.386-1.732 2.18 1.243-.163 2.262-.611z"/></svg><span class="visually-hidden">Twitter</span></a></li> <li><a href="https://www.youtube.com/c/Unistellar" class="social__link" title="UNISTELLAR USA on YouTube" rel="noopener" target="_blank"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube" viewBox="0 0 21 20"><path fill="#444" d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"/></svg><span class="visually-hidden">YouTube</span></a></li> </ul> </div> <div class="drawer__bottom__right"><form method="post" action="/localization" id="localization-form-drawer" accept-charset="UTF-8" class="header__drawer__selects" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/products/evscope-2?srsltid=AfmBOooDBxN5no9UwREEwOOdu96LdcNH70bOA5g_lJxG87OFYkkfVIyY&variant=40131698163735&source=aw&sv1=affiliate&sv_campaign_id=103504&utm_source=awin&utm_medium=affiliate&utm_campaign=103504&awc=61967_1732740658_e28c678a7f656b4a021c3ff99b22dd9f" /></form></div> </div> </div> <span class="drawer__underlay" data-drawer-underlay></span> </nav> </div> <div class="header__backfill" data-header-backfill style="height: var(--menu-height);"></div> <div data-cart-popover-container class="cart-popover"></div> <div id="search-popdown" class="search-popdown"> <div class="search__popdown__outer"> <div class="search__popdown__upper" data-search-title-wrap> <span></span> </div> <div class="wrapper"> <div class="search__popdown__main"> <form class="search__popdown__form" action="/search" method="get" role="search"> <button class="search__popdown__form__button" type="submit"> <span class="visually-hidden">Search</span> <!-- /snippets/social-icon.liquid --> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-clean-search" viewBox="0 0 30 30"><path d="M14 3.5c5.799 0 10.5 4.701 10.5 10.5a10.47 10.47 0 01-3.223 7.57l5.077 5.076a.5.5 0 01-.638.765l-.07-.057-5.124-5.125A10.455 10.455 0 0114 24.5C8.201 24.5 3.5 19.799 3.5 14S8.201 3.5 14 3.5zm0 1a9.5 9.5 0 100 19 9.5 9.5 0 000-19z"/></svg> </button> <input type="search" data-predictive-search-input="search-popdown-results" name="q" value="" placeholder="Search" aria-label="Search our store"> </form> <div class="search__popdown__close"> <button type="button" class="search__popdown__close__inner" data-close-popdown title="Close"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 20 20"><path fill="#444" d="M15.89 14.696l-4.734-4.734 4.717-4.717c.4-.4.37-1.085-.03-1.485s-1.085-.43-1.485-.03L9.641 8.447 4.97 3.776c-.4-.4-1.085-.37-1.485.03s-.43 1.085-.03 1.485l4.671 4.671-4.688 4.688c-.4.4-.37 1.085.03 1.485s1.085.43 1.485.03l4.688-4.687 4.734 4.734c.4.4 1.085.37 1.485-.03s.43-1.085.03-1.485z"/></svg> </button> </div> </div> </div> </div> <div class="header__search__results" id="search-popdown-results"> <div class="search__results__outer"> <div class="search__results__products" data-product-wrap-outer> <div class="loader search__loader"><div class="loader-indeterminate"></div></div> <div class="search__results__products__list search__results__products__list--borderless" data-product-wrap> </div> </div> </div> </div> </div> <script data-predictive-search-title-template type="text/x-template"> <div aria-live="polite"> <span class="announcement__more">{{ it.title }}</span> <span class="announcement__main">{{ it.query }}</span> </div> </script> <script product-grid-item-template type="text/x-template"> <div class="product-item product-item--borderless product-item--centered"> <a href="{{ it.product.url }}" class="product-link" aria-label='{{ it.product.title }}'> <div class="product-item__image {{it.product.double_class}}"> <div class="product-item__bg" aria-label="{{ it.product.image.alt }}" style="background-image: url('{{ it.product.image.thumb }}');"></div> {{@if(it.product.secondImage)}} <div class="product-item__bg__under" aria-label="{{ it.product.secondImage.alt }}" style="background-image: url('{{ it.product.secondImage.thumb }}');"></div> {{/if}} </div> <div class="product-information"> <p class="product__grid__title">{{ it.product.title }}</p> <span class="price {{ it.product.classes }}"> {{@if(it.product.available)}} <span class="new-price">{{ it.product.price_with_from | safe }}</span> {{@if(it.product.compare_at_price > it.product.price)}} <span class="old-price">{{ it.product.compare_at_price | safe }}</span> {{/if}} {{#else}} <br /><em>{{ it.product.sold_out_translation }}</em> {{/if}} </span> </div> </a> </div> </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "UNISTELLAR USA", "logo": "https:\/\/shop.unistellar.com\/cdn\/shop\/files\/logo_298x.png?v=1704673488", "sameAs": [ "https:\/\/twitter.com\/Unistellar", "https:\/\/www.facebook.com\/unistellaroptics\/", "", "", "https:\/\/www.youtube.com\/c\/Unistellar", "", "", "", null, null, "" ], "url": "https:\/\/shop.unistellar.com" } </script> </div> <!-- CONTENT --> <main role="main" id="MainContent" class="main-content"> <div id="shopify-section-template--20758037954583__25a6e84a-423e-4dcf-b2bc-4335302e53af" class="shopify-section"><section class="index-rte prod_bbtn text-dark margin--small"><div class="wrapper"><a href="/">« back to products</a></div></section> </div><div id="shopify-section-template--20758037954583__main" class="shopify-section"> <!-- /sections/product.liquid --><div id="template-product" data-section-id="template--20758037954583__main" data-section-type="product" data-product-handle="evscope-2" data-enable-history-state="true" data-sticky-enabled="true" data-tall-layout="false" data-cart-bar="true" data-image-zoom-enable="true"> <!-- /snippets/product.liquid --> <div class="product__wrapper product__wrapper--thumbnails" data-product ><style data-shopify>.product__slides .flickity-viewport::after { aspect-ratio: 1.01; }</style><div class="grid product__page"> <div class="grid__item medium-up--one-half"><div class="product__slides product-single__photos" data-product-slideshow data-product-single-media-group> <div class="product__slide" data-media-id="template--20758037954583__main-23383799234583" data-type="image" data-thumb="//shop.unistellar.com/cdn/shop/files/ev1_200x_crop_center.png?v=1704660551" data-product-single-media-wrapper data-media-id="-23383799234583"><div class="product__photo"> <div class="lazy-image" data-zoom-wrapper data-image-src="//shop.unistellar.com/cdn/shop/files/ev1_3000x.png?v=1704660551" data-image-width="803" data-image-height="798" style="padding-top: 99.38%; background-image: url('//shop.unistellar.com/cdn/shop/files/ev1_1x1.png?v=1704660551');"> <img data-zoom data-src="//shop.unistellar.com/cdn/shop/files/ev1_3000x.png?v=1704660551" style="display: none;" alt="Zoom"> <img data-product-image class="fade-in lazyload" data-image-id="23383799234583" alt="EVSCOPE 2" aria-label="EVSCOPE 2" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="//shop.unistellar.com/cdn/shop/files/ev1_{width}x.png?v=1704660551" data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100]" data-sizes="auto" /> </div> <noscript> <img src="//shop.unistellar.com/cdn/shop/files/ev1_900x.png?v=1704660551" alt="EVSCOPE 2"> </noscript> </div></div> <div class="product__slide media--hidden" data-media-id="template--20758037954583__main-23383799267351" data-type="image" data-thumb="//shop.unistellar.com/cdn/shop/files/ev2_200x_crop_center.png?v=1704660552" data-product-single-media-wrapper data-media-id="-23383799267351"><div class="product__photo"> <div class="lazy-image" data-zoom-wrapper data-image-src="//shop.unistellar.com/cdn/shop/files/ev2_3000x.png?v=1704660552" data-image-width="803" data-image-height="798" style="padding-top: 99.38%; background-image: url('//shop.unistellar.com/cdn/shop/files/ev2_1x1.png?v=1704660552');"> <img data-zoom data-src="//shop.unistellar.com/cdn/shop/files/ev2_3000x.png?v=1704660552" style="display: none;" alt="Zoom"> <img data-product-image class="fade-in lazyload" data-image-id="23383799267351" alt="EVSCOPE 2" aria-label="EVSCOPE 2" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="//shop.unistellar.com/cdn/shop/files/ev2_{width}x.png?v=1704660552" data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100]" data-sizes="auto" /> </div> <noscript> <img src="//shop.unistellar.com/cdn/shop/files/ev2_900x.png?v=1704660552" alt="EVSCOPE 2"> </noscript> </div></div> <div class="product__slide media--hidden" data-media-id="template--20758037954583__main-23383799300119" data-type="image" data-thumb="//shop.unistellar.com/cdn/shop/files/ev3_200x_crop_center.png?v=1704660552" data-product-single-media-wrapper data-media-id="-23383799300119"><div class="product__photo"> <div class="lazy-image" data-zoom-wrapper data-image-src="//shop.unistellar.com/cdn/shop/files/ev3_3000x.png?v=1704660552" data-image-width="803" data-image-height="798" style="padding-top: 99.38%; background-image: url('//shop.unistellar.com/cdn/shop/files/ev3_1x1.png?v=1704660552');"> <img data-zoom data-src="//shop.unistellar.com/cdn/shop/files/ev3_3000x.png?v=1704660552" style="display: none;" alt="Zoom"> <img data-product-image class="fade-in lazyload" data-image-id="23383799300119" alt="EVSCOPE 2" aria-label="EVSCOPE 2" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="//shop.unistellar.com/cdn/shop/files/ev3_{width}x.png?v=1704660552" data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100]" data-sizes="auto" /> </div> <noscript> <img src="//shop.unistellar.com/cdn/shop/files/ev3_900x.png?v=1704660552" alt="EVSCOPE 2"> </noscript> </div></div> <div class="product__slide media--hidden" data-media-id="template--20758037954583__main-23383799332887" data-type="image" data-thumb="//shop.unistellar.com/cdn/shop/files/ev4_200x_crop_center.png?v=1704660551" data-product-single-media-wrapper data-media-id="-23383799332887"><div class="product__photo"> <div class="lazy-image" data-zoom-wrapper data-image-src="//shop.unistellar.com/cdn/shop/files/ev4_3000x.png?v=1704660551" data-image-width="803" data-image-height="798" style="padding-top: 99.38%; background-image: url('//shop.unistellar.com/cdn/shop/files/ev4_1x1.png?v=1704660551');"> <img data-zoom data-src="//shop.unistellar.com/cdn/shop/files/ev4_3000x.png?v=1704660551" style="display: none;" alt="Zoom"> <img data-product-image class="fade-in lazyload" data-image-id="23383799332887" alt="EVSCOPE 2" aria-label="EVSCOPE 2" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="//shop.unistellar.com/cdn/shop/files/ev4_{width}x.png?v=1704660551" data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100]" data-sizes="auto" /> </div> <noscript> <img src="//shop.unistellar.com/cdn/shop/files/ev4_900x.png?v=1704660551" alt="EVSCOPE 2"> </noscript> </div></div> <div class="product__slide media--hidden" data-media-id="template--20758037954583__main-23383799365655" data-type="image" data-thumb="//shop.unistellar.com/cdn/shop/files/ev5_200x_crop_center.png?v=1704660552" data-product-single-media-wrapper data-media-id="-23383799365655"><div class="product__photo"> <div class="lazy-image" data-zoom-wrapper data-image-src="//shop.unistellar.com/cdn/shop/files/ev5_3000x.png?v=1704660552" data-image-width="803" data-image-height="798" style="padding-top: 99.38%; background-image: url('//shop.unistellar.com/cdn/shop/files/ev5_1x1.png?v=1704660552');"> <img data-zoom data-src="//shop.unistellar.com/cdn/shop/files/ev5_3000x.png?v=1704660552" style="display: none;" alt="Zoom"> <img data-product-image class="fade-in lazyload" data-image-id="23383799365655" alt="EVSCOPE 2" aria-label="EVSCOPE 2" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="//shop.unistellar.com/cdn/shop/files/ev5_{width}x.png?v=1704660552" data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100]" data-sizes="auto" /> </div> <noscript> <img src="//shop.unistellar.com/cdn/shop/files/ev5_900x.png?v=1704660552" alt="EVSCOPE 2"> </noscript> </div></div> <div class="product__slide media--hidden" data-media-id="template--20758037954583__main-23383799398423" data-type="image" data-thumb="//shop.unistellar.com/cdn/shop/files/ev6_200x_crop_center.png?v=1704660552" data-product-single-media-wrapper data-media-id="-23383799398423"><div class="product__photo"> <div class="lazy-image" data-zoom-wrapper data-image-src="//shop.unistellar.com/cdn/shop/files/ev6_3000x.png?v=1704660552" data-image-width="803" data-image-height="798" style="padding-top: 99.38%; background-image: url('//shop.unistellar.com/cdn/shop/files/ev6_1x1.png?v=1704660552');"> <img data-zoom data-src="//shop.unistellar.com/cdn/shop/files/ev6_3000x.png?v=1704660552" style="display: none;" alt="Zoom"> <img data-product-image class="fade-in lazyload" data-image-id="23383799398423" alt="EVSCOPE 2" aria-label="EVSCOPE 2" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="//shop.unistellar.com/cdn/shop/files/ev6_{width}x.png?v=1704660552" data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100]" data-sizes="auto" /> </div> <noscript> <img src="//shop.unistellar.com/cdn/shop/files/ev6_900x.png?v=1704660552" alt="EVSCOPE 2"> </noscript> </div></div> <div class="product__slide media--hidden" data-media-id="template--20758037954583__main-23383799431191" data-type="image" data-thumb="//shop.unistellar.com/cdn/shop/files/ev7_200x_crop_center.png?v=1704660551" data-product-single-media-wrapper data-media-id="-23383799431191"><div class="product__photo"> <div class="lazy-image" data-zoom-wrapper data-image-src="//shop.unistellar.com/cdn/shop/files/ev7_3000x.png?v=1704660551" data-image-width="803" data-image-height="798" style="padding-top: 99.38%; background-image: url('//shop.unistellar.com/cdn/shop/files/ev7_1x1.png?v=1704660551');"> <img data-zoom data-src="//shop.unistellar.com/cdn/shop/files/ev7_3000x.png?v=1704660551" style="display: none;" alt="Zoom"> <img data-product-image class="fade-in lazyload" data-image-id="23383799431191" alt="EVSCOPE 2" aria-label="EVSCOPE 2" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="//shop.unistellar.com/cdn/shop/files/ev7_{width}x.png?v=1704660551" data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048, 2450, 2700, 3000, 3350, 3750, 4100]" data-sizes="auto" /> </div> <noscript> <img src="//shop.unistellar.com/cdn/shop/files/ev7_900x.png?v=1704660551" alt="EVSCOPE 2"> </noscript> </div></div></div><div data-product-thumbs class="product__thumbs--square"></div></div> <div class="grid__item medium-up--one-half"> <div class="form__wrapper" data-form-wrapper> <div class="form__inner__wrapper"> <div class="form__width"> <div style="display:flex;"><p class"custom_label" style="width:fit-content; text-align:center; padding:10px 30px; background: linear-gradient(var(---color-bg),var(---color-bg)) padding-box, linear-gradient(90deg, rgba(239, 119, 147) 20%, rgba(244, 172, 0) 100%) border-box; border-radius: 50em; border: 2px solid transparent;font-size:16px; letter-spacing: 0px; margin:0 10px 5px 0; text-transform:uppercase"><strong>BLACK FRIDAY SALE: SAVE 20%</strong></p></div> <div class="product__title__wrapper" data-zoom-caption > <h1 class="product__title"> EVSCOPE 2 </h1> <div class="price_stock_wrapper"> <div class="stock_wrapper"> <span class="stock is_available">Available</span> </div> <div class="product__price__wrap"> <div class="product__price" data-price-wrapper> <span data-product-price class="product__price--sale">$3,919 </span> <span class="visually-hidden" data-compare-text>Regular price</span> <s class="product__price--strike" data-compare-price> $4,899 </s> </div> <span data-price-off class="product__price--off hide"> Subscription <em>•</em> Save <span data-price-off-amount></span> </span> </div> </div> </div> <!-- TrustBox widget - Product Mini --> <div class="trustpilot-widget" data-locale="en-US" data-template-id="577258fb31f02306e4e3aaf9" data-businessunit-id="63c6b0d74beb5f99d146ae99" data-style-height="24px" data-style-width="225px" data-theme="dark" data-sku="EQUINOX,EVSCOPEBPACK2" data-star-color="" data-font-family="Roboto" data-no-reviews="hide" data-scroll-to-list="true" data-style-alignment="left" style="margin-bottom: 10px;> <a href="https://www.trustpilot.com/review/unistellar.com" target="_blank" rel="noopener">Trustpilot</a> </div> <style> @media only screen and (max-width: 749px) { .trustpilot-widget[data-template-id="577258fb31f02306e4e3aaf9"] { display: flex; justify-content: center; } } </style> <!-- End TrustBox widget --> <div class="product-description rte" ><div class="rte product-description__content"> <div class="product-description__content__holder" > <div class="product-description__content__inner"> <div class="product-description__content__entry" data-truncated-content="product-description__content__entry--truncate"> <p>EVSCOPE 2 stands as the pinnacle of smart telescopes, offering unrivaled advancement and immersion. Its state-of-the-art technology invites astronomers to explore the Cosmos in unprecedented ways while actively contributing to the expansion of our Universe's comprehension through the UNISTELLAR Citizen Science Program.</p> <ul style="margin-top:35px"> <li>Eyepiece observation experience <span style="background-color: #ff5443;">(Exclusive to UNISTELLAR).</span> </li> <li>Observe via your mobile device or tablet.</li> <li>Free iOS & Android App available.</li> <li>Manual Focus and Collimation.</li> <li>Access the sky catalog, click & observe over 5000 amazing objects.</li> <li>Experience live image processing for a stunning observation and easy image sharing.</li> <li>Premium high tripod included.</li> </ul> <p style="color: #808080;"><a href="#TechSpecs" style="color: #808080;">Tech specs</a> | <a href="#WhatsInTheBox" style="color: #808080;">What's in the box?</a> | <a href="#FAQ" style="color: #808080;">Frequently asked questions</a></p> </div> </div> <div class="product-description__content__actions"></div> </div> </div></div><div data-product-form class="product__form variant__labels--hide" > <span class="variant_price"> <span class="visually-hidden" data-compare-text>Regular price</span> <s class="product__price--strike" data-compare-price> $4,899 </s> <span data-product-price class="product__price--sale">$3,919 </span> </span> <div class="stock_wrapper"> <span class="stock is_available"><p>Available in stock</p></span> <span class="delivery">- Free express shipping</span> </div><!-- /snippets/product-form.liquid --> <form method="post" action="/cart/add" id="product_form_6753268891671" accept-charset="UTF-8" class="product-form" enctype="multipart/form-data" data-product-form=""><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /> <input type="hidden" name="id" value="40131698163735"> <input type="hidden" name="quantity" value="1"> <div class="shop-pay-terms"></div> <noscript> <select name="id" class="product__form__select product__form__select--hidden no-js" aria-label="Title"> <option selected="selected" value="40131698163735"> Default Title </option> </select> </noscript><div class="product__submit" data-product-id="6753268891671"> <div class="product__submit__buttons"> <div class="product__submit__item"> <button type="submit" name="add" class="btn product__submit__add" data-add-to-cart data-focus-element > <span data-add-to-cart-text>Add to cart </span> <svg height="18" width="18" class="svg-loader"> <circle r="7" cx="9" cy="9" /> <circle stroke-dasharray="87.96459430051421 87.96459430051421" r="7" cx="9" cy="9" /> </svg> </button> </div> <div id="bread-checkout-btn-product" style="height:55px; margin-top:16px;"></div> </div> <div data-cart-errors-container class="product__form__errors"></div> <script data-cart-popover-template type="text/x-template"> <a href="#" class="close"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close-thin" viewBox="0 0 27 27"><g stroke="#979797" fill="none" fill-rule="evenodd" stroke-linecap="square"><path d="M.5.5l26 26M26.5.5l-26 26"/></g></svg></a> <div class="product__add__notification"> <div class="product__add__success"> <div class="product__add__success__image"> <div class="product__add__success__image-bg" style="background-image: url('{{ it.product_image }}');"> </div> </div> <div class="product__add__success__content"> <h6>Added to your cart:</h6> <h3 class="product__title">{{ it.item_count }} {{ it.product_title }}</h3> {{@if(it.variant)}} <p class="product__variant">{{ it.variant }}</p> {{/if}} <p class="product__price">{{ it.price_formatted | safe }}</p> {{@if(it.unit_price)}} {{ it.unit_price | safe }} {{/if}} <div class="buttons-wrap"> <form action="/cart" method="post" novalidate> <button type="submit" name="checkout"class="btn btn--primary">Checkout</button> </form> <a href="/cart" class="btn btn--outline">View Cart</a> </div> </div> </div> </div> </script> </div> <input type="hidden" name="product-id" value="6753268891671" /><input type="hidden" name="section-id" value="template--20758037954583__main" /></form> </div><div class="reassurance_block"> <div class="reassurance_item"> <img class="image_wrapper" src="//shop.unistellar.com/cdn/shop/files/secure-1_50x.svg?v=1704658361" alt=""> <div class="label"><p>Secure</p><p>Payment</p></div> </div> <div class="reassurance_item"> <img class="image_wrapper" src="//shop.unistellar.com/cdn/shop/files/return-1_50x.svg?v=1704658361" alt=""> <div class="label"><p>30-Day</p><p>Return</p></div> </div> <div class="reassurance_item"> <img class="image_wrapper" src="//shop.unistellar.com/cdn/shop/files/warranty-1_50x.svg?v=1704658361" alt=""> <div class="label"><p>2-Year</p><p>Warranty</p></div> </div> <div class="reassurance_item"> <img class="image_wrapper" src="//shop.unistellar.com/cdn/shop/files/shipping-1_50x.svg?v=1704658361" alt=""> <div class="label"><p>Free</p><p>Shipping</p></div> </div> </div></div> </div> </div> </div> </div> </div> <script type="application/json" data-product-json> {"id":6753268891671,"title":"EVSCOPE 2","handle":"evscope-2","description":"\u003cp\u003eEVSCOPE 2 stands as the pinnacle of smart telescopes, offering unrivaled advancement and immersion. Its state-of-the-art technology invites astronomers to explore the Cosmos in unprecedented ways while actively contributing to the expansion of our Universe's comprehension through the UNISTELLAR Citizen Science Program.\u003c\/p\u003e\n\u003cul style=\"margin-top:35px\"\u003e\n\u003cli\u003eEyepiece observation experience \u003cspan style=\"background-color: #ff5443;\"\u003e(Exclusive to UNISTELLAR).\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eObserve via your mobile device or tablet.\u003c\/li\u003e\n\u003cli\u003eFree iOS \u0026amp; Android App available.\u003c\/li\u003e\n\u003cli\u003eManual Focus and Collimation.\u003c\/li\u003e\n\u003cli\u003eAccess the sky catalog, click \u0026amp; observe over 5000 amazing objects.\u003c\/li\u003e\n\u003cli\u003eExperience live image processing for a stunning observation and easy image sharing.\u003c\/li\u003e\n\u003cli\u003ePremium high tripod included.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"color: #808080;\"\u003e\u003ca href=\"#TechSpecs\" style=\"color: #808080;\"\u003eTech specs\u003c\/a\u003e | \u003ca href=\"#WhatsInTheBox\" style=\"color: #808080;\"\u003eWhat's in the box?\u003c\/a\u003e | \u003ca href=\"#FAQ\" style=\"color: #808080;\"\u003eFrequently asked questions\u003c\/a\u003e\u003c\/p\u003e","published_at":"2022-06-03T01:27:18-07:00","created_at":"2022-06-03T01:27:28-07:00","vendor":"UNISTELLAR","type":"Telescope","tags":[],"price":391900,"price_min":391900,"price_max":391900,"available":true,"price_varies":false,"compare_at_price":489900,"compare_at_price_min":489900,"compare_at_price_max":489900,"compare_at_price_varies":false,"variants":[{"id":40131698163735,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"EVSCOPE2","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"EVSCOPE 2","public_title":null,"options":["Default Title"],"price":391900,"weight":0,"compare_at_price":489900,"inventory_management":"shopify","barcode":"3701393200226","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev2.png?v=1704660552","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev3.png?v=1704660552","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev4.png?v=1704660551","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev5.png?v=1704660552","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev6.png?v=1704660552","\/\/shop.unistellar.com\/cdn\/shop\/files\/ev7.png?v=1704660551"],"featured_image":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551","options":["Title"],"media":[{"alt":null,"id":23383799234583,"position":1,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1.png?v=1704660551","width":803},{"alt":null,"id":23383799267351,"position":2,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev2.png?v=1704660552"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev2.png?v=1704660552","width":803},{"alt":null,"id":23383799300119,"position":3,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev3.png?v=1704660552"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev3.png?v=1704660552","width":803},{"alt":null,"id":23383799332887,"position":4,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev4.png?v=1704660551"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev4.png?v=1704660551","width":803},{"alt":null,"id":23383799365655,"position":5,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev5.png?v=1704660552"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev5.png?v=1704660552","width":803},{"alt":null,"id":23383799398423,"position":6,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev6.png?v=1704660552"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev6.png?v=1704660552","width":803},{"alt":null,"id":23383799431191,"position":7,"preview_image":{"aspect_ratio":1.006,"height":798,"width":803,"src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev7.png?v=1704660551"},"aspect_ratio":1.006,"height":798,"media_type":"image","src":"\/\/shop.unistellar.com\/cdn\/shop\/files\/ev7.png?v=1704660551","width":803}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eEVSCOPE 2 stands as the pinnacle of smart telescopes, offering unrivaled advancement and immersion. Its state-of-the-art technology invites astronomers to explore the Cosmos in unprecedented ways while actively contributing to the expansion of our Universe's comprehension through the UNISTELLAR Citizen Science Program.\u003c\/p\u003e\n\u003cul style=\"margin-top:35px\"\u003e\n\u003cli\u003eEyepiece observation experience \u003cspan style=\"background-color: #ff5443;\"\u003e(Exclusive to UNISTELLAR).\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003eObserve via your mobile device or tablet.\u003c\/li\u003e\n\u003cli\u003eFree iOS \u0026amp; Android App available.\u003c\/li\u003e\n\u003cli\u003eManual Focus and Collimation.\u003c\/li\u003e\n\u003cli\u003eAccess the sky catalog, click \u0026amp; observe over 5000 amazing objects.\u003c\/li\u003e\n\u003cli\u003eExperience live image processing for a stunning observation and easy image sharing.\u003c\/li\u003e\n\u003cli\u003ePremium high tripod included.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"color: #808080;\"\u003e\u003ca href=\"#TechSpecs\" style=\"color: #808080;\"\u003eTech specs\u003c\/a\u003e | \u003ca href=\"#WhatsInTheBox\" style=\"color: #808080;\"\u003eWhat's in the box?\u003c\/a\u003e | \u003ca href=\"#FAQ\" style=\"color: #808080;\"\u003eFrequently asked questions\u003c\/a\u003e\u003c\/p\u003e"} </script> <script type="application/json" id="ModelJson-template--20758037954583__main"> [] </script> <!-- /partials/cart-bar.liquid --> <div id="cart-bar" class="cart-bar"> <div class="cart-bar__form__wrapper form__wrapper" data-form-wrapper> <div class="cart-bar__form"> <div class="cart-bar__submit product__submit "> <h4 class="cart-bar__product__title is-hidden-mobile">EVSCOPE 2</h4> <div class="h5--body cart-bar__product__price product__price is-hidden-mobile" data-price-wrapper> <span data-product-price class="product__price--sale">$3,919 </span> <span class="visually-hidden" data-compare-text>Regular price</span> <s class="product__price--strike" data-compare-price> $4,899 </s> </div> <button type="button" class="btn product__submit__add" data-add-to-cart-bar> <span> Add to cart </span> <svg height="18" width="18" class="svg-loader"> <circle r="7" cx="9" cy="9" /> <circle stroke-dasharray="87.96459430051421 87.96459430051421" r="7" cx="9" cy="9" /> </svg> </button> </div> </div> <div class="cart-bar__info"> <h4 class="cart-bar__product__title is-hidden-desktop">EVSCOPE 2</h4> <div class="h5--body cart-bar__product__price product__price is-hidden-desktop" data-price-wrapper> <span data-product-price class="product__price--sale">$3,919 </span> <span class="visually-hidden" data-compare-text>Regular price</span> <s class="product__price--strike" data-compare-price> $4,899 </s> </div> </div> </div> </div></div> <script type="application/ld+json"> { "@context": "http://schema.org/", "@type": "Product", "name": "EVSCOPE 2", "url": "https:\/\/shop.unistellar.com\/products\/evscope-2","image": [ "https:\/\/shop.unistellar.com\/cdn\/shop\/files\/ev1_803x.png?v=1704660551" ],"description": "EVSCOPE 2 stands as the pinnacle of smart telescopes, offering unrivaled advancement and immersion. Its state-of-the-art technology invites astronomers to explore the Cosmos in unprecedented ways while actively contributing to the expansion of our Universe's comprehension through the UNISTELLAR Citizen Science Program.\n\nEyepiece observation experience (Exclusive to UNISTELLAR).\n\nObserve via your mobile device or tablet.\nFree iOS \u0026amp; Android App available.\nManual Focus and Collimation.\nAccess the sky catalog, click \u0026amp; observe over 5000 amazing objects.\nExperience live image processing for a stunning observation and easy image sharing.\nPremium high tripod included.\n\nTech specs | What's in the box? | Frequently asked questions","sku": "EVSCOPE2","brand": { "@type": "Organization", "name": "UNISTELLAR" }, "offers": [{ "@type" : "Offer","sku": "EVSCOPE2","availability" : "http://schema.org/InStock", "price" : 3919.0, "priceCurrency" : "USD", "priceValidUntil": "2024-11-28", "url" : "https:\/\/shop.unistellar.com\/products\/evscope-2?variant=40131698163735" } ] } </script> </div><div id="shopify-section-template--20758037954583__e3152ff0-183c-439e-9f18-5a5b206c993a" class="shopify-section"><!-- /sections/custom-specs.liquid --> <section class="custom-specs-section " data-section-id="template--20758037954583__e3152ff0-183c-439e-9f18-5a5b206c993a" data-section-type="custom-specs"> <div class="main_wrapper"> <div id="WhatsInTheBox" class="block_wrapper"> <div class="content_wrapper"> <h3 class="main_title">What's in the box?</h3> <p class="content"><ul><li>EVSCOPE 2</li><li>Original UNISTELLAR tripod</li><li>Bahtinov mask</li><li>Dust cap & eyepiece cover</li><li>Charger with adapter</li><li>Set of adjustment tools</li><li>Documentation</li><li>App (iOS & Android)</li></ul></p> </div> <div class="image_wrapper"> <div class="image__hero__frame fade-in-image-zoom image-height " data-overflow-background style="padding-top: 60.0%; background-image: url('//shop.unistellar.com/cdn/shop/files/ev2witb_1x1.jpg?v=1704660751');" > <div class="image__hero__pane"> <div class="image__hero__scale" > <div class="background-size-cover lazyload" data-bgset="//shop.unistellar.com/cdn/shop/files/ev2witb_180x.jpg?v=1704660751 180w 108h,//shop.unistellar.com/cdn/shop/files/ev2witb_360x.jpg?v=1704660751 360w 216h,//shop.unistellar.com/cdn/shop/files/ev2witb_540x.jpg?v=1704660751 540w 324h,//shop.unistellar.com/cdn/shop/files/ev2witb_720x.jpg?v=1704660751 720w 432h,//shop.unistellar.com/cdn/shop/files/ev2witb_900x.jpg?v=1704660751 900w 540h,//shop.unistellar.com/cdn/shop/files/ev2witb.jpg?v=1704660751 1000w 600h" style="background-position: ;" role="img" aria-label=""></div> </div> <noscript> <div class="background-size-cover" style="background-image:url('//shop.unistellar.com/cdn/shop/files/ev2witb_720x.jpg?v=1704660751'); background-position: ; background-repeat: no-repeat;" role="img" aria-label=""></div> </noscript> </div> </div> </div> </div> <div id="TechSpecs" class="block_wrapper"> <h3 class="main_title">Tech specs</h3> <div class="specs_wrapper"> <p class="specs"> Planets & <br /> Deep Sky </p> <p class="specs"> Celestial Database <br /> 5000+ Objects </p> <p class="specs"> Star Database <br /> 37 Million </p> <p class="specs"> Image Resolution <br /> 7.7 Mpx </p> <p class="specs"> Mirror Diameter <br /> 114mm </p> <p class="specs"> Focal Length <br /> 450mm </p> <p class="specs"> Focal Ratio <br /> f/4 </p> <p class="specs"> Field of View <br /> 34.2 x 45.6 arcmin </p> <p class="specs"> Limiting Magnitude <br /> 18.2 </p> <p class="specs"> Mount <br /> Motorized Alt-Az </p> <p class="specs"> Telescope Weight <br /> 7kg (15.4 lbs) </p> <p class="specs"> Tripod Weight <br /> 2kg (4.4 lbs) </p> <p class="specs"> Battery Autonomy <br /> 9h </p> <p class="specs"> Storage <br /> 64 Gb </p> </div> </div> </div> </section> <style> .custom-specs-section[data-section-id=template--20758037954583__e3152ff0-183c-439e-9f18-5a5b206c993a] .main_wrapper .block_wrapper { background-color: #111111; } .custom-specs-section[data-section-id=template--20758037954583__e3152ff0-183c-439e-9f18-5a5b206c993a] .main_wrapper .background-size-cover { background-color: #111111; } </style> </div><div id="shopify-section-template--20758037954583__84b74cc8-28c0-47aa-94cb-4316aa107839" class="shopify-section"><!-- /sections/custom-reviews.liquid --> <section class="custom-reviews-section " data-section-id="template--20758037954583__84b74cc8-28c0-47aa-94cb-4316aa107839" data-section-type="custom-reviews"> <div class="main_wrapper"> <h3 class="main_title">Reviews</h3> <div class="reviews_wrapper"> <div class="review_block_wrapper "> <div class="review_block"> <p class="review">“UNISTELLAR’s smart EVSCOPE has made exploring the stars easier than ever before.”</p> </div> </div> <div class="review_block_wrapper with_separator"> <div class="review_block"> <p class="review">“UNISTELLAR has created a nearly foolproof instrument that even novice skywatchers will have a blast with.”</p> </div> <div class="separator"></div> </div> <div class="review_block_wrapper "> <div class="review_block"> <p class="review">“Absolutely fantastic product - the best telescope I've ever owned or used (and I've owned several) ... UNISTELLAR has created an absolute revolution in amateur astronomy, and it has been a joy to be a part of it”</p> <p class="reviewer_name"> <span class="line"></span> Alex D </p> </div> </div> <div class="review_block_wrapper "> <div class="review_block"> <p class="review">“Even through larger scoops most deep sky objects appear as faint fuzzies, but a few minutes with the EVSCOPE 2 reveals so much more!”</p> <p class="reviewer_name"> <span class="line"></span> Fred W </p> </div> </div> </div> </div> </section> <style> .custom-reviews-section[data-section-id=template--20758037954583__84b74cc8-28c0-47aa-94cb-4316aa107839] .main_wrapper { background-color: #576683; } .custom-reviews-section[data-section-id=template--20758037954583__84b74cc8-28c0-47aa-94cb-4316aa107839] .review_block_wrapper { flex-basis: calc(25% - (37px / 3)); } .custom-reviews-section[data-section-id=template--20758037954583__84b74cc8-28c0-47aa-94cb-4316aa107839] .review_block_wrapper.with_separator { flex-basis: 25%; } </style> </div><div id="shopify-section-template--20758037954583__42fbc9a4-0137-4206-b5bb-df82acdb846b" class="shopify-section"><!-- /sections/custom-faq.liquid --> <section id="FAQ" class="custom-faq-section" data-section-id="template--20758037954583__42fbc9a4-0137-4206-b5bb-df82acdb846b" data-section-type="custom-faq"> <div class="main_wrapper"> <div class="faq_wrapper"> <h3 class="main_title">Frequently asked questions</h3> <div class="question_wrapper"> <h5 class="question">Can I return the telescope if I change my mind ?</h5> <p class="answer">Yes of course, you can return your product within 30 days after reception.</p> </div> <div class="question_wrapper"> <h5 class="question">Does UNISTELLAR App work for both iOS & Android ?</h5> <p class="answer">Yes, UNISTELLAR App works on iOS and Android, it is available for phone devices and tablets via App Store & Play Store</p> </div> <div class="question_wrapper"> <h5 class="question">I'm new to telescopes, how can I start using EVSCOPE 2 quickly ?</h5> <p class="answer">UNISTELLAR Smart Telescopes are designed to offer the easiest and most user-friendly observation experience. No need to have astronomical knowledge, no manual calibration no polar alignment procedure ... Take out, push the button, and explore.</p> </div> </div> <div class="video_wrapper section-video wide-image js-overflow-container" data-section-id="video-template--20758037954583__42fbc9a4-0137-4206-b5bb-df82acdb846b" data-section-type="featured-video" data-overlay-header> <div class="hero__content__wrapper align--middle-center hero__content--transparent" id="video--template--20758037954583__42fbc9a4-0137-4206-b5bb-df82acdb846b"> <div class="hero__content js-overflow-content"> <a href="https://vimeo.com/765624102" class="hero__btn btn btn--input btn--outline caps btn--white image__video__play" data-aos="hero" data-aos-anchor="#video--template--20758037954583__42fbc9a4-0137-4206-b5bb-df82acdb846b" data-aos-order="3" data-video-play=" <div class='pswp__custom-inner'> <div class='pswp__custom-content'> <div class='iframe-outer pswp__custom-iframe-outer'> <div id='item-video-template--20758037954583__42fbc9a4-0137-4206-b5bb-df82acdb846b' class='pswp__custom-iframe' data-video-type='vimeo' data-video-id='765624102' data-enable-sound='true'></div> </div> </div> </div> "> ​ <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-play" viewBox="0 0 14 14"><path d="M2 .196v13.608L12.887 7 2 .196zM3 2l8 5-8 5V2z"/></svg> </a></div> </div> <div class="image-overlay" style="background-color:#000000 !important; opacity:0.0;"></div> <div class="image__hero__frame fade-in-image-zoom screen-height-one-half " data-overflow-background > <div class="image__hero__pane"> <div class="image__hero__scale" > <div class="background-size-cover lazyload" data-bgset="//shop.unistellar.com/cdn/shop/files/Layer_10_1b963d46-a97b-493b-ab8f-b4dec7d18f74_180x.png?v=1684231771 180w 240h,//shop.unistellar.com/cdn/shop/files/Layer_10_1b963d46-a97b-493b-ab8f-b4dec7d18f74_360x.png?v=1684231771 360w 481h,//shop.unistellar.com/cdn/shop/files/Layer_10_1b963d46-a97b-493b-ab8f-b4dec7d18f74.png?v=1684231771 506w 676h" style="background-position: center center;" role="img" aria-label=""></div> </div> <noscript> <div class="background-size-cover" style="background-image:url('//shop.unistellar.com/cdn/shop/files/Layer_10_1b963d46-a97b-493b-ab8f-b4dec7d18f74_720x.png?v=1684231771'); background-position: center center; background-repeat: no-repeat;" role="img" aria-label=""></div> </noscript> </div> </div> </div> </div> </section> <script> function setHeight() { if ($(window).width() > 749) { const maxHeight = $("section[data-section-id=template--20758037954583__42fbc9a4-0137-4206-b5bb-df82acdb846b] .faq_wrapper").outerHeight(); $(".video_wrapper[data-section-id=video-template--20758037954583__42fbc9a4-0137-4206-b5bb-df82acdb846b] .image__hero__frame ").css("height", maxHeight + "px"); } else { $(".video_wrapper[data-section-id=video-template--20758037954583__42fbc9a4-0137-4206-b5bb-df82acdb846b] .image__hero__frame ").css("height", ""); } } $(window).on("resize", setHeight); $(document).on("ready", setHeight); setTimeout(setHeight, 500); </script> <style> </style> </div> </main> </div> <div id="shopify-section-footer" class="shopify-section"><!-- /sections/footer.liquid --> <footer class="site-footer-wrapper " role="contentinfo" data-section-id="footer" data-section-type="footer"><div class="site-footer"> <style> .footer__logo img { width: 150px; } </style> <a href="/" class="footer__logo"> <img class="lazyload" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="//shop.unistellar.com/cdn/shop/files/logo_{width}x.png?v=1704673488" data-widths="[150, 300]" data-sizes="auto" data-aspectratio="10.275862068965518" data-parent-fit="contain" alt="UNISTELLAR USA" id="footerLogoImg-footer"/> </a> <div class="grid grid--uniform"> <div class="footer__block grid__item large-up--one-half" > <ul class="footer__quicklinks unstyled"> <li class="copyright"> <a href="https://shop.unistellar.com">© UNISTELLAR 2024</a> </li> <li><a class="" href="https://www.unistellar.com/about/">ABOUT</a></li> <li><a class="" href="https://www.unistellar.com/press-portal/">PRESS</a></li> <li><a class="" href="https://help.unistellar.com/hc/en-us/requests/new">CONTACT</a></li> <li><a class="" href="/policies/shipping-policy">SHIPPING</a></li> <li><a class="" href="/policies/refund-policy">REFUND</a></li> <li><a class="" href="/policies/privacy-policy">PRIVACY</a></li> <li><a class="last" href="/policies/terms-of-service">TERMS</a></li> </ul> </div> </div> <div class="grid"> <div class="footer__secondary grid__item "> <!-- /partials/cross-border.liquid --><form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="popout--footer" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/products/evscope-2?srsltid=AfmBOooDBxN5no9UwREEwOOdu96LdcNH70bOA5g_lJxG87OFYkkfVIyY&variant=40131698163735&source=aw&sv1=affiliate&sv_campaign_id=103504&utm_source=awin&utm_medium=affiliate&utm_campaign=103504&awc=61967_1732740658_e28c678a7f656b4a021c3ff99b22dd9f" /></form><ul class="footer__copyright inline-list unstyled"> <li> <a href="https://shop.unistellar.com">© UNISTELLAR CORP 2024</a>, All rights reserved </li> <!-- The following lines fix Lighthouse security warnings on the Shopify link.--> </ul> </div> </div> </div> </footer> </div> <div id="shopify-section-popups" class="shopify-section"><!-- /sections/popups.liquid --></div> <script data-swatch-template type="text/x-template"> <span class="swatch__button" data-swatch-button data-tooltip="{{ it.color }}"> <input type="radio" name="grouped" value="{{ it.color }}" id="{{ it.uniq }}" {{ @if (it.available === false) }} disabled {{ /if }}> <label for="{{ it.uniq }}" data-swatch="{{ it.color }}" data-swatch-variant="{{ it.variant }}" data-swatch-image="{{ it.image }}"> <span class="visually-hidden">{{ it.color }}</span> </label> </span> </script> <!-- Root element of PhotoSwipe. Must have class pswp. --> <div class="pswp pswp--custom-loader" tabindex="-1" role="dialog" aria-hidden="true"> <!-- Background of PhotoSwipe. It's a separate element as animating opacity is faster than rgba(). --> <div class="pswp__bg"></div> <!-- Slides wrapper with overflow:hidden. --> <div class="pswp__scroll-wrap"> <!-- Container that holds slides. PhotoSwipe keeps only 3 of them in the DOM to save memory. Don't modify these 3 pswp__item elements, data is added later on. --> <div class="pswp__container"> <div class="pswp__item"></div> <div class="pswp__item"></div> <div class="pswp__item"></div> </div> <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> <div class="pswp__ui pswp__ui--hidden"> <div class="pswp__top-bar"> <!-- Controls are self-explanatory. Order can be changed. --> <div class="pswp__counter"></div> <button class="pswp__button pswp__button--close pswp__custom-close pswp__ui-over-close" title="Close (Esc)"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 20 20"><path fill="#444" d="M15.89 14.696l-4.734-4.734 4.717-4.717c.4-.4.37-1.085-.03-1.485s-1.085-.43-1.485-.03L9.641 8.447 4.97 3.776c-.4-.4-1.085-.37-1.485.03s-.43 1.085-.03 1.485l4.671 4.671-4.688 4.688c-.4.4-.37 1.085.03 1.485s1.085.43 1.485.03l4.688-4.687 4.734 4.734c.4.4 1.085.37 1.485-.03s.43-1.085.03-1.485z"/></svg> </button> <button class="pswp__button pswp__button--share" title="Share"></button> <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> <!-- Preloader demo https://codepen.io/dimsemenov/pen/yyBWoR --> <!-- element will get class pswp__preloader--active when preloader is running --> <div class="pswp__preloader"> <div class="pswp__preloader__icn"> <div class="pswp__preloader__cut"> <div class="pswp__preloader__donut"></div> </div> </div> </div> </div> <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> <div class="pswp__share-tooltip"></div> </div> <button class="pswp__button pswp__button--arrow--left" title="Previous"> <span class="visually-hidden">Previous</span> </button> <button class="pswp__button pswp__button--arrow--right" title="Next"> <span class="visually-hidden">Next</span> </button> <div class="pswp__thumbs"></div> <div class="pswp__caption"> <div class="pswp__caption__center"></div> <a href="#" class="pswp__caption-close"> <span class="visually-hidden">Close</span> </a> </div> </div> </div> </div> <script data-cart-total-discount type="text/x-template"> <div class="cart__total"> <span> {{it.discountTitle}} </span> <span> -{{it.discountTotalAllocatedAmount | safe}} </span> </div> </script> <script pair-product-template type="text/x-template"> <div class="product-upsell-holder product-upsell-holder--cart" data-upsell-holder> <div class="product-upsell"> <div class="product-upsell__image"> <a href="{{ it.product.url }}" aria-label='{{ it.product.title }}'> {{ @if(it.product.image) }} <div class="product-upsell__image-inner" aria-label="{{ it.product.title }}" role="img" style="background-image: url({{ it.product.image.thumb }})"> <noscript> <img src="{{ it.product.image.thumb }}" width="480" height="480" alt="{{ it.product.title }}"> </noscript> </div> {{ /if}} </a> </div> <div class="product-upsell__content"> <a href="{{ it.product.url }}"> <p class="product-upsell__title small">{{ it.product.title }}</p> {{ @if(it.product.hasVariants) }} <p class="product-upsell__variant-title small">{{ it.product.firstAvailableVariant.title | safe }}</p> {{ /if}} <p class="product-upsell__price small {{ @if(it.product.firstAvailableVariant.compare_at_price > it.product.firstAvailableVariant.price) }} sale{{ /if}}"> <span class="new-price">{{ it.product.firstAvailableVariant.price | safe }}</span> {{ @if(it.product.firstAvailableVariant.compare_at_price > it.product.firstAvailableVariant.price) }} <span class="old-price">{{ it.product.firstAvailableVariant.compare_at_price | safe }}</span> {{ /if}} {{ @if(it.product.firstAvailableVariant.hasUnitPrice) }} <br /> <span class="visually-hidden visually-hidden--inline">{{ it.product.unitPriceLabel | safe }}</span> <span class="unit"> {{ it.product.firstAvailableVariant.unit_price | safe }} <span aria-hidden="true">/</span> <span class="visually-hidden">{{ it.product.unitPriceSeparator }} </span> {{ it.product.firstAvailableVariant.unitCount }} {{ it.product.firstAvailableVariant.unitValue }} </span> {{ /if}} </p> </a> <button type="button" class="product-upsell__skip" data-skip-pair-product> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" class="icon"><path fill="#444" d="M15.89 14.696l-4.734-4.734 4.717-4.717c.4-.4.37-1.085-.03-1.485s-1.085-.43-1.485-.03L9.641 8.447 4.97 3.776c-.4-.4-1.085-.37-1.485.03s-.43 1.085-.03 1.485l4.671 4.671-4.688 4.688c-.4.4-.37 1.085.03 1.485s1.085.43 1.485.03l4.688-4.687 4.734 4.734c.4.4 1.085.37 1.485-.03s.43-1.085.03-1.485z"/></svg> </button> <button type="button" name="add" data-add-to-cart data-focus-element data-upsell-btn class="product-upsell__btn" data-product-id="{{ it.product.firstAvailableVariant.id }}"> <span class="product-upsell__btn-hidden" data-upsell-btn-text>{{ it.product.addToCartText }}</span> <span class="product-upsell__btn-text">{{ it.product.addToCartText }}</span> <span class="product-upsell__btn-plus">+</span> <span class="product-upsell__btn-progress"> <svg height="18" width="18" class="svg-loader"> <circle r="7" cx="9" cy="9" /> <circle stroke-dasharray="87.96459430051421 87.96459430051421" r="7" cx="9" cy="9" /> </svg> </span> <span class="product-upsell__btn-check"> </span> </button> </div> </div> <div data-cart-errors-container class="product-upsell__errors small"></div> </div> </script><div class="cart-dropdown" id="cart-dropdown" data-cart-dropdown tabindex="1"> <header class="cart-dropdown__head"> <h3>Your Cart</h3> <a href="#cart-dropdown" class="cart-dropdown__close" data-cart-toggle aria-label="Close Your Cart"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 20 20"><path fill="#444" d="M15.89 14.696l-4.734-4.734 4.717-4.717c.4-.4.37-1.085-.03-1.485s-1.085-.43-1.485-.03L9.641 8.447 4.97 3.776c-.4-.4-1.085-.37-1.485.03s-.43 1.085-.03 1.485l4.671 4.671-4.688 4.688c-.4.4-.37 1.085.03 1.485s1.085.43 1.485.03l4.688-4.687 4.734 4.734c.4.4 1.085.37 1.485-.03s.43-1.085.03-1.485z"/></svg></a> </header> <div class="cart-dropdown__body" data-cart-dropdown-body> <div class="cart__errors cart__errors-dropdown" data-cart-errors> <h5 class="cart__errors__heading">No more products available for purchase</h5> <p class="cart__errors__content" data-error-message></p> <button type="button" data-cart-error-close aria-label="Close Your Cart"> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close-thin" viewBox="0 0 27 27"> <g stroke="#979797" fill="none" fill-rule="evenodd" stroke-linecap="square"> <path d="M.5.5l26 26M26.5.5l-26 26"></path> </g> </svg> </button> </div> <div class="cart-dropdown__items is-hidden" data-items-holder> </div> <p class="cart-dropdown__empty-message " data-empty-message>Your cart is currently empty.</p> </div><div class="cross_sell_wrapper" style="display: none;"> <h3 class="cross_sell_title">Time limited offers boost your experience</h3> <div class="cross_sell_items_wrapper"> <div class="cart-item" data-item2 data-item-id="40831395790871" data-item-category="Backpack" data-item-title="BACKPACK - Bundle Offer" data-item-currency="USD" data-item-price="24000" > <div class="cart-item__image"> <a href="/products/backpack-bundle-offer?variant=40831395790871"> <img class="lazyload" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="//shop.unistellar.com/cdn/shop/files/bp1_370c6cfe-10bd-492f-80a6-002e25a5a804_180x.png?v=1704671376" alt="Black" data-aspectratio="1.006265664160401" data-sizes="auto"> <noscript> <img src="//shop.unistellar.com/cdn/shop/files/bp1_370c6cfe-10bd-492f-80a6-002e25a5a804_180x.png?v=1704671376" alt="Black"> </noscript> </a> </div> <div class="cart-item_content"> <div class="title_stock"> <h4 class="item_title">BACKPACK - Bundle Offer</h4> <p class="stock">Available in stock</p> </div> <div class="add_form"> <form method="post" action="/cart/add" id="product_form_6893263454231" accept-charset="UTF-8" class="product-form" enctype="multipart/form-data" data-product-form=""><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /> <input type="hidden" name="id" value="40831395790871"> <input type="hidden" name="quantity" value="1"> <button type="submit" name="add" class="form_button" data-add-to-cart data-focus-element> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" viewBox="0 0 20 20"><path fill="#444" d="M17.409 8.929h-6.695V2.258c0-.566-.506-1.029-1.071-1.029s-1.071.463-1.071 1.029v6.671H1.967C1.401 8.929.938 9.435.938 10s.463 1.071 1.029 1.071h6.605V17.7c0 .566.506 1.029 1.071 1.029s1.071-.463 1.071-1.029v-6.629h6.695c.566 0 1.029-.506 1.029-1.071s-.463-1.071-1.029-1.071z"/></svg> </button> <input type="hidden" name="product-id" value="6893263454231" /></form> <div class="price"> <span class="old_price">$300</span> <span class="new_price">$240</span> </div> </div> </div> </div> </div> </div> <div class="cart__foot cart-dropdown__foot is-hidden" data-foot-holder> <div class="cart__widget is-hidden" data-cart-widget data-pair-products-holder> <a href="#pair-with-products" class="is-active" data-expand-button>Pair with</a> <div class="cart__widget-content" style="display: block;" id="pair-with-products"> <div class="cart__widget-content-inner" data-pair-products></div> </div> </div> <form action="/cart" method="post" novalidate class="form-cart"> <div class="cart__foot-inner"> <div class="cart__total is-hidden" data-cart-original-total> <span>Items</span> <span data-cart-original-total-price>Free </span> </div> <div class="cart__discounts is-hidden" data-cart-discounts-holder></div> <div class="cart__total"> <div class="labels"> <span>Subtotal</span> <em>Taxes are calculated at checkout</em> </div> <span class="cart__total__money" data-cart-total>Free </span> </div> <button type="submit" name="checkout" class="btn btn--full btn--large cart__checkout" onClick="pushDataLayerCartData()">Checkout</button> </div></form> </div> </div> <script> function displayCrossSell() { const items = $(".cart-item[data-item]"); const crossSellElement = $(".cross_sell_wrapper"); let activeCrossSell = false; if (items.length) { items.each(function() { if (this.hasAttribute("data-cross-sell")) { activeCrossSell = true; return false; } }); } if (activeCrossSell) { crossSellElement.css("display", "block"); } else { crossSellElement.css("display", "none"); if (items.length) { items.each(function() { if (this.hasAttribute("data-is-hidden")) { this.querySelector(".cart-item__remove").click(); } }); } } } // Custom event added in theme.dev.js line 2203 in getCart() function $(document).on("cartUpdate", function(e) { displayCrossSell(); }) $( document ).ready(displayCrossSell); </script> <!-- GTM Add to datalayer all cart information if checkout button clicked --> <script> function pushDataLayerCartData() { // Get the cart data jQuery.getJSON('/cart.js', function(cart) { // Check if the URL contains "cart" var isCartPage = location.href.includes("cart"); // Format the cart data for the data layer var eventData = { 'event': 'begin_checkout', 'params': { 'location': isCartPage ? 'page' : 'layer' }, 'ecommerce': { 'currency': cart.currency, 'value': Number(Math.floor(cart.total_price) / 100), 'items': [] } }; cart.items.forEach(function(item, index) { eventData.ecommerce.items.push({ 'item_id': item.sku, 'item_name': item.product_title.replace(/\s+/g, ''), 'coupon': '', 'discount': Number(item.total_discount), 'index': index, 'item_brand': item.vendor, 'item_category': item.product_type, 'price': Number(Math.floor(item.price) / 100), 'quantity': item.quantity }); }); // Push the event to the data layer dataLayer.push({ ecommerce: null }); dataLayer.push(eventData); }); } </script><script src="//shop.unistellar.com/cdn/shop/t/17/assets/custom.js?v=171665911013383326571693317487" defer="defer"></script> <!-- Paste marketing code or third party scripts below this comment line ============== --> <!-- And above this comment line ================================================== --> <!-- langify-v2-scripts-begin --> <script> var langify = langify || {}; /** * * * @class LyHelper */ class LyHelper { constructor() { return { ajax: function(params) { return LyHelper.ajax(params); }, isIE: function() { return LyHelper.isIE(); }, extractImageObject: function(val) { return LyHelper.extractImageObject(val); }, getCurrentLanguage: function() { return LyHelper.getCurrentLanguage(); }, getCookie: function(name) { return LyHelper.getCookie(name); }, setCookie: function(name, value, days) { return LyHelper.setCookie(name, value, days); }, getVersion: function() { return LyHelper.getVersion(); }, isOutOfViewport: function(elem) { return LyHelper.isOutOfViewport(elem); }, isDomainFeatureEnabled: function() { return LyHelper.isDomainFeatureEnabled(); }, getVal: function(str) { return LyHelper.getVal(str); }, inIframe: function() { return LyHelper.inIframe(); }, shopifyAPI: function() { return LyHelper.shopifyAPI(); }, loadScript: function(url, callback) { return LyHelper.loadScript(url, callback); }, localizationRedirect: function(type, code, additionalFields, additionalParams, domain) { return LyHelper.localizationRedirect(type, code, additionalFields, additionalParams, domain); }, changeCurrency: function(code) { return LyHelper.changeCurrency(code); }, log: function(title, data, type) { return LyHelper.log(title, data, type); }, } } static ajax(params) { var data = params.data; fetch(params.url, { method: params.method, headers: { 'Content-Type': 'application/json', }, body: (data && params.method === 'POST') ? JSON.stringify(data) : null, }) .then(response => response.json()) .then(data => { params.success(data); }) .catch((error) => { console.error('Error:', error); }); } static isIE() { var ua = navigator.userAgent; var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1; return is_ie; } static extractImageObject(val) { if(!val || val == '') return false; var val = val; // Handle src-sets if(val.search(/([0-9]+w?h?x?,)/gi) > -1) { val = val.split(/([0-9]+w?h?x?,)/gi)[0]; } var hostBegin = val.indexOf('//') ? val.indexOf('//') : 0; var hostEnd = val.lastIndexOf('/') + 1; var host = val.substring(hostBegin, hostEnd); var afterHost = val.substring(hostEnd, val.length); var url = val; var file = ''; var name = ''; var type = ''; afterHost = afterHost.substring(0, (afterHost.indexOf("#") == -1) ? afterHost.length : afterHost.indexOf("#")); afterHost = afterHost.substring(0, (afterHost.indexOf("?") == -1) ? afterHost.length : afterHost.indexOf("?")); name = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, ""); if(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi) > -1) { type = afterHost.substring(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi)+1, afterHost.length); } else { type = afterHost.substring(afterHost.lastIndexOf('.')+1, afterHost.length); } file = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, '.'+type); return { host: host, name: name, type: type, file: file } } static getCurrentLanguage() { return window.langify.locale.iso_code; } static setLanguage(code) { } static getCookie(name) { var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); if(v) return v[2]; else return null; } static setCookie(name, value, days) { var d = new Date; d.setTime(d.getTime() + 24*60*60*1000*days); document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString(); } static getVersion() { return 2; } static isOutOfViewport (elem) { var bounding = elem.getBoundingClientRect(); var out = {}; out.top = bounding.top < 0; out.left = bounding.left < 0; out.bottom = Math.ceil(bounding.bottom) >= (window.innerHeight || document.documentElement.clientHeight); out.right = bounding.right > (window.innerWidth || document.documentElement.clientWidth); out.any = out.top || out.left || out.bottom || out.right; out.inViewport = bounding.x > 0 && bounding.y > 0; return out; } static isDomainFeatureEnabled() { return window.langify.locale.domain_feature_enabled; } static getVal(str) { var v = window.location.search.match(new RegExp('(?:[?&]'+str+'=)([^&]+)')); return v ? v[1] : null; } static inIframe() { try { return window.self !== window.top; } catch (e) { return true; } } static shopifyAPI() { var root_url = window.langify.locale.root_url != '/' ? window.langify.locale.root_url : ''; return { attributeToString: function(attribute) { if((typeof attribute) !== 'string') { attribute += ''; if(attribute === 'undefined') {attribute = '';} } return attribute.trim(); }, getCart: function(callback) { LyHelper.ajax({ method: 'GET', url: root_url+'/cart.js', success: function (cart, textStatus) { if((typeof callback) === 'function') { callback(cart); } } }); }, updateCartNote: function(note, callback) { var params = { method: 'POST', url: root_url+'/cart/update.js', data: 'note=' + this.attributeToString(note), dataType: 'json', success: function(cart) {if((typeof callback) === 'function') {callback(cart);}}, error: this.onError }; LyHelper.ajax(params); }, updateCartAttributes: function(attributes, callback) { var params = { method: 'POST', url: root_url+'/cart/update.js', data: {"attributes": attributes}, dataType: 'json', success: function(cart) { if((typeof callback) === 'function') { callback(cart); } }, error: this.onError }; LyHelper.ajax(params); }, onError: function(XMLHttpRequest, textStatus) { } } } static loadScript(url, callback) { var script = document.createElement('script'); script.type = 'text/javascript'; if(script.readyState) { script.onreadystatechange = function () { if(script.readyState == 'loaded' || script.readyState == 'complete') { script.onreadystatechange = null; callback(); } }; } else { script.onload = function () { callback(); }; } script.src = url; document.getElementsByTagName('head')[0].appendChild(script); } static localizationRedirect(type, code, additionalFields, additionalParams, domain) { if(type !== 'country_code' && type !== 'language_code') { return false; } if(!additionalParams) { var additionalParams = ''; } if(domain) { window.location.href = domain; return true; } var params = [ { name: type, value: code }, { name: 'return_to', value: window.location.pathname + window.location.search + additionalParams + window.location.hash }, { name: 'form_type', value: 'localization' }, { name: '_method', value: 'put' } ]; if(additionalFields) { for(var i=0; i<additionalFields.length; i++) { params.push(additionalFields[i]); } } const form = document.createElement('form'); form.method = 'POST'; form.action = '/localization'; params.forEach(function(param) { const field = document.createElement('input'); field.type = 'hidden'; field.name = param['name']; field.value = param['value']; form.appendChild(field); }); document.body.appendChild(form); form.submit(); } static changeCurrency(code) { const params = [ { name: 'currency_code', value: code }, { name: 'return_to', value: window.location.pathname + window.location.search + window.location.hash }, { name: 'form_type', value: 'localization' }, { name: '_method', value: 'put' } ]; const form = document.createElement('form'); form.method = 'POST'; form.action = '/localization'; params.forEach(function(param) { const field = document.createElement('input'); field.type = 'hidden'; field.name = param['name']; field.value = param['value']; form.appendChild(field); }); document.body.appendChild(form); form.submit(); } static log(title, data, type) { if(langify.settings.debug) { if(!data) { var data = ''; } var css = 'color: green; font-weight: bold;'; if(type === 'error') { css = 'color: red; font-weight: bold;'; } console.log(`%c ${title}: \n`, css, data); } } }; /** * * * @class TranslationObserver */ class TranslationObserver { constructor() { LyHelper.log('TranslationObserver instantiation') } init() { if(langify.settings.observe && !LyHelper.isIE()) { var langifyObserver = this.langifyObserverCore(); langifyObserver.init(); // HOTFIX: translation observer sometimes refuses to trigger on page load_ langifyObserver.triggerCustomContents(); langify.api = { observer: { start: langifyObserver.init, stop: langifyObserver.stopObserver, trigger: langifyObserver.triggerCustomContents } }; } return this; } langifyObserverCore() { var observedNodes = []; var intersectionObs = null; var mutationCount = 0; var mutationObs = null; var mutationObsConfig = { characterData: true, characterDataOldValue: true, attributes: true, attributeOldValue: true, childList: true, subtree: true, }; var customContents_html = {}; var customContents_text = {}; var customContents_attr = {}; function init() { if(langify.settings.observe) { spreadCustomContents(); if (window.MutationObserver) { if (langify.settings.lazyload && window.IntersectionObserver) { startIntersectionObserver(); } else { startMutationObserver(null); } } else { startMutationEvents(); } } } // Intersection Observer function startIntersectionObserver() { intersectionObs = new IntersectionObserver(callbackIntersectionChange); var elementNodes = document.getElementsByClassName('shopify-section'); Array.prototype.slice.call(elementNodes).forEach(function(node) { intersectionObs.observe(node); }); } function callbackIntersectionChange(intersections) { intersections.forEach(function(intersection) { var target = intersection.target; var targetIsIntersecting = Boolean(target.getAttribute('ly-is-intersecting') === "true" ? true : false); if(typeof targetIsIntersecting == 'undefined' || targetIsIntersecting == null) { target.setAttribute('ly-is-intersecting', intersection.isIntersecting); targetIsIntersecting = intersection.isIntersecting; } // On Screen if(targetIsIntersecting == false && intersection.isIntersecting == true) { if(!target.getAttribute('ly-is-observing')) { startMutationObserver(target); intersectionObs.unobserve(target); // As the mutation observer didn't see the "add" of the elememts, trigger the initial translation manually var elementNodes = getNodesUnder(target, 'SHOW_ELEMENT'); var textNodes = getNodesUnder(target, 'SHOW_TEXT'); var nodes = elementNodes.concat(textNodes); nodes.forEach(function(node) { translate(node, 'mutation -> childList'); }); } } // Off Screen //else if(targetIsIntersecting == true && intersection.isIntersecting == false) { // stopMutationObserver(target); //} target.setAttribute('ly-is-intersecting', intersection.isIntersecting); }); } // Mutation Observer function startMutationObserver(observerTarget) { if (!observerTarget) { var target = document.documentElement || document.body; // main window } else { if (observerTarget.nodeName === 'IFRAME') { try { var target = observerTarget.contentDocument || observerTarget.contentWindow.document; } catch { return false; } } else { var target = observerTarget; } } mutationObs = new MutationObserver(callbackDomChange); mutationObs.observe(target, mutationObsConfig); observedNodes.push(target); try { target.setAttribute('ly-is-observing', 'true'); } catch(e) {} } function stopMutationObserver(target) { if(observedNodes.indexOf(target) > -1) { observedNodes.splice(observedNodes.indexOf(target), 1); } var mutations = mutationObs.takeRecords(); mutationObs.disconnect(); observedNodes.forEach(node => { mutationObs.observe(node, mutationObsConfig); }); try { target.removeAttribute('ly-is-observing'); } catch(e) {} } function callbackDomChange(mutations, mutationObs) { for (var i = 0, length = mutations.length; i < length; i++) { var mutation = mutations[i]; var target = mutation.target; // Links-Hook if (mutation.type === 'attributes' && (mutation.attributeName === 'href' || mutation.attributeName === 'action')) { var target = mutation.target; translateLink(target.getAttribute(mutation.attributeName), target); } // Images-Hook else if (mutation.type === 'attributes' && (mutation.attributeName === 'src' || mutation.attributeName === 'data-src' || mutation.attributeName === 'srcset' || mutation.attributeName === 'data-srcset')) { translateImage(target, mutation.attributeName); } else if (mutation.type === 'attributes' && mutation.attributeName === 'style') { translateCssImage(target); } // Subtree Events else if (mutation.type === 'childList') { // Added Nodes if(mutation.addedNodes.length > 0) { var elementNodes = getNodesUnder(mutation.target, 'SHOW_ELEMENT'); var textNodes = getNodesUnder(mutation.target, 'SHOW_TEXT'); var nodes = elementNodes.concat(textNodes); nodes.forEach(function(node) { translate(node, 'mutation -> childList'); }); } } // CharacterData Events else if (mutation.type === 'characterData') { var target = mutation.target; translate(target, 'mutation -> characterData'); } } } function translate(node, info) { if((node.nodeType === 1 && node.hasAttribute('data-ly-locked')) || (node.nodeType === 3 && node.parentNode && node.parentNode.hasAttribute('data-ly-locked'))) { return; } // CC-Hook if (node.nodeName !== 'SCRIPT' && node.nodeName !== 'STYLE') { if (node.nodeType === 3) { translateTextNode(node, info); } translateNodeAttrs(node); } // Links-Hook if (node.nodeName === 'A' || node.nodeName === 'FORM') { if(node.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action'; var url = node.getAttribute(attrName); translateLink(url, node); } // Images-Hook if (node.nodeName === 'IMG' || node.nodeName === 'SOURCE') { translateImage(node, ['src', 'data-src', 'srcset', 'data-srcset']); } if (node.attributes && node.getAttribute('style')) { translateCssImage(node); } // Iframe Observation if (node.nodeName === 'IFRAME') { // Todo: handle srcdoc iframe content observing if (node.getAttribute('ly-is-observing') == null && node.getAttribute('src') == null && !node.hasAttribute('srcdoc')) { node.setAttribute('ly-is-observing', 'true'); startMutationObserver(node); } } } function translateNodeAttrs(node) { if (node.attributes && node.getAttribute('placeholder')) { var src = node.getAttribute('placeholder').trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase(); if(customContents_text[src] && node.getAttribute('placeholder') !== customContents_text[src]) { node.setAttribute('placeholder', customContents_text[src]); } } } function translateTextNode(node, info) { if(langify.settings.observeCustomContents === false || !node.textContent || node.textContent.trim().length === 0) { return; } var src = node.textContent.trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase(); if(customContents_text[src] && node.textContent !== customContents_text[src]) { var newContent = node.textContent.replace(node.textContent.trim(), customContents_text[src]); if (newContent != node.textContent) { if(!node.parentNode.hasAttribute('data-ly-mutation-count') || parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) < langify.settings.maxMutations) { var count = node.parentNode.hasAttribute('data-ly-mutation-count') ? parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) : 0; node.parentNode.setAttribute('data-ly-mutation-count', count+1); node.textContent = newContent; mutationCount = mutationCount + 1; LyHelper.log('REPLACED (TEXT)', { oldValue: src, newValue: customContents_text[src], mutationCount, }, 'success' ); var event = new CustomEvent('langify.observer.aftertranslatetext', { bubbles: true, detail: { target: node, original: src, translation: customContents_text[src] } }); node.dispatchEvent(event); } } } } function translateLink(url, node) { if(langify.settings.observeLinks === false || isLocalizationForm(node) || node.hasAttribute('data-ly-locked') || !url || (url.indexOf('mailto:') !== -1 || url.indexOf('javascript:') !== -1 || url.indexOf('tel:') !== -1 || url.indexOf('file:') !== -1 || url.indexOf('ftp:') !== -1 || url.indexOf('sms:') !== -1 || url.indexOf('market:') !== -1 || url.indexOf('fax:') !== -1 || url.indexOf('callto:') !== -1 || url.indexOf('ts3server:') !== -1)) { return; } var isLocalized = ( url.indexOf('/'+ langify.locale.iso_code +'/') === 0 || url === '/'+ langify.locale.iso_code || url.indexOf('/'+ langify.locale.iso_code.toLowerCase() +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase() || url.indexOf('/'+ langify.locale.iso_code.toLowerCase().substring(0,2) +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase().substring(0,2) || url.indexOf(langify.locale.root_url + '/') === 0 || url === langify.locale.root_url ); var cleanUrl = url.replace(langify.locale.shop_url, ''); var re = new RegExp(`\/\\b${langify.locale.iso_code.replace('-', '\-')}\\b\/`, 'gi'); var link = cleanUrl.replace(re, '/'); var isUrlAbsolute = (link.indexOf('://') > 0 || link.indexOf('//') === 0); var blacklist = ['#', '/'+ langify.locale.iso_code +'#'].concat(langify.settings.linksBlacklist); var isUrlBlacklisted = blacklist.find(x => url.indexOf(x) === 0); if(!isLocalized && !isUrlAbsolute && !isUrlBlacklisted && langify.locale.root_url != '/') { if(node.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action'; if(link === '/' || link == langify.locale.root_url) link = ''; var newLink = langify.locale.root_url + link; var timeStamp = Math.floor(Date.now()); if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) { node.setAttribute('data-ly-processed', timeStamp); node.setAttribute(attrName, newLink); if(node.hasAttribute('data-'+attrName)) node.setAttribute('data-'+attrName, newLink); mutationCount = mutationCount + 1; LyHelper.log('REPLACED (LINK)', { attrName, oldValue: url, newValue: newLink, mutationCount, }, 'success' ); var event = new CustomEvent('langify.observer.aftertranslatelink', { bubbles: true, detail: { target: node, attribute: attrName, original: url, translation: newLink } }); node.dispatchEvent(event); } } } function translateImage(node, attr) { if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0) { return } var attrs = []; if(typeof attr === 'string') attrs.push(attr); else if(typeof attr === 'object') attrs = attr; var timeStamp = Math.floor(Date.now()); if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) { node.setAttribute('data-ly-processed', timeStamp); attrs.forEach(function(attr) { if(node.hasAttribute(attr)) { var imgObject = LyHelper.extractImageObject(node.getAttribute(attr)); var imgKey = imgObject ? imgObject.file.toLowerCase() : ''; if(customContents_image[imgKey]) { // Replace var oldValue = node.getAttribute(attr); var translation = node.getAttribute(attr); translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host); translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name); translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type); // China Hook if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) { translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); } if(node.getAttribute(attr) != translation) { node.setAttribute(attr, translation); mutationCount = mutationCount + 1; LyHelper.log('REPLACED (IMAGE)', { attrName: attr, oldValue: oldValue, newValue: translation, mutationCount, }, 'success'); var event = new CustomEvent('langify.observer.aftertranslateimage', { bubbles: true, detail: { target: node, attribute: attr, original: oldValue, translation: translation } }); node.dispatchEvent(event); } } } }); } } function translateCssImage(node) { if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0 || !node.getAttribute('style')) { return } var imgMatches = node.getAttribute('style').match(/url\(("|')?(.*)("|')?\)/gi); if(imgMatches !== null) { var imgSource = imgMatches[0].replace(/url\(("|')?|("|')?\)/, ''); var imgObject = LyHelper.extractImageObject(imgSource); var imgKey = imgObject ? imgObject.file.toLowerCase() : ''; var attr = 'style'; if(customContents_image[imgKey]) { // Replace var translation = node.getAttribute(attr); translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host); translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name); translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type); // China Hook if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) { translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); } if(node.getAttribute(attr) != translation) { var timeStamp = Math.floor(Date.now()); if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) { node.setAttribute('data-ly-processed', timeStamp); node.setAttribute(attr, translation); mutationCount = mutationCount + 1; } } } } } function findAndLocalizeLinks(target, parent) { if(target.parentNode && parent) var allLinks = target.parentElement.querySelectorAll('[href],[action]'); else var allLinks = target.querySelectorAll('[href],[action]'); allLinks.forEach(link => { if(link.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action'; var url = link.getAttribute(attrName); translateLink(url, link); }); } function isLocalizationForm(node) { if(node.querySelector('input[name="form_type"][value="localization"]')){ return true; } return false; } function getNodesUnder(el, show){ var n, a=[], walk=document.createTreeWalker(el, NodeFilter[show] , null, false); while(n=walk.nextNode()) a.push(n); return a; } function spreadCustomContents() { var getFileName = function(url) { if(!url || url == '') return; url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#")); url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?")); url = url.substring(url.lastIndexOf("/") + 1, url.length); url = url.replace(/(_[0-9]+x[0-9]*|_{width}x)?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(jpe?g|png|gif|webp)/gi, ""); return '/' + url; } Object.entries(customContents).forEach(function(entry) { //if(/<\/?[a-z][\s\S]*>/i.test(entry[0])) customContents_html[entry[0]] = entry[1]; //else if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png)/.test(entry[0])) customContents_image[getFileName(entry[0])] = getFileName(entry[1]); if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png|webp)/.test(entry[0])) customContents_image[LyHelper.extractImageObject(entry[0]).file] = LyHelper.extractImageObject(entry[1]); else customContents_text[entry[0]] = entry[1]; }); LyHelper.log('CUSTOM CONTENTS:', {customContents, customContents_text, customContents_image}, 'info') } // Polyfill for old browsers function startMutationEvents() { var target = document.querySelector('body'); target.addEventListener("DOMAttrModified", function (event) { if(event.attrName === 'href' || event.attrName === 'action') { if(event.prevValue != event.newValue) { translateLink(event.newValue, event.target); } } }, false); target.addEventListener("DOMSubtreeModified", function (event) { //findAndLocalizeLinks(event.target, false); //matchCustomContent(event.target); }, false); } function triggerCustomContents() { var rootnode = document.getElementsByTagName('body')[0] var walker = document.createTreeWalker(rootnode, NodeFilter.SHOW_ALL, null, false) while (walker.nextNode()) { //LyHelper.log(walker.currentNode.tagName) translate(walker.currentNode, null); } } function stopObserver() { mutationObs.takeRecords(); mutationObs.disconnect(); } //init(); return { init: init, triggerCustomContents: triggerCustomContents, stopObserver: stopObserver, } }; } /** * * * @class Switcher */ class Switcher { constructor(switcherSettings) { LyHelper.log('Switcher instantiation'); this.lyForceOff = location.search.split('ly-force-off=')[1]; this.switcherElements = Array.prototype.slice.call(document.getElementsByClassName('ly-switcher-wrapper')); } init() { // Initial cart.attributes update LyHelper.shopifyAPI().getCart(function (cart) { var currentLanguage = langify.locale.iso_code; if(!cart.attributes.language || cart.attributes.language != currentLanguage) { LyHelper.shopifyAPI().updateCartAttributes({"language": currentLanguage}, function(data){}); } }); if(langify.locale.languages.length === 1) { console.info(`%c LANGIFY INFO:\n`, 'font-weight: bold;', 'The language switcher is hidden! This can have one of the following reasons: \n * All additional languages are disabled in the "Langify -> Dashboard -> Languages" section. \n * If you are using different domains for your additional languages, ensure that "Cross Domain Links" are enabled inside the "Langify -> Dashboard -> Switcher Configurator -> Domains" section.'); return false; } this.setCustomPosition(); this.initCustomDropdown(); this.bindCountrySwitchers(); this.bindCurrencySwitchers(); this.bindLanguageSwitchers(); var event = new CustomEvent('langify.switcher.initialized', { bubbles: true, detail: {} }); } initCustomDropdown() { // Custom Dropdown var root = this; var switcher = document.getElementsByClassName('ly-custom-dropdown-switcher'); for(var a = 0; a < switcher.length; a++) { switcher[a].classList.toggle('ly-is-open'); var isOut = LyHelper.isOutOfViewport(switcher[a]); if(isOut.bottom && isOut.inViewport) { switcher[a].classList.add('ly-is-dropup'); var arrows = switcher[a].querySelectorAll('.ly-arrow'); for(var b = 0; b < arrows.length; b++) { arrows[b].classList.add('ly-arrow-up'); } } switcher[a].classList.toggle('ly-is-open'); switcher[a].onclick = function(event) { root.toggleSwitcherOpen(this); } } document.addEventListener('click', function(event) { if(!event.target.closest('.ly-custom-dropdown-switcher')) { var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open') for(var i = 0; i < openSwitchers.length; i++) { openSwitchers[i].classList.remove('ly-is-open'); } } }); } bindLanguageSwitchers() { var root = this; var links = document.getElementsByClassName('ly-languages-switcher-link'); for(var l = 0; l < links.length; l++) { links[l].addEventListener('click', function(event) { event.preventDefault(); if(LyHelper.isDomainFeatureEnabled() && this.getAttribute('href') !== '#') { var domain = this.getAttribute('href'); } LyHelper.setCookie('ly-lang-selected', this.getAttribute('data-language-code'), 365); LyHelper.localizationRedirect('language_code', this.getAttribute('data-language-code'), null, null, domain); }); } // Native select event handling var nativeLangifySelects = document.querySelectorAll('select.ly-languages-switcher'); for(var i = 0; i < nativeLangifySelects.length; i++) { nativeLangifySelects[i].onchange = function() { event.preventDefault(); if(LyHelper.isDomainFeatureEnabled() && this[this.selectedIndex].getAttribute('data-domain') !== '#') { var domain = this[this.selectedIndex].getAttribute('data-domain'); } LyHelper.setCookie('ly-lang-selected', this[this.selectedIndex].getAttribute('data-language-code'), 365); LyHelper.localizationRedirect('language_code', this[this.selectedIndex].getAttribute('data-language-code'), null, null, domain); }; } } bindCountrySwitchers() { var countrySelectSwitcher = document.querySelectorAll('select.ly-country-switcher'); var countryCustomSwitcher = document.querySelectorAll('div.ly-country-switcher a'); for(var i=0; i<countryCustomSwitcher.length; i++) { countryCustomSwitcher[i].addEventListener('click', function(e) { LyHelper.localizationRedirect('country_code', this.getAttribute('data-country-code')); }); } for(var a=0; a<countrySelectSwitcher.length; a++) { countrySelectSwitcher[a].addEventListener('change', function(){ LyHelper.localizationRedirect('country_code', this[this.selectedIndex].getAttribute('data-country-code')); }); } } bindCurrencySwitchers() { var currencySelectSwitcher = document.querySelectorAll('select.ly-currency-switcher'); var currencyCustomSwitcher = document.querySelectorAll('div.ly-currency-switcher a'); for(var i=0; i<currencyCustomSwitcher.length; i++) { currencyCustomSwitcher[i].addEventListener('click', function(e) { LyHelper.changeCurrency(this.getAttribute('data-currency-code')); }); } for(var a=0; a<currencySelectSwitcher.length; a++) { currencySelectSwitcher[a].addEventListener('change', function(){ LyHelper.changeCurrency(this[this.selectedIndex].getAttribute('data-currency-code')); }); } } setCustomPosition() { for(var i = 0; i < this.switcherElements.length; i++) { if(this.lyForceOff !== 'true') { if(langify.locale.languages.length <= 1) { this.switcherElements[i].querySelector('.ly-languages-switcher').classList.add('ly-hide'); } this.switcherElements[i].classList.remove('ly-hide'); } if(this.switcherElements[i].classList.contains('ly-custom') && (document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')) || document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')).length )) { var targets = Array.from(document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint'))); var target = document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')); if(target) targets.push(target); for(var c = 0; c < targets.length; c++) { var clone = this.switcherElements[i].cloneNode(true); targets[c].innerHTML = clone.outerHTML; } this.switcherElements[i].classList.add('ly-hide'); } } } toggleSwitcherOpen(e) { var target = e; if(!target.classList.contains('ly-is-open')) { var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open') for(var i = 0; i < openSwitchers.length; i++) { openSwitchers[i].classList.remove('ly-is-open'); } target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'true'); } else { target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'false'); } target.classList.toggle('ly-is-open'); var isOut = LyHelper.isOutOfViewport(target); if(isOut.bottom) { target.classList.add('ly-is-dropup'); } } togglePopupOpen(e) { e.closest('.ly-popup-switcher').classList.toggle('ly-is-open'); } _getCountryCodeFromHreflang(language_code) { var hreflangTags = document.querySelectorAll('link[hreflang]'); var languageDomains = {}; var countryCode = false; for(var i = 0; i < hreflangTags.length; i++) { if(hreflangTags[i].getAttribute('hreflang').indexOf(language_code) === 0) { if(!languageDomains[hreflangTags[i].getAttribute('href')]) { languageDomains[hreflangTags[i].getAttribute('href')] = hreflangTags[i]; } } } if(Object.keys(languageDomains).length > 0) { countryCode = Object.values(languageDomains)[0].getAttribute('hreflang'); countryCode = countryCode.split('-'); if(countryCode[1]) { countryCode = countryCode[1] } else { } } return countryCode; } } /** * * * @class LanguageDetection */ class LanguageDetection { constructor() { this.hreflangList = null; LyHelper.log('LanguageDetection instantiation'); } init() { if(LyHelper.inIframe()) return null; var currentLang = langify.locale.iso_code.toLowerCase(); //var localizationData = this.getLocalizationData(); this.hreflangList = this.getHreflangList(); var userLang = navigator.language || navigator.userLanguage; userLang = userLang.toLowerCase(); var bot = /bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|Chrome-Lighthouse/i.test(navigator.userAgent); var blockedRoutes = window.lyBlockedRoutesList || []; var blockedRoute = blockedRoutes.find(x => window.location.pathname.indexOf(x) === 0); var is404 = document.getElementsByClassName('template-404').length; if(LyHelper.getVal('redirected') === 'true') { LyHelper.setCookie('ly-lang-selected', currentLang, 365); var _href = window.location.href; history.replaceState(null, '', _href.replace(/(\?|&)(redirected=true)/i, '')); return null; } if(!is404 && !bot && !blockedRoute && LyHelper.getVal('ly-lang-detect') !== 'off') { if(userLang && !LyHelper.getCookie('ly-lang-selected')) { var hasMatch = this.matchHreflangList(userLang); if(currentLang !== this._hreflangToLanguageCode(hasMatch)) { if(hasMatch) { this.redirectMatched(userLang); } else if (!hasMatch && langify.settings.switcher.languageDetectionDefault) { // Redirect to default language this.redirectMatched(langify.settings.switcher.languageDetectionDefault); } } } else { if(LyHelper.getCookie('ly-lang-selected') && LyHelper.getCookie('ly-lang-selected') !== currentLang) { // Only save cookie when the domain feature is active if(LyHelper.isDomainFeatureEnabled()) { LyHelper.setCookie('ly-lang-selected', currentLang, 365); } this.redirectMatched(LyHelper.getCookie('ly-lang-selected')); } } } this._geolocationAppSupport(); } redirectMatched(userLang) { var match = this.matchHreflangList(userLang); if(match) { this.redirectHref(match.href, match.lang); } return match; } matchHreflangList(userLang) { var matchedHreflang = false; var browserLang = userLang; // Find candidates var candidates = this.hreflangList.filter(item => item.lang === browserLang); if(candidates.length === 0) { browserLang = userLang.toLowerCase(); candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0); } if(candidates.length === 0) { browserLang = userLang.toLowerCase().substring(0, 2); candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0); } // Handle candidates if(candidates.length === 1) { return({href: candidates[0].href, lang: browserLang}); } else if(candidates.length > 1) { var preferedCandidate = candidates.find(item => item.href.indexOf(window.location.host) >= 0) if(preferedCandidate) { return({href: preferedCandidate.href, lang: browserLang}); } else { return({href: candidates[0].href, lang: browserLang}); } } return false; } redirectHref(href, userLang) { var queryString = window.location.search; var url = href.split('?')[0]; if(queryString === '') { queryString = '?redirected=true'; } else { queryString += '&redirected=true'; } window.location.replace(url + queryString); } getHreflangList() { var hreflangTags = document.querySelectorAll('link[hreflang]'); var hreflangList = []; var countryCode = false; // Cross Domain Links option if(LyHelper.isDomainFeatureEnabled()) { for(var i = 0; i < langify.locale.languages.length; i++) { hreflangList.push({ href: 'https://' + langify.locale.languages[i].domain + window.location.pathname + window.location.search + window.location.hash, lang: langify.locale.languages[i].iso_code, }); } } for(var i = 0; i < hreflangTags.length; i++) { var hreflang = hreflangTags[i].getAttribute('hreflang').toLowerCase(); hreflang = hreflang.replace('zh-hans', 'zh-cn').replace('zh-hant', 'zh-tw'); // Chinese special cases hreflangList.push({ href: hreflangTags[i].getAttribute('href'), lang: hreflang }); } return hreflangList; } _langToHreflang(userLang) { var hreflang = ''; this.hreflangList.map(function(item) { if(item.lang === userLang) { hreflang = userLang; } }); if(hreflang === '') { this.hreflangList.map(function(item) { var browserLang = userLang.toLowerCase(); if(item.lang.toLowerCase().indexOf(browserLang) === 0) { hreflang = browserLang; } else if(item.lang.toLowerCase().indexOf(browserLang.substring(0, 2)) === 0) { hreflang = browserLang.substring(0, 2); } }); } return hreflang || userLang; } _hreflangToLanguageCode(hreflangTag) { if(!hreflangTag || !hreflangTag.lang) return false; var languageCode = false; langify.locale.languages.forEach(function(item) { if(item.iso_code.toLowerCase() === hreflangTag.lang.toLowerCase()) { languageCode = item.iso_code; } }); if(!languageCode) { langify.locale.languages.forEach(function(item) { if(item.iso_code.toLowerCase() === hreflangTag.lang.substring(0, 2).toLowerCase()) { languageCode = item.iso_code; } }); } return languageCode; } _geolocationAppSupport() { var target = document.querySelector('body'); var config = { childList: true, subtree: true }; var geolocationObserver = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { var target = mutation.target.getElementsByClassName('locale-bar__form'); if(target[0]) { target[0].onsubmit = function() { var locale_code = target[0].elements['locale_code'].value; var selector = target[0].getElementsByClassName('locale-bar__selector'); if(selector.length >= 1) { locale_code = selector[0].options[selector[0].selectedIndex].value; } LyHelper.setCookie('ly-lang-selected', locale_code, 365); }; } var selectors = mutation.target.getElementsByClassName('locale-selectors__selector'); if(selectors.length > 0) { for(var selector of selectors) { if(selector.getAttribute('name') === 'locale_code') { selector.onchange = function() { var locale_code = selector.options[selector.selectedIndex].value; LyHelper.setCookie('ly-lang-selected', locale_code, 365); }; } } } } }); }); geolocationObserver.observe(target, config); setTimeout(function() { geolocationObserver.disconnect(); }, 10000); } } /** * * * @class Recommendation */ class Recommendation extends LanguageDetection { constructor() { super(); LyHelper.log('Recommendation instantiation'); } init() { this.hreflangList = this.getHreflangList(); var userLang = navigator.language || navigator.userLanguage; userLang = userLang.toLowerCase(); var recommendation = this.matchHreflangList(userLang); var recommendationLanguageCode = this._hreflangToLanguageCode(recommendation); if(recommendationLanguageCode && recommendationLanguageCode !== langify.locale.iso_code && !LyHelper.getCookie('ly-lang-selected')) { this.recommended_language_code = recommendationLanguageCode; this.recommended_country_code = null; this.recommended_currency_code = null; this._translateStrings(recommendationLanguageCode); this._bindings(); } else { return false; } } _translateStrings(languageCode) { var recommendationElement = document.querySelectorAll('.ly-recommendation')[0]; var strings = langify.settings.switcher.recommendation_strings[languageCode]; var recommendationStr = 'Looks like your browser is set to [[language]]. Change the language?'; var buttonStr = 'Change'; var matchedLanguageCode = this._langToHreflang(languageCode).toLowerCase(); var languageStr = langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode) ? langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode).name : languageCode.toUpperCase(); if(strings) { recommendationStr = strings.recommendation ? strings.recommendation : recommendationStr; buttonStr = strings.button ? strings.button : buttonStr; languageStr = strings.language ? strings.language : languageStr; } var newCode = recommendationElement.innerHTML; newCode = newCode.replaceAll('[[recommendation]]', recommendationStr).replaceAll('[[button]]', buttonStr).replaceAll('[[language]]', languageStr); recommendationElement.innerHTML = newCode; } _bindings() { var _this = this; var lyForceOff = location.search.split('ly-force-off=')[1]; var recommendationElement = document.querySelectorAll('.ly-recommendation')[0]; var form = recommendationElement.querySelectorAll('.ly-recommendation-form')[0]; var links = recommendationElement.getElementsByClassName('ly-custom-dropdown-list-element'); var customDropdown = recommendationElement.querySelectorAll('.ly-custom-dropdown-switcher'); var nativeSelects = recommendationElement.getElementsByClassName('ly-native-select'); form.addEventListener('submit', function(e) { e.preventDefault(); if(_this.recommended_country_code || _this.recommended_currency_code) { // When a country or currency is involved, use old redirection var additionalFields = []; if(_this.recommended_country_code) { additionalFields.push({ name: 'country_code', value: _this.recommended_country_code }); } if(_this.recommended_currency_code) { additionalFields.push({ name: 'currency_code', value: _this.recommended_currency_code }); } LyHelper.setCookie('ly-lang-selected', _this.recommended_language_code, 365); LyHelper.localizationRedirect('language_code', _this.recommended_language_code, additionalFields); } else { //...or use new hreflang redirection _this.redirectMatched(_this.recommended_language_code); } }); // Overwrite switchers for(var l = 0; l < links.length; l++) { links[l].addEventListener('click', function(event) { event.preventDefault(); // When clicked from within a custom dropdown var parentCustomDropdown = event.currentTarget.closest('.ly-custom-dropdown-switcher'); if(parentCustomDropdown) { _this._selectCustomDropdownEntry(parentCustomDropdown, this); } else { _this.recommended_language_code = this.getAttribute('data-language-code'); } }); } for(var i = 0; i < nativeSelects.length; i++) { nativeSelects[i].onchange = _this._selectNativeDropdownEntry.bind(this); if(nativeSelects[i].classList.contains('ly-languages-switcher')) { nativeSelects[i].value = _this.recommended_language_code; } } for(var i = 0; i < customDropdown.length; i++) { if(recommendationElement.className.indexOf('bottom') > -1) { customDropdown[i].classList.add('ly-is-dropup'); } if(customDropdown[i].classList.contains('ly-languages-switcher')) { _this._selectCustomDropdownEntry(customDropdown[i], customDropdown[i].querySelector('.ly-custom-dropdown-list a[data-language-code="'+ _this.recommended_language_code +'"]')); } } if(!lyForceOff) { recommendationElement.classList.add('ly-is-open'); } } _selectNativeDropdownEntry(event) { event.preventDefault(); var element = event.currentTarget; var _this = this; if(element[element.selectedIndex].hasAttribute('data-language-code')) { _this.recommended_language_code = element[element.selectedIndex].getAttribute('data-language-code'); } if(element[element.selectedIndex].hasAttribute('data-country-code')) { _this.recommended_country_code = element[element.selectedIndex].getAttribute('data-country-code'); } if(element[element.selectedIndex].hasAttribute('data-currency-code')) { _this.recommended_currency_code = element[element.selectedIndex].getAttribute('data-currency-code'); } } _selectCustomDropdownEntry(element, entry) { if(!entry) return; var _this = this; var currentElem = element.querySelector('.ly-custom-dropdown-current'); var currentIcon = currentElem.querySelector('.ly-icon'); var currentLabel = currentElem.querySelector('span'); var valueToSelect = ''; if(entry.hasAttribute('data-language-code')) { _this.recommended_language_code = entry.getAttribute('data-language-code'); valueToSelect = _this.recommended_language_code; } if(entry.hasAttribute('data-country-code')) { _this.recommended_country_code = entry.getAttribute('data-country-code'); valueToSelect = _this.recommended_country_code; } if(entry.hasAttribute('data-currency-code')) { _this.recommended_currency_code = entry.getAttribute('data-currency-code'); valueToSelect = _this.recommended_currency_code; } if(entry.hasAttribute('data-country-code') && entry.hasAttribute('data-currency-code')) { valueToSelect = _this.recommended_country_code + '-' + _this.recommended_currency_code; } if(element.querySelector('.ly-custom-dropdown-list li.current')) { element.querySelector('.ly-custom-dropdown-list li.current').classList.remove('current'); element.querySelector('.ly-custom-dropdown-list li[key="'+ valueToSelect +'"]').classList.add('current'); } if(element.querySelector('.ly-custom-dropdown-list li.current span')) currentLabel.innerHTML = element.querySelector('.ly-custom-dropdown-list li.current span').innerHTML; if(element.querySelector('.ly-custom-dropdown-list li.current .ly-icon')) currentIcon.classList = element.querySelector('.ly-custom-dropdown-list li.current .ly-icon').classList; } toggleOpen(e) { e.closest('.ly-recommendation').classList.toggle('ly-is-open'); if(!e.closest('.ly-recommendation').classList.contains('ly-is-open')) { LyHelper.setCookie('ly-lang-selected', this.recommended_language_code, 365); } } } /** * * * @class Langify */ class Langify { constructor(settings, locale) { LyHelper.log('Langify instantiation') var translationObserver = new TranslationObserver().init(); langify.helper = new LyHelper(); LyHelper.log(langify.helper); var lyForceOff = location.search.split('ly-force-off=')[1]; if(lyForceOff === 'true') { document.getElementById('preview-bar-iframe').classList.add('ly-hide'); return false; } if(settings.theme && ((settings.theme.loadJquery && settings.theme.loadJquery === true) || typeof settings.theme.loadJquery === 'undefined')) { if(typeof jQuery === 'undefined') { LyHelper.loadScript('//cdn.jsdelivr.net/jquery/1.9.1/jquery.min.js', function() {}); } } //document.addEventListener("DOMContentLoaded", function() { langify.switcher = new Switcher(); langify.switcher.init(); if(settings.switcher) { if(settings.switcher.recommendation && settings.switcher.recommendation_enabled) { langify.recommendation = new Recommendation(); langify.recommendation.init(); } else { if(settings.switcher.languageDetection) { langify.languageDetection = new LanguageDetection(); langify.languageDetection.init(); } } } //}); } } // Polyfills (function(){var t;null==window.MutationObserver&&(t=function(){function t(t){this.callBack=t}return t.prototype.observe=function(t,n){return this.element=t,this.interval=setInterval((e=this,function(){var t;if((t=e.element.innerHTML)!==e.oldHtml)return e.oldHtml=t,e.callBack.apply(null)}),200);var e},t.prototype.disconnect=function(){return window.clearInterval(this.interval)},t}(),window.MutationObserver=t)}).call(this); !function(){"use strict";if("object"==typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=function(t){for(var e=window.document,o=i(e);o;)o=i(e=o.ownerDocument);return e}(),e=[],o=null,n=null;s.prototype.THROTTLE_TIMEOUT=100,s.prototype.POLL_INTERVAL=null,s.prototype.USE_MUTATION_OBSERVER=!0,s._setupCrossOriginUpdater=function(){return o||(o=function(t,o){n=t&&o?l(t,o):{top:0,bottom:0,left:0,right:0,width:0,height:0},e.forEach(function(t){t._checkForIntersections()})}),o},s._resetCrossOriginUpdater=function(){o=null,n=null},s.prototype.observe=function(t){if(!this._observationTargets.some(function(e){return e.element==t})){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},s.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter(function(e){return e.element!=t}),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},s.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},s.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},s.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter(function(t,e,o){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==o[e-1]})},s.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map(function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}});return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},s.prototype._monitorIntersections=function(e){var o=e.defaultView;if(o&&-1==this._monitoringDocuments.indexOf(e)){var n=this._checkForIntersections,r=null,s=null;this.POLL_INTERVAL?r=o.setInterval(n,this.POLL_INTERVAL):(h(o,"resize",n,!0),h(e,"scroll",n,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in o&&(s=new o.MutationObserver(n)).observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push(function(){var t=e.defaultView;t&&(r&&t.clearInterval(r),c(t,"resize",n,!0)),c(e,"scroll",n,!0),s&&s.disconnect()});var u=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=u){var a=i(e);a&&this._monitorIntersections(a.ownerDocument)}}},s.prototype._unmonitorIntersections=function(e){var o=this._monitoringDocuments.indexOf(e);if(-1!=o){var n=this.root&&(this.root.ownerDocument||this.root)||t;if(!this._observationTargets.some(function(t){var o=t.element.ownerDocument;if(o==e)return!0;for(;o&&o!=n;){var r=i(o);if((o=r&&r.ownerDocument)==e)return!0}return!1})){var r=this._monitoringUnsubscribes[o];if(this._monitoringDocuments.splice(o,1),this._monitoringUnsubscribes.splice(o,1),r(),e!=n){var s=i(e);s&&this._unmonitorIntersections(s.ownerDocument)}}}},s.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e<t.length;e++)t[e]()},s.prototype._checkForIntersections=function(){if(this.root||!o||n){var t=this._rootIsInDom(),e=t?this._getRootRect():{top:0,bottom:0,left:0,right:0,width:0,height:0};this._observationTargets.forEach(function(n){var i=n.element,s=u(i),h=this._rootContainsTarget(i),c=n.entry,a=t&&h&&this._computeTargetAndRootIntersection(i,s,e),l=null;this._rootContainsTarget(i)?o&&!this.root||(l=e):l={top:0,bottom:0,left:0,right:0,width:0,height:0};var f=n.entry=new r({time:window.performance&&performance.now&&performance.now(),target:i,boundingClientRect:s,rootBounds:l,intersectionRect:a});c?t&&h?this._hasCrossedThreshold(c,f)&&this._queuedEntries.push(f):c&&c.isIntersecting&&this._queuedEntries.push(f):this._queuedEntries.push(f)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)}},s.prototype._computeTargetAndRootIntersection=function(e,i,r){if("none"!=window.getComputedStyle(e).display){for(var s,h,c,a,f,d,g,m,v=i,_=p(e),b=!1;!b&&_;){var w=null,y=1==_.nodeType?window.getComputedStyle(_):{};if("none"==y.display)return null;if(_==this.root||9==_.nodeType)if(b=!0,_==this.root||_==t)o&&!this.root?!n||0==n.width&&0==n.height?(_=null,w=null,v=null):w=n:w=r;else{var I=p(_),E=I&&u(I),T=I&&this._computeTargetAndRootIntersection(I,E,r);E&&T?(_=I,w=l(E,T)):(_=null,v=null)}else{var R=_.ownerDocument;_!=R.body&&_!=R.documentElement&&"visible"!=y.overflow&&(w=u(_))}if(w&&(s=w,h=v,c=void 0,a=void 0,f=void 0,d=void 0,g=void 0,m=void 0,c=Math.max(s.top,h.top),a=Math.min(s.bottom,h.bottom),f=Math.max(s.left,h.left),d=Math.min(s.right,h.right),m=a-c,v=(g=d-f)>=0&&m>=0&&{top:c,bottom:a,left:f,right:d,width:g,height:m}||null),!v)break;_=_&&p(_)}return v}},s.prototype._getRootRect=function(){var e;if(this.root&&!d(this.root))e=u(this.root);else{var o=d(this.root)?this.root:t,n=o.documentElement,i=o.body;e={top:0,left:0,right:n.clientWidth||i.clientWidth,width:n.clientWidth||i.clientWidth,bottom:n.clientHeight||i.clientHeight,height:n.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},s.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map(function(e,o){return"px"==e.unit?e.value:e.value*(o%2?t.width:t.height)/100}),o={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return o.width=o.right-o.left,o.height=o.bottom-o.top,o},s.prototype._hasCrossedThreshold=function(t,e){var o=t&&t.isIntersecting?t.intersectionRatio||0:-1,n=e.isIntersecting?e.intersectionRatio||0:-1;if(o!==n)for(var i=0;i<this.thresholds.length;i++){var r=this.thresholds[i];if(r==o||r==n||r<o!=r<n)return!0}},s.prototype._rootIsInDom=function(){return!this.root||f(t,this.root)},s.prototype._rootContainsTarget=function(e){var o=this.root&&(this.root.ownerDocument||this.root)||t;return f(o,e)&&(!this.root||o==e.ownerDocument)},s.prototype._registerInstance=function(){e.indexOf(this)<0&&e.push(this)},s.prototype._unregisterInstance=function(){var t=e.indexOf(this);-1!=t&&e.splice(t,1)},window.IntersectionObserver=s,window.IntersectionObserverEntry=r}function i(t){try{return t.defaultView&&t.defaultView.frameElement||null}catch(t){return null}}function r(t){this.time=t.time,this.target=t.target,this.rootBounds=a(t.rootBounds),this.boundingClientRect=a(t.boundingClientRect),this.intersectionRect=a(t.intersectionRect||{top:0,bottom:0,left:0,right:0,width:0,height:0}),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,o=e.width*e.height,n=this.intersectionRect,i=n.width*n.height;this.intersectionRatio=o?Number((i/o).toFixed(4)):this.isIntersecting?1:0}function s(t,e){var o,n,i,r=e||{};if("function"!=typeof t)throw new Error("callback must be a function");if(r.root&&1!=r.root.nodeType&&9!=r.root.nodeType)throw new Error("root must be a Document or Element");this._checkForIntersections=(o=this._checkForIntersections.bind(this),n=this.THROTTLE_TIMEOUT,i=null,function(){i||(i=setTimeout(function(){o(),i=null},n))}),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(r.rootMargin),this.thresholds=this._initThresholds(r.threshold),this.root=r.root||null,this.rootMargin=this._rootMarginValues.map(function(t){return t.value+t.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function h(t,e,o,n){"function"==typeof t.addEventListener?t.addEventListener(e,o,n||!1):"function"==typeof t.attachEvent&&t.attachEvent("on"+e,o)}function c(t,e,o,n){"function"==typeof t.removeEventListener?t.removeEventListener(e,o,n||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on"+e,o)}function u(t){var e;try{e=t.getBoundingClientRect()}catch(t){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):{top:0,bottom:0,left:0,right:0,width:0,height:0}}function a(t){return!t||"x"in t?t:{top:t.top,y:t.top,bottom:t.bottom,left:t.left,x:t.left,right:t.right,width:t.width,height:t.height}}function l(t,e){var o=e.top-t.top,n=e.left-t.left;return{top:o,left:n,height:e.height,width:e.width,bottom:o+e.height,right:n+e.width}}function f(t,e){for(var o=e;o;){if(o==t)return!0;o=p(o)}return!1}function p(e){var o=e.parentNode;return 9==e.nodeType&&e!=t?i(e):(o&&o.assignedSlot&&(o=o.assignedSlot.parentNode),o&&11==o.nodeType&&o.host?o.host:o)}function d(t){return t&&9===t.nodeType}}(); !function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(n,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var e=document.createEvent("CustomEvent");return e.initCustomEvent(n,t.bubbles,t.cancelable,t.detail),e}}(); var langify = window.langify || {}; var customContents = {}; var customContents_image = {}; var langifySettingsOverwrites = {}; var defaultSettings = { debug: false, // BOOL : Enable/disable console logs observe: true, // BOOL : Enable/disable the entire mutation observer (off switch) observeLinks: false, observeImages: true, observeCustomContents: true, maxMutations: 5, timeout: 100, // INT : Milliseconds to wait after a mutation, before the next mutation event will be allowed for the element linksBlacklist: [], }; if(langify.settings) { langifySettingsOverwrites = Object.assign({}, langify.settings); langify.settings = Object.assign(defaultSettings, langify.settings); } else { langify.settings = defaultSettings; } langify.settings.theme = null; langify.settings.switcher = null; langify.locale = langify.locale || { primary: true, iso_code: "en", root_url: "\/", language_id: null, shop_url: "https:\/\/shop.unistellar.com", domain_feature_enabled: null, languages: [{ iso_code: "en", root_url: "\/", domain: null, },],}; // Disable link correction ALWAYS on languages with mapped domains if(langify.locale.root_url == '/') { langify.settings.observeLinks = false; } window.addEventListener('DOMContentLoaded', function() { langify.helper = new LyHelper(); // Custom Contents Section // Images Section var langifyInstance = new Langify(langify.settings, langify.locale); }); </script> <div data-breakpoint="" class="ly-switcher-wrapper ly-breakpoint-1 fixed bottom_right ly-hide" style="font-size: 14px; margin: 0px 0px; "><div aria-label="Selected language: English" aria-description="Language selector" data-dropup="false" onclick="langify.switcher.toggleSwitcherOpen(this)" class="ly-languages-switcher ly-custom-dropdown-switcher ly-bright-theme" style=" margin: 0px 0px;"> <span role="button" aria-expanded="false" aria-controls="languagesSwitcherList-1" class="ly-custom-dropdown-current" style="background: #ffffff; color: #000000; "><i class="ly-icon ly-flag-icon ly-flag-icon-en"></i><span class="ly-custom-dropdown-current-inner ly-custom-dropdown-current-inner-text">English</span> <div class="ly-arrow ly-arrow-black stroke" style="vertical-align: middle; width: 14.0px; height: 14.0px;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.0 14.0" height="14.0px" width="14.0px" style="position: absolute;"> <path d="M1 4.5 L7.0 10.5 L13.0 4.5" fill="transparent" stroke="#000000" stroke-width="1px"/> </svg> </div> </span> <ul id="languagesSwitcherList-1" role="list" class="ly-custom-dropdown-list ly-is-open ly-bright-theme" style="background: #ffffff; color: #000000; "><li key="en" class="current" style="color: #000000; margin: 0px 0px;" tabindex="-1"> <a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme current_lang" href="#" data-language-code="en" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-en"></i><span class="ly-custom-dropdown-list-element-right">English</span></a> </li></ul> </div></div> <style> .ly-flag-icon-en { background-image: url('//shop.unistellar.com/cdn/shop/t/17/assets/ly-icon-en.svg?v=168749326791323067301693317487'); } .ly-switcher-wrapper { } .ly-switcher-wrapper.fixed { position: fixed; z-index: 1000; } .ly-switcher-wrapper.absolute { position: absolute; z-index: 1000; } .ly-switcher-wrapper.fixed.top_left, .ly-switcher-wrapper.absolute.top_left { top: 0; left: 0; } .ly-switcher-wrapper.fixed.top_right, .ly-switcher-wrapper.absolute.top_right { top: 0; right: 0; } .ly-switcher-wrapper.fixed.bottom_left, .ly-switcher-wrapper.absolute.bottom_left { bottom: 0; left: 0; } .ly-switcher-wrapper.fixed.bottom_right, .ly-switcher-wrapper.absolute.bottom_right { bottom: 0; right: 0; } .ly-switcher-wrapper .shopify-currency-form { display: inline-block; } .ly-currency-switcher { font-size: 1em; } .ly-inner-text { margin: 0 0.2em; white-space: nowrap; } .ly-flag-icon { background-size: contain; background-position: 50%; background-repeat: no-repeat; position: relative; display: inline-block; width: 1.33333333em; line-height: 1em; } .ly-flag-icon:before { content: ''; display: inline-block; } .ly-flag-icon.ly-flag-squared { width: 1em; } .ly-flag-icon.ly-flag-rounded { width: 1em; border-radius: 50%; } .ly-languages-switcher { white-space: nowrap; list-style-type: none; display: flex; font-size: 1em; } .ly-languages-switcher-link { margin: 0 0.2em; cursor: pointer; white-space: nowrap; text-decoration: none; display: inline-block; } .ly-languages-switcher.ly-list { margin: 0; padding: 0; display: block; } .ly-languages-switcher.ly-native-select { } .ly-icon { margin: 0 0.2em; } .ly-arrow { display: inline-block; position: relative; vertical-align: middle; direction: ltr !important; -webkit-transition: transform 0.25s; -moz-transition: transform 0.25s; transition: transform 0.25s; margin: 0 0.2em; } .ly-custom-dropdown-switcher.ly-is-open .ly-arrow { transform: rotate(180deg); } .ly-custom-dropdown-switcher.ly-arrow.ly-arrow-up { transform: rotate(180deg); } .ly-custom-dropdown-switcher.ly-is-open .ly-arrow.ly-arrow-up { transform: rotate(0deg); } .ly-custom-dropdown-switcher { text-align: left; display: inline-block; position: relative; user-select: none; cursor: pointer; } .ly-custom-dropdown-current { display: block; vertical-align: middle; } .ly-custom-dropdown-current-inner { display: inline-block; vertical-align: middle; } .ly-custom-dropdown-current-inner-image { margin-right: 0.25em; } .ly-custom-dropdown-current-inner-text { margin: 0 0.2em; } .ly-custom-dropdown-list { display: none !important; list-style: none; position: absolute; left: 0; padding: inherit !important; padding: 0 !important; margin: 0; z-index: 99999; text-align: left; width: 100%; font-size: 1em; } .ly-custom-dropdown-list-element { color: inherit !important; display: block; } .ly-custom-dropdown-list > li { margin: 0 !important; display: block; } .ly-custom-dropdown-list-element-left { margin-right: 0.5em; } .ly-custom-dropdown-list-element-right { text-align: left; } .ly-custom-dropdown-list-element-left, .ly-custom-dropdown-list-element-right { vertical-align: middle; } .ly-custom-dropdown-switcher .ly-languages-switcher-link { margin: 0; } .ly-languages-switcher-dropdown { display: inline-block; } .ly-languages-links-switcher { display: inline-block; } .ly-languages-links-switcher > .ly-languages-link { /*margin-right: 0.5em;*/ padding: inherit !important; color: inherit !important; } .ly-custom-dropdown-list-element { /*padding: inherit !important;*/ text-decoration: none; } .ly-is-uppercase { text-transform: uppercase; } .ly-is-transparent.ly-links, .ly-is-transparent.ly-list, .ly-is-transparent.ly-currency-switcher, .ly-is-transparent.ly-custom-dropdown-switcher, .ly-is-transparent.ly-custom-dropdown-switcher .ly-custom-dropdown-list { background: transparent !important; } .ly-arrow-up { transform: rotateZ(180deg); } .ly-custom-dropdown-switcher .ly-custom-dropdown-list li.current{ display: none; } .ly-custom-dropdown-switcher.ly-is-open .ly-custom-dropdown-list { display: flex !important; min-width: 100%; width: 100%; flex-direction: column-reverse; right: 0; left: auto; overflow: auto; max-height: 350px; max-height: 50vh; } .ly-is-dropup .ly-custom-dropdown-list { bottom: 100%; } .ly-hide { display: none !important; } body.ly-force-off #preview-bar-iframe, body.ly-force-off .ly-languages-switcher { display: none !important; } .ly-close { position: absolute; opacity: 0.3; right: 0; top: 0; width: 3em; height: 3em; display: inline-block !important; background: rbga(0,0,0,0); padding: 1em; } .ly-close:hover { opacity: 1; } .ly-close .inner { transform: translateX(-50%); position: relative; width: 100%; height: 100%; display: inline-block; } .ly-close .inner:before, .ly-close .inner:after { position: absolute; left: 1em; content: ' '; height: 1em; width: 2px; background-color: #333; } .ly-close .inner:before { transform: rotate(45deg); } .ly-close .inner:after { transform: rotate(-45deg); } .ly-popup-switcher {} .ly-popup-switcher .ly-popup-current { cursor: pointer; background: transparent; } .ly-popup-switcher .ly-popup-modal { position: fixed; z-index: 1000; top: 0; left: 0; width: 100%; height: 100%; display: none; justify-content: center; align-items: center; } .ly-popup-switcher.ly-is-open .ly-popup-modal { display: flex; } .ly-popup-switcher .ly-popup-modal-backdrop { position: fixed; width: 100%; height: 100%; z-index: 0; top: 0; left: 0; background:rgba(0, 0, 0, 0.38); cursor: pointer; } .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content { padding: 1em; position: absolute; z-index: 1000; } .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul { padding: 0; margin: 12px 0 0 0; list-style: none; display: flex; flex-direction: column; } .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link { margin: 0; border: solid 1px; padding: 1em; display: block; min-width: 225px; margin-top: 1em; } .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link.current_lang { display: none; } /* Recommendation */ .ly-recommendation { display: none; } .ly-recommendation.ly-is-open { display: inline-block; } .ly-recommendation form { display: inline-block; } .ly-recommendation .ly-arrow, .ly-arrow.recommendation { display: none; } .ly-recommendation .ly-arrow.recommendation { display: inline-block; } .ly-recommendation .ly-switcher-wrapper { font-size: 1em !important; } .ly-recommendation .ly-popup-modal .ly-popup-switcher .ly-popup-modal .ly-popup-modal-backdrop { display: none; } .ly-recommendation-form button[type="submit"] { cursor: pointer; } /* Recommendation Banner */ .ly-recommendation .ly-banner { position: fixed; z-index: 100000; width: 100%; } .ly-recommendation .ly-banner .ly-banner-content { width: 100%; padding: 1em 30px 1em 1em; box-shadow: 0 0 20px rgba(0,0,0,.25); } .ly-recommendation .ly-banner.top { top: 0; } .ly-recommendation .ly-banner.bottom { bottom: 0; } .ly-recommendation .ly-banner .ly-banner-content .ly-switcher-wrapper { position: relative !important; margin: 0 !important; display: inline-block !important; } .ly-recommendation .ly-banner .ly-recommendation-form button[type="submit"] { margin-left: 10px; } /* Recommendation Popup */ .ly-recommendation .ly-popup-modal { position: fixed; z-index: 10000; } .ly-recommendation .ly-popup-modal .ly-switcher-wrapper { position: relative !important; margin: 0 !important; display: inline-block !important; } .ly-recommendation .ly-popup-modal-backdrop { position: fixed; width: 100%; height: 100%; z-index: 1000; top: 0; left: 0; background:rgba(0, 0, 0, 0.38); } .ly-recommendation .ly-popup-modal .ly-popup-modal-content { padding: 1em 30px 1em 1em; } .ly-recommendation .ly-popup-modal .ly-popup-modal-content .ly-languages-switcher { position: relative !important; margin: 0 !important; } .ly-recommendation .ly-popup-modal .ly-popup-modal-content h3 { margin: 0 2em 1em 0; font-size: inherit; position: relative; } .ly-recommendation .ly-popup-modal.top_left { top: 0; left: 0; margin-right: 0 !important; margin-bottom: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important;} .ly-recommendation .ly-popup-modal.top_center { top: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-bottom: 0 !important; margin-left: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important;} .ly-recommendation .ly-popup-modal.top_right { top: 0; right: 0; margin-left: 0 !important; margin-bottom: 0 !important; padding-left: 0 !important; padding-bottom: 0 !important; } .ly-recommendation .ly-popup-modal.center_center { top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); margin: 0 !important; padding: 0 !important; } .ly-recommendation .ly-popup-modal.bottom_left { bottom: 0; left: 0; margin-right: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-top: 0 !important; } .ly-recommendation .ly-popup-modal.bottom_center { bottom: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-left: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-left: 0 !important; padding-top: 0 !important; } .ly-recommendation .ly-popup-modal.bottom_right { bottom: 0; right: 0; margin-left: 0 !important; margin-top: 0 !important; padding-left: 0 !important; padding-top: 0 !important; } </style><!-- langify-v2-scripts-end --><style> .home-intro {margin-top: 1em;} </style> <!-- Failed to render app block "10605408327587305396": app block path "shopify://apps/eg-auto-add-to-cart/blocks/app-embed/0f7d4f74-1e89-4820-aec4-6564d7e535d2" does not exist --></body> </html>