1<!doctype html> 2<html lang="en"> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width,initial-scale=1"><meta name="google-site-verification" content="AwlEh7jJte8cm4MWEwML3nZMFE4uwVOiqJ_0KBqLaHw"> 6 <title>Contact Us â Navien OptiSleep</title> 7 8 <link rel="canonical" href="https://www.navienoptisleep.com/pages/contact"><link rel="icon" type="image/png" href="//www.navienoptisleep.com/cdn/shop/files/favicon-OS.png?v=1780695916&width=64"> 9 <link rel="shortcut icon" type="image/png" href="//www.navienoptisleep.com/cdn/shop/files/favicon-OS.png?v=1780695916&width=64"><!-- Open Graph --> 10 <meta property="og:site_name" content="Navien OptiSleep"> 11 <meta property="og:url" content="https://www.navienoptisleep.com/pages/contact"> 12 <meta property="og:title" content="Contact Us â Navien OptiSleep"> 13 <meta property="og:type" content="website"> 14 15 <meta property="og:description" content="Precision water-based cooling & heating, precise to 1°F. No subscription. Backed by 48 years of Navien engineering."> 16 17 18 19 20 <!-- Twitter / X Card --> 21 <meta name="twitter:card" content="summary_large_image"> 22 <meta name="twitter:title" content="Contact Us â Navien OptiSleep"> 23 24 <meta name="twitter:description" content="Precision water-based cooling & heating, precise to 1°F. No subscription. Backed by 48 years of Navien engineering."> 25 26 27
27<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
27<meta name="facebook-domain-verification" content="05azein9f5gjod9ajlhs9zm6yi1rk4"> 28<meta name="facebook-domain-verification" content="8nalu5htzitoros6bekk8yxpprkyt7"> 29<meta name="google-site-verification" content="AwlEh7jJte8cm4MWEwML3nZMFE4uwVOiqJ_0KBqLaHw"> 30<meta name="google-site-verification" content="IbMZ3Ogjaj-URKqWulkfr7FgrgQju6_Yj2FXhcUHFIg"> 31<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/23185697/digital_wallets/dialog"> 32<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://www.navienoptisleep.com/pages/contact"> 33<link rel="alternate" hreflang="en" href="https://www.navienoptisleep.com/pages/contact"> 34<link rel="alternate" hreflang="en-CA" href="https://www.navienoptisleep.com/en-ca/pages/contact">
35<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2256306407"></script>
35 36<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
37<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2256306407&shop_id=23185697" crossorigin="anonymous"></script>
vendor: 1 bytes, line 37
37
38<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":23185697,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/23185697","merchantName":"Navien OptiSleep","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","discover","amex","elo","jcb"],"total":{"type":"pending","label":"Navien OptiSleep","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 38
38
39<script id="shopify-features" type="application/json">{"accessToken":"f67d79006db1c1484de8936c0f21fff2","betas":["rich-media-storefront-analytics"],"domain":"www.navienoptisleep.com","predictiveSearch":true,"shopId":23185697,"locale":"en"}</script>
vendor: 1 bytes, line 39
39
40<script>var Shopify = Shopify || {}; 41Shopify.shop = "navien.myshopify.com"; 42Shopify.locale = "en"; 43Shopify.currency = {"active":"USD","rate":"1.0"}; 44Shopify.country = "US"; 45Shopify.theme = {"name":"navien-optisleep-theme\/canada","id":157971251431,"schema_name":"Navien OptiSleep v14.94","schema_version":"14.94","theme_store_id":null,"role":"main"}; 46Shopify.theme.handle = "null"; 47Shopify.theme.style = {"id":null,"handle":null}; 48Shopify.cdnHost = "www.navienoptisleep.com/cdn"; 49Shopify.routes = Shopify.routes || {}; 50Shopify.routes.root = "/"; 51Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 52Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 53Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 54Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 54
54
55<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 55
55
56<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>
vendor: 1 bytes, line 56
56
57<script> 58 window.ShopifyPay = window.ShopifyPay || {}; 59 window.ShopifyPay.apiHost = "shop.app\/pay"; 60 window.ShopifyPay.redirectState = null; 61</script>
vendor: 1 bytes, line 61
61
62<script> 63 window.Shopify = window.Shopify || {}; 64 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 65 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 66 window.Shopify.SignInWithShop.eligible = true; 67</script>
vendor: 1 bytes, line 67
67
68<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 68
68
69<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 69
69
70<script type="module"> 71 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 72 73 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 74 75</script>
vendor: 1 bytes, line 75
75
76<script> 77 window.Shopify = window.Shopify || {}; 78 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 79 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 80</script>
vendor: 1 bytes, line 80
80
81<script>(function() { 82 var isLoaded = false; 83 function asyncLoad() { 84 if (isLoaded) return; 85 isLoaded = true; 86 var urls = ["\/\/cdn.shopify.com\/proxy\/dda763bab73a7d6cc87a821e992925dc352bff7ae609a61c1a98f53a2a6025c3\/d1639lhkj5l89m.cloudfront.net\/js\/storefront\/uppromote.js?shop=navien.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"]; 87 for (var i = 0; i < urls.length; i++) { 88 var s = document.createElement('script'); 89 s.type = 'text/javascript'; 90 s.async = true; 91 s.src = urls[i]; 92 var x = document.getElementsByTagName('script')[0]; 93 x.parentNode.insertBefore(s, x); 94 } 95 }; 96 if(window.attachEvent) { 97 window.attachEvent('onload', asyncLoad); 98 } else { 99 window.addEventListener('load', asyncLoad, false); 100 } 101})();</script>
vendor: 1 bytes, line 101
101
102<script id="__st">var __st={"a":23185697,"offset":-25200,"reqid":"109f0aea-3384-4096-b356-3d71bb6576e4-1791582403","pageurl":"www.navienoptisleep.com\/pages\/contact","s":"pages-133384634599","u":"a03c4efe5b24","p":"page","rtyp":"page","rid":133384634599};</script>
vendor: 1 bytes, line 102
102
103<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 103
103
104<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(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(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){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 104
104
105<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.navienoptisleep.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 105
105
106<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.navienoptisleep.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
106<script crossorigin="anonymous" defer="defer" src="//www.navienoptisleep.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 106
106
107<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 107
107
108<script> 109 window.Shopify = window.Shopify || {}; 110 window.Shopify.MCP = window.Shopify.MCP || {}; 111 window.Shopify.MCP.enabled = true; 112 window.Shopify.MCP.shop = "navien.myshopify.com"; 113 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.navienoptisleep.com\/api\/mcp"; 114 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 115</script>
vendor: 1 bytes, line 115
115
116<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.navienoptisleep.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-f427de6a.js","sha256-ypGF+5vIq4Psw4WG7nsVtdd\/TCfsJWnrNuACdqLCElY=");})(); 117</script>
vendor: 1 bytes, line 117
117
118<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.navienoptisleep.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 119</script>
vendor: 1 bytes, line 119
119
120<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 121 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 122</script>
vendor: 1 bytes, line 122
122
123<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 124</script>
124 125<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.navienoptisleep.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 126<style id="shopify-accelerated-checkout-cart"> 127 #shopify-buyer-consent { 128 margin-top: 1em; 129 display: inline-block; 130 width: 100%; 131} 132 133#shopify-buyer-consent.hidden { 134 display: none; 135} 136 137#shopify-subscription-policy-button { 138 background: none; 139 border: none; 140 padding: 0; 141 text-decoration: underline; 142 font-size: inherit; 143 cursor: pointer; 144} 145 146#shopify-subscription-policy-button::before { 147 box-shadow: none; 148} 149 150 </style> 151
152<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
152 153 154 <!-- Fonts: Theme 1 â DM Serif Display + Inter --> 155 <link rel="preconnect" href="https://fonts.googleapis.com"> 156 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 157 <link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> 158 159 <link href="//www.navienoptisleep.com/cdn/shop/t/107/assets/theme.css?v=75395027484362173501790202016" rel="stylesheet" type="text/css" media="all" /> 160<!-- BEGIN app block: shopify://apps/consentmo-gdpr/blocks/gdpr_cookie_consent/4fbe573f-a377-4fea-9801-3ee0858cae41 --> 161<link rel="preconnect" href="https://app.consentmo.com" crossorigin data-csm-preconnect="app"> 162<link rel="dns-prefetch" href="https://workers.consentmo.com" data-csm-preconnect="workers"> 163<link rel="dns-prefetch" href="https://storage.consentmo.com" data-csm-preconnect="storage"> 164<link rel="preconnect" href="https://cdn.consentmo.com" crossorigin data-csm-preconnect="cdn"><link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-cookie-bar.consentmo.js" crossorigin data-csm-layout-prefetch="banner"> 165 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-cookie-dialog.consentmo.js" crossorigin data-csm-layout-prefetch="dialog"> 166 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-cookie-box.consentmo.js" crossorigin data-csm-layout-prefetch="box"> 167 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-cookie-smart-banner.consentmo.js" crossorigin data-csm-layout-prefetch="smart"> 168 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/layout-mobile-cookie-bar.consentmo.js" crossorigin data-csm-layout-prefetch="mobile">
168<script> 169(function () { 170 try { 171 document.documentElement.classList.add('csm-cookie-embed'); 172 } catch (e) {} 173})(); 174</script>
174<script data-consentmo-data-src-bootstrap> 175(function () { 176 'use strict'; 177 if (window.__consentmoDataSrcBootstrapInit) return; 178 window.__consentmoDataSrcBootstrapInit = true; 179 180 var DATA_SRC_SELECTOR = [ 181 'script[data-src*="consentmo_cookie_consent"]', 182 'script[data-src*="gdpr_cookie_consent.min"]', 183 'script[data-src*="gdrp_cookie_consent_unlimited"]' 184 ].join(','); 185 186 function activateConsentmoDataSrcScripts() { 187 if (!window.Shopify || !window.Shopify.shop) return; 188 document.querySelectorAll(DATA_SRC_SELECTOR).forEach(function (scriptEl) { 189 // getAttribute: src="" must not count as "already has src" (.src === page URL). 190 if (scriptEl.getAttribute('src')) return; 191 var url = scriptEl.getAttribute('data-src'); 192 if (!url) return; 193 if (scriptEl.getAttribute('type') === 'text/plain') { 194 scriptEl.removeAttribute('type'); 195 } 196 scriptEl.src = url; 197 }); 198 } 199 function scheduleActivation() { 200 activateConsentmoDataSrcScripts(); 201 // Retry on next task so other DCL handlers (lazy-loaders) can finish setting Shopify.shop / data-src first. 202 setTimeout(activateConsentmoDataSrcScripts, 0); 203 } 204 if (document.readyState === 'loading') { 205 document.addEventListener('DOMContentLoaded', scheduleActivation, { once: true }); 206 } else { 207 scheduleActivation(); 208 } 209})(); 210</script>
210 211 212 213<!-- END app block --><!-- BEGIN app block: shopify://apps/consentmo-gdpr/blocks/ada_compliance/4fbe573f-a377-4fea-9801-3ee0858cae41 --> 214<!-- END app block --><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin /> 215<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
216<script> 217/* >> TriplePixel :: start*/ 218window.TriplePixelData={TripleName:"navien.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{ }},search:"",collection:"",cart:"",template:"page",curr:"USD" || "USD", market:"215122151"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage); 219/* << TriplePixel :: end*/ 220</script>
220 221 222 223 224<!-- END app block --><!-- BEGIN app block: shopify://apps/shopliveassistant/blocks/live_preview_banner_embed/019e049c-3535-7bc6-9d43-1831fd99403d --> 225 226 <!-- BEGIN app snippet: shoplive-loader -->
227<script> 228 window.__csljsloader = window.__csljsloader || { 229 _ready: false, _queue: [], 230 onReady: function(cb) { this._ready ? cb() : this._queue.push(cb); }, 231 markReady: function() { this._ready = true; this._queue.forEach(function(cb){ cb(); }); this._queue = []; } 232 }; 233 234 if (!window.__csljsloading) { 235 window.__csljsloading = true; 236 const _slConfig = { platform: 'SHOPIFY', accessKey: "rzg4RhUvn9bO8lhBnve4" }; 237 if (window.__slMessageCallback) _slConfig.messageCallback = window.__slMessageCallback; 238 239 const _slScript = document.createElement('script'); 240 _slScript.src = 'https://static.shoplive.cloud/shoplive.js'; 241 _slScript.onload = function() { 242 cloud.shoplive.initPlugin(_slConfig); 243 window.__csljsloader.markReady(); 244 }; 245 document.head.appendChild(_slScript); 246 } 247</script>
247 248<!-- END app snippet --> 249 250 251 252 253<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 254 255 256 257 258 259 260 261 262 263 264 265 266
266<script async src="https://static.klaviyo.com/onsite/js/MbXtNa/klaviyo.js?company_id=MbXtNa"></script>
266 267
267<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
267 268 269 270 271 272 273 274
274<script> 275 window.klaviyoReviewsProductDesignMode = false 276 </script>
276 277 278 279 280 281 282 283 284 285 286<!-- END app block --><!-- BEGIN app block: shopify://apps/uppromote-affiliate/blocks/core-script/64c32457-930d-4cb9-9641-e24c0d9cf1f4 --><!-- BEGIN app snippet: core-metafields-setting --><!--suppress ES6ConvertVarToLetConst -->
287<script type="application/json" id="core-uppromote-settings">{"active_reg_from":true,"app_env":{"env":"production"},"cx_referral_settings":{"setting":{"select_theme":1,"design_banner_image_horizontal":"\/storage\/uploads\/icons\/customer-referral\/horizontal.webp","design_banner_image_vertical":"\/storage\/uploads\/icons\/customer-referral\/vertical.webp","design_color_background":"#ffffff","design_color_text":"#092c4c","design_color_button":"#1d85e8","design_color_button_text":"#ffffff","content_sign_up_title":"REFER A FRIEND, GET A REWARD!","content_sign_up_description":"Send your friends a {friend_incentive} discount on their purchases. Once they make a purchase, youâll earn {customer_reward} for each order! This reward can be redeemed for coupons.","content_sign_up_customer_email":"Your email","content_sign_up_customer_name":"Your name (optional)","content_sign_up_button_text":"Create account","content_sign_up_referral_guide_status":1,"content_sign_up_referral_guide_title":"How it works","content_sign_up_referral_guide_share_your_link":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-1.svg","title":"Share your link"},"content_sign_up_referral_your_friend_purchase":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-2.svg","title":"Your friend purchases"},"content_sign_up_referral_guide_you_get_rewarded":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-3.svg","title":"You get rewarded"},"content_post_signup_title":"REFER A FRIEND, GET A REWARD!","content_post_signup_description":"Send your friends a {friend_incentive} discount on their purchases. Once they make a purchase, youâll earn {customer_reward} for each order! This reward can be redeemed for coupons.","content_post_signup_referral_link":"Your referral link","content_post_signup_button_text":"Copy link","content_post_signup_referral_guide_status":1,"content_post_signup_referral_guide_title":"How it works","content_post_signup_referral_guide_share_your_link":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-1.svg","title":"Share your link"},"content_post_signup_referral_your_friend_purchase":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-2.svg","title":"Your friend purchases"},"content_post_signup_referral_guide_you_get_rewarded":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-3.svg","title":"You get rewarded"},"active":1},"program":{"status":1,"refer_customer_incentive":{"type":"percentage","value":5,"price_rule_id":"1656130863335","coupon":"UPPROMOTE_CUSTOMER_REFERRAL"},"commission_type":2,"commission_amount":"15.00"},"shop":{"currency_format":"${{amount}}"},"active_customer_referral":1,"asset_url":"https:\/\/cdn.uppromote.com","extension_endpoint":"https:\/\/extensions.uppromote.com","setting_post_purchase_signup":{"active":1,"show_only_once_per_customer":0,"close_on_background_click":1,"design_banner_image":"","design_width":480,"design_height":200,"design_color_background":"#ffffff","design_color_text":"#092C4C","design_color_button":"#1D85E8","design_color_button_text":"#ffffff","content_sign_up_title":"Refer a friend, get a reward!","content_sign_up_description":"Give your friends {friend_incentive} OFF and get {customer_reward} OFF","content_sign_up_button_text":"Get referral link","content_sign_up_referral_guide_status":1,"content_sign_up_referral_guide_title":"How it works","content_sign_up_referral_guide_share_your_link":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-1.svg","title":"Share your link"},"content_sign_up_referral_guide_your_friend_purchase":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-2.svg","title":"Your friend purchases"},"content_sign_up_referral_guide_you_get_rewarded":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-3.svg","title":"You get rewarded"},"content_post_signup_title":"Refer a friend, get a reward!","content_post_signup_description":"Give your friends {friend_incentive} OFF and get {customer_reward} OFF","content_post_signup_button_text":"Copy link","content_post_signup_referral_guide_status":1,"content_post_signup_referral_guide_title":"How it works","content_post_signup_referral_guide_share_your_link":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-1.svg","title":"Share your link"},"content_post_signup_referral_guide_your_friend_purchase":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-2.svg","title":"Your friend purchases"},"content_post_signup_referral_guide_you_get_rewarded":{"icon":"\/storage\/uploads\/icons\/customer-referral\/icon-3.svg","title":"You get rewarded"}},"branding_customer_referral":true}}</script>
vendor: 1 bytes, line 287
287
288<script type="application/json" id="core-uppromote-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}</script>
288 289
290<script id="core-uppromote-quick-store-tracking-vars"> 291 function getDocumentContext(){const{href:a,hash:b,host:c,hostname:d,origin:e,pathname:f,port:g,protocol:h,search:i}=window.location,j=document.referrer,k=document.characterSet,l=document.title;return{location:{href:a,hash:b,host:c,hostname:d,origin:e,pathname:f,port:g,protocol:h,search:i},referrer:j||document.location.href,characterSet:k,title:l}}function getNavigatorContext(){const{language:a,cookieEnabled:b,languages:c,userAgent:d}=navigator;return{language:a,cookieEnabled:b,languages:c,userAgent:d}}function getWindowContext(){const{innerHeight:a,innerWidth:b,outerHeight:c,outerWidth:d,origin:e,screen:{height:j,width:k},screenX:f,screenY:g,scrollX:h,scrollY:i}=window;return{innerHeight:a,innerWidth:b,outerHeight:c,outerWidth:d,origin:e,screen:{screenHeight:j,screenWidth:k},screenX:f,screenY:g,scrollX:h,scrollY:i,location:getDocumentContext().location}}function getContext(){return{document:getDocumentContext(),navigator:getNavigatorContext(),window:getWindowContext()}} 292 if (window.location.href.includes('?sca_ref=')) { 293 localStorage.setItem('__up_lastViewedPageContext', JSON.stringify({ 294 context: getContext(), 295 timestamp: new Date().toISOString(), 296 })) 297 } 298</script>
298 299 300
301<script id="core-uppromote-setting-booster"> 302 var UpPromoteCoreSettings = JSON.parse(document.getElementById('core-uppromote-settings').textContent) 303 UpPromoteCoreSettings.currentCart = JSON.parse(document.getElementById('core-uppromote-cart')?.textContent || '{}') 304 const idToClean = ['core-uppromote-settings', 'core-uppromote-cart', 'core-uppromote-setting-booster', 'core-uppromote-quick-store-tracking-vars'] 305 idToClean.forEach(id => { 306 document.getElementById(id)?.remove() 307 }) 308</script>
308 309<!-- END app snippet --> 310 311 312<!-- END app block -->
312<script src="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/consentmo_ada.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 312
312
313<script src="https://cdn.shopify.com/extensions/01a12154-4cd8-77a6-b810-64e92981e3ee/gdpr-backpack-920/assets/consentmo_cookie_consent.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 313
313
314<script src="https://cdn.shopify.com/extensions/01a10ad0-9f32-7eb2-a83e-3427bdf52ded/affliate-by-secomapp-129/assets/core.min.js" type="text/javascript" defer="defer"></script>
314 315<meta property="og:image" content="https://cdn.shopify.com/s/files/1/2318/5697/files/Navien_Photoshoot3415_de7d18f5-ddec-418b-b409-b6a05b21ec76.jpg?v=1780936114" /> 316<meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/2318/5697/files/Navien_Photoshoot3415_de7d18f5-ddec-418b-b409-b6a05b21ec76.jpg?v=1780936114" /> 317<meta property="og:image:width" content="4240" /> 318<meta property="og:image:height" content="2832" /> 319<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
320<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";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: 23185697,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};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>
vendor: 1 bytes, line 320
320
321<script> 322 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 323</script>
vendor: 1 bytes, line 323
323
324<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={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:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-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:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-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,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
324).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 23185697,storefrontBaseUrl: "https://www.navienoptisleep.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.navienoptisleep.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab"],webPixelsConfigList: [{"id":"2078671079","configuration":"{\"shopId\":\"navien.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7093dff47f098f6de2afb75b62011ebe","type":"APP","apiClientId":2753413,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2052784359","configuration":"{\"accountID\":\"MbXtNa\",\"
324webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1963786471","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-KF2VVWFQDK\\\",\\\"AW-18214027576\\\",\\\"GT-5RFL4FGR\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-KF2VVWFQDK\\\",\\\"AW-18214027576\\\/HVwLCN_IrbscELiCkO1D\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-KF2VVWFQDK\\\",\\\"AW-18214027576\\\/mWwsCOvIrbscELiCkO1D\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-KF2VVWFQDK\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-KF2VVWFQDK\\\",\\\"AW-18214027576\\\/Li5SCOjIrbscELiCkO1D\\\",\\\"MC-2M02MNH12P\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-KF2VVWFQDK\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-KF2VVWFQDK\\\",\\\"AW-18214027576\\\/YuwnCJb7grkcELiCkO1D\\\",\\\"MC-2M02MNH12P\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-KF2VVWFQDK\\\",\\\"AW-18214027576\\\/nB6PCOXIrbscELiCkO1D\\\",\\\"MC-2M02MNH12P\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-KF2VVWFQDK\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-KF2VVWFQDK\\\",\\\"AW-18214027576\\\/VqJrCO7IrbscELiCkO1D\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-KF2VVWFQDK\\\",\\\"AW-18214027576\\\/2cBHCOLIrbscELiCkO1D\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-KF2VVWFQDK\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1949008103","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1937277159","configuration":"{\"redditPixelId\":\"a2_ist1es2jpaeh\",\"dataSharingType\":\"advanced\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"27a6dc1e95874487d57379b5c016869f","type":"APP","apiClientId":304258285569,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1934098663","configuration":"{\"shopId\":\"271830\",\"env\":\"production\",\"metaData\":\"[]\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8323bee30e1ec3ae135ae5e0cef4ab6d","type":"APP","apiClientId":2773553,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1528266983","configuration":"{\"pixel_id\":\"1533191804629303\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
324,{"id":"1459224807","configuration":"{\"pixelCode\":\"D46PQKBC77UDM7TJINS0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Navien OptiSleep","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"navien.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.navienoptisleep.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.navienoptisleep.com/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"157971251431","themePublished":"true","eventMetadataId":"431c9499-107a-4059-a8e8-8b0d3ae3f008","pageType":"page","resourceId":"133384634599","shopId":"23185697","storefrontBaseUrl":"https:\/\/www.navienoptisleep.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
324<script> 325 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 326 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 327 window.ShopifyAnalytics.meta.currency = 'USD'; 328 var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":133384634599,"requestId":"109f0aea-3384-4096-b356-3d71bb6576e4-1791582403"}}; 329 for (var attr in meta) { 330 window.ShopifyAnalytics.meta[attr] = meta[attr]; 331 } 332</script>
vendor: 1 bytes, line 332
332
333<script class="analytics"> 334 (function () { 335 var customDocumentWrite = function(content) { 336 var jquery = null; 337 338 if (window.jQuery) { 339 jquery = window.jQuery; 340 } else if (window.Checkout && window.Checkout.$) { 341 jquery = window.Checkout.$; 342 } 343 344 if (jquery) { 345 jquery('body').append(content); 346 } 347 }; 348 349 var hasLoggedConversion = function(token) { 350 if (token) { 351 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 352 } 353 return false; 354 } 355 356 var setCookieIfConversion = function(token) { 357 if (token) { 358 var twoMonthsFromNow = new Date(Date.now()); 359 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 360 361 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 362 } 363 } 364 365 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 366 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 367 if (trekkie.integrations) { 368 return; 369 } 370 trekkie.methods = [ 371 'identify', 372 'page', 373 'ready', 374 'track', 375 'trackForm', 376 'trackLink' 377 ]; 378 trekkie.factory = function(method) { 379 return function() { 380 var args = Array.prototype.slice.call(arguments); 381 args.unshift(method); 382 trekkie.push(args); 383 if (method == 'track' || method == 'page') { 384 var pageUrl; 385 try { 386 pageUrl = window.location.href; 387 } catch (e) {} 388 var pageReferrer; 389 try { 390 pageReferrer = document.referrer; 391 } catch (e) {} 392 try { 393 if (window.__TREKKIE_SHIM_QUEUE == null) { 394 window.__TREKKIE_SHIM_QUEUE = []; 395 } 396 window.__TREKKIE_SHIM_QUEUE.push({ 397 from: 'trekkie-stub', 398 method: method, 399 args: args.slice(1), 400 pageContext: { 401 url: pageUrl, 402 referrer: pageReferrer 403 } 404 }); 405 } catch (e) { 406 // no-op 407 } 408 } 409 return trekkie; 410 }; 411 }; 412 for (var i = 0; i < trekkie.methods.length; i++) { 413 var key = trekkie.methods[i]; 414 trekkie[key] = trekkie.factory(key); 415 } 416 trekkie.load = function(config) { 417 trekkie.config = config || {}; 418 trekkie.config.initialDocumentCookie = document.cookie; 419 var first = document.getElementsByTagName('script')[0]; 420var script = document.createElement('script'); 421script.type = 'text/javascript'; 422script.onerror = function(e) { 423 var scriptFallback = document.createElement('script'); 424 scriptFallback.type = 'text/javascript'; 425 scriptFallback.onerror = function(error) { 426 var Monorail = { 427 produce: function produce(monorailDomain, schemaId, payload) { 428 var currentMs = new Date().getTime(); 429 var event = { 430 schema_id: schemaId, 431 payload: payload, 432 metadata: { 433 event_created_at_ms: currentMs, 434 event_sent_at_ms: currentMs 435 } 436 }; 437 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 438 }, 439 sendRequest: function sendRequest(endpointUrl, payload) { 440 // Try the sendBeacon API 441 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 442 var blobData = new window.Blob([payload], { 443 type: 'text/plain' 444 }); 445 446 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 447 return true; 448 } // sendBeacon was not successful 449 450 } // XHR beacon 451 452 var xhr = new XMLHttpRequest(); 453 454 try { 455 xhr.open('POST', endpointUrl); 456 xhr.setRequestHeader('Content-Type', 'text/plain'); 457 xhr.send(payload); 458 } catch (e) { 459 console.log(e); 460 } 461 462 return false; 463 }, 464 isIos12: function isIos12() { 465 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 466 } 467 }; 468 Monorail.produce('monorail-edge.shopifysvc.com', 469 'trekkie_storefront_load_errors/1.1', 470 {shop_id: 23185697, 471 theme_id: 157971251431, 472 app_name: "storefront", 473 context_url: window.location.href, 474 source_url: "//www.navienoptisleep.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 475 476 }; 477 scriptFallback.async = true; 478 scriptFallback.src = '//www.navienoptisleep.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 479 first.parentNode.insertBefore(scriptFallback, first); 480}; 481script.async = true; 482script.src = '//www.navienoptisleep.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 483first.parentNode.insertBefore(script, first); 484 485 }; 486 trekkie.load( 487 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":23185697,"isMerchantRequest":null,"themeId":157971251431,"themeCityHash":"17978121057762695582","contentLanguage":"en","currency":"USD","eventMetadataId":"431c9499-107a-4059-a8e8-8b0d3ae3f008"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 488 ); 489 490 var loaded = false;
491 trekkie.ready(function() { 492 if (loaded) return; 493 loaded = true; 494 495 window.ShopifyAnalytics.lib = window.trekkie; 496 497 var originalDocumentWrite = document.write; 498 document.write = customDocumentWrite; 499 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 500 document.write = originalDocumentWrite; 501 502 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 503 var token = match? match[1]: undefined; 504 if (!hasLoggedConversion(token)) { 505 setCookieIfConversion(token); 506 507 } 508 }); 509 510 window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":133384634599,"requestId":"109f0aea-3384-4096-b356-3d71bb6576e4-1791582403","shopifyEmitted":true}); 511 512 var eventsListenerScript = document.createElement('script'); 513 eventsListenerScript.async = true; 514 eventsListenerScript.src = "//www.navienoptisleep.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 515 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 516})();</script>
vendor: 1 bytes, line 516
516
517<script 518 defer 519 src="https://www.navienoptisleep.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.1.min.js" 520 data-application="storefront-renderer" 521 data-shop-id="23185697" 522 data-render-region="gcp-us-central1" 523 data-page-type="page" 524 data-theme-instance-id="157971251431" 525 data-theme-name="Navien OptiSleep v14.94" 526 data-theme-version="14.94" 527 data-monorail-region="shop_domain" 528 data-resource-timing-sampling-rate="10" 529 data-shs="true" 530 data-shs-beacon="true" 531 data-shs-export-with-fetch="true" 532 data-shs-logs-sample-rate="1" 533 data-shs-beacon-endpoint="https://www.navienoptisleep.com/api/collect" 534></script>
534 535<meta name="shopify-y" content="21e381f0-aee5-4f9b-bcaa-ea0000e298e5" data-expiration="1823140003000"><meta name="shopify-s" content="9b09527e-7571-460d-af7e-f10399f9c68e" data-expiration="1791584203000"> 536</head> 537 538 539 540<body> 541 542<a class="skip-link" href="#main">Skip to content</a> 543 544<!-- âââ ANNOUNCEMENT BAR âââ --><div class="ann-bar" id="annBar" aria-label="Promotion" data-market="US"> 545 <div class="ann-bar-inner"> 546 <span class="ann-bar-text" id="annBarText"> 547 <strong>Fall Sleep Event</strong> — 20% off the All Season Pro, every size. 548 <a href="#" class="ann-bar-link" onclick="event.preventDefault(); if (window.btHeatOpenFromPill) btHeatOpenFromPill();">Details →</a> 549 </span> 550 </div> 551</div><!-- âââ NAV âââ --> 552<header id="site-nav" class="site-nav" role="banner"> 553 <div class="nav-inner"> 554 555 <a href="/" class="nav-logo" aria-label="Navien OptiSleep home"> 556 <img 557 src="//www.navienoptisleep.com/cdn/shop/t/107/assets/logo-color.png?v=22641108523925621241784159597" 558 alt="Navien OptiSleep" 559 class="nav-logo-img" 560 width="180" 561 height="32" 562 loading="eager" 563 > 564 </a> 565 566 <nav class="nav-links" aria-label="Primary navigation"> 567 <a href="/products/navien-optisleep-pro">All Season Pro</a> 568 <a href="/collections/navien-mate" class="nav-link-secondary">Heating Only</a> 569 <a href="/pages/about">About Navien</a> 570 <a href="/pages/faq">FAQ</a> 571 </nav> 572 573 <div class="nav-actions"> 574 <div class="nv-header-country nv-header-country--desktop"><form method="post" action="/localization" id="NvHeaderCountry_desktop" accept-charset="UTF-8" class="nv-header-country-form" 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="/pages/contact" /><div class="nv-header-country-trigger"><svg class="nv-flag nv-flag-us" width="16" height="16" viewBox="0 0 20 20" role="img" aria-label="United States" xmlns="http://www.w3.org/2000/svg"> 575 <defs> 576 <clipPath id="nvFlagUsClip16"><circle cx="10" cy="10" r="10"/></clipPath> 577 </defs> 578 <g clip-path="url(#nvFlagUsClip16)"> 579 <rect width="20" height="20" fill="#fff"/> 580 <g fill="#B22234"> 581 <rect y="0" width="20" height="1.54" /> 582 <rect y="3.08" width="20" height="1.54" /> 583 <rect y="6.15" width="20" height="1.54" /> 584 <rect y="9.23" width="20" height="1.54" /> 585 <rect y="12.31" width="20" height="1.54" /> 586 <rect y="15.38" width="20" height="1.54" /> 587 <rect y="18.46" width="20" height="1.54" /> 588 </g> 589 <rect width="9" height="9.23" fill="#3C3B6E"/> 590 </g> 591 </svg><svg class="nv-header-country-caret" width="8" height="5" viewBox="0 0 8 5" fill="none" aria-hidden="true"><path d="M1 1l3 3 3-3" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg> 592 </div> 593 <select 594 class="nv-header-country-select" 595 name="country_code" 596 aria-label="Country/Region â currently United States" 597 onchange="this.form.submit()" 598 ><option value="CA" > 599 Canada (CAD) 600 </option><option value="US" selected> 601 United States (USD) 602 </option></select></form></div> 603<style> 604 .nv-header-country { position: relative; display: inline-flex; align-items: center; } 605 .nv-header-country-trigger { 606 display: flex; align-items: center; gap: 5px; 607 padding: 6px; border-radius: 6px; pointer-events: none; 608 transition: background .15s ease; 609 } 610 .nv-header-country:hover .nv-header-country-trigger { background: rgba(13,31,78,0.06); } 611 .nv-flag { display: block; border-radius: 50%; flex-shrink: 0; } 612 .nv-header-country-caret { color: var(--optisleep-gray, #6E7B8F); flex-shrink: 0; } 613 .nv-header-country-select { 614 position: absolute; inset: 0; width: 100%; height: 100%; 615 opacity: 0; cursor: pointer; border: 0; appearance: none; 616 } 617 /* Desktop: sits inline among nav-actions siblings */ 618 .nv-header-country--desktop { margin-right: 4px; } 619 /* Mobile: larger touch target inside the mobile nav sheet */ 620 .nv-header-country--mobile { 621 width: 100%; margin: 4px 0 8px;
622 border-top: 1px solid rgba(13,31,78,0.08); 623 padding-top: 14px; 624 } 625 .nv-header-country--mobile .nv-header-country-trigger { 626 gap: 8px; padding: 8px 4px; 627 } 628 .nv-header-country--mobile .nv-flag { width: 20px !important; height: 20px !important; } 629</style> 630 <button type="button" class="nav-cart" id="navCartBtn" onclick="cartDrawer.open()" aria-label="Cart (0 items)"> 631 <svg width="19" height="19" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> 632 <path d="M6 6h20l-2.5 14H8.5L6 6z"/> 633 <circle cx="11" cy="25" r="2"/> 634 <circle cx="21" cy="25" r="2"/> 635 </svg></button> 636 <a href="/products/navien-optisleep-pro" class="nav-cta"> 637 Shop All Season Pro 638 </a> 639 <button class="nav-burger" id="navBurger" aria-label="Open menu" aria-expanded="false" aria-controls="mobileNav"> 640 <span></span><span></span><span></span> 641 </button> 642 </div> 643 644 </div> 645 646 <!-- Mobile nav --> 647 <div class="mobile-nav" id="mobileNav" aria-hidden="true"> 648 <div class="mobile-nav-inner"> 649 <div class="nv-header-country nv-header-country--mobile"><form method="post" action="/localization" id="NvHeaderCountry_mobile" accept-charset="UTF-8" class="nv-header-country-form" 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="/pages/contact" /><div class="nv-header-country-trigger"><svg class="nv-flag nv-flag-us" width="16" height="16" viewBox="0 0 20 20" role="img" aria-label="United States" xmlns="http://www.w3.org/2000/svg"> 650 <defs> 651 <clipPath id="nvFlagUsClip16"><circle cx="10" cy="10" r="10"/></clipPath> 652 </defs> 653 <g clip-path="url(#nvFlagUsClip16)"> 654 <rect width="20" height="20" fill="#fff"/> 655 <g fill="#B22234"> 656 <rect y="0" width="20" height="1.54" /> 657 <rect y="3.08" width="20" height="1.54" /> 658 <rect y="6.15" width="20" height="1.54" /> 659 <rect y="9.23" width="20" height="1.54" /> 660 <rect y="12.31" width="20" height="1.54" /> 661 <rect y="15.38" width="20" height="1.54" /> 662 <rect y="18.46" width="20" height="1.54" /> 663 </g> 664 <rect width="9" height="9.23" fill="#3C3B6E"/> 665 </g> 666 </svg><svg class="nv-header-country-caret" width="8" height="5" viewBox="0 0 8 5" fill="none" aria-hidden="true"><path d="M1 1l3 3 3-3" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg> 667 </div> 668 <select 669 class="nv-header-country-select" 670 name="country_code" 671 aria-label="Country/Region â currently United States" 672 onchange="this.form.submit()" 673 ><option value="CA" > 674 Canada (CAD) 675 </option><option value="US" selected> 676 United States (USD) 677 </option></select></form></div> 678<style> 679 .nv-header-country { position: relative; display: inline-flex; align-items: center; } 680 .nv-header-country-trigger { 681 display: flex; align-items: center; gap: 5px; 682 padding: 6px; border-radius: 6px; pointer-events: none; 683 transition: background .15s ease; 684 } 685 .nv-header-country:hover .nv-header-country-trigger { background: rgba(13,31,78,0.06); } 686 .nv-flag { display: block; border-radius: 50%; flex-shrink: 0; } 687 .nv-header-country-caret { color: var(--optisleep-gray, #6E7B8F); flex-shrink: 0; } 688 .nv-header-country-select { 689 position: absolute; inset: 0; width: 100%; height: 100%; 690 opacity: 0; cursor: pointer; border: 0; appearance: none; 691 } 692 /* Desktop: sits inline among nav-actions siblings */ 693 .nv-header-country--desktop { margin-right: 4px; } 694 /* Mobile: larger touch target inside the mobile nav sheet */ 695 .nv-header-country--mobile { 696 width: 100%; margin: 4px 0 8px; 697 border-top: 1px solid rgba(13,31,78,0.08); 698 padding-top: 14px; 699 } 700 .nv-header-country--mobile .nv-header-country-trigger { 701 gap: 8px; padding: 8px 4px; 702 }
703 .nv-header-country--mobile .nv-flag { width: 20px !important; height: 20px !important; } 704</style> 705 <a href="/products/navien-optisleep-pro" class="mobile-nav-featured">All Season Pro</a> 706 <a href="/collections/navien-mate" class="nav-link-secondary">Heating Only</a> 707 <a href="/pages/about">About Navien</a> 708 <a href="/pages/faq">FAQ</a> 709 </div> 710 </div> 711</header> 712 713<main id="main" tabindex="-1"> 714 <section id="shopify-section-template--21551578710247__main" class="shopify-section"><div class="page-hero"> 715 <div class="container"> 716 <div class="page-hero-eyebrow"> 717 <span style="display:block;width:24px;height:1px;background:currentColor;opacity:.4;" aria-hidden="true"></span> 718 Get in touch 719 </div> 720 <h1 class="page-hero-title"> 721 We’re here.<br><em>Real answers, fast.</em> 722 </h1> 723 <p class="page-hero-sub"> 724 Questions about the product, your order, warranty, or anything else â 725 our support team responds within 2 business days. 726 </p> 727 </div> 728</div> 729 730<section class="page-body" aria-label="Contact"> 731 <div class="container" style="max-width:960px;"> 732 733 <div class="contact-grid sr"><div class="contact-left"> 734 <div class="section-label" style="margin-bottom:24px;"> 735 <span class="section-label-line" aria-hidden="true"></span> 736 Ways to reach us 737 </div> 738 739 <div class="contact-method"> 740 <div class="contact-method-icon"> 741 <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg> 742 </div> 743 <div> 744 <div class="contact-method-label">Email</div> 745 <div class="contact-method-val"><a href="mailto:[email protected]" style="color:var(--navien-blue);">[email protected]</a></div> 746 <div class="contact-method-note">Response within 2 business days</div> 747 </div> 748 </div> 749 750 751 752 <div class="contact-method"> 753 <div class="contact-method-icon"> 754 <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 13a19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 3.18 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 9.91a16 16 0 0 0 6.16 6.16l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z"/></svg> 755 </div> 756 <div> 757 <div class="contact-method-label">Phone</div> 758 <div class="contact-method-val">1-877-689-1541</div> 759 <div class="contact-method-note">MonâFri, 9amâ5pm PT · Warranty & technical support</div> 760 </div> 761 </div> 762 763 <div class="contact-method"> 764 <div class="contact-method-icon"> 765 <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg> 766 </div> 767 <div> 768 <div class="contact-method-label">Corporate</div> 769 <div class="contact-method-val">Navien, Inc.</div> 770 <div class="contact-method-note">Irvine, California · navieninc.com</div> 771 </div> 772 </div><div class="contact-social" style="margin-top:32px;"> 773 <div style="font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px;">Follow Us</div> 774 <div style="display:flex;gap:16px;align-items:center;"> 775 <a href="https://www.instagram.com/navien_optisleep" target="_blank" rel="noopener" aria-label="Instagram" class="contact-social-icon"> 776 <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2" y="2" width="20" height="20" rx="5"/><circle cx="12" cy="12" r="4.5"/><circle cx="17.5" cy="6.5" r="1.2" fill="currentColor" stroke="none"/></svg> 777 </a> 778 <a href="https://www.facebook.com/KDNavienNaveMateNorthAmerica/" target="_blank" rel="noopener" aria-label="Facebook" class="contact-social-icon"> 779 <svg width="28" height="28" viewBox="0 0 24 24" fill="currentColor" stroke="none" aria-hidden="true"><path d="M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12c0 4.99 3.66 9.13 8.44 9.88v-6.99H7.9V12h2.54V9.77c0-2.51 1.49-3.89 3.78-3.89 1.09 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.77l-.44 2.89h-2.33v6.99C18.34 21.13 22 16.99 22 12z"/></svg> 780 </a> 781 <a href="https://www.threads.com/@navien_optisleep" target="_blank" rel="noopener" aria-label="Threads" class="contact-social-icon"> 782 <svg width="28" height="28" viewBox="0 0 192 192" fill="currentColor" stroke="none" aria-hidden="true"><path d="M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.23c8.249.053 14.474 2.452 18.502 7.13 2.932 3.405 4.893 8.11 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.195 47.292 9.643 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553zm-52.458 49.087c-10.444.588-21.3-4.098-21.85-14.135-.398-7.472 5.338-15.806 22.605-16.802 1.981-.114 3.927-.169 5.838-.169 6.097 0 11.8.558 17.018 1.624-1.934 24.117-13.974 28.884-23.611 29.482z"/></svg> 783 </a> 784 </div> 785 </div><div style="margin-top:48px;padding:32px 28px;background:var(--white);border-radius:var(--radius-md);"> 786 <div style="font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px;">Before you write</div> 787 <p style="font-size:13px;color:var(--ink-light);margin-bottom:16px;line-height:1.6;">Many common questions are answered in our FAQ and setup guide.</p> 788 <div style="display:flex;flex-direction:column;gap:8px;"> 789 <a href="/pages/faq" style="font-size:13px;font-weight:600;color:var(--navien-blue);display:flex;align-items:center;gap:6px;"> 790 <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"/></svg> 791 Frequently asked questions 792 </a> 793 <a href="/pages/setup" style="font-size:13px;font-weight:600;color:var(--navien-blue);display:flex;align-items:center;gap:6px;"> 794 <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"/></svg> 795 Setup guide 796 </a> 797 <a href="/pages/warranty" style="font-size:13px;font-weight:600;color:var(--navien-blue);display:flex;align-items:center;gap:6px;"> 798 <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"/></svg> 799 Warranty & claims 800 </a> 801 </div> 802 </div> 803 </div><div class="contact-right sr sr-delay-1"> 804 <div class="contact-form-card"> 805 <div style="font-family:var(--serif);font-size:22px;font-weight:400;color:var(--ink);margin-bottom:8px;">Send us a message</div> 806 <p style="font-size:13px;color:var(--ink-light);margin-bottom:28px;line-height:1.5;">We read every message and respond within 2 business days.</p><form method="post" action="/contact#contact-form" id="contact-form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="â" /><div style="display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:0;"> 807 <div class="customer-field"> 808 <label class="customer-label" for="ContactFormName">Name</label> 809 <input class="customer-input" type="text" id="ContactFormName" name="contact[name]" value="" autocomplete="name"> 810 </div> 811 <div class="customer-field"> 812 <label class="customer-label" for="ContactFormEmail">Email *</label> 813 <input class="customer-input" type="email" id="ContactFormEmail" name="contact[email]" value="" required autocomplete="email"> 814 </div> 815 </div> 816 817 <div class="customer-field"> 818 <label class="customer-label" for="ContactFormTopic">Topic</label> 819 <select class="customer-input" id="ContactFormTopic" name="contact[topic]" style="cursor:pointer;"> 820 <option value="">Select a topic…</option> 821 <option>Order & shipping</option> 822 <option>Product question</option> 823 <option>Setup & app support</option> 824 <option>Warranty claim</option> 825 <option>30-night trial / return</option> 826 <option>Press & media</option> 827 <option>Other</option> 828 </select> 829 </div> 830 831 <div class="customer-field"> 832 <label class="customer-label" for="ContactFormPhone">Phone (optional)</label> 833 <input class="customer-input" type="tel" id="ContactFormPhone" name="contact[phone]" value="" autocomplete="tel"> 834 </div> 835 836 <div class="customer-field"> 837 <label class="customer-label" for="ContactFormMessage">Message *</label> 838 <textarea class="customer-input" id="ContactFormMessage" name="contact[body]" rows="5" required style="resize:vertical;"></textarea> 839 </div> 840 841 <button type="submit" class="customer-submit">Send message →</button></form></div> 842 </div> 843 844 </div> 845 846 </div> 847</section> 848 849 850</section> 851</main> 852 853<!-- âââ FOOTER âââ --> 854<footer class="site-footer" role="contentinfo"> 855 <div class="footer-inner"> 856 <div class="footer-grid"> 857 858 <div class="footer-brand"> 859 <div class="footer-logo"> 860 <img 861 src="//www.navienoptisleep.com/cdn/shop/t/107/assets/logo-white.png?v=106278576593404284081784159597" 862 alt="Navien OptiSleep" 863 class="footer-logo-img" 864 width="200" 865 height="36" 866 loading="lazy" 867 > 868 </div> 869 <p class="footer-tagline">All Season Pro Sleep System</p> 870 <p class="footer-desc">48 years of temperature engineering by Navien â now perfecting your sleep. One price. No subscription. Precise temperature, every night.</p> 871 <div class="footer-social" aria-label="Follow us on social media"> 872 <a href="https://www.instagram.com/navien_optisleep" class="footer-social-link" target="_blank" rel="noopener" aria-label="Instagram"> 873 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="1" fill="currentColor" stroke="none"/></svg> 874 </a> 875 <a href="https://www.facebook.com/KDNavienNaveMateNorthAmerica/" class="footer-social-link" target="_blank" rel="noopener" aria-label="Facebook"> 876 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"/></svg> 877 </a> 878 <a href="https://www.threads.com/@navien_optisleep" class="footer-social-link" target="_blank" rel="noopener" aria-label="Threads"> 879 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"/><path d="M15.5 9.5c-.8-1.2-2-1.8-3.5-1.8-2.2 0-4 1.6-4 4s1.8 4 4 4c1.8 0 3.2-.9 3.8-2.3"/><path d="M15.5 9.5c.3.7.5 1.5.5 2.3 0 .5-.1 1-.2 1.4"/></svg> 880 </a> 881 </div> 882 </div> 883 884 <div class="footer-col"> 885 <div class="footer-col-title">Product</div> 886 <ul class="footer-links"> 887 <li><a href="/products/navien-optisleep-pro">All Season Pro</a></li> 888 <li><a href="/pages/30-night-trial">30-Night Trial</a></li> 889 <li><a href="/pages/setup">
889Setup Guide</a></li> 890 <li><a href="/collections/navien-mate">Heating Only</a></li> 891 </ul> 892 </div> 893 894 <div class="footer-col"> 895 <div class="footer-col-title">Support</div> 896 <ul class="footer-links"> 897 <li><a href="/pages/support">Support Hub</a></li> 898 <li><a href="/pages/warranty">Warranty</a></li> 899 <li><a href="/pages/faq">FAQ</a></li> 900 <li><a href="/pages/contact">Contact Us</a></li> 901 </ul> 902 </div> 903 904 <div class="footer-col"> 905 <div class="footer-col-title">Company</div> 906 <ul class="footer-links"> 907 <li><a href="/pages/about">About Navien</a></li> 908 <li><a href="/pages/affiliate">Affiliate Program</a></li> 909 <li><a href="/pages/navien-optisleep-privacy-policy">Privacy Policy</a></li> 910 <li><a href="/pages/navien-optisleep-terms-of-use">Terms of Use</a></li> 911 <li><a href="/pages/navien-optisleep-terms-of-sale">Terms of Sale</a></li> 912 <li><a href="/pages/accessibility">Accessibility</a></li> 913 <li><a href="/pages/navien-optisleep-ccpa-cpra">Your Privacy Choices</a></li></ul> 914 </div> 915 916 </div> 917 918 <div class="nv-country-wrap"> 919 <span class="nv-country-label">Country/Region</span><form method="post" action="/localization" id="NvCountryForm" accept-charset="UTF-8" class="nv-country-form" 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="/pages/contact" /><div class="nv-country-select-wrap"> 920 <div class="nv-country-trigger" aria-hidden="true"><svg class="nv-flag nv-flag-us" width="16" height="16" viewBox="0 0 20 20" role="img" aria-label="United States" xmlns="http://www.w3.org/2000/svg"> 921 <defs> 922 <clipPath id="nvFlagUsClip16"><circle cx="10" cy="10" r="10"/></clipPath> 923 </defs> 924 <g clip-path="url(#nvFlagUsClip16)"> 925 <rect width="20" height="20" fill="#fff"/> 926 <g fill="#B22234"> 927 <rect y="0" width="20" height="1.54" /> 928 <rect y="3.08" width="20" height="1.54" /> 929 <rect y="6.15" width="20" height="1.54" /> 930 <rect y="9.23" width="20" height="1.54" /> 931 <rect y="12.31" width="20" height="1.54" /> 932 <rect y="15.38" width="20" height="1.54" /> 933 <rect y="18.46" width="20" height="1.54" /> 934 </g> 935 <rect width="9" height="9.23" fill="#3C3B6E"/> 936 </g> 937 </svg><span class="nv-country-trigger-text"> 938 United States (USD) 939 </span> 940 <svg class="nv-country-caret" width="10" height="6" viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/></svg> 941 </div> 942 <select 943 id="NvCountrySelect" 944 class="nv-country-select" 945 name="country_code" 946 aria-label="Country/Region â currently United States" 947 onchange="this.form.submit()" 948 ><option 949 value="CA" 950 951 > 952 Canada (CAD 953$) 954 </option><option 955 value="US" 956 selected 957 > 958 United States (USD 959$) 960 </option></select> 961 </div> 962 <noscript><button type="submit" class="nv-country-apply">Apply</button></noscript></form></div> 963<style> 964 .nv-country-wrap { margin: 0 0 18px; } 965 .nv-country-label { 966 display: block; font: 500 10.5px/1 var(--sans, 'Outfit', sans-serif); 967 letter-spacing: 0.12em; text-transform: uppercase; 968 color: var(--on-dark-faint, rgba(247,244,239,0.55)); margin-bottom: 8px; 969 } 970 .nv-country-select-wrap { position: relative; display: inline-block; } 971 .nv-country-trigger { 972 display: flex; align-items: center; gap: 8px; 973 border: 1px solid rgba(247,244,239,0.28); 974 border-radius: 6px; 975 color: var(--cream, #F7F4EF); 976 padding: 9px 12px; 977 min-width: 210px; 978 transition: border-color .18s ease; 979 } 980 .nv-country-select-wrap:hover .nv-country-trigger { border-color: rgba(247,244,239,0.6); } 981 .nv-country-trigger-text { 982 font: 400 13px/1.2 var(--sans, 'Outfit', sans-serif); 983 flex: 1; 984 } 985 .nv-country-caret { color: rgba(247,244,239,0.55); flex-shrink: 0; } 986 .nv-country-select { 987 position: absolute; inset: 0; width: 100%; height: 100%; 988 opacity: 0; cursor: pointer; border: 0; appearance: none; 989 } 990 .nv-country-apply { 991 margin-left: 8px; padding: 9px 14px; border: 1px solid rgba(247,244,239,0.28); 992 border-radius: 6px; background: transparent; color: var(--cream, #F7F4EF); 993 font: 500 12px/1 var(--sans, 'Outfit', sans-serif); cursor: pointer; 994 } 995</style> 996 <div class="footer-bottom">
997 <span class="footer-copy">© 2026 Navien, Inc. All rights reserved.</span> 998 <span class="footer-copy-sub">navienoptisleep.com</span> 999 </div> 1000 </div> 1001</footer> 1002 1003 1004<!-- âââ CART DRAWER âââ --> 1005<div class="cart-drawer-overlay" id="cartDrawerOverlay" aria-hidden="true" onclick="cartDrawer.close()"></div> 1006 1007<div class="cart-drawer" id="cartDrawer" role="dialog" aria-modal="true" aria-label="Shopping cart" aria-hidden="true"> 1008 1009 <!-- Header --> 1010 <div class="cd-header"> 1011 <div class="cd-title"> 1012 Your cart 1013 <span class="cd-count" id="cdCount">0</span> 1014 </div> 1015 <button class="cd-close" onclick="cartDrawer.close()" aria-label="Close cart"> 1016 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 6L6 18M6 6l12 12"/></svg> 1017 </button> 1018 </div> 1019 1020 <!-- Items --> 1021 <div class="cd-body" id="cdBody"> 1022 <div class="cd-items" id="cdItems"></div> 1023 1024 <!-- Empty state --> 1025 <div class="cd-empty" id="cdEmpty" hidden> 1026 <svg width="40" height="40" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 6h20l-2.5 14H8.5L6 6z"/><circle cx="11" cy="25" r="2"/><circle cx="21" cy="25" r="2"/></svg> 1027 <p>Your cart is empty</p> 1028 <a href="/products/navien-optisleep-pro" class="cd-shop-link" onclick="cartDrawer.close()">Shop All Season Pro →</a> 1029 </div> 1030 </div> 1031 1032 <!-- Footer --> 1033 <div class="cd-footer" id="cdFooter" style=""> 1034 1035 <!-- Discount code â informational only; the drawer subtotal never reflects a code 1036 (Shopify only evaluates discounts at checkout), so we don't offer a fake "Apply" 1037 interaction here. Direct customers to enter it at checkout instead. --> 1038 <div class="cd-discount"> 1039 <div class="cd-discount-note">Have a promo code? Enter it at checkout.</div> 1040 </div> 1041 1042 <!-- Totals --> 1043 <div class="cd-totals"> 1044 <div class="cd-total-row"> 1045 <span>Subtotal</span> 1046 <span id="cdSubtotal">$0</span> 1047 </div> 1048 <div class="cd-total-row cd-shipping"> 1049 <span>Shipping</span> 1050 <span class="cd-free">Free</span> 1051 </div> 1052 </div> 1053 1054 1055 <!-- Financing â US only (not offered in Canada). Live: native payment_terms banner 1056 (standalone cart form, doesn't touch AJAX qty logic) + Synchrony line. Design-mode: 1057 static preview text since the mock cart total here isn't a real form context. --><form method="post" action="/cart" id="cart_form" accept-charset="UTF-8" class="shopify-cart-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="cart" /><input type="hidden" name="utf8" value="â" /><div class="cd-payment-terms"></div></form><div class="cd-financing-row"> 1058 <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg> 1059 <span>Financing available through <strong>Synchrony</strong> — Flex Card & monthly payment options at checkout</span> 1060 </div><a href="/checkout" class="cd-checkout-btn" id="cdCheckoutBtn"> 1061 Proceed to checkout → 1062 </a> 1063 1064 <!-- Trust strip --> 1065 <div class="cd-trust-strip"> 1066 <div class="cd-trust-item"> 1067 <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 2L3 7v5c0 5.5 3.8 10.7 9 12 5.2-1.3 9-6.5 9-12V7l-9-5z"/></svg> 1068 <span>30-night free trial</span> 1069 </div> 1070 <div class="cd-trust-item"> 1071 <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12l5 5L20 7"/></svg> 1072 <span>Free shipping & returns</span> 1073 </div> 1074 </div> 1075 1076 </div> 1077</div> 1078
1079<script src="//www.navienoptisleep.com/cdn/shop/t/107/assets/theme.js?v=13104515039154392241791238666" type="text/javascript"></script>
1079 1080<div class="btheat-overlay" id="btHeatOverlay" aria-hidden="true" role="dialog" aria-modal="true" aria-labelledby="btHeatTitle"> 1081 <div class="btheat-modal" id="btHeatModal"> 1082 <div class="btheat-top-bar"> 1083 <span id="btHeatTopBarText">Limited-Time Offers</span> 1084 <button class="btheat-close" id="btHeatClose" aria-label="Close announcement"> 1085 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> 1086 </button> 1087 </div> 1088 1089 <div class="btheat-body"><div class="btheat-panel btheat-panel-primary" id="btPanelOS"> 1090 <div class="btheat-eyebrow">Fall Sleep Event</div> 1091 <h2 class="btheat-headline" id="btHeatTitle">Save <em>20%</em></h2> 1092 <p class="btheat-sub">Settle into cooler nights. Save 20% on the Navien OptiSleep All Season Pro — every size, now through October 18.</p> 1093 <a href="/products/navien-optisleep-pro" class="btheat-cta" onclick="btHeatDismiss()"> 1094 Shop Now → 1095 </a> 1096 </div><div class="btheat-panel-divider" id="btPanelDivider"></div><div class="btheat-panel btheat-panel-secondary" id="btPanelMate"> 1097 <div class="btheat-eyebrow btheat-eyebrow-mate">Also on sale</div> 1098 <h3 class="btheat-headline-sm">25% off Navien Mate</h3> 1099 <p class="btheat-sub btheat-sub-sm">Save 25% on Navien Mate — now through October 18.</p> 1100 <a href="/collections/navien-mate" class="btheat-cta btheat-cta-outline" onclick="btHeatDismiss()"> 1101 Shop Navien Mate → 1102 </a> 1103 </div> 1104 1105 <button class="btheat-skip" onclick="btHeatDismiss()">Maybe later</button> 1106 </div> 1107 </div> 1108</div><button class="btheat-pill" id="btHeatPill" onclick="btHeatOpenFromPill()" aria-label="View current offers" hidden> 1109 <span class="btheat-pill-sun" aria-hidden="true">🍂</span> 1110 <span class="btheat-pill-text" id="btHeatPillText">Fall Sleep Event — 20% off</span> 1111 <span class="btheat-pill-arrow" aria-hidden="true"> 1112 <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg> 1113 </span> 1114</button> 1115 1116<style> 1117/* ââ Popup overlay ââ */ 1118.btheat-overlay { 1119 position: fixed; 1120 inset: 0; 1121 background: rgba(13,31,78,.55); 1122 backdrop-filter: blur(3px); 1123 -webkit-backdrop-filter: blur(3px); 1124 z-index: 1200; 1125 display: flex; 1126 align-items: center; 1127 justify-content: center; 1128 padding: 20px; 1129 opacity: 0; 1130 pointer-events: none; 1131 transition: opacity .3s cubic-bezier(0,0,.2,1); 1132} 1133.btheat-overlay.open { 1134 opacity: 1; 1135 pointer-events: auto; 1136} 1137.btheat-modal { 1138 background: var(--cream, #F7F4EF); 1139 border-radius: 16px; 1140 width: 100%; 1141 max-width: 600px; 1142 position: relative; 1143 overflow: hidden; 1144 transform: translateY(20px) scale(.97); 1145 transition: transform .35s cubic-bezier(0,0,.2,1); 1146 box-shadow: 0 24px 80px rgba(13,31,78,.28), 0 4px 16px rgba(0,0,0,.08); 1147 max-height: 90vh; 1148 overflow-y: auto; 1149} 1150.btheat-overlay.open .btheat-modal { 1151 transform: translateY(0) scale(1); 1152} 1153.btheat-top-bar { 1154 background: var(--navien-blue, #1B3C87); 1155 color: white; 1156 font-size: 12px; 1157 font-weight: 600; 1158 letter-spacing: .06em; 1159 text-transform: uppercase; 1160 display: flex; 1161 align-items: center; 1162 justify-content: center; 1163 padding: 12px 16px; 1164 position: relative; 1165 min-height: 44px; 1166} 1167.btheat-close { 1168 position: absolute; 1169 right: 10px; 1170 top: 50%; 1171 transform: translateY(-50%); 1172 width: 28px; 1173 height: 28px; 1174 display: flex; 1175 align-items: center; 1176 justify-content: center; 1177 border-radius: 50%; 1178 background: rgba(255,255,255,.15); 1179 color: white; 1180 transition: background .2s; 1181 flex-shrink: 0; 1182} 1183.btheat-close:hover { background: rgba(255,255,255,.3); } 1184.btheat-body { 1185 padding: 34px 40px 32px; 1186 text-align: center; 1187} 1188.btheat-panel { } 1189.btheat-eyebrow { 1190 font-size: 11px; 1191 font-weight: 700; 1192 letter-spacing: .1em; 1193 text-transform: uppercase; 1194 color: var(--warm-amber, #C8933A); 1195 margin-bottom: 10px; 1196} 1197.btheat-eyebrow-mate { 1198 color: var(--navien-blue, #1B3C87); 1199} 1200.btheat-headline { 1201 font-family: var(--serif, 'Playfair Display', Georgia, serif); 1202 font-size: clamp(34px, 6.5vw, 50px); 1203 line-height: 1.1; 1204 color: var(--navy-deep, #0D1F4E); 1205 margin-bottom: 12px; 1206} 1207.btheat-headline em { 1208 font-style: italic; 1209 color: var(--navien-blue, #1B3C87); 1210} 1211.btheat-headline-sm { 1212 font-family: var(--serif, 'Playfair Display', Georgia, serif); 1213 font-size: 22px; 1214 line-height: 1.2; 1215 color: var(--navy-deep, #0D1F4E); 1216 margin-bottom: 8px; 1217} 1218.btheat-sub { 1219 font-size: 14px; 1220 line-height: 1.6; 1221 color: var(--ink-mid, #374151); 1222 margin-bottom: 18px; 1223} 1224.btheat-sub-sm { 1225 font-size: 13px; 1226 margin-bottom: 14px; 1227} 1228.btheat-cta { 1229 display: block; 1230 background: var(--navien-blue, #1B3C87); 1231 color: white; 1232 font-size: 15px; 1233 font-weight: 700; 1234 letter-spacing: .04em; 1235 text-align: center; 1236 padding: 16px 32px; 1237 border-radius: 8px; 1238 transition: background .2s, transform .15s; 1239} 1240.btheat-cta:hover { 1241 background: var(--navy-deep, #0D1F4E); 1242 transform: translateY(-1px); 1243} 1244.btheat-cta-outline { 1245 background: transparent; 1246 color: var(--navien-blue, #1B3C87); 1247 border: 1.5px solid var(--navien-blue, #1B3C87); 1248 padding: 13px 32px; 1249 font-size: 13px; 1250} 1251.btheat-cta-outline:hover { 1252 background: var(--navien-blue, #1B3C87); 1253 color: white; 1254 transform: translateY(-1px); 1255} 1256.btheat-panel-divider { 1257 height: 1px; 1258 background: var(--cream-deep, #E4DFD6); 1259 margin: 22px 0; 1260} 1261.btheat-panel-secondary { margin-bottom: 4px; } 1262/* If the OptiSleep panel expires first, JS promotes the Mate panel to primary sizing */ 1263.btheat-panel-secondary.btheat-panel-primary .btheat-eyebrow-mate { 1264 color: var(--warm-amber, #C8933A); 1265} 1266.btheat-panel-secondary.btheat-panel-primary .btheat-headline-sm { 1267 font-size: clamp(26px, 5vw, 34px); 1268} 1269.btheat-panel-secondary.btheat-panel-primary .btheat-cta-outline { 1270 background: var(--navien-blue, #1B3C87); 1271 color: white; 1272 border: none; 1273 padding: 16px 32px; 1274 font-size: 15px; 1275} 1276.btheat-skip { 1277 margin-top: 6px; 1278 font-size: 12px; 1279 color: var(--ink-light, #6B7280); 1280 text-decoration: underline; 1281 text-underline-offset: 2px; 1282 background: none; 1283 border: none; 1284 cursor: pointer; 1285 transition: color .2s; 1286} 1287.btheat-skip:hover { color: var(--ink, #111827); } 1288@media (max-width: 480px) { 1289 .btheat-body { padding: 22px 20px 22px; } 1290 .btheat-panel-divider { margin: 18px 0; } 1291} 1292 1293/* ââ Floating pill ââ */ 1294.btheat-pill { 1295 position: fixed; 1296 bottom: 24px; 1297 left: 24px; 1298 z-index: 1100; 1299 display: flex; 1300 align-items: center; 1301 gap: 7px; 1302 background: var(--navien-blue, #1B3C87); 1303 color: white; 1304 border: none; 1305 border-radius: 100px; 1306 padding: 10px 16px 10px 13px; 1307 font-family: var(--sans, 'Outfit', system-ui, sans-serif); 1308 font-size: 13px; 1309 font-weight: 600; 1310 letter-spacing: .01em; 1311 cursor: pointer;
1312 box-shadow: 0 4px 20px rgba(13,31,78,.35); 1313 transition: background .2s, transform .2s, box-shadow .2s; 1314 animation: btPillEntrance .4s cubic-bezier(0,0,.2,1) both; 1315} 1316@keyframes btPillEntrance { 1317 from { opacity: 0; transform: translateY(12px); } 1318 to { opacity: 1; transform: translateY(0); } 1319} 1320.btheat-pill:hover { 1321 background: var(--navy-deep, #0D1F4E); 1322 transform: translateY(-2px); 1323 box-shadow: 0 8px 28px rgba(13,31,78,.4); 1324} 1325.btheat-pill[hidden] { display: none; } 1326.btheat-pill-sun { font-size: 11px; line-height: 1; } 1327.btheat-pill-text { white-space: nowrap; } 1328.btheat-pill-arrow { display: flex; align-items: center; opacity: .7; } 1329@media (max-width: 480px) { 1330 .btheat-pill { 1331 bottom: 16px; 1332 left: 16px; 1333 padding: 9px 13px 9px 11px; 1334 font-size: 12px; 1335 } 1336} 1337</style> 1338
1339<script> 1340(function() { 1341 var POPUP_KEY = 'nv_fall_sleep_dismissed'; // new key â resets dismissal from the retired Fall Comfort popup 1342 var NV_MARKET = 'US'; 1343 var OS_END_TS = 1792393200000; // Oct 19 2026 12:00 AM PDT â Fall Sleep Event (OptiSleep) end 1344 var MATE_END_TS = 1792393200000; // Oct 19 2026 12:00 AM PDT â Fall Sleep Event (Navien Mate) end 1345 1346 function osExpired() { return Date.now() > OS_END_TS; } 1347 function mateExpired() { return Date.now() > MATE_END_TS; } 1348 function bothExpired() { return osExpired() && mateExpired(); } 1349 1350 // Adjusts which panel(s) show once one offer has ended but the other hasn't. 1351 // With current dates (OS ends Sept 21, Mate ends Sept 27) only the "OS expired, 1352 // Mate still running" branch is expected to actually fire. 1353 function applyState() { 1354 var osPanel = document.getElementById('btPanelOS'); 1355 var matePanel = document.getElementById('btPanelMate'); 1356 var divider = document.getElementById('btPanelDivider'); 1357 var topBar = document.getElementById('btHeatTopBarText'); 1358 var pillText = document.getElementById('btHeatPillText'); 1359 1360 if (osExpired() && !mateExpired()) { 1361 if (osPanel) osPanel.style.display = 'none'; 1362 if (divider) divider.style.display = 'none'; 1363 if (matePanel) matePanel.classList.add('btheat-panel-primary'); 1364 if (topBar) topBar.textContent = 'Fall Sleep Event'; 1365 if (pillText) pillText.textContent = 'Fall Sleep Event \u2014 25% off Navien Mate'; 1366 return; 1367 } 1368 if (mateExpired() && !osExpired()) { 1369 if (matePanel) matePanel.style.display = 'none'; 1370 if (divider) divider.style.display = 'none'; 1371 return; 1372 } 1373 // Both still active â static server-rendered copy (market-aware) is already correct. 1374 } 1375 1376 function openPopup() { 1377 var overlay = document.getElementById('btHeatOverlay'); 1378 if (!overlay) return; 1379 var pill = document.getElementById('btHeatPill'); 1380 if (pill) pill.setAttribute('hidden', ''); 1381 overlay.classList.add('open'); 1382 overlay.setAttribute('aria-hidden', 'false'); 1383 document.body.style.overflow = 'hidden'; 1384 } 1385 1386 function showPill() { 1387 var pill = document.getElementById('btHeatPill'); 1388 if (!pill) return; 1389 pill.removeAttribute('hidden'); 1390 } 1391 1392 window.btHeatDismiss = function() { 1393 var overlay = document.getElementById('btHeatOverlay'); 1394 if (!overlay) return; 1395 overlay.classList.remove('open'); 1396 overlay.setAttribute('aria-hidden', 'true'); 1397 document.body.style.overflow = ''; 1398 try { localStorage.setItem(POPUP_KEY, Date.now() + 12 * 3600 * 1000); } catch(e) {} 1399 showPill(); 1400 }; 1401 1402 window.btHeatOpenFromPill = function() { 1403 openPopup(); 1404 }; 1405 1406 function shouldAutoShow() { 1407 if (bothExpired()) return false; 1408 try { 1409 var val = localStorage.getItem(POPUP_KEY); 1410 if (val && Date.now() < parseInt(val, 10)) return false; 1411 } catch(e) {} 1412 return true; 1413 } 1414 1415 function shouldShowPill() { 1416 if (bothExpired()) return false; 1417 try { 1418 var val = localStorage.getItem(POPUP_KEY); 1419 return !!val; 1420 } catch(e) {} 1421 return false; 1422 } 1423 1424 document.addEventListener('DOMContentLoaded', function() { 1425 var closeBtn = document.getElementById('btHeatClose'); 1426 if (closeBtn) closeBtn.addEventListener('click', window.btHeatDismiss); 1427 1428 var overlay = document.getElementById('btHeatOverlay'); 1429 if (overlay) overlay.addEventListener('click', function(e) { 1430 if (e.target === overlay) window.btHeatDismiss(); 1431 }); 1432 1433 document.addEventListener('keydown', function(e) { 1434 if (e.key === 'Escape') { 1435 var o = document.getElementById('btHeatOverlay'); 1436 if (o && o.classList.contains('open')) window.btHeatDismiss(); 1437 } 1438 }); 1439 1440 if (bothExpired()) { 1441 var pill = document.getElementById('btHeatPill'); 1442 if (pill) pill.setAttribute('hidden', ''); 1443 return; 1444 } 1445 1446 applyState(); 1447 1448 if (shouldAutoShow()) { 1449 openPopup(); 1450 } else if (shouldShowPill()) { 1451 showPill(); 1452 } 1453 }); 1454})(); 1455</script>
vendor: 1 bytes, line 1455
1455
1456<script> 1457(function() { 1458 var BAR_END_TS = 1792393200000; // Oct 19 2026 12:00 AM PDT â Fall Sleep Event end (US + CA) 1459 var annBar = document.getElementById('annBar'); 1460 var siteNav = document.getElementById('site-nav'); 1461 var body = document.body; 1462 var BAR_H = window.innerWidth <= 480 ? 36 : 40; 1463 var hidden = false; 1464 var ticking = false; 1465 1466 // Hide the bar entirely once Fall Sleep Event ends â no next promo queued. 1467 if (annBar && Date.now() > BAR_END_TS) { 1468 annBar.style.display = 'none'; 1469 if (siteNav) { siteNav.style.top = '0'; siteNav.classList.add('bar-hidden'); } 1470 body.classList.add('bar-hidden'); 1471 } 1472 1473 function onScroll() { 1474 if (!ticking) { 1475 window.requestAnimationFrame(function() { 1476 var scrollY = window.scrollY || window.pageYOffset; 1477 if (scrollY > BAR_H && !hidden) { 1478 hidden = true; 1479 if (annBar) annBar.classList.add('hidden'); 1480 if (siteNav) siteNav.classList.add('bar-hidden'); 1481 body.classList.add('bar-hidden'); 1482 } else if (scrollY <= BAR_H && hidden) { 1483 hidden = false; 1484 if (annBar) annBar.classList.remove('hidden'); 1485 if (siteNav) siteNav.classList.remove('bar-hidden'); 1486 body.classList.remove('bar-hidden'); 1487 } 1488 // Nav scrolled state for shadow 1489 if (siteNav) { 1490 if (scrollY > 10) siteNav.classList.add('scrolled'); 1491 else siteNav.classList.remove('scrolled'); 1492 } 1493 ticking = false; 1494 }); 1495 ticking = true; 1496 } 1497 } 1498 1499 window.addEventListener('scroll', onScroll, { passive: true }); 1500})(); 1501</script>
1501<script> 1502(function(){var w=window;if(w.ChannelIO){return w.console.error("ChannelIO script included twice.");}var ch=function(){ch.c(arguments);};ch.q=[];ch.c=function(args){ch.q.push(args);};w.ChannelIO=ch;function l(){if(w.ChannelIOInitialized){return;}w.ChannelIOInitialized=true;var s=document.createElement("script");s.type="text/javascript";s.async=true;s.src="https://cdn.channel.io/plugin/ch-plugin-web.js";var x=document.getElementsByTagName("script")[0];if(x.parentNode){x.parentNode.insertBefore(s,x);}}if(document.readyState==="complete"){l();}else{w.addEventListener("DOMContentLoaded",l);w.addEventListener("load",l);}})(); 1503ChannelIO('boot', { 1504 "pluginKey": "2e4c5050-4a82-43a9-bfad-d81140e6befe" 1505}); 1506</script>
1506 1507 1508 <div 1509 id="NvGeoBanner" 1510 class="nv-geo-banner" 1511 hidden 1512 role="dialog" 1513 aria-live="polite" 1514 aria-label="Region suggestion" 1515 data-current-country="US" 1516 data-localization-url="" 1517 data-return-to="/pages/contact" 1518> 1519 <div class="nv-geo-title-row"> 1520 <span class="nv-geo-flag" id="NvGeoFlag"><span class="nv-geo-flag-icon" data-flag-for="CA" hidden><svg class="nv-flag nv-flag-ca" width="18" height="18" viewBox="0 0 20 20" role="img" aria-label="Canada" xmlns="http://www.w3.org/2000/svg"> 1521 <circle cx="10" cy="10" r="10" fill="#fff"/> 1522 <path d="M0 10a10 10 0 0 1 5.2-8.77V18.77A10 10 0 0 1 0 10z" fill="#D80621"/> 1523 <path d="M20 10a10 10 0 0 1-5.2 8.77V1.23A10 10 0 0 1 20 10z" fill="#D80621"/> 1524 <path d="M10 5.4l.68 1.5 1.6-.32-.72 1.48 1.24 1.06-1.6.34.06 1.64L10 9.98l-1.26 1.12.06-1.64-1.6-.34 1.24-1.06-.72-1.48 1.6.32L10 5.4z" fill="#D80621"/> 1525 <path d="M8.9 11.7h2.2l-.2 1.3h.9v.6H8.2v-.6h.9l-.2-1.3z" fill="#D80621"/> 1526 </svg></span><span class="nv-geo-flag-icon" data-flag-for="US" hidden><svg class="nv-flag nv-flag-us" width="18" height="18" viewBox="0 0 20 20" role="img" aria-label="United States" xmlns="http://www.w3.org/2000/svg"> 1527 <defs> 1528 <clipPath id="nvFlagUsClip18"><circle cx="10" cy="10" r="10"/></clipPath> 1529 </defs> 1530 <g clip-path="url(#nvFlagUsClip18)"> 1531 <rect width="20" height="20" fill="#fff"/> 1532 <g fill="#B22234"> 1533 <rect y="0" width="20" height="1.54" /> 1534 <rect y="3.08" width="20" height="1.54" /> 1535 <rect y="6.15" width="20" height="1.54" /> 1536 <rect y="9.23" width="20" height="1.54" /> 1537 <rect y="12.31" width="20" height="1.54" /> 1538 <rect y="15.38" width="20" height="1.54" /> 1539 <rect y="18.46" width="20" height="1.54" /> 1540 </g> 1541 <rect width="9" height="9.23" fill="#3C3B6E"/> 1542 </g> 1543 </svg></span></span> 1544 <p class="nv-geo-title" id="NvGeoTitle">Shopping from Canada?</p> 1545 </div> 1546 <p class="nv-geo-sub" id="NvGeoSub">Shop in your local currency with free shipping.</p> 1547 <div class="nv-geo-actions"> 1548 <button type="button" class="nv-geo-accept" id="NvGeoAccept">Switch region</button> 1549 <button type="button" class="nv-geo-dismiss" id="NvGeoDismiss">Stay here</button> 1550 </div> 1551 <button type="button" class="nv-geo-x" id="NvGeoX" aria-label="Dismiss">×</button> 1552</div> 1553<style> 1554 .nv-geo-banner { 1555 position: fixed; left: 20px; bottom: 20px; z-index: 9600; 1556 max-width: 320px; padding: 20px 40px 18px 20px; 1557 background: var(--cream, #F7F4EF); 1558 color: var(--navy-deep, #0D1F4E); 1559 border-radius: 12px; 1560 box-shadow: 0 10px 34px rgba(13,31,78,0.18), 0 2px 8px rgba(13,31,78,0.10); 1561 font-family: var(--sans, 'Outfit', sans-serif); 1562 opacity: 0; transform: translateY(10px); 1563 transition: opacity .32s ease, transform .32s ease; 1564 } 1565 .nv-geo-banner.nv-geo-show { opacity: 1; transform: translateY(0); } 1566 .nv-geo-title-row { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; } 1567 .nv-geo-flag { display: inline-flex; flex-shrink: 0; } 1568 .nv-geo-flag-icon[hidden] { display: none; } 1569 .nv-geo-title { 1570 margin: 0; 1571 font: 600 15.5px/1.3 var(--serif, 'Playfair Display', Georgia, serif); 1572 } 1573 .nv-geo-sub { margin: 0 0 14px; font: 300 13px/1.5 inherit; color: rgba(13,31,78,0.72); } 1574 .nv-geo-actions { display: flex; align-items: center; gap: 14px; } 1575 .nv-geo-accept { 1576 background: var(--navien-blue, #1B3C87); color: #fff; border: 0; 1577 border-radius: 7px; padding: 10px 16px; 1578 font: 500 12.5px/1 inherit; letter-spacing: 0.02em; cursor: pointer; 1579 transition: background .18s ease; 1580 } 1581 .nv-geo-accept:hover { background: var(--navy-deep, #0D1F4E); } 1582 .nv-geo-dismiss { 1583 background: none; border: 0; padding: 4px 0; cursor: pointer; 1584 font: 400 12.5px/1 inherit; color: rgba(13,31,78,0.55); 1585 text-decoration: underline; text-underline-offset: 3px; 1586 } 1587 .nv-geo-x { 1588 position: absolute; top: 8px; right: 10px; background: none; border: 0; 1589 font-size: 18px; line-height: 1; color: rgba(13,31,78,0.4); cursor: pointer; padding: 4px; 1590 } 1591 @media (max-width: 640px) { 1592 .nv-geo-banner { left: 12px; right: 12px; bottom: 12px; max-width: none; } 1593 } 1594</style>
1595<script> 1596 (function () { 1597 'use strict'; 1598 var el = document.getElementById('NvGeoBanner'); 1599 if (!el) return; 1600 var KEY = 'nvGeoSnoozedAt'; 1601 var SNOOZE_MS = 14 * 24 * 60 * 60 * 1000; // 14 days, matches Shopify app convention 1602 try { 1603 var t = parseInt(localStorage.getItem(KEY) || '0', 10); 1604 if (t && (Date.now() - t) < SNOOZE_MS) return; 1605 } catch (e) { /* storage unavailable â show at most this session */ } 1606 1607 var current = el.getAttribute('data-current-country'); 1608 var ROOT = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) || '/'; 1609 if (ROOT.charAt(ROOT.length - 1) !== '/') ROOT += '/'; 1610 1611 var url = ROOT + 'browsing_context_suggestions.json' + 1612 '?source=nv_geo_banner&country%5Benabled%5D=true&country%5Bexclude%5D=' + 1613 encodeURIComponent(current); 1614 1615 fetch(url, { headers: { 'Accept': 'application/json' } }) 1616 .then(function (r) { return r.ok ? r.json() : null; }) 1617 .then(function (d) { 1618 if (!d || !d.suggestions || !d.suggestions.length) return; 1619 var s = d.suggestions[0]; 1620 var c = s && (s.country || (s.parts && s.parts.country)); 1621 if (!c || !c.handle || c.handle === current) return; 1622 1623 var name = c.name || 'your region'; 1624 document.getElementById('NvGeoTitle').textContent = 'Shopping from ' + name + '?'; 1625 var flagIcons = document.querySelectorAll('#NvGeoFlag .nv-geo-flag-icon'); 1626 for (var fi = 0; fi < flagIcons.length; fi++) { 1627 flagIcons[fi].hidden = flagIcons[fi].getAttribute('data-flag-for') !== c.handle; 1628 } 1629 if (c.handle === 'CA') { 1630 document.getElementById('NvGeoSub').textContent = 1631 'Shop in CAD with free shipping across Canada.'; 1632 document.getElementById('NvGeoAccept').textContent = 'Switch to Canada (CAD $)'; 1633 } else { 1634 document.getElementById('NvGeoSub').textContent = 1635 'Shop in your local currency and region.'; 1636 document.getElementById('NvGeoAccept').textContent = 'Switch to ' + name; 1637 } 1638 1639 function snooze() { 1640 try { localStorage.setItem(KEY, String(Date.now())); } catch (e) {} 1641 } 1642 function hide() { 1643 el.classList.remove('nv-geo-show'); 1644 window.setTimeout(function () { el.hidden = true; }, 320); 1645 } 1646 function accept() { 1647 snooze(); 1648 var form = document.getElementById('NvCountryForm'); 1649 var sel = document.getElementById('NvCountrySelect'); 1650 if (form && sel) { 1651 sel.value = c.handle; 1652 form.submit(); 1653 return; 1654 } 1655 // Fallback: JS-built localization form per shopify.dev minimal example. 1656 // Endpoint comes from data-localization-url â never hardcoded (Rule 8). 1657 var f = document.createElement('form'); 1658 f.method = 'post'; 1659 f.action = el.getAttribute('data-localization-url'); 1660 var fields = { 1661 _method: 'put', 1662 country_code: c.handle, 1663 return_to: el.getAttribute('data-return-to') || '/' 1664 }; 1665 Object.keys(fields).forEach(function (k) { 1666 var i = document.createElement('input'); 1667 i.type = 'hidden'; i.name = k; i.value = fields[k]; 1668 f.appendChild(i); 1669 }); 1670 document.body.appendChild(f); 1671 f.submit(); 1672 } 1673 1674 document.getElementById('NvGeoAccept').addEventListener('click', accept); 1675 document.getElementById('NvGeoDismiss').addEventListener('click', function () { snooze(); hide(); }); 1676 document.getElementById('NvGeoX').addEventListener('click', function () { snooze(); hide(); }); 1677 1678 window.setTimeout(function () { 1679 el.hidden = false; 1680 window.requestAnimationFrame(function () { el.classList.add('nv-geo-show'); }); 1681 }, 1200); 1682 }) 1683 .catch(function () { /* silent â banner is best-effort */ }); 1684 })(); 1685</script>
1685 1686<div id="shopify-block-AK2tjVFJUNjVvbHRlU__6039504038531703324" class="shopify-block shopify-app-block">
1686<script> 1687 (function() { 1688 var connectPluginUrl = 'https://cax.channel.io/shopify/plugins/'; 1689 var dwBaseUrl = 'https://api.channel.io/'; 1690 1691 var shopHost = "navien.myshopify.com"; 1692 var url = new URL(dwBaseUrl + 'front/app/shopify/plugin-key'); 1693 url.searchParams.append('shopHost', shopHost); 1694 1695 fetch(url) 1696 .then(function(response) { 1697 if (!response.ok) { 1698 throw new Error('Network response was not ok'); 1699 } 1700 return response.json(); 1701 }) 1702 .then(function(data) { 1703 var pluginKey = data.result; 1704 1705 if (pluginKey && connectPluginUrl) { 1706 var script = document.createElement('script'); 1707 script.src = connectPluginUrl + pluginKey + '.js'; 1708 script.async = true; 1709 document.body.appendChild(script); 1710 console.log('ChannelIO script loaded with plugin key:', pluginKey); 1711 } else { 1712 console.error('No ChannelIO plugin key or plugin base url'); 1713 } 1714 }) 1715 .catch(function(error) { 1716 console.error('There has been a problem with your fetch operation:', error); 1717 }); 1718 })(); 1719</script>
1719 1720 1721 1722</div>
1722<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
1722 1723</body> 1724</html> 1725 1726 1727 1728
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.