PageSourceSearch

https://hapasushi.com/

html hapasushi.com collected 2026-10-03 22:10:04 UTC 86,725 bytes, 2,274 lines download raw bytes

1<!doctype html>
2<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
3<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
4<!--[if IE 8]><html class="no-js lt-ie9" lang="en"> <![endif]-->
5<!--[if IE 9 ]><html class="ie9 no-js"> <![endif]-->
6<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js"> <!--<![endif]-->
7<head>
8<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 8-9
8
9<script async src="https://www.googletagmanager.com/gtag/js?id=
9AW-11361713588
vendor: 13 bytes, lines 9-10
9">
10</script>
11<script>
12  
vendor: 134 bytes, lines 12-16
12window.dataLayer = window.dataLayer || [];
13  function gtag(){dataLayer.push(arguments);}
14  gtag('js', new Date());
15
16  gtag('config', '
16AW-11361713588
vendor: 4 bytes, line 16
16');
17</script>
17
18  <!-- ========================== Pipeline Theme ============================ -->
19  <meta charset="utf-8">
20  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
21
22  
23  <link rel="shortcut icon" href="//hapasushi.com/cdn/shop/t/3/assets/favicon.png?v=125204124477217012491476483442" type="image/png" />
24  
25
26  <!-- Title and description ================================================ -->
27  <title>
28  Hapa Sushi | Japanese Dining in the Boulder Denver Area
29  </title>
30
31  
32  <meta name="description" content="Sushi, Poke, Orgasm Roll, Ahi, Sashimi, Nigiri, Sushi Roll, Udon, Miso Soup">
33  
34
35  <!-- Product meta ========================================================= -->
36  <!-- /snippets/social-meta-tags.liquid -->
37
38
39  <meta property="og:type" content="website">
40  <meta property="og:title" content="Hapa Sushi | Japanese Dining in the Boulder Denver Area">
41  
42  <meta property="og:image" content="http://hapasushi.com/cdn/shop/t/3/assets/logo.png?v=83924648988205310581476483441">
43  <meta property="og:image:secure_url" content="https://hapasushi.com/cdn/shop/t/3/assets/logo.png?v=83924648988205310581476483441">
44  
45
46
47  <meta property="og:description" content="Sushi, Poke, Orgasm Roll, Ahi, Sashimi, Nigiri, Sushi Roll, Udon, Miso Soup">
48
49  <meta property="og:url" content="https://hapasushi.com/">
50  <meta property="og:site_name" content="Hapa Sushi">
51
52
53
54
55
56
57  <meta name="twitter:site" content="HapaSushi">
58
59
60
61  <!-- Helpers ============================================================== -->
62  <link rel="canonical" href="https://hapasushi.com/">
63  <meta name="viewport" content="width=device-width,initial-scale=1">
64  <meta name="theme-color" content="#000000">
65
66  
67  <!-- Ajaxify Cart Plugin ================================================== -->
68  <link href="//hapasushi.com/cdn/shop/t/3/assets/ajaxify.scss.css?v=66583706006898287961712258922" rel="stylesheet" type="text/css" media="all" />
69  
70
71  <!-- CSS ================================================================== -->
72  <link href="https://fonts.googleapis.com/css?family=Work+Sans|Orbitron" rel="stylesheet">
73  <link href="//hapasushi.com/cdn/shop/t/3/assets/featherlight.css?v=143089961765653751091476486581" rel="stylesheet" type="text/css" media="all" />
74  <link href="//hapasushi.com/cdn/shop/t/3/assets/style.scss.css?v=133924286288291325251712258922" rel="stylesheet" type="text/css" media="all" />
75
76  <!-- Header hook for plugins ============================================== -->
77  
77<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
77<meta name="google-site-verification" content="GOZG_UgakG4qQxF5z8W14-P04NQ93Zh6lGf-ba0bvKs">
78<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15400729/digital_wallets/dialog">
79<meta id="in-context-paypal-metadata" data-shop-id="15400729" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
80<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
80<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 80
80
81<script id="shopify-features" type="application/json">{"accessToken":"8d626c30b6516dedb66ba9aea1738bc8","betas":["rich-media-storefront-analytics"],"domain":"hapasushi.com","predictiveSearch":true,"shopId":15400729,"locale":"en"}</script>
vendor: 1 bytes, line 81
81
82<script>var Shopify = Shopify || {};
83Shopify.shop = "hapa-sushi.myshopify.com";
84Shopify.locale = "en";
85Shopify.currency = {"active":"USD","rate":"1.0"};
86Shopify.country = "US";
87Shopify.theme = {"name":"Hapa Sushi 2016","id":165702788,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
88Shopify.theme.handle = "null";
89Shopify.theme.style = {"id":null,"handle":null};
90Shopify.cdnHost = "hapasushi.com/cdn";
91Shopify.routes = Shopify.routes || {};
92Shopify.routes.root = "/";
93Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
94Shopify.SignInWithShop = Shopify.SignInWithShop || {};
95Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
96Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 96
96
97<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 97
97
98<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 98
98
99<script>
100  window.Shopify = window.Shopify || {};
101  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
102  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
103  window.Shopify.SignInWithShop.eligible = true;
104</script>
vendor: 1 bytes, line 104
104
105<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 105
105
106<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 106
106
107<script type="module">
108  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
109
110  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
111
112</script>
vendor: 1 bytes, line 112
112
113<script>
114  window.Shopify = window.Shopify || {};
115  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
116  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"]};
117</script>
vendor: 1 bytes, line 117
117
118<script>(function() {
119  var isLoaded = false;
120  function asyncLoad() {
121    if (isLoaded) return;
122    isLoaded = true;
123    var urls = ["https:\/\/storage.googleapis.com\/pdf-uploader-v2.appspot.com\/hapa-sushi\/script\/script17f9eab8cf5.js?shop=hapa-sushi.myshopify.com","https:\/\/app.adoric-om.com\/adoric.js?key=63ba451e85fcdfbbaa123ca83dca4696\u0026shop=hapa-sushi.myshopify.com","\/\/shopify.privy.com\/widget.js?shop=hapa-sushi.myshopify.com","https:\/\/s3.amazonaws.com\/pixelpop\/usercontent\/scripts\/553602bb-24d2-4429-80f5-f0e707147fab\/pixelpop.js?shop=hapa-sushi.myshopify.com"];
124    for (var i = 0; i < urls.length; i++) {
125      var s = document.createElement('script');
126      s.type = 'text/javascript';
127      s.async = true;
128      s.src = urls[i];
129      var x = document.getElementsByTagName('script')[0];
130      x.parentNode.insertBefore(s, x);
131    }
132  };
133  if(window.attachEvent) {
134    window.attachEvent('onload', asyncLoad);
135  } else {
136    window.addEventListener('load', asyncLoad, false);
137  }
138})();</script>
vendor: 1 bytes, line 138
138
139<script id="__st">var __st={"a":15400729,"offset":-21600,"reqid":"de279656-ef16-43e0-8adb-8c58fc61bc9e-1791065404","pageurl":"hapasushi.com\/","u":"ba1714733c47","p":"home"};</script>
vendor: 1 bytes, line 139
139
140<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 140
140
141<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 141
141
142<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//hapasushi.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 142
142
143<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 = "//hapasushi.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>
143<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 143
143
144<script>
145  window.Shopify = window.Shopify || {};
146  window.Shopify.MCP = window.Shopify.MCP || {};
147  window.Shopify.MCP.enabled = true;
148  window.Shopify.MCP.shop = "hapa-sushi.myshopify.com";
149  window.Shopify.MCP.mcpEndpoint = "https:\/\/hapasushi.com\/api\/mcp";
150  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?\"\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."}},"required":["query"]}}];
151</script>
vendor: 1 bytes, line 151
151
152<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("\/\/hapasushi.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
153</script>
vendor: 1 bytes, line 153
153
154<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://hapasushi.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
155</script>
vendor: 1 bytes, line 155
155
156<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
157  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);
158</script>
vendor: 1 bytes, line 158
158
159<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})}}));
160</script>
160
161<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://hapasushi.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
162<style id="shopify-accelerated-checkout-cart">
163        #shopify-buyer-consent {
164  margin-top: 1em;
165  display: inline-block;
166  width: 100%;
167}
168
169#shopify-buyer-consent.hidden {
170  display: none;
171}
172
173#shopify-subscription-policy-button {
174  background: none;
175  border: none;
176  padding: 0;
177  text-decoration: underline;
178  font-size: inherit;
179  cursor: pointer;
180}
181
182#shopify-subscription-policy-button::before {
183  box-shadow: none;
184}
185
186      </style>
187
188<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
188
189
190  <!-- /snippets/oldIE-js.liquid -->
191
192
193<!--[if lt IE 9]>
194<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 194
194
195<script src="//hapasushi.com/cdn/shop/t/3/assets/respond.min.js?v=52248677837542619231476481445" type="text/javascript"></script>
vendor: 1 bytes, line 195
195
196<script src="//hapasushi.com/cdn/shop/t/3/assets/background_size_emu.js?v=20512233629963367491476481440" type="text/javascript"></script>
196
197<link href="//hapasushi.com/cdn/shop/t/3/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
198<link href="//hapasushi.com/search?q=ba8d6a8c6b6e20ef1b3e020251ebb7b3" id="respond-redirect" rel="respond-redirect" />
199<script src="//hapasushi.com/search?q=ba8d6a8c6b6e20ef1b3e020251ebb7b3" type="text/javascript"></script>
199
200<![endif]-->
201
202
203
204  
204<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
204
205  
205<script src="//hapasushi.com/cdn/shop/t/3/assets/modernizr.min.js?v=137617515274177302221476481444" type="text/javascript"></script>
205
206
207  <!-- Slick Slider Plugin ================================================= -->
208  
208<script src="//hapasushi.com/cdn/shop/t/3/assets/slick.min.js?v=171369436777625618661476481445" type="text/javascript"></script>
208
209  
209<script src="//hapasushi.com/cdn/shop/t/3/assets/parallax.min.js?v=108472328082999985101476481444" type="text/javascript"></script>
209
210
211
212  <!-- Instagram Plugin ==================================================== -->
213  
214    
214<script src="//hapasushi.com/cdn/shop/t/3/assets/instafeed.js?v=114964710496723769721476481443" type="text/javascript"></script>
214
215  
216
217  
218  
219
220  <!-- /snippets/fonts.liquid -->
221<script src="//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"></script>
vendor: 1 bytes, line 221
221
222<script type="text/javascript">
223  WebFont.load({
224    google: { 
225      families:
226        
227        
228        ["PT+Mono:400,400italic,700,700italic:latin"]
229    },
230    timeout: 5000
231  });
232</script>
232
233  
233<script src="https://cf.chownowcdn.com/latest/static/integrations/ordering-modal.min.js" data-chownow-company-id="9231"></script>
233
234  <meta name="google-site-verification" content="BGNGkRxr6pW4F485O1dW37CwJntNA4-g-K7FlnROU74" />
235  
236  
236<script src="//webchat.getguestfriend.com/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
236 <link rel="import" href="//webchat.getguestfriend.com/chat-widget.html"> 
236<script> var chat; HTMLImports.whenReady(function () { chat = initChatWidget({ appKey: "U2FsdGVkX1/RlIQjslg3lkDb744ZaFFp8leEobapBWRBftNSR1pFWLELFaL4ObjjlgUVmZIffmND3n2hCKL+SKq3lI1ZghMrped8hiuH5XBu6hUciYBp6y0wnndQcTEi" }); chat.style.zIndex = 9999; chat.style.display = "block"; }); </script>
236
237<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
238<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: 15400729,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};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 238
238
239<script>
240  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
241</script>
vendor: 1 bytes, line 241
241
242<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}
242).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: 15400729,storefrontBaseUrl: "https://hapasushi.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://hapasushi.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"261095459","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-K7W6V12FJB\\\"],\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-K7W6V12FJB\\\"}],\\\"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":"33390627","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Meta pixel (migrated)"},{"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":"Hapa Sushi","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"hapa-sushi.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/h
242apasushi.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://hapasushi.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"165702788","themePublished":"true","eventMetadataId":"f76d4030-1f3a-489f-855c-b2ad77936efd","pageType":"home","shopId":"15400729","storefrontBaseUrl":"https:\/\/hapasushi.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
242<script>
243  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
244  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
245  window.ShopifyAnalytics.meta.currency = 'USD';
246  var meta = {"page":{"pageType":"home","requestId":"de279656-ef16-43e0-8adb-8c58fc61bc9e-1791065404"}};
247  for (var attr in meta) {
248    window.ShopifyAnalytics.meta[attr] = meta[attr];
249  }
250</script>
vendor: 1 bytes, line 250
250
251<script class="analytics">
252  (function () {
253    var customDocumentWrite = function(content) {
254      var jquery = null;
255
256      if (window.jQuery) {
257        jquery = window.jQuery;
258      } else if (window.Checkout && window.Checkout.$) {
259        jquery = window.Checkout.$;
260      }
261
262      if (jquery) {
263        jquery('body').append(content);
264      }
265    };
266
267    var hasLoggedConversion = function(token) {
268      if (token) {
269        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
270      }
271      return false;
272    }
273
274    var setCookieIfConversion = function(token) {
275      if (token) {
276        var twoMonthsFromNow = new Date(Date.now());
277        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
278
279        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
280      }
281    }
282
283    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
284    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
285    if (trekkie.integrations) {
286      return;
287    }
288    trekkie.methods = [
289      'identify',
290      'page',
291      'ready',
292      'track',
293      'trackForm',
294      'trackLink'
295    ];
296    trekkie.factory = function(method) {
297      return function() {
298        var args = Array.prototype.slice.call(arguments);
299        args.unshift(method);
300        trekkie.push(args);
301        if (method == 'track' || method == 'page') {
302          var pageUrl;
303          try {
304            pageUrl = window.location.href;
305          } catch (e) {}
306          var pageReferrer;
307          try {
308            pageReferrer = document.referrer;
309          } catch (e) {}
310          try {
311            if (window.__TREKKIE_SHIM_QUEUE == null) {
312              window.__TREKKIE_SHIM_QUEUE = [];
313            }
314            window.__TREKKIE_SHIM_QUEUE.push({
315              from: 'trekkie-stub',
316              method: method,
317              args: args.slice(1),
318              pageContext: {
319                url: pageUrl,
320                referrer: pageReferrer
321              }
322            });
323          } catch (e) {
324            // no-op
325          }
326        }
327        return trekkie;
328      };
329    };
330    for (var i = 0; i < trekkie.methods.length; i++) {
331      var key = trekkie.methods[i];
332      trekkie[key] = trekkie.factory(key);
333    }
334    trekkie.load = function(config) {
335      trekkie.config = config || {};
336      trekkie.config.initialDocumentCookie = document.cookie;
337      var first = document.getElementsByTagName('script')[0];
338var script = document.createElement('script');
339script.type = 'text/javascript';
340script.onerror = function(e) {
341  var scriptFallback = document.createElement('script');
342  scriptFallback.type = 'text/javascript';
343  scriptFallback.onerror = function(error) {
344          var Monorail = {
345      produce: function produce(monorailDomain, schemaId, payload) {
346        var currentMs = new Date().getTime();
347        var event = {
348          schema_id: schemaId,
349          payload: payload,
350          metadata: {
351            event_created_at_ms: currentMs,
352            event_sent_at_ms: currentMs
353          }
354        };
355        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
356      },
357      sendRequest: function sendRequest(endpointUrl, payload) {
358        // Try the sendBeacon API
359        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
360          var blobData = new window.Blob([payload], {
361            type: 'text/plain'
362          });
363
364          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
365            return true;
366          } // sendBeacon was not successful
367
368        } // XHR beacon
369
370        var xhr = new XMLHttpRequest();
371
372        try {
373          xhr.open('POST', endpointUrl);
374          xhr.setRequestHeader('Content-Type', 'text/plain');
375          xhr.send(payload);
376        } catch (e) {
377          console.log(e);
378        }
379
380        return false;
381      },
382      isIos12: function isIos12() {
383        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
384      }
385    };
386    Monorail.produce('monorail-edge.shopifysvc.com',
387      'trekkie_storefront_load_errors/1.1',
388      {shop_id: 15400729,
389      theme_id: 165702788,
390      app_name: "storefront",
391      context_url: window.location.href,
392      source_url: "//hapasushi.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
393
394  };
395  scriptFallback.async = true;
396  scriptFallback.src = '//hapasushi.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
397  first.parentNode.insertBefore(scriptFallback, first);
398};
399script.async = true;
400script.src = '//hapasushi.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
401first.parentNode.insertBefore(script, first);
402
403    };
404    trekkie.load(
405      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":15400729,"isMerchantRequest":null,"themeId":165702788,"themeCityHash":"1230789958560023956","contentLanguage":"en","currency":"USD","eventMetadataId":"f76d4030-1f3a-489f-855c-b2ad77936efd"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
406    );
407
408    var loaded = false;
409    trekkie.ready(function() {
410      if (loaded) return;
411      loaded = true;
412
413      window.ShopifyAnalytics.lib = window.trekkie;
414
415      var originalDocumentWrite = document.write;
416      document.write = customDocumentWrite;
417      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
418      document.write = originalDocumentWrite;
419
420      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
421      var token = match? match[1]: undefined;
422      if (!hasLoggedConversion(token)) {
423        setCookieIfConversion(token);
424        
425      }
426    });
427
428    window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"de279656-ef16-43e0-8adb-8c58fc61bc9e-1791065404","shopifyEmitted":true});
429
430    var eventsListenerScript = document.createElement('script');
431    eventsListenerScript.async = true;
432    eventsListenerScript.src = "//hapasushi.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
433    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
434})();</script>
434
435  
435<script>
436  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
437    window.ga = function ga() {
438      (window.ga.q = window.ga.q || []).push(arguments);
439      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
440        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
441      }
442      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
443    };
444    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
445      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
446    }
447  }
448</script>
vendor: 1 bytes, line 448
448
449<script
450  defer
451  src="https://hapasushi.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
452  data-application="storefront-renderer"
453  data-shop-id="15400729"
454  data-render-region="gcp-us-central1"
455  data-page-type="index"
456  data-theme-instance-id="165702788"
457  data-theme-name=""
458  data-theme-version=""
459  data-monorail-region="shop_domain"
460  data-resource-timing-sampling-rate="10"
461  data-shs="true"
462  data-shs-beacon="true"
463  data-shs-export-with-fetch="true"
464  data-shs-logs-sample-rate="1"
465  data-shs-beacon-endpoint="https://hapasushi.com/api/collect"
466></script>
466
467<meta name="shopify-y" content="40dee971-798a-4c24-be3f-bc873c031f24" data-expiration="1822623004000"><meta name="shopify-s" content="fabc1cd3-ccc0-4fd4-8da3-b4dbc620d948" data-expiration="1791067204000"><meta name="new-cookie-storage-activated" content="t">
468</head>
469
470<body id="hapa-sushi-japanese-dining-in-the-boulder-denver-area" class="template-index" >
471<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, line 471
471 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
471GTM-KQ7T5VN
vendor: 83 bytes, line 471
471" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
471<!-- End Google Tag Manager (noscript) -->
472  <div class="header__wrapper">
473
474    
475
476    <header class="site-header" role="banner">
477      <div class="wrapper">
478        <div class="nav--desktop">
479          <div class="mobile-wrapper">
480  
481  <div class="header-cart__wrapper">
482    <a href="/cart" class="CartToggle header-cart"></a>
483    <span class="header-cart__bubble cartCount hidden-count"></span>
484  </div>
485  
486  <div class="logo-wrapper logo-wrapper--image">
487    
488      <h1 class="h4 header-logo" itemscope itemtype="http://schema.org/Organization">
489    
490      
491        <a href="/" itemprop="url">
492          <img src="//hapasushi.com/cdn/shop/t/3/assets/logo.png?v=83924648988205310581476483441" alt="Hapa Sushi" itemprop="logo" class="logo-image" onerror='this.style.display = "none"'/>
493        </a>
494      
495    
496      </h1>
497    
498  </div>
499  <a href class="menuToggle header-hamburger"></a>
500</div>
501<div class="header-menu nav-wrapper">
502  
503  <ul class="main-menu accessibleNav">
504    
505    
506      
507
508
509
510
511
512
513
514
515
516  <li class="child main-menu--active kids-0">
517    <a href="/" class="nav-link">Home</a>
518    
519  </li>
520
521    
522    
523      
524
525
526
527
528
529
530
531
532
533  <li class="parent  kids-4">
534    <a href="#" class="nav-link">Locations</a>
535    
536    <a href="#" class="nav-carat"><span class="plus">+</span><span class="minus">-</span></a>
537      <div class="main-menu-dropdown">
538        <ul>
539        
540          
541          
542            
543
544
545
546
547
548
549
550
551
552  <li class="child  kids-0">
553    <a href="/pages/pearl-street-in-boulder" class="nav-link">Pearl Street</a>
554    
555  </li>
556
557
558          
559            
560
561
562
563
564
565
566
567
568
569  <li class="child  kids-0">
570    <a href="/pages/cherry-creek" class="nav-link">Cherry Creek</a>
571    
572  </li>
573
574
575          
576            
577
578
579
580
581
582
583
584
585
586  <li class="child  kids-0">
587    <a href="/pages/landmark-at-greenwood-village" class="nav-link">Landmark</a>
588    
589  </li>
590
591
592          
593            
594
595
596
597
598
599
600
601
602
603  <li class="child  kids-0">
604    <a href="/pages/lodo" class="nav-link">LoDo</a>
605    
606  </li>
607
608
609          
610          
611        </ul>
612      </div>
613    
614  </li>
615
616    
617    
618      
619
620
621
622
623
624
625
626
627
628  <li class="parent  kids-9">
629    <a href="#" class="nav-link">Menus</a>
630    
631    <a href="#" class="nav-carat"><span class="plus">+</span><span class="minus">-</span></a>
632      <div class="main-menu-dropdown">
633        <ul>
634        
635          
636          
637            
638
639
640
641
642
643
644
645
646
647  <li class="child  kids-0">
648    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/HH_Hard_Menu_022326_1.pdf?v=1776097690" class="nav-link">Happy Hour</a>
649    
650  </li>
651
652
653          
654            
655
656
657
658
659
660
661
662
663
664  <li class="child  kids-0">
665    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Hapa_Lunch_Menu_020226.pdf?v=1772038341" class="nav-link">Lunch</a>
666    
667  </li>
668
669
670          
671            
672
673
674
675
676
677
678
679
680
681  <li class="child  kids-0">
682    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Hapa_Dinner_020226.pdf?v=1772038341" class="nav-link">Dinner</a>
683    
684  </li>
685
686
687          
688            
689
690
691
692
693
694
695
696
697
698  <li class="child  kids-0">
699    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/GF_Lunch_Dinner_020226.pdf?v=1772038341" class="nav-link">Gluten Free</a>
700    
701  </li>
702
703
704          
705            
706
707
708
709
710
711
712
713
714
715  <li class="child  kids-0">
716    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/HH_GF_Hard_Menu_022426.pdf?v=1772038341" class="nav-link">Gluten Free Happy Hour</a>
717    
718  </li>
719
720
721          
722            
723
724
725
726
727
728
729
730
731
732  <li class="child  kids-0">
733    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Kids_Menu_090924.pdf?v=1726076387" class="nav-link">Kids Menu</a>
734    
735  </li>
736
737
738          
739            
740
741
742
743
744
745
746
747
748
749  <li class="child  kids-0">
750    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Catering_Menu_September_2024_Logo_d2ca3d5e-3326-4d3a-a3cb-0c08fd193d60.pdf?v=1727380000" class="nav-link">Catering + Platter Menu</a>
751    
752  </li>
753
754
755          
756            
757
758
759
760
761
762
763
764
765
766  <li class="child  kids-0">
767    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Liquor_Menu_070524_2.pdf?v=1725993200" class="nav-link">Drinks</a>
768    
769  </li>
770
771
772          
773            
774
775
776
777
778
779
780
781
782
783  <li class="child  kids-0">
784    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Dessert_33125.pdf?v=1746709460" class="nav-link">Dessert Menu</a>
785    
786  </li>
787
788
789          
790          
791        </ul>
792      </div>
793    
794  </li>
795
796    
797    
798      
799
800
801
802
803
804
805
806
807
808  <li class="parent  kids-4">
809    <a href="#" class="nav-link">Reservations</a>
810    
811    <a href="#" class="nav-carat"><span class="plus">+</span><span class="minus">-</span></a>
812      <div class="main-menu-dropdown">
813        <ul>
814        
815          
816          
817            
818
819
820
821
822
823
824
825
826
827  <li class="child  kids-0">
828    <a href="https://www.opentable.com/hapa-sushi-grill-and-sake-bar-pearl-st-reservations-boulder?restref=47158&lang=en" class="nav-link">
828Pearl Street</a>
829    
830  </li>
831
832
833          
834            
835
836
837
838
839
840
841
842
843
844  <li class="child  kids-0">
845    <a href="https://www.opentable.com/hapa-sushi-grill-and-sake-bar-landmark-in-reservations-greenwood-village?restref=25816&lang=en" class="nav-link">Landmark</a>
846    
847  </li>
848
849
850          
851            
852
853
854
855
856
857
858
859
860
861  <li class="child  kids-0">
862    <a href="https://www.opentable.com/hapa-sushi-grill-and-sake-bar-lodo-reservations-denver?restref=94621&lang=en" class="nav-link">LoDo</a>
863    
864  </li>
865
866
867          
868            
869
870
871
872
873
874
875
876
877
878  <li class="child  kids-0">
879    <a href="https://www.opentable.com/restref/client/?restref=30343&lang=en-US&ot_source=Restaurant%20website&corrid=6381bb85-8316-4d68-bcb0-3f13bab278cd" class="nav-link">Cherry Creek</a>
880    
881  </li>
882
883
884          
885          
886        </ul>
887      </div>
888    
889  </li>
890
891    
892    
893      
894
895
896
897
898
899
900
901
902
903  <li class="child  kids-0">
904    <a href="/pages/order-online" class="nav-link">Order Online</a>
905    
906  </li>
907
908    
909    
910      
911
912
913
914
915
916
917
918
919
920  <li class="child  kids-0">
921    <a href="/pages/delivery" class="nav-link">Delivery</a>
922    
923  </li>
924
925    
926    
927      
928
929
930
931
932
933
934
935
936
937  <li class="child  kids-0">
938    <a href="/pages/catering" class="nav-link">Catering</a>
939    
940  </li>
941
942    
943    
944      
945
946
947
948
949
950
951
952
953
954  <li class="parent  kids-2">
955    <a href="#" class="nav-link">Gift Cards + Contact</a>
956    
957    <a href="#" class="nav-carat"><span class="plus">+</span><span class="minus">-</span></a>
958      <div class="main-menu-dropdown">
959        <ul>
960        
961          
962          
963            
964
965
966
967
968
969
970
971
972
973  <li class="child  kids-0">
974    <a href="/pages/gift-cards" class="nav-link">Gift Cards</a>
975    
976  </li>
977
978
979          
980            
981
982
983
984
985
986
987
988
989
990  <li class="child  kids-0">
991    <a href="/pages/contact-us" class="nav-link">Contact</a>
992    
993  </li>
994
995
996          
997          
998        </ul>
999      </div>
1000    
1001  </li>
1002
1003    
1004    
1005      
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015  <li class="child  kids-0">
1016    <a href="/blogs/menus/careers" class="nav-link">Careers</a>
1017    
1018  </li>
1019
1020    
1021    
1022    
1023    <li class="cart-text-link">
1024      <a href="/cart" class="CartToggle">
1025        Cart 
1026        <span class="cartCost  hidden-count ">(<span class="money">$0.00</span>)</span>
1027      </a>
1028    </li>
1029    
1030  </ul>
1031</div>
1032
1033        </div>
1034        <div class="nav--mobile">
1035          <div class="mobile-wrapper">
1036  
1037  <div class="header-cart__wrapper">
1038    <a href="/cart" class="CartToggle header-cart"></a>
1039    <span class="header-cart__bubble cartCount hidden-count"></span>
1040  </div>
1041  
1042  <div class="logo-wrapper logo-wrapper--image">
1043    
1044      <h1 class="h4 header-logo" itemscope itemtype="http://schema.org/Organization">
1045    
1046      
1047        <a href="/" itemprop="url">
1048          <img src="//hapasushi.com/cdn/shop/t/3/assets/logo.png?v=83924648988205310581476483441" alt="Hapa Sushi" itemprop="logo" class="logo-image" onerror='this.style.display = "none"'/>
1049        </a>
1050      
1051    
1052      </h1>
1053    
1054  </div>
1055  <a href class="menuToggle header-hamburger"></a>
1056</div>
1057<div class="header-menu nav-wrapper">
1058  
1059  <ul class="main-menu accessibleNav">
1060    
1061    
1062      
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072  <li class="child main-menu--active kids-0">
1073    <a href="/" class="nav-link">Home</a>
1074    
1075  </li>
1076
1077    
1078    
1079      
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089  <li class="parent  kids-4">
1090    <a href="#" class="nav-link">Locations</a>
1091    
1092    <a href="#" class="nav-carat"><span class="plus">+</span><span class="minus">-</span></a>
1093      <div class="main-menu-dropdown">
1094        <ul>
1095        
1096          
1097          
1098            
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108  <li class="child  kids-0">
1109    <a href="/pages/pearl-street-in-boulder" class="nav-link">Pearl Street</a>
1110    
1111  </li>
1112
1113
1114          
1115            
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125  <li class="child  kids-0">
1126    <a href="/pages/cherry-creek" class="nav-link">Cherry Creek</a>
1127    
1128  </li>
1129
1130
1131          
1132            
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142  <li class="child  kids-0">
1143    <a href="/pages/landmark-at-greenwood-village" class="nav-link">Landmark</a>
1144    
1145  </li>
1146
1147
1148          
1149            
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159  <li class="child  kids-0">
1160    <a href="/pages/lodo" class="nav-link">LoDo</a>
1161    
1162  </li>
1163
1164
1165          
1166          
1167        </ul>
1168      </div>
1169    
1170  </li>
1171
1172    
1173    
1174      
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184  <li class="parent  kids-9">
1185    <a href="#" class="nav-link">Menus</a>
1186    
1187    <a href="#" class="nav-carat"><span class="plus">+</span><span class="minus">-</span></a>
1188      <div class="main-menu-dropdown">
1189        <ul>
1190        
1191          
1192          
1193            
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203  <li class="child  kids-0">
1204    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/HH_Hard_Menu_022326_1.pdf?v=1776097690" class="nav-link">Happy Hour</a>
1205    
1206  </li>
1207
1208
1209          
1210            
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220  <li class="child  kids-0">
1221    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Hapa_Lunch_Menu_020226.pdf?v=1772038341" class="nav-link">Lunch</a>
1222    
1223  </li>
1224
1225
1226          
1227            
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237  <li class="child  kids-0">
1238    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Hapa_Dinner_020226.pdf?v=1772038341" class="nav-link">Dinner</a>
1239    
1240  </li>
1241
1242
1243          
1244            
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254  <li class="child  kids-0">
1255    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/GF_Lunc
1255h_Dinner_020226.pdf?v=1772038341" class="nav-link">Gluten Free</a>
1256    
1257  </li>
1258
1259
1260          
1261            
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271  <li class="child  kids-0">
1272    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/HH_GF_Hard_Menu_022426.pdf?v=1772038341" class="nav-link">Gluten Free Happy Hour</a>
1273    
1274  </li>
1275
1276
1277          
1278            
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288  <li class="child  kids-0">
1289    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Kids_Menu_090924.pdf?v=1726076387" class="nav-link">Kids Menu</a>
1290    
1291  </li>
1292
1293
1294          
1295            
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305  <li class="child  kids-0">
1306    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Catering_Menu_September_2024_Logo_d2ca3d5e-3326-4d3a-a3cb-0c08fd193d60.pdf?v=1727380000" class="nav-link">Catering + Platter Menu</a>
1307    
1308  </li>
1309
1310
1311          
1312            
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322  <li class="child  kids-0">
1323    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Liquor_Menu_070524_2.pdf?v=1725993200" class="nav-link">Drinks</a>
1324    
1325  </li>
1326
1327
1328          
1329            
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339  <li class="child  kids-0">
1340    <a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Dessert_33125.pdf?v=1746709460" class="nav-link">Dessert Menu</a>
1341    
1342  </li>
1343
1344
1345          
1346          
1347        </ul>
1348      </div>
1349    
1350  </li>
1351
1352    
1353    
1354      
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364  <li class="parent  kids-4">
1365    <a href="#" class="nav-link">Reservations</a>
1366    
1367    <a href="#" class="nav-carat"><span class="plus">+</span><span class="minus">-</span></a>
1368      <div class="main-menu-dropdown">
1369        <ul>
1370        
1371          
1372          
1373            
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383  <li class="child  kids-0">
1384    <a href="https://www.opentable.com/hapa-sushi-grill-and-sake-bar-pearl-st-reservations-boulder?restref=47158&lang=en" class="nav-link">Pearl Street</a>
1385    
1386  </li>
1387
1388
1389          
1390            
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400  <li class="child  kids-0">
1401    <a href="https://www.opentable.com/hapa-sushi-grill-and-sake-bar-landmark-in-reservations-greenwood-village?restref=25816&lang=en" class="nav-link">Landmark</a>
1402    
1403  </li>
1404
1405
1406          
1407            
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417  <li class="child  kids-0">
1418    <a href="https://www.opentable.com/hapa-sushi-grill-and-sake-bar-lodo-reservations-denver?restref=94621&lang=en" class="nav-link">LoDo</a>
1419    
1420  </li>
1421
1422
1423          
1424            
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434  <li class="child  kids-0">
1435    <a href="https://www.opentable.com/restref/client/?restref=30343&lang=en-US&ot_source=Restaurant%20website&corrid=638
14351bb85-8316-4d68-bcb0-3f13bab278cd" class="nav-link">Cherry Creek</a>
1436    
1437  </li>
1438
1439
1440          
1441          
1442        </ul>
1443      </div>
1444    
1445  </li>
1446
1447    
1448    
1449      
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459  <li class="child  kids-0">
1460    <a href="/pages/order-online" class="nav-link">Order Online</a>
1461    
1462  </li>
1463
1464    
1465    
1466      
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476  <li class="child  kids-0">
1477    <a href="/pages/delivery" class="nav-link">Delivery</a>
1478    
1479  </li>
1480
1481    
1482    
1483      
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493  <li class="child  kids-0">
1494    <a href="/pages/catering" class="nav-link">Catering</a>
1495    
1496  </li>
1497
1498    
1499    
1500      
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510  <li class="parent  kids-2">
1511    <a href="#" class="nav-link">Gift Cards + Contact</a>
1512    
1513    <a href="#" class="nav-carat"><span class="plus">+</span><span class="minus">-</span></a>
1514      <div class="main-menu-dropdown">
1515        <ul>
1516        
1517          
1518          
1519            
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529  <li class="child  kids-0">
1530    <a href="/pages/gift-cards" class="nav-link">Gift Cards</a>
1531    
1532  </li>
1533
1534
1535          
1536            
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546  <li class="child  kids-0">
1547    <a href="/pages/contact-us" class="nav-link">Contact</a>
1548    
1549  </li>
1550
1551
1552          
1553          
1554        </ul>
1555      </div>
1556    
1557  </li>
1558
1559    
1560    
1561      
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571  <li class="child  kids-0">
1572    <a href="/blogs/menus/careers" class="nav-link">Careers</a>
1573    
1574  </li>
1575
1576    
1577    
1578    
1579    <li class="cart-text-link">
1580      <a href="/cart" class="CartToggle">
1581        Cart 
1582        <span class="cartCost  hidden-count ">(<span class="money">$0.00</span>)</span>
1583      </a>
1584    </li>
1585    
1586  </ul>
1587</div>
1588
1589        </div>
1590      </div>
1591    </header>
1592  </div>
1593
1594  <main class="main-content" role="main">
1595    
1596  <div class="homepage-image preventOverflow homepageHero use_screen_two_thirds homepage--white">
1597  
1598  <div class="content--centered">
1599    <div class="text-center preventOverflowContent">
1600      
1601        <h1 class="title--flex">Eat.</h1>
1602        
1603        <a class="btn btn--large btn--splash btn--square uppercase" href="https://hapasushi.namer.alohaonlineordering.com/Engage.aspx?#/engage/ordering/menu/">Order Pickup</a>
1604      	<a class="btn btn--large btn--splash btn--square uppercase" href="https://order.online/business/hapa-sushi-grill--sake-bar-16790">Order Delivery</a>
1605      
1606    </div>
1607  </div>
1608  
1609  <div class="image-overlay image-overlay-20"></div>
1610  
1611  
1612  
1613</div>
1614
1615
1616<script>
1617  $('.homepageHero').parallax({
1618    imageSrc: '//hapasushi.com/cdn/shop/t/3/assets/homepage_hero_image.jpg?v=20695569816738157411476483594',
1619    parallax: 'scroll',
1620    bleed: '55'
1621  });
1622</script>
1622
1623
1624
1625
1626
1627  
1628
1629
1630
1631
1632
1633<div class="homepage-page homepage--dark">
1634  <div class="wrapper">
1635    <div class="grid">
1636      <div class="grid__item large--five-sixths push--large--one-twelfth">
1637        <h4 class="home__subtitle">The most delicious Japanese + Hawaiian food fusion</h4>
1638        <div class="rte homepage-page__content"><p>"Hapa" is derived from the Hawaiian term that describes a harmonious blend of Asian &amp; American cultures.</p>
1639<p>Thus, our menu is based on traditional Japanese cooking fundamentals which are then amplified, muted, or mixed with influences from many different styles of cooking until they are something completely new: they're Hapa.</p></div>
1640      </div>
1641    </div>
1642  </div>
1643</div>
1644
1645
1646
1647
1648  
1649  
1650  
1651
1652  <div class="homepage-gallery">
1653	
1654    <div class="gallery-image ">
1655      <a href="//hapasushi.com/cdn/shop/articles/CA1_0904F_2000x2000.jpg?v=1476493456" class="gallery" >
1656        <img src="//hapasushi.com/cdn/shop/articles/CA1_0904F_1000x750_crop_center.jpg?v=1476493456" alt="" />
1657      </a>
1658    </div>
1659    
1660    <div class="gallery-image ">
1661      <a href="//hapasushi.com/cdn/shop/articles/CA1_1099F_2000x2000.jpg?v=1476493250" class="gallery" >
1662        <img src="//hapasushi.com/cdn/shop/articles/CA1_1099F_1000x750_crop_center.jpg?v=1476493250" alt="" />
1663      </a>
1664    </div>
1665    
1666    <div class="gallery-image ">
1667      <a href="//hapasushi.com/cdn/shop/articles/AOO24karat_2000x2000.jpg?v=1763149167" class="gallery" >
1668        <img src="//hapasushi.com/cdn/shop/articles/AOO24karat_1000x750_crop_center.jpg?v=1763149167" alt="" />
1669      </a>
1670    </div>
1671    
1672    <div class="gallery-image large">
1673      <a href="//hapasushi.com/cdn/shop/articles/AOOKaraagesliders_2000x2000.jpg?v=1763148825" class="gallery" >
1674        <img src="//hapasushi.com/cdn/shop/articles/AOOKaraagesliders_1000x750_crop_center.jpg?v=1763148825" alt="" />
1675      </a>
1676    </div>
1677    
1678    <div class="gallery-image large">
1679      <a href="//hapasushi.com/cdn/shop/articles/AOOTrufflemaguro_2000x2000.jpg?v=1763148725" class="gallery" >
1680        <img src="//hapasushi.com/cdn/shop/articles/AOOTrufflemaguro_1000x750_crop_center.jpg?v=1763148725" alt="" />
1681      </a>
1682    </div>
1683    
1684  </div>
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694  </main>
1695
1696  <footer class="site-footer-wrapper" role="contentinfo">
1697    
1698    <a href="/" itemprop="url" class="footer-logo" id="footerLogo" style="opacity:0;">
1699      <img src="//hapasushi.com/cdn/shop/t/3/assets/footer.png?v=134463997497147732061477355038" alt="Hapa Sushi" itemprop="logo" id="footerLogoImg"/>
1700    </a>
1701    
1702    <div class="wrapper site-footer">
1703      <div class="grid-uniform">
1704        
1705        
1706        
1707        
1708        
1709
1710        
1711
1712        
1713          <div class="grid__item large--one-half push--large--one-quarter">
1714            <h5 class="uppercase">Locations </h5>
1715            <hr class="hr--underline">
1716            <ul class="footer-quicklinks">
1717              
1718                <li><a href="/pages/pearl-street-in-boulder">Pearl Street</a></li>
1719              
1720                <li><a href="/pages/cherry-creek">Cherry Creek</a></li>
1721              
1722                <li><a href="/pages/landmark-at-greenwood-village">Landmark</a></li>
1723              
1724                <li><a href="/pages/lodo">LoDo</a></li>
1725              
1726            </ul>
1727          </div>
1728        
1729
1730        
1731
1732        
1733      </div>
1734
1735      <div class="grid footer-secondary-wrapper">
1736        <ul class="footer-secondary grid__item inline-list">
1737            <li><a href="/">&copy; Hapa Sushi 2026</a></li>
1738          
1739            <li><a href="https://cdn.shopify.com/s/files/1/1540/0729/files/HH_Hard_Menu_022326_1.pdf?v=1776097690">Happy Hour</a></li>
1740          
1741            <li><a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Hapa_Lunch_Menu_020226.pdf?v=1772038341">Lunch</a></li>
1742          
1743            <li><a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Hapa_Dinner_020226.pdf?v=1772038341">Dinner</a></li>
1744          
1745            <li><a href="https://cdn.shopify.com/s/files/1/1540/0729/files/GF_Lunch_Dinner_020226.pdf?v=1772038341">Gluten Free</a></li>
1746          
1747            <li><a href="https://cdn.shopify.com/s/files/1/1540/0729/files/HH_GF_Hard_Menu_022426.pdf?v=1772038341">Gluten Free Happy Hour</a></li>
1748          
1749            <li><a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Kids_Menu_090924.pdf?v=1726076387">Kids Menu</a></li>
1750          
1751            <li><a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Catering_Menu_September_2024_Logo_d2ca3d5e-3326-4d3a-a3cb-0c08fd193d60.pdf?v=1727380000">Catering + Platter Menu</a></li>
1752          
1753            <li><a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Liquor_Menu_070524_2.pdf?v=1725993200">Drinks</a></li>
1754          
1755            <li><a href="https://cdn.shopify.com/s/files/1/1540/0729/files/Dessert_33125.pdf?v=1746709460">Dessert Menu</a></li>
1756          
1757            
1758        </ul>
1759
1760        
1761        <ul class="footer-payment payment-icons grid__item inline-list">
1762          
1763            <li>
1764              <span class="icon-fallback-text">
1765                <span class="icon icon-paypal" aria-hidden="true"></span>
1766                <span class="fallback-text">paypal</span>
1767              </span>
1768            </li>
1769          
1770        </ul>
1771        
1772
1773        
1774        <ul class="footer-social social-icons grid__item inline-list">
1775          
1776            <li>
1777              <a class="icon-fallback-text" href="https://twitter.com/HapaSushi" title="Hapa Sushi on Twitter" target="_blank">
1778                <span class="icon icon-twitter" aria-hidden="true"></span>
1779                <span class="fallback-text">Twitter</span>
1780              </a>
1781            </li>
1782          
1783          
1784            <li>
1785              <a class="icon-fallback-text" href="https://www.facebook.com/hapasushi/" title="Hapa Sushi on Facebook" target="_blank">
1786                <span class="icon icon-facebook" aria-hidden="true"></span>
1787                <span class="fallback-text">Facebook</span>
1788              </a>
1789            </li>
1790          
1791          
1792            <li>
1793              <a class="icon-fallback-text" href="https://www.instagram.com/hapasushi/" title="Hapa Sushi on Instagram" target="_blank">
1794                <span class="icon icon-instagram" aria-hidden="true"></span>
1795                <span class="fallback-text">Instagram</span>
1796              </a>
1797            </li>
1798          
1799          
1800          
1801          
1802          
1803          
1804        </ul>
1805        
1806      </div>
1807    </div>
1808  </footer>
1809
1810  
1810<script src="//hapasushi.com/cdn/shop/t/3/assets/fastclick.min.js?v=29723458539410922371476481442" type="text/javascript"></script>
1810
1811  
1811<script src="//hapasushi.com/cdn/shop/t/3/assets/shop.js?v=24237613074594798361477353437" type="text/javascript"></script>
1811
1812  
1812<script src="//hapasushi.com/cdn/shop/t/3/assets/featherlight.js?v=99075308828580375161476486593" type="text/javascript"></script>
1812
1813  
1813<script src="//hapasushi.com/cdn/shop/t/3/assets/featherlight.gallery.min.js?v=179145104452648193331476487067" type="text/javascript"></script>
1813
1814	
1815  
1815<script>
1816    $('a.gallery').featherlightGallery({
1817        openSpeed: 300
1818    });
1819    
1820    
1821  </script>
1821
1822
1823  
1824  
1825    
1825<script src="//hapasushi.com/cdn/shop/t/3/assets/handlebars.min.js?v=79044469952368397291476481442" type="text/javascript"></script>
1825
1826    <!-- /snippets/ajax-cart-template.liquid -->
1827
1828  
1828<script id="CartTemplate" type="text/template">
1829  
1830    <form action="/cart" method="post" novalidate>
1831      <div class="ajaxcart__inner">
1832        {{#items}}
1833        <div class="ajaxcart__product">
1834          <div class="ajaxcart__row" data-id="{{id}}">
1835            <div class="grid">
1836              <div class="grid__item large--two-thirds">
1837                <div class="grid">
1838                  <div class="grid__item one-quarter">
1839                    <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
1840                  </div>
1841                  <div class="grid__item three-quarters">
1842                    <a href="{{url}}" class="h4">{{name}}</a>
1843                    {{#if variantion }}
1844                    <p>{{variation}}</p>
1845                    {{/if}}
1846                  </div>
1847                </div>
1848              </div>
1849              <div class="grid__item large--one-third">
1850                <div class="grid">
1851                  <div class="grid__item one-third">
1852                    <div class="ajaxcart__qty">
1853                      <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{id}}" data-qty="{{itemMinus}}">&minus;</button>
1854                      <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{id}}" aria-label="quantity" pattern="[0-9]*">
1855                      <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{id}}" data-qty="{{itemAdd}}">+</button>
1856                    </div>
1857                  </div>
1858                  <div class="grid__item one-third text-center">
1859                    <p>{{price}}</p>
1860                  </div>
1861                  <div class="grid__item one-third text-right">
1862                    <p>
1863                      <small><a href="/cart/change?id={{id}}&amp;quantity=0" class="ajaxcart__remove" data-id="{{id}}">Remove</a></small>
1864                    </p>
1865                  </div>
1866                </div>
1867              </div>
1868            </div>
1869          </div>
1870        </div>
1871        {{/items}}
1872      </div>
1873      <div class="ajaxcart__row text-right medium-down--text-center">
1874        <span class="h3">Subtotal {{totalPrice}}</span>
1875        <input type="submit" class="{{btnClass}}" name="checkout" value="Check Out">
1876      </div>
1877    </form>
1878  
1879  </script>
1879
1880  
1880<script id="DrawerTemplate" type="text/template">
1881  
1882    <div id="AjaxifyDrawer" class="ajaxcart ajaxcart--drawer">
1883      <div id="AjaxifyCart" class="ajaxcart__content {{wrapperClass}}"></div>
1884    </div>
1885  
1886  </script>
1886
1887  
1887<script id="ModalTemplate" type="text/template">
1888  
1889    <div id="AjaxifyModal" class="ajaxcart ajaxcart--modal">
1890      <div id="AjaxifyCart" class="ajaxcart__content"></div>
1891    </div>
1892  
1893  </script>
1893
1894  
1894<script id="AjaxifyQty" type="text/template">
1895  
1896    <div class="ajaxcart__qty">
1897      <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{id}}" data-qty="{{itemMinus}}">&minus;</button>
1898      <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{id}}" aria-label="quantity" pattern="[0-9]*">
1899      <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{id}}" data-qty="{{itemAdd}}">+</button>
1900    </div>
1901  
1902  </script>
1902
1903  
1903<script id="JsQty" type="text/template">
1904  
1905    <div class="js-qty">
1906      <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{id}}" data-qty="{{itemMinus}}">&minus;</button>
1907      <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{id}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}" data-submit="{{submit}}">
1908      <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{id}}" data-qty="{{itemAdd}}">+</button>
1909    </div>
1910  
1911  </script>
1911
1912
1913    
1913<script src="//hapasushi.com/cdn/shop/t/3/assets/ajaxify.js?v=30145939585197181101480812085" type="text/javascript"></script>
1913
1914    
1914<script>
1915      jQuery(document).ready(function(){
1916        var oldBrowser = $( "html" ).hasClass( "lt-ie9" );
1917        if(!oldBrowser) {
1918         ajaxifyShopify.init({
1919           method: 'modal',
1920           wrapperClass: 'wrapper',
1921           formSelector: '#AddToCartForm',
1922           addToCartSelector: '#AddToCart',
1923           cartCountSelector: '.cartCount',
1924           cartCostSelector: '.cartCost',
1925           toggleCartButton: '.CartToggle',
1926           useCartTemplate: true,
1927           btnClass: 'btn',
1928           moneyFormat: "${{amount}}",
1929           disableAjaxCart: false,
1930           enableQtySelectors: true,
1931           prependDrawerTo: 'body',
1932           onToggleCallback: function(){
1933             jQuery('body').trigger('ajaxCart.afterCartLoad')
1934           }
1935         });
1936        }
1937      });
1938    </script>
1938
1939  
1940<div id="shopify-block-AYjNLSHk4TmJUV2VSW__2783554875815837874" class="shopify-block shopify-app-block">
1941  <!-- BEGIN app snippet: app-data -->
1942<!-- BEGIN app snippet: widget-boot -->
1942<script>
1943  (function () {
1944    // Headless / DOM-rebuild storefronts (e.g. Helium builder) re-render the whole
1945    // document after hydration, wiping both this injected loader script and the
1946    // widget nodes it mounts — the widget silently disappears. This closure survives
1947    // such rebuilds (it lives in JS memory even after its own script node is removed),
1948    // so it re-injects the loader whenever the widget vanishes after having mounted.
1949    if (window.__seaA11yLoaderHealer) return;
1950    window.__seaA11yLoaderHealer = true;
1951
1952    var LOADER_BASE = 'https://cdn-accessibility.avada.io/scripttag';
1953    var LOADER_FILE = 'sea-accessibility-loader.min.js';
1954    // Every id/class the loader or main bundle renders when the widget is present.
1955    var WIDGET_SELECTORS = [
1956      '#Sea-Accessibility__LoaderButton',
1957      '#Sea-Accessibility__button',
1958      '#Sea-Accessibility__ButtonWidget--Inline',
1959      '#SEA_ACCESSIBILITY_WidgetIconContainer',
1960      '.Sea-Accessibility__Loader'
1961    ];
1962    var MAX_REHEALS = 20; // safety cap so a hostile theme can never loop forever
1963
1964    function widgetPresent() {
1965      for (var i = 0; i < WIDGET_SELECTORS.length; i++) {
1966        if (document.querySelector(WIDGET_SELECTORS[i])) return true;
1967      }
1968      return false;
1969    }
1970
1971    function loaderScriptPresent() {
1972      var scripts = document.getElementsByTagName('script');
1973      for (var i = 0; i < scripts.length; i++) {
1974        if (scripts[i].src && scripts[i].src.indexOf('sea-accessibility-loader') !== -1) return true;
1975      }
1976      return false;
1977    }
1978
1979    // SEC-P4 H1 follow-up (SB-17345): the loader stays a fixed filename (it's embedded
1980    // here by literal name), so it can't be pinned by content-hash like the main bundle.
1981    // Instead we fetch its sha384 from a manifest that ships in the very same scripttag
1982    // build/deploy as the loader bundle itself, so the two can never drift apart the way
1983    // a hash hardcoded into this Liquid template could (this template and the scripttag
1984    // bundle deploy on separate, unsynchronized pipelines).
1985    var loaderManifest = null; // {file, integrity} once fetched; stays null forever on failure
1986    var manifestFetchStarted = false;
1987
1988    function fetchLoaderManifest(onDone) {
1989      if (loaderManifest || manifestFetchStarted) return onDone();
1990      manifestFetchStarted = true;
1991      var done = false;
1992      function finish() {
1993        if (done) return;
1994        done = true;
1995        onDone();
1996      }
1997      try {
1998        var xhr = new XMLHttpRequest();
1999        xhr.open('GET', LOADER_BASE + '/loader-sri-manifest.json?v=' + Date.now(), true);
2000        xhr.timeout = 3000;
2001        xhr.onload = function () {
2002          try {
2003            if (xhr.status >= 200 && xhr.status < 300) {
2004              var manifest = JSON.parse(xhr.responseText);
2005              if (manifest && manifest.file && manifest.integrity) loaderManifest = manifest;
2006            }
2007          } catch (e) {}
2008          finish();
2009        };
2010        xhr.onerror = finish;
2011        xhr.ontimeout = finish;
2012        xhr.send();
2013      } catch (e) {
2014        finish();
2015      }
2016    }
2017
2018    function injectLoader() {
2019      // Fail-open by design: a manifest fetch hiccup (network flake, ad blocker on the
2020      // XHR, CDN blip) must never take the whole accessibility widget down. Worst case
2021      // we load the loader unpinned, same as before this fix.
2022      fetchLoaderManifest(function () {
2023        var s = document.createElement('script');
2024        if (loaderManifest) {
2025          s.src = LOADER_BASE + '/' + loaderManifest.file + '?v=' + Date.now();
2026          s.integrity = loaderManifest.integrity;
2027          s.crossOrigin = 'anonymous';
2028        } else {
2029          s.src = LOADER_BASE + '/' + LOADER_FILE + '?v=' + Date.now();
2030        }
2031        s.defer = true;
2032        (document.head || document.documentElement).appendChild(s);
2033      });
2034    }
2035
2036    injectLoader();
2037
2038    // Only reheal once the widget has actually mounted and then disappeared: this
2039    // avoids re-injecting on stores where the widget is legitimately absent
2040    // (country-hidden, inline target missing) or where a script optimiser merely
2041    // strips executed 
2041<script> tags without touching the widget.
2042    var everMounted = false;
2043    var reheals = 0;
2044    var rehealing = false;
2045
2046    function check() {
2047      if (widgetPresent()) {
2048        everMounted = true;
2049        return;
2050      }
2051      if (!everMounted || rehealing || reheals >= MAX_REHEALS) return;
2052      // Widget gone. The loader 
2052<script> being gone too is the DOM-rebuild signal.
2053      if (loaderScriptPresent()) return;
2054      rehealing = true;
2055      reheals++;
2056      injectLoader();
2057      // Give the freshly injected loader a beat to mount before re-arming.
2058      setTimeout(function () { rehealing = false; }, 1000);
2059    }
2060
2061    if (typeof MutationObserver !== 'undefined') {
2062      var start = function () {
2063        try {
2064          new MutationObserver(check).observe(document.documentElement, {
2065            childList: true,
2066            subtree: true
2067          });
2068        } catch (e) {}
2069      };
2070      if (document.body) start();
2071      else document.addEventListener('DOMContentLoaded', start);
2072    }
2073  })();
2074</script>
2074
2075<!-- END app snippet -->
2076
2077
2078
2079
2080  <link href='https://fonts.cdnfonts.com/css/noto-serif-gurmukhi' rel='stylesheet'>
2081  <link href='https://fonts.cdnfonts.com/css/open-dyslexic' rel='stylesheet'>
2082  <style>
2083    @font-face {
2084      font-family: 'Sea-Accessibility-Open-Dyslexic';
2085      font-style: normal;
2086      font-weight: 400;
2087      font-display: swap;
2088      src: url('https://fonts.cdnfonts.com/s/29616/open-dyslexic.woff') format('woff');
2089    }
2090
2091    @font-face {
2092      font-family: 'Sea-Accessibility';
2093      font-style: normal;
2094      font-weight: 400;
2095      font-display: swap;
2096      src: url('https://fonts.cdnfonts.com/s/107479/NotoSerifGurmukhi[wght].woff') format('woff');
2097    }
2098
2099    @font-face {
2100      font-family: 'Sea-Accessibility';
2101      font-style: normal;
2102      font-weight: 700;
2103      font-display: swap;
2104      src: url('https://fonts.cdnfonts.com/s/107479/NotoSerifGurmukhi[wght].woff') format('woff');
2105    }
2106  </style>
2107
2108<script>
2109  try {
2110    const [dataMetafields = {}] = [
2111      {"appStatus":true,"removeBrandingForNewShop":false,"disabledToggleClassAtModeReaderView":false,"showCloseButton":false,"redetectOnLocaleChange":false,"menuSetting":{"allowResizeContent":true,"allowChangeLanguage":true,"allowAccessibilityProfiles":true,"enableShowHideWidget":true,"allowResetAdjustment":true,"enableStatementLink":true,"enableContrast":true,"enableSaturation":true,"enableHighlightLinks":true,"enableTextSize":true,"enableTextAlignment":true,"enableLetterSpacing":true,"enableLineSpacing":true,"enableFont":true,"enableTextMagnifier":true,"enableMuteSound":true,"enableHideImages":true,"enableStopAnimations":true,"enableReaderView":true,"enableReadingGuide":true,"enablePageStructure":true,"enableBWCursor":true,"enableTextToSpeech":true,"enableAutoAltText":true,"statementLink":"https:\/\/hapa-sushi.myshopify.com\/pages\/accessibility-statement","shopId":"hwAAR5YsbuMaqaRwmMhI","createdAt":"2026-07-29T17:15:22.353Z","id":"UaDrI6Se6WQhoxprzPBL"},"widgetSetting":{"preset":"mono","footerTitle":"Powered by Avada","detectLanguage":["browser-language"],"position":"left","mobileRatio":"full-screen","buttonPosition":"bottom","buttonIcon":"pajamas","buttonSize":"small","textFont":"inherit","serveFontViaCDN":false,"defaultLanguage":"en-US","customCSS":"","headerTitle":"","countryVisibility":"all","countryList":[],"brandPrimaryColor":"#272D36","brandSecondaryColor":"#272D36","brandBgColor":"#F5F5F5","titleSectionTextColor":"#272D36","titleSectionBgColor":"#FFFFFF","resetButtonTextColor":"#FFFFFF","resetButtonBgColor":"#272D36","hideButtonTextColor":"#B50700","shopId":"hwAAR5YsbuMaqaRwmMhI","createdAt":"2026-07-29T17:15:22.622Z","inlineTextLocalized":{"en-US":"Accessibility","en-GB":"Accessibility","fr":"Accessibilité","de":"Barrierefreiheit","it":"Accessibilità","es":"Accesibilidad","el":"Προσβασιμότητα","pt-PT":"Acessibilidade","pt-BR":"Acessibilidade","cs":"Přístupnost","da":"Tilgængelighed","nl":"Toegankelijkheid","fi":"Esteettömyys","sv":"Tillgänglighet","no":"Tilgjengelighet","pl":"Dostępność","vi":"Trợ năng","ja":"アクセシビリティ","ko":"접근성","zh-CN":"无障碍","zh-TW":"無障礙","th":"การเข้าถึง","tr":"Erişilebilirlik","ru":"Доступность","he":"נגישות","hi":"सुलभता","id":"Aksesibilitas","et":"Ligipääsetavus","ro":"Accesibilitate","lt":"Prieinamumas","ar":"إمكانية الوصول"},"inlineTextMode":"worldwide","id":"BgOGp6etlgePgTiwq0t1"},"translations":{},"shopId":"hwAAR5YsbuMaqaRwmMhI","lastUpdated":"2026-07-29T17:25:48.580Z"},
2112    ];
2113    const isBlock = false;
2114    const isV2Shop = false;
2115    const initData = () => ({
2116      ...dataMetafields,
2117      isBlock,
2118      isV2Shop,
2119      template: "index",
2120    });
2121
2122    if (!window.SEA_ACCESSIBILITY) {
2123      window.SEA_ACCESSIBILITY = initData();
2124    }
2125    window.SEA_ACCESSIBILITY = {...window.SEA_ACCESSIBILITY, ...initData()};
2126
2127  } catch (e) {
2128    console.error('Error assigning sea accessibility variable', e);
2129  }
2130</script>
2130
2131<!-- BEGIN app snippet: widget-boot -->
2131<script>
2132  (function () {
2133    // Headless / DOM-rebuild storefronts (e.g. Helium builder) re-render the whole
2134    // document after hydration, wiping both this injected loader script and the
2135    // widget nodes it mounts — the widget silently disappears. This closure survives
2136    // such rebuilds (it lives in JS memory even after its own script node is removed),
2137    // so it re-injects the loader whenever the widget vanishes after having mounted.
2138    if (window.__seaA11yLoaderHealer) return;
2139    window.__seaA11yLoaderHealer = true;
2140
2141    var LOADER_BASE = 'https://cdn-accessibility.avada.io/scripttag';
2142    var LOADER_FILE = 'sea-accessibility-loader.min.js';
2143    // Every id/class the loader or main bundle renders when the widget is present.
2144    var WIDGET_SELECTORS = [
2145      '#Sea-Accessibility__LoaderButton',
2146      '#Sea-Accessibility__button',
2147      '#Sea-Accessibility__ButtonWidget--Inline',
2148      '#SEA_ACCESSIBILITY_WidgetIconContainer',
2149      '.Sea-Accessibility__Loader'
2150    ];
2151    var MAX_REHEALS = 20; // safety cap so a hostile theme can never loop forever
2152
2153    function widgetPresent() {
2154      for (var i = 0; i < WIDGET_SELECTORS.length; i++) {
2155        if (document.querySelector(WIDGET_SELECTORS[i])) return true;
2156      }
2157      return false;
2158    }
2159
2160    function loaderScriptPresent() {
2161      var scripts = document.getElementsByTagName('script');
2162      for (var i = 0; i < scripts.length; i++) {
2163        if (scripts[i].src && scripts[i].src.indexOf('sea-accessibility-loader') !== -1) return true;
2164      }
2165      return false;
2166    }
2167
2168    // SEC-P4 H1 follow-up (SB-17345): the loader stays a fixed filename (it's embedded
2169    // here by literal name), so it can't be pinned by content-hash like the main bundle.
2170    // Instead we fetch its sha384 from a manifest that ships in the very same scripttag
2171    // build/deploy as the loader bundle itself, so the two can never drift apart the way
2172    // a hash hardcoded into this Liquid template could (this template and the scripttag
2173    // bundle deploy on separate, unsynchronized pipelines).
2174    var loaderManifest = null; // {file, integrity} once fetched; stays null forever on failure
2175    var manifestFetchStarted = false;
2176
2177    function fetchLoaderManifest(onDone) {
2178      if (loaderManifest || manifestFetchStarted) return onDone();
2179      manifestFetchStarted = true;
2180      var done = false;
2181      function finish() {
2182        if (done) return;
2183        done = true;
2184        onDone();
2185      }
2186      try {
2187        var xhr = new XMLHttpRequest();
2188        xhr.open('GET', LOADER_BASE + '/loader-sri-manifest.json?v=' + Date.now(), true);
2189        xhr.timeout = 3000;
2190        xhr.onload = function () {
2191          try {
2192            if (xhr.status >= 200 && xhr.status < 300) {
2193              var manifest = JSON.parse(xhr.responseText);
2194              if (manifest && manifest.file && manifest.integrity) loaderManifest = manifest;
2195            }
2196          } catch (e) {}
2197          finish();
2198        };
2199        xhr.onerror = finish;
2200        xhr.ontimeout = finish;
2201        xhr.send();
2202      } catch (e) {
2203        finish();
2204      }
2205    }
2206
2207    function injectLoader() {
2208      // Fail-open by design: a manifest fetch hiccup (network flake, ad blocker on the
2209      // XHR, CDN blip) must never take the whole accessibility widget down. Worst case
2210      // we load the loader unpinned, same as before this fix.
2211      fetchLoaderManifest(function () {
2212        var s = document.createElement('script');
2213        if (loaderManifest) {
2214          s.src = LOADER_BASE + '/' + loaderManifest.file + '?v=' + Date.now();
2215          s.integrity = loaderManifest.integrity;
2216          s.crossOrigin = 'anonymous';
2217        } else {
2218          s.src = LOADER_BASE + '/' + LOADER_FILE + '?v=' + Date.now();
2219        }
2220        s.defer = true;
2221        (document.head || document.documentElement).appendChild(s);
2222      });
2223    }
2224
2225    injectLoader();
2226
2227    // Only reheal once the widget has actually mounted and then disappeared: this
2228    // avoids re-injecting on stores where the widget is legitimately absent
2229    // (country-hidden, inline target missing) or where a script optimiser merely
2230    // strips executed 
2230<script> tags without touching the widget.
2231    var everMounted = false;
2232    var reheals = 0;
2233    var rehealing = false;
2234
2235    function check() {
2236      if (widgetPresent()) {
2237        everMounted = true;
2238        return;
2239      }
2240      if (!everMounted || rehealing || reheals >= MAX_REHEALS) return;
2241      // Widget gone. The loader 
2241<script> being gone too is the DOM-rebuild signal.
2242      if (loaderScriptPresent()) return;
2243      rehealing = true;
2244      reheals++;
2245      injectLoader();
2246      // Give the freshly injected loader a beat to mount before re-arming.
2247      setTimeout(function () { rehealing = false; }, 1000);
2248    }
2249
2250    if (typeof MutationObserver !== 'undefined') {
2251      var start = function () {
2252        try {
2253          new MutationObserver(check).observe(document.documentElement, {
2254            childList: true,
2255            subtree: true
2256          });
2257        } catch (e) {}
2258      };
2259      if (document.body) start();
2260      else document.addEventListener('DOMContentLoaded', start);
2261    }
2262  })();
2263</script>
2263
2264<!-- END app snippet -->
2265
2266<style id="sea-custom-css"></style>
2267
2268<!-- END app snippet -->
2269
2270
2271
2272</div>
2272<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2272
2273</body>
2274</html>

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.