PageSourceSearch

https://www.grandhall.com/cart

html grandhall.com collected 2026-10-04 15:31:32 UTC 83,138 bytes, 1,396 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en">
3<head>
4
5  <meta charset="utf-8">
6  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
7  <meta name="viewport" content="width=device-width,initial-scale=1">
8  <meta name="theme-color" content="#030303">
9
10  
11    <link rel="shortcut icon" href="//www.grandhall.com/cdn/shop/files/gh_web_icon__1_32x32.png?v=1645759932" type="image/png">
12  
13
14  <link rel="canonical" href="https://www.grandhall.com/cart">
15  <title>
16  Your Shopping Cart &ndash; Grandhall
17  </title>
18
19  
20
21  <!-- /snippets/social-meta-tags.liquid -->
22
23
24
25
26<meta property="og:site_name" content="Grandhall">
27<meta property="og:url" content="https://www.grandhall.com/cart">
28<meta property="og:title" content="Your Shopping Cart">
29<meta property="og:type" content="website">
30<meta property="og:description" content="Grandhall has been delivering quality and convenience through offering premium gas appliances that reduce gas usage risks and increases efficiency since 1976. We provide premium gas grills, pizza ovens, valves, gas heaters, and decorative flames.">
31
32<meta property="og:image" content="http://www.grandhall.com/cdn/shop/files/GH_logo__1_1200x1200.jpg?v=1644226161">
33<meta property="og:image:secure_url" content="https://www.grandhall.com/cdn/shop/files/GH_logo__1_1200x1200.jpg?v=1644226161">
34
35
36<meta name="twitter:card" content="summary_large_image">
37<meta name="twitter:title" content="Your Shopping Cart">
38<meta name="twitter:description" content="Grandhall has been delivering quality and convenience through offering premium gas appliances that reduce gas usage risks and increases efficiency since 1976. We provide premium gas grills, pizza ovens, valves, gas heaters, and decorative flames.">
39
40  <style data-shopify>
41  :root {
42    --color-body-text: #666;
43    --color-body: #fff;
44  }
45</style>
46
47
48  
48<script>
49    document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
50  </script>
50
51
52  <link href="//www.grandhall.com/cdn/shop/t/3/assets/theme.scss.css?v=62845198788948073761774335349" rel="stylesheet" type="text/css" media="all" />
53
54  
54<script>
55    window.theme = window.theme || {};
56
57    theme.strings = {
58      stockAvailable: "1 available",
59      addToCart: "Add to Cart",
60      soldOut: "Sold Out",
61      unavailable: "Unavailable",
62      noStockAvailable: "The item could not be added to your cart because there are not enough in stock.",
63      willNotShipUntil: "Will not ship until [date]",
64      willBeInStockAfter: "Will be in stock after [date]",
65      totalCartDiscount: "You're saving [savings]",
66      addressError: "Error looking up that address",
67      addressNoResults: "No results for that address",
68      addressQueryLimit: "You have exceeded the Google API usage limit. Consider upgrading to a \u003ca href=\"https:\/\/developers.google.com\/maps\/premium\/usage-limits\"\u003ePremium Plan\u003c\/a\u003e.",
69      authError: "There was a problem authenticating your Google Maps API Key.",
70      slideNumber: "Slide [slide_number], current"
71    };if (sessionStorage.getItem("backToCollection")) {
72        sessionStorage.removeItem("backToCollection")
73      }</script>
73
74
75  
75<script src="//www.grandhall.com/cdn/shop/t/3/assets/lazysizes.min.js?v=56045284683979784691634178326" async="async"></script>
75
76
77  
78
79  
79<script src="//www.grandhall.com/cdn/shop/t/3/assets/vendor.js?v=59352919779726365461634178327" defer="defer"></script>
79
80
81  
82    
82<script>
83      window.theme = window.theme || {};
84      theme.moneyFormat = "${{amount}}";
85    </script>
85
86  
87
88  
88<script src="//www.grandhall.com/cdn/shop/t/3/assets/theme.js?v=171366231195154451781634178327" defer="defer"></script>
88
89
90  
90<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
90<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/60325069048/digital_wallets/dialog">
91<meta id="in-context-paypal-metadata" data-shop-id="60325069048" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="TWD">
92<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
92<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 92
92
93<script id="shopify-features" type="application/json">{"accessToken":"229f96b0ece9dbb14769a8e7d3f34d3f","betas":["rich-media-storefront-analytics"],"domain":"www.grandhall.com","predictiveSearch":true,"shopId":60325069048,"locale":"en"}</script>
vendor: 1 bytes, line 93
93
94<script>var Shopify = Shopify || {};
95Shopify.shop = "grandhall21.myshopify.com";
96Shopify.locale = "en";
97Shopify.currency = {"active":"TWD","rate":"1.0"};
98Shopify.country = "US";
99Shopify.theme = {"name":"Venture","id":128011206904,"schema_name":"Venture","schema_version":"12.6.0","theme_store_id":775,"role":"main"};
100Shopify.theme.handle = "null";
101Shopify.theme.style = {"id":null,"handle":null};
102Shopify.cdnHost = "www.grandhall.com/cdn";
103Shopify.routes = Shopify.routes || {};
104Shopify.routes.root = "/";
105Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
106Shopify.SignInWithShop = Shopify.SignInWithShop || {};
107Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
108Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 108
108
109<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 109
109
110<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 110
110
111<script>
112  window.Shopify = window.Shopify || {};
113  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
114  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
115  window.Shopify.SignInWithShop.eligible = true;
116</script>
vendor: 1 bytes, line 116
116
117<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 117
117
118<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 118
118
119<script type="module">
120  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
121
122  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
123
124</script>
vendor: 1 bytes, line 124
124
125<script>
126  window.Shopify = window.Shopify || {};
127  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
128  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"]};
129</script>
vendor: 1 bytes, line 129
129
130<script id="__st">var __st={"a":60325069048,"offset":28800,"reqid":"1ae9bf34-7141-4020-8717-375e7849bbd3-1791127891","pageurl":"www.grandhall.com\/cart","u":"00ee28871784","p":"cart"};</script>
vendor: 1 bytes, line 130
130
131<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 131
131
132<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 132
132
133<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.grandhall.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 133
133
134<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.grandhall.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>
134<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 134
134
135<script>
136  window.Shopify = window.Shopify || {};
137  window.Shopify.MCP = window.Shopify.MCP || {};
138  window.Shopify.MCP.enabled = true;
139  window.Shopify.MCP.shop = "grandhall21.myshopify.com";
140  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.grandhall.com\/api\/mcp";
141  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"]}}];
142</script>
vendor: 1 bytes, line 142
142
143<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.grandhall.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
144</script>
vendor: 1 bytes, line 144
144
145<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.grandhall.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
146</script>
vendor: 1 bytes, line 146
146
147<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
148  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);
149</script>
vendor: 1 bytes, line 149
149
150<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})}}));
151</script>
151
152<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.grandhall.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
153<style id="shopify-accelerated-checkout-cart">
154        #shopify-buyer-consent {
155  margin-top: 1em;
156  display: inline-block;
157  width: 100%;
158}
159
160#shopify-buyer-consent.hidden {
161  display: none;
162}
163
164#shopify-subscription-policy-button {
165  background: none;
166  border: none;
167  padding: 0;
168  text-decoration: underline;
169  font-size: inherit;
170  cursor: pointer;
171}
172
173#shopify-subscription-policy-button::before {
174  box-shadow: none;
175}
176
177      </style>
178
179<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
179
180
181
182
183
184<!-- BEGIN app block: shopify://apps/pagefly-ai-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 -->
185
186<!-- BEGIN app snippet: pagefly-cro-ab-testing-main -->
187
188
189
190
191
192
193
194<script>
195  ;(function () {
196    const url = new URL(window.location)
197    const viewParam = url.searchParams.get('view')
198    if (viewParam && viewParam.includes('variant-pf-')) {
199      url.searchParams.set('pf_v', viewParam)
200      url.searchParams.delete('view')
201      window.history.replaceState({}, '', url)
202    }
203  })()
204</script>
204
205
206
207
208<script type='module'>
209  
210  window.PAGEFLY_CRO = window.PAGEFLY_CRO || {}
211
212  window.PAGEFLY_CRO['data_debug'] = {
213    original_template_suffix: "",
214    allow_ab_test: false,
215    ab_test_start_time: 0,
216    ab_test_end_time: 0,
217    today_date_time: 1791127891000,
218  }
219  window.PAGEFLY_CRO['GA4'] = { enabled: false}
220</script>
220
221
222<!-- END app snippet -->
223
224
225
226
227
228
229
230
231  
231<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-helper.js' defer='defer'></script>
231
232
233  
233<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-general-helper.js' defer='defer'></script>
233
234
235  
235<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-snap-slider.js' defer='defer'></script>
235
236
237  
237<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-slideshow-v3.js' defer='defer'></script>
237
238
239  
239<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-slideshow-v4.js' defer='defer'></script>
239
240
241  
241<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-glider.js' defer='defer'></script>
241
242
243  
243<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-slideshow-v1-v2.js' defer='defer'></script>
243
244
245  
245<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-product-media.js' defer='defer'></script>
245
246
247  
247<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-product.js' defer='defer'></script>
247
248
249
250<script id='pagefly-helper-data' type='application/json'>
251  {
252    "page_optimization": {
253      "assets_prefetching": false
254    },
255    "elements_asset_mapper": {
256      "Accordion": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-accordion.js",
257      "Accordion3": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-accordion3.js",
258      "CountDown": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-countdown.js",
259      "GMap1": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-gmap.js",
260      "GMap2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-gmap.js",
261      "GMapBasicV2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-gmap.js",
262      "GMapAdvancedV2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-gmap.js",
263      "HTML.Video": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-htmlvideo.js",
264      "HTML.Video2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-htmlvideo2.js",
265      "HTML.Video3": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-htmlvideo2.js",
266      "BackgroundVideo": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-htmlvideo2.js",
267      "Instagram": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-instagram.js",
268      "Instagram2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-instagram.js",
269      "Insta3": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-instagram3.js",
270      "Tabs": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-tab.js",
271      "Tabs3": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-tab3.js",
272      "ProductBox": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-cart.js",
273      "FBPageBox2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-facebook.js",
274      "FBLikeButton2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-facebook.js",
275      "TwitterFeed2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-twitter.js",
276      "Paragraph4": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-paragraph4.js",
277
278      "AliReviews": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
279      "BackInStock": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
280      "GloboBackInStock": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
281      "GrowaveWishlist": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
282      "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
283      "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder
283-363/assets/pagefly-3rd-elements.js",
284      "LimeSpot": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
285      "Loox": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
286      "Opinew": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
287      "Powr": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
288      "ProductReviews": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
289      "PushOwl": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
290      "ReCharge": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
291      "Rivyo": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
292      "TrackingMore": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
293      "Vitals": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js",
294      "Wiser": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js"
295    },
296    "custom_elements_mapper": {
297      "pf-click-action-element": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-click-action-element.js",
298      "pf-dialog-element": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-dialog-element.js"
299    }
300  }
301</script>
301
302
303<script id='pagefly-heatmap-config' type='application/json'>
304  {}
305</script>
vendor: 1 bytes, line 305
305
306<script>
307  (function () {
308    var el = document.getElementById('pagefly-heatmap-config')
309    if (!el) { window.__pagefly_heatmap_config__ = {}; return }
310    try {
311      window.__pagefly_heatmap_config__ = JSON.parse(el.textContent || '{}') || {}
312    } catch (e) {
313      window.__pagefly_heatmap_config__ = {}
314    }
315  })()
316</script>
vendor: 1 bytes, line 316
316
317<script>
318  // Heatmap overlay loader. Three gates, all of them cheap, none of them trusting the URL:
319  // the visitor must have arrived on a pf_heatmap link, the SERVER must have published an
320  // overlay path in the metafield, and this page must already be one the merchant enabled
321  // tracking for. The last gate is what stops a crafted link pulling the asset onto an
322  // arbitrary storefront page. Everything else is decided inside the asset, and by the server.
323  (function () {
324    var cfg = window.__pagefly_heatmap_config__ || {}
325    var id = (window.__pagefly_page_setting__ || {}).pageId
326    if (!/[#&]pf_heatmap=/.test(window.location.hash || '')) return
327    if (!cfg.overlay_data_path || !Array.isArray(cfg.enabled_page_ids)) return
328    if (!id || cfg.enabled_page_ids.indexOf(id) === -1) return
329    var s = document.createElement('script')
330    s.src = 'https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-heatmap-overlay.js'
331    s.defer = true
332    document.head.appendChild(s)
333  })()
334</script>
334
335
336<!-- BEGIN app snippet: pf-ai-schema -->
337<!-- END app snippet -->
338
339
340<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
341<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: 60325069048,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};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 341
341
342<script>
343  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
344</script>
vendor: 1 bytes, line 344
344
345<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}
345).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: 60325069048,storefrontBaseUrl: "https://www.grandhall.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.grandhall.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"561348856","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-W0PPYCLP1J\\\"],\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-W0PPYCLP1J\\\"}],\\\"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":"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":"Grandhall","paymentSettings":{"currencyCode":"TWD"},"myshopifyDomain":"grandhall21.myshopify.com","countryCode":"TW","storefrontUrl":"https:\/\/www.grandhall.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.grandhall.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"128011206904","themeStoreId":"775","themePublished":"true","eventMetadataId":"ff7446e9-da6a-498c-b49e-0a3a2328c39a","pageType":"cart","shopId":"60325069048","storefrontBaseUrl":"https:\/\/www.grandhall.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>
345<script>
346  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
347  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
348  window.ShopifyAnalytics.meta.currency = 'TWD';
349  var meta = {"page":{"pageType":"cart","requestId":"1ae9bf34-7141-4020-8717-375e7849bbd3-1791127891"}};
350  for (var attr in meta) {
351    window.ShopifyAnalytics.meta[attr] = meta[attr];
352  }
353</script>
vendor: 1 bytes, line 353
353
354<script class="analytics">
355  (function () {
356    var customDocumentWrite = function(content) {
357      var jquery = null;
358
359      if (window.jQuery) {
360        jquery = window.jQuery;
361      } else if (window.Checkout && window.Checkout.$) {
362        jquery = window.Checkout.$;
363      }
364
365      if (jquery) {
366        jquery('body').append(content);
367      }
368    };
369
370    var hasLoggedConversion = function(token) {
371      if (token) {
372        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
373      }
374      return false;
375    }
376
377    var setCookieIfConversion = function(token) {
378      if (token) {
379        var twoMonthsFromNow = new Date(Date.now());
380        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
381
382        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
383      }
384    }
385
386    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
387    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
388    if (trekkie.integrations) {
389      return;
390    }
391    trekkie.methods = [
392      'identify',
393      'page',
394      'ready',
395      'track',
396      'trackForm',
397      'trackLink'
398    ];
399    trekkie.factory = function(method) {
400      return function() {
401        var args = Array.prototype.slice.call(arguments);
402        args.unshift(method);
403        trekkie.push(args);
404        if (method == 'track' || method == 'page') {
405          var pageUrl;
406          try {
407            pageUrl = window.location.href;
408          } catch (e) {}
409          var pageReferrer;
410          try {
411            pageReferrer = document.referrer;
412          } catch (e) {}
413          try {
414            if (window.__TREKKIE_SHIM_QUEUE == null) {
415              window.__TREKKIE_SHIM_QUEUE = [];
416            }
417            window.__TREKKIE_SHIM_QUEUE.push({
418              from: 'trekkie-stub',
419              method: method,
420              args: args.slice(1),
421              pageContext: {
422                url: pageUrl,
423                referrer: pageReferrer
424              }
425            });
426          } catch (e) {
427            // no-op
428          }
429        }
430        return trekkie;
431      };
432    };
433    for (var i = 0; i < trekkie.methods.length; i++) {
434      var key = trekkie.methods[i];
435      trekkie[key] = trekkie.factory(key);
436    }
437    trekkie.load = function(config) {
438      trekkie.config = config || {};
439      trekkie.config.initialDocumentCookie = document.cookie;
440      var first = document.getElementsByTagName('script')[0];
441var script = document.createElement('script');
442script.type = 'text/javascript';
443script.onerror = function(e) {
444  var scriptFallback = document.createElement('script');
445  scriptFallback.type = 'text/javascript';
446  scriptFallback.onerror = function(error) {
447          var Monorail = {
448      produce: function produce(monorailDomain, schemaId, payload) {
449        var currentMs = new Date().getTime();
450        var event = {
451          schema_id: schemaId,
452          payload: payload,
453          metadata: {
454            event_created_at_ms: currentMs,
455            event_sent_at_ms: currentMs
456          }
457        };
458        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
459      },
460      sendRequest: function sendRequest(endpointUrl, payload) {
461        // Try the sendBeacon API
462        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
463          var blobData = new window.Blob([payload], {
464            type: 'text/plain'
465          });
466
467          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
468            return true;
469          } // sendBeacon was not successful
470
471        } // XHR beacon
472
473        var xhr = new XMLHttpRequest();
474
475        try {
476          xhr.open('POST', endpointUrl);
477          xhr.setRequestHeader('Content-Type', 'text/plain');
478          xhr.send(payload);
479        } catch (e) {
480          console.log(e);
481        }
482
483        return false;
484      },
485      isIos12: function isIos12() {
486        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
487      }
488    };
489    Monorail.produce('monorail-edge.shopifysvc.com',
490      'trekkie_storefront_load_errors/1.1',
491      {shop_id: 60325069048,
492      theme_id: 128011206904,
493      app_name: "storefront",
494      context_url: window.location.href,
495      source_url: "//www.grandhall.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
496
497  };
498  scriptFallback.async = true;
499  scriptFallback.src = '//www.grandhall.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
500  first.parentNode.insertBefore(scriptFallback, first);
501};
502script.async = true;
503script.src = '//www.grandhall.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
504first.parentNode.insertBefore(script, first);
505
506    };
507    trekkie.load(
508      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":60325069048,"isMerchantRequest":null,"themeId":128011206904,"themeCityHash":"14042225409419630154","contentLanguage":"en","currency":"TWD","eventMetadataId":"ff7446e9-da6a-498c-b49e-0a3a2328c39a"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
509    );
510
511    var loaded = false;
512    trekkie.ready(function() {
513      if (loaded) return;
514      loaded = true;
515
516      window.ShopifyAnalytics.lib = window.trekkie;
517
518      var originalDocumentWrite = document.write;
519      document.write = customDocumentWrite;
520      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
521      document.write = originalDocumentWrite;
522
523      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
524      var token = match? match[1]: undefined;
525      if (!hasLoggedConversion(token)) {
526        setCookieIfConversion(token);
527        
528      }
529    });
530
531    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"1ae9bf34-7141-4020-8717-375e7849bbd3-1791127891","shopifyEmitted":true});
532
533    var eventsListenerScript = document.createElement('script');
534    eventsListenerScript.async = true;
535    eventsListenerScript.src = "//www.grandhall.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
536    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
537})();</script>
537
538  
538<script>
539  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
540    window.ga = function ga() {
541      (window.ga.q = window.ga.q || []).push(arguments);
542      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
543        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
544      }
545      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.");
546    };
547    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
548      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
549    }
550  }
551</script>
vendor: 1 bytes, line 551
551
552<script
553  defer
554  src="https://www.grandhall.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
555  data-application="storefront-renderer"
556  data-shop-id="60325069048"
557  data-render-region="gcp-us-central1"
558  data-page-type="cart"
559  data-theme-instance-id="128011206904"
560  data-theme-name="Venture"
561  data-theme-version="12.6.0"
562  data-monorail-region="shop_domain"
563  data-resource-timing-sampling-rate="10"
564  data-shs="true"
565  data-shs-beacon="true"
566  data-shs-export-with-fetch="true"
567  data-shs-logs-sample-rate="1"
568  data-shs-beacon-endpoint="https://www.grandhall.com/api/collect"
569></script>
569
570<meta name="shopify-y" content="de26ec57-6f03-44e9-a5fc-02174d96be03" data-expiration="1822685491000"><meta name="shopify-s" content="b000872f-0771-4016-8313-c4a56fb1c768" data-expiration="1791129691000"><meta name="new-cookie-storage-activated" content="t">
571</head>
572
573<body class="template-cart" >
574
575  <a class="in-page-link visually-hidden skip-link" href="#MainContent">
576    Skip to content
577  </a>
578
579  <div id="shopify-section-header" class="shopify-section"><style>
580.site-header__logo img {
581  max-width: 150px;
582}
583</style>
584
585<div id="NavDrawer" class="drawer drawer--left">
586  <div class="drawer__inner">
587    <form action="/search" method="get" class="drawer__search" role="search">
588      <input type="search" name="q" placeholder="Search" aria-label="Search" class="drawer__search-input">
589
590      <button type="submit" class="text-link drawer__search-submit">
591        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 32 32"><path fill="#444" d="M21.839 18.771a10.012 10.012 0 0 0 1.57-5.39c0-5.548-4.493-10.048-10.034-10.048-5.548 0-10.041 4.499-10.041 10.048s4.493 10.048 10.034 10.048c2.012 0 3.886-.594 5.456-1.61l.455-.317 7.165 7.165 2.223-2.263-7.158-7.165.33-.468zM18.995 7.767c1.498 1.498 2.322 3.49 2.322 5.608s-.825 4.11-2.322 5.608c-1.498 1.498-3.49 2.322-5.608 2.322s-4.11-.825-5.608-2.322c-1.498-1.498-2.322-3.49-2.322-5.608s.825-4.11 2.322-5.608c1.498-1.498 3.49-2.322 5.608-2.322s4.11.825 5.608 2.322z"/></svg>
592        <span class="icon__fallback-text">Search</span>
593      </button>
594    </form>
595    <ul class="drawer__nav">
596      
597        
598
599        
600          <li class="drawer__nav-item">
601            <a href="/"
602              class="drawer__nav-link drawer__nav-link--top-level"
603              
604            >
605              HOME
606            </a>
607          </li>
608        
609      
610        
611
612        
613          <li class="drawer__nav-item">
614            <a href="/pages/about-us"
615              class="drawer__nav-link drawer__nav-link--top-level"
616              
617            >
618              ABOUT US
619            </a>
620          </li>
621        
622      
623        
624
625        
626          <li class="drawer__nav-item">
627            <a href="/pages/sustainability"
628              class="drawer__nav-link drawer__nav-link--top-level"
629              
630            >
631              SUSTAINABILITY
632            </a>
633          </li>
634        
635      
636        
637
638        
639          <li class="drawer__nav-item">
640            <div class="drawer__nav-has-sublist">
641              <a href="/collections/our-category"
642                class="drawer__nav-link drawer__nav-link--top-level drawer__nav-link--split"
643                id="DrawerLabel-product-and-service"
644                
645              >
646                PRODUCT AND SERVICE
647              </a>
648              <button type="button" aria-controls="DrawerLinklist-product-and-service" class="text-link drawer__nav-toggle-btn drawer__meganav-toggle" aria-label="PRODUCT AND SERVICE Menu" aria-expanded="false">
649                <span class="drawer__nav-toggle--open">
650                  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" viewBox="0 0 22 21"><path d="M12 11.5h9.5v-2H12V0h-2v9.5H.5v2H10V21h2v-9.5z" fill="#000" fill-rule="evenodd"/></svg>
651                </span>
652                <span class="drawer__nav-toggle--close">
653                  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-minus" viewBox="0 0 22 3"><path fill="#000" d="M21.5.5v2H.5v-2z" fill-rule="evenodd"/></svg>
654                </span>
655              </button>
656            </div>
657
658            <div class="meganav meganav--drawer" id="DrawerLinklist-product-and-service" aria-labelledby="DrawerLabel-product-and-service" role="navigation">
659              <ul class="meganav__nav">
660                <div class="grid grid--no-gutters meganav__scroller meganav__scroller--has-list">
661  <div class="grid__item meganav__list">
662    
663      <li class="drawer__nav-item">
664        
665          
666
667          <div class="drawer__nav-has-sublist">
668            <a href="/collections/gas-grills-pizza-ovens" 
669              class="meganav__link drawer__nav-link drawer__nav-link--split" 
670              id="DrawerLabel-grills-pizza-ovens"
671              
672            >
673              Grills/ Pizza Ovens
674            </a>
675            <button type="button" aria-controls="DrawerLinklist-grills-pizza-ovens" class="text-link drawer__nav-toggle-btn drawer__nav-toggle-btn--small drawer__meganav-toggle" aria-label="PRODUCT AND SERVICE Menu" aria-expanded="false">
676              <span class="drawer__nav-toggle--open">
677                <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" viewBox="0 0 22 21"><path d="M12 11.5h9.5v-2H12V0h-2v9.5H.5v2H10V21h2v-9.5z" fill="#000" fill-rule="evenodd"/></svg>
678              </span>
679              <span class="drawer__nav-toggle--close">
680                <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-minus" viewBox="0 0 22 3"><path fill="#000" d="M21.5.5v2H.5v-2z" fill-rule="evenodd"/></svg>
681              </span>
682            </button>
683          </div>
684
685          <div class="meganav meganav--drawer" id="DrawerLinklist-grills-pizza-ovens" aria-labelledby="DrawerLabel-grills-pizza-ovens" role="navigation">
686            <ul class="meganav__nav meganav__nav--third-level">
687              
688                <li>
689                  <a href="/collections/gas-grill-turbo-series" class="meganav__link">
690                    Gas Grills Turbo
691                  </a>
692                </li>
693              
694                <li>
695                  <a href="/collections/gas-grill-crossray" class="meganav__link">
696                    Gas Grills Crossray
697                  </a>
698                </li>
699              
700                <li>
701                  <a href="/collections/gas-pizza-ovens" class="meganav__link">
702                    Gas Pizza Ovens
703                  </a>
704                </li>
705              
706            </ul>
707          </div>
708        
709      </li>
710    
711      <li class="drawer__nav-item">
712        
713          
714
715          <div class="drawer__nav-has-sublist">
716            <a href="/collections/valves" 
717              class="meganav__link drawer__nav-link drawer__nav-link--split" 
718              id="DrawerLabel-valves"
719              
720            >
721              Valves
722            </a>
723            <button type="button" aria-controls="DrawerLinklist-valves" class="text-link drawer__nav-toggle-btn drawer__nav-toggle-btn--small drawer__meganav-toggle" aria-label="PRODUCT AND SERVICE Menu" aria-expanded="false">
724              <span class="drawer__nav-toggle--open">
725                <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" viewBox="0 0 22 21"><path d="M12 11.5h9.5v-2H12V0h-2v9.5H.5v2H10V21h2v-9.5z" fill="#000" fill-rule="evenodd"/></svg>
726              </span>
727              <span class="drawer__nav-toggle--close">
728                <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-minus" viewBox="0 0 22 3"><path fill="#000" d="M21.5.5v2H.5v-2z" fill-rule="evenodd"/></svg>
729              </span>
730            </button>
731          </div>
732
733          <div class="meganav meganav--drawer" id="DrawerLinklist-valves" aria-labelledby="DrawerLabel-valves" role="navigation">
734            <ul class="meganav__nav meganav__nav--third-level">
735              
736                <li>
737                  <a href="/collections/lp-gas-cylinder-valve" class="meganav__link">
738                    LP- Gas Cylinder Valve
739                  </a>
740                </li>
741              
742                <li>
743                  <a href="/collections/high-pressure-valve" class="meganav__link">
744                    High- Pressure Valve
745                  </a>
746                </li>
747              
748                <li>
749                  <a href="/collections/forklift-truck-cylinder-valve" class="meganav__link">
750                    Forklift Truck Cylinder Valve
751                  </a>
752                </li>
753              
754                <li>
755                  <a href="/collections/forging-product" class="meganav__link">
756                    Forging Product
757                  </a>
758                </li>
759              
760                <li>
761                  <a href="/collections/diy-hand-held-torch" class="meganav__link">
762                    DIY Hand-Held Torch
763                  </a>
764                </li>
765              
766            </ul>
767          </div>
768        
769      </li>
770    
771      <li class="drawer__nav-item">
772        
773          <a href="/collections/heaters" 
774            class="drawer__nav-link meganav__link"
775            
776          >
777            Heaters
778          </a>
779        
780      </li>
781    
782  </div>
783</div>
784
785              </ul>
786            </div>
787          </li>
788        
789      
790        
791
792        
793          <li class="drawer__nav-item">
794            <a href="/pages/contact-us"
795              class="drawer__nav-link drawer__nav-link--top-level"
796              
797            >
798              CONTACT US
799            </a>
800          </li>
801        
802      
803
804      
805        
806          <li class="drawer__nav-item">
807            <a href="https://www.grandhall.com/customer_authentication/redirect?locale=en&region_country=US" class="drawer__nav-link drawer__nav-link--top-level">
808              Account
809            </a>
810          </li>
811        
812      
813    </ul>
814  </div>
815</div>
816
817<header class="site-header page-element is-moved-by-drawer" role="banner" data-section-id="header" data-section-type="header">
818  <div class="site-header__upper page-width">
819    <div class="grid grid--table">
820      <div class="grid__item small--one-quarter medium-up--hide">
821        <button type="button" class="text-link site-header__link js-drawer-open-left">
822          <span class="site-header__menu-toggle--open">
823            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 32 32"><path fill="#444" d="M4.889 14.958h22.222v2.222H4.889v-2.222zM4.889 8.292h22.222v2.222H4.889V8.292zM4.889 21.625h22.222v2.222H4.889v-2.222z"/></svg>
824          </span>
825          <span class="site-header__menu-toggle--close">
826            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 32 32"><path fill="#444" d="M25.313 8.55l-1.862-1.862-7.45 7.45-7.45-7.45L6.689 8.55l7.45 7.45-7.45 7.45 1.862 1.862 7.45-7.45 7.45 7.45 1.862-1.862-7.45-7.45z"/></svg>
827          </span>
828          <span class="icon__fallback-text">Site navigation</span>
829        </button>
830      </div>
831      <div class="grid__item small--one-half medium-up--two-thirds small--text-center">
832        
833          <div class="site-header__logo h1" itemscope itemtype="http://schema.org/Organization">
834        
835          
836            
837            <a href="/" itemprop="url" class="site-header__logo-link">
838              <img src="//www.grandhall.com/cdn/shop/files/Grandhall_lOGO_WHITE-23-23_150x.png?v=1634190659"
839                   srcset="//www.grandhall.com/cdn/shop/files/Grandhall_lOGO_WHITE-23-23_150x.png?v=1634190659 1x, //www.grandhall.com/cdn/shop/files/[email protected]?v=1634190659 2x"
840                   alt="Grandhall"
841                   itemprop="logo">
842            </a>
843          
844        
845          </div>
846        
847      </div>
848
849      <div class="grid__item small--one-quarter medium-up--one-third text-right">
850        <div id="SiteNavSearchCart" class="site-header__search-cart-wrapper">
851          <form action="/search" method="get" class="site-header__search small--hide" role="search">
852            
853              <label for="SiteNavSearch" class="visually-hidden">Search</label>
854              <input type="search" name="q" id="SiteNavSearch" placeholder="Search" aria-label="Search" class="site-header__search-input">
855
856            <button type="submit" class="text-link site-header__link site-header__search-submit">
857              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 32 32"><path fill="#444" d="M21.839 18.771a10.012 10.012 0 0 0 1.57-5.39c0-5.548-4.493-10.048-10.034-10.048-5.548 0-10.041 4.499-10.041 10.048s4.493 10.048 10.034 10.048c2.012 0 3.886-.594 5.456-1.61l.455-.317 7.165 7.165 2.223-2.263-7.158-7.165.33-.468zM18.995 7.767c1.498 1.498 2.322 3.49 2.322 5.608s-.825 4.11-2.322 5.608c-1.498 1.498-3.49 2.322-5.608 2.322s-4.11-.825-5.608-2.322c-1.498-1.498-2.322-3.49-2.322-5.608s.825-4.11 2.322-5.608c1.498-1.498 3.49-2.322 5.608-2.322s4.11.825 5.608 2.322z"/></svg>
858              <span class="icon__fallback-text">Search</span>
859            </button>
860          </form>
861
862          <a href="/cart" class="site-header__link site-header__cart">
863            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 31 32"><path d="M14.568 25.629c-1.222 0-2.111.889-2.111 2.111 0 1.111 1 2.111 2.111 2.111 1.222 0 2.111-.889 2.111-2.111s-.889-2.111-2.111-2.111zm10.22 0c-1.222 0-2.111.889-2.111 2.111 0 1.111 1 2.111 2.111 2.111 1.222 0 2.111-.889 2.111-2.111s-.889-2.111-2.111-2.111zm2.555-3.777H12.457L7.347 7.078c-.222-.333-.555-.667-1-.667H1.792c-.667 0-1.111.444-1.111 1s.444 1 1.111 1h3.777l5.11 14.885c.111.444.555.666 1 .666h15.663c.555 0 1.111-.444 1.111-1 0-.666-.555-1.111-1.111-1.111zm2.333-11.442l-18.44-1.555h-.111c-.555 0-.777.333-.667.889l3.222 9.22c.222.555.889 1 1.444 1h13.441c.555 0 1.111-.444 1.222-1l.778-7.443c.111-.555-.333-1.111-.889-1.111zm-2 7.443H15.568l-2.333-6.776 15.108 1.222-.666 5.554z"/></svg>
864            <span class="icon__fallback-text">Cart</span>
865            <span class="site-header__cart-indicator hide"></span>
866          </a>
867        </div>
868      </div>
869    </div>
870  </div>
871
872  <div id="StickNavWrapper">
873    <div id="StickyBar" class="sticky">
874      <nav class="nav-bar small--hide" role="navigation" id="StickyNav">
875        <div class="page-width">
876          <div class="grid grid--table">
877            <div class="grid__item four-fifths" id="SiteNavParent">
878              <button type="button" class="hide text-link site-nav__link site-nav__link--compressed js-drawer-open-left" id="SiteNavCompressed">
879                <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 32 32">
879<path fill="#444" d="M4.889 14.958h22.222v2.222H4.889v-2.222zM4.889 8.292h22.222v2.222H4.889V8.292zM4.889 21.625h22.222v2.222H4.889v-2.222z"/></svg>
880                <span class="site-nav__link-menu-label">Menu</span>
881                <span class="icon__fallback-text">Site navigation</span>
882              </button>
883              <ul class="site-nav list--inline" id="SiteNav">
884                
885                  
886
887                  
888                  
889                  
890                  
891
892                  
893
894                  
895                  
896
897                  
898                    <li class="site-nav__item">
899                      <a href="/" class="site-nav__link">
900                        HOME
901                      </a>
902                    </li>
903                  
904                
905                  
906
907                  
908                  
909                  
910                  
911
912                  
913
914                  
915                  
916
917                  
918                    <li class="site-nav__item">
919                      <a href="/pages/about-us" class="site-nav__link">
920                        ABOUT US
921                      </a>
922                    </li>
923                  
924                
925                  
926
927                  
928                  
929                  
930                  
931
932                  
933
934                  
935                  
936
937                  
938                    <li class="site-nav__item">
939                      <a href="/pages/sustainability" class="site-nav__link">
940                        SUSTAINABILITY
941                      </a>
942                    </li>
943                  
944                
945                  
946
947                  
948                  
949                  
950                  
951
952                  
953
954                  
955                  
956
957                  
958                    <li class="site-nav__item site-nav__item--no-columns" aria-haspopup="true">
959                      <a href="/collections/our-category" class="site-nav__link site-nav__link-toggle" id="SiteNavLabel-product-and-service" aria-controls="SiteNavLinklist-product-and-service" aria-expanded="false">
960                        PRODUCT AND SERVICE
961                        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-down" viewBox="0 0 32 32"><path fill="#444" d="M26.984 8.5l1.516 1.617L16 23.5 3.5 10.117 5.008 8.5 16 20.258z"/></svg>
962                      </a>
963
964                      <div class="site-nav__dropdown meganav site-nav__dropdown--second-level" id="SiteNavLinklist-product-and-service" aria-labelledby="SiteNavLabel-product-and-service" role="navigation">
965                        <ul class="meganav__nav page-width">
966                          
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990<div class="grid grid--no-gutters meganav__scroller--has-list">
991  <div class="grid__item meganav__list one-fifth">
992
993    
994
995    
996
997    
998      
999      
1000
1001      
1002
1003      <li class="site-nav__dropdown-container">
1004        
1005        
1006        
1007        
1008
1009        
1010          
1011
1012          <a href="/collections/gas-grills-pizza-ovens" class="meganav__link meganav__link--second-level meganav__link-toggle site-nav__link-toggle meganav__link--has-list"  id="SiteNavLabel-grills-pizza-ovens" aria-controls="SiteNavLinklist-grills-pizza-ovens" aria-expanded="false">
1013            Grills/ Pizza Ovens
1014            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-right" viewBox="0 0 32 32"><path fill="#444" d="M7.667 3.795l1.797-1.684L24.334 16 9.464 29.889l-1.797-1.675L20.731 16z"/></svg>
1015          </a>
1016
1017          <div class="site-nav__dropdown site-nav__dropdown--third-level "
1018            id="SiteNavLinklist-grills-pizza-ovens"
1019            aria-labelledby="SiteNavLabel-grills-pizza-ovens">
1020
1021            <ul class="meganav__list meganav__list--gutter">
1022              
1023                <li class="site-nav__dropdown-container site-nav__dropdown-container--third-level">
1024                  <a href="/collections/gas-grill-turbo-series" class="meganav__link meganav__link--third-level">
1025                    Gas Grills Turbo
1026                  </a>
1027                </li>
1028              
1029                <li class="site-nav__dropdown-container site-nav__dropdown-container--third-level">
1030                  <a href="/collections/gas-grill-crossray" class="meganav__link meganav__link--third-level">
1031                    Gas Grills Crossray
1032                  </a>
1033                </li>
1034              
1035                <li class="site-nav__dropdown-container site-nav__dropdown-container--third-level">
1036                  <a href="/collections/gas-pizza-ovens" class="meganav__link meganav__link--third-level">
1037                    Gas Pizza Ovens
1038                  </a>
1039                </li>
1040              
1041            </ul>
1042          </div>
1043        
1044      </li>
1045
1046      
1047      
1048        
1049        
1050      
1051        
1052        
1053      
1054        
1055        
1056      
1057        
1058        
1059      
1060        
1061        
1062      
1063    
1064      
1065      
1066
1067      
1068
1069      <li class="site-nav__dropdown-container">
1070        
1071        
1072        
1073        
1074
1075        
1076          
1077
1078          <a href="/collections/valves" class="meganav__link meganav__link--second-level meganav__link-toggle site-nav__link-toggle meganav__link--has-list"  id="SiteNavLabel-valves" aria-controls="SiteNavLinklist-valves" aria-expanded="false">
1079            Valves
1080            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-right" viewBox="0 0 32 32">
1080<path fill="#444" d="M7.667 3.795l1.797-1.684L24.334 16 9.464 29.889l-1.797-1.675L20.731 16z"/></svg>
1081          </a>
1082
1083          <div class="site-nav__dropdown site-nav__dropdown--third-level "
1084            id="SiteNavLinklist-valves"
1085            aria-labelledby="SiteNavLabel-valves">
1086
1087            <ul class="meganav__list meganav__list--gutter">
1088              
1089                <li class="site-nav__dropdown-container site-nav__dropdown-container--third-level">
1090                  <a href="/collections/lp-gas-cylinder-valve" class="meganav__link meganav__link--third-level">
1091                    LP- Gas Cylinder Valve
1092                  </a>
1093                </li>
1094              
1095                <li class="site-nav__dropdown-container site-nav__dropdown-container--third-level">
1096                  <a href="/collections/high-pressure-valve" class="meganav__link meganav__link--third-level">
1097                    High- Pressure Valve
1098                  </a>
1099                </li>
1100              
1101                <li class="site-nav__dropdown-container site-nav__dropdown-container--third-level">
1102                  <a href="/collections/forklift-truck-cylinder-valve" class="meganav__link meganav__link--third-level">
1103                    Forklift Truck Cylinder Valve
1104                  </a>
1105                </li>
1106              
1107                <li class="site-nav__dropdown-container site-nav__dropdown-container--third-level">
1108                  <a href="/collections/forging-product" class="meganav__link meganav__link--third-level">
1109                    Forging Product
1110                  </a>
1111                </li>
1112              
1113                <li class="site-nav__dropdown-container site-nav__dropdown-container--third-level">
1114                  <a href="/collections/diy-hand-held-torch" class="meganav__link meganav__link--third-level">
1115                    DIY Hand-Held Torch
1116                  </a>
1117                </li>
1118              
1119            </ul>
1120          </div>
1121        
1122      </li>
1123
1124      
1125      
1126        
1127        
1128      
1129        
1130        
1131      
1132        
1133        
1134      
1135        
1136        
1137      
1138        
1139        
1140      
1141    
1142      
1143      
1144
1145      
1146
1147      <li class="site-nav__dropdown-container">
1148        
1149        
1150        
1151        
1152
1153        
1154          <a href="/collections/heaters" class="meganav__link meganav__link--second-level">
1155            Heaters
1156          </a>
1157        
1158      </li>
1159
1160      
1161      
1162        
1163        
1164      
1165        
1166        
1167      
1168        
1169        
1170      
1171        
1172        
1173      
1174        
1175        
1176      
1177    
1178  </div>
1179
1180  
1181</div>
1182
1183                        </ul>
1184                      </div>
1185                    </li>
1186                  
1187                
1188                  
1189
1190                  
1191                  
1192                  
1193                  
1194
1195                  
1196
1197                  
1198                  
1199
1200                  
1201                    <li class="site-nav__item">
1202                      <a href="/pages/contact-us" class="site-nav__link">
1203                        CONTACT US
1204                      </a>
1205                    </li>
1206                  
1207                
1208              </ul>
1209            </div>
1210            <div class="grid__item one-fifth text-right">
1211              <div class="sticky-only" id="StickyNavSearchCart"></div>
1212              
1213                <div class="customer-login-links sticky-hidden">
1214                  
1215                    <a href="https://www.grandhall.com/customer_authentication/redirect?locale=en&amp;region_country=US" id="customer_login_link">Account</a>
1216                  
1217                </div>
1218              
1219            </div>
1220          </div>
1221        </div>
1222      </nav>
1223      <div id="NotificationSuccess" class="notification notification--success" aria-hidden="true">
1224        <div class="page-width notification__inner notification__inner--has-link">
1225          <a href="/cart" class="notification__link">
1226            <span class="notification__message">Item added to cart. <span>View cart and check out</span>.</span>
1227          </a>
1228          <button type="button" class="text-link notification__close">
1229            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 32 32">
1229<path fill="#444" d="M25.313 8.55l-1.862-1.862-7.45 7.45-7.45-7.45L6.689 8.55l7.45 7.45-7.45 7.45 1.862 1.862 7.45-7.45 7.45 7.45 1.862-1.862-7.45-7.45z"/></svg>
1230            <span class="icon__fallback-text">Close</span>
1231          </button>
1232        </div>
1233      </div>
1234      <div id="NotificationError" class="notification notification--error" aria-hidden="true">
1235        <div class="page-width notification__inner">
1236          <span class="notification__message notification__message--error" aria-live="assertive" aria-atomic="true"></span>
1237          <button type="button" class="text-link notification__close">
1238            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 32 32"><path fill="#444" d="M25.313 8.55l-1.862-1.862-7.45 7.45-7.45-7.45L6.689 8.55l7.45 7.45-7.45 7.45 1.862 1.862 7.45-7.45 7.45 7.45 1.862-1.862-7.45-7.45z"/></svg>
1239            <span class="icon__fallback-text">Close</span>
1240          </button>
1241        </div>
1242      </div>
1243    </div>
1244  </div>
1245
1246  
1247</header>
1248
1249
1250<style> #shopify-section-header .notification__message {font-size: 12px !important;} #shopify-section-header p.announcement-bar__message {min-height: 3.8rem !important;} </style></div>
1251
1252  <div class="page-container page-element is-moved-by-drawer">
1253    <main class="main-content" id="MainContent" role="main">
1254      
1255
1256<div id="shopify-section-cart-template" class="shopify-section"><div data-section-id="cart-template" data-section-type="cart">
1257  <div class="page-width">
1258    
1259      <div class="page-empty text-center">
1260        <h1>Shopping Cart</h1>
1261        <p class="cart--empty-message">Your cart is currently empty.</p>
1262        <hr>
1263        <p class="cart--continue-message">
1264          <a href="/collections/all" class="btn">Continue browsing</a>
1265        </p>
1266        <p class="cart--cookie-message">Enable cookies to use the shopping cart</p>
1267      </div>
1268    
1269  </div>
1270
1271  
1271<script id="CartProductTemplate" type="text/template">
1272    
1273      {{#items}}
1274      <tr class="cart__row responsive-table__row">
1275        <td class="cart__cell--image text-center">
1276          <a href="{{ url }}" class="cart__image">
1277            <img src="{{ img }}" alt="{{ name }}">
1278          </a>
1279        </td>
1280        <td>
1281          <a href="{{ url }}" class="h5">
1282            {{{ name }}}
1283          </a>
1284          {{#if variation}}
1285            <p>{{variation}}</p>
1286          {{/if}}
1287          {{#if sellingPlanAllocation}}
1288            <p>{{sellingPlanAllocation.selling_plan.name}}</p>
1289          {{/if}}
1290          {{#properties}}
1291            {{#each this}}
1292              {{#if this}}
1293                <p>{{@key}}: {{this}}</p>
1294              {{/if}}
1295            {{/each}}
1296          {{/properties}}
1297
1298          <p>
1299            <a href="/cart/change?line={{ line }}&amp;quantity=0">Remove</a>
1300          </p>
1301        </td>
1302        <td class="cart__cell--quantity">
1303          <label for="Updates_{{ key }}" class="cart__quantity-label medium-up--hide">
1304            Quantity</label>
1305          <input type="number" name="updates[]" id="Updates_{{ key }}" value="{{ itemQty }}" min="0" data-line="{{ line }}" aria-label="Quantity">
1306        </td>
1307        <td class="cart__cell--total">
1308          {{#if discountsApplied}}
1309            <span class="visually-hidden">Regular price</span>
1310            <del class="cart__item-total">{{{originalLinePrice}}}</del>
1311            <span class="visually-hidden">Sale price</span>
1312            <span class="cart__item-total">{{{linePrice}}}</span>
1313          {{else}}
1314            <span class="cart__item-total">{{{originalLinePrice}}}</span>
1315          {{/if}}
1316          {{#if discountsApplied}}
1317            <ul class="order-discount order-discount--cart order-discount--list order-discount--title" aria-label="Discount">
1318              {{#each discounts}}
1319                <li class="order-discount__item">
1320                  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-saletag"><path d="M10 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3H7a1 1 0 0 0-.71.29l-6 6a1 1 0 0 0 0 1.42l4 4a1 1 0 0 0 1.42 0c.19-.2 5.8-5.81 6-6A1 1 0 0 0 12 5V2a2 2 0 0 0-2-2z" fill="#231F20"/></svg>{{ this.discount_application.title }} (-{{{ this.formattedAmount }}})
1321                </li>
1322              {{/each}}
1323            </ul>
1324          {{/if}}
1325          {{#if unitPrice}}
1326            <span class="visually-hidden">Unit price</span>
1327            <span class="product-unit-price">
1328              
1329
1330
1331              <span>{{{ unitPrice.price }}}</span><span aria-hidden="true">/</span><span class="visually-hidden">&nbsp;per&nbsp;</span>{{#if unitPrice.addRefererenceValue }}{{{ unitPrice.reference_value }}}{{/if}}{{{ unitPrice.reference_unit }}}
1332            </span>
1333          {{/if}}
1334        </td>
1335      </tr>
1336      {{/items}}
1337    
1338  </script>
1338
1339
1340  
1340<script id="CartFooterTemplate" type="text/template">
1341    
1342      {{#if cartDiscountsApplied}}
1343        <div id="cartDiscountTotal" class="order-discount-cart-wrapper">
1344          {{#each cartDiscounts}}
1345            <span class="order-discount order-discount--title order-discount--cart">
1346              <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-saletag"><path d="M10 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3H7a1 1 0 0 0-.71.29l-6 6a1 1 0 0 0 0 1.42l4 4a1 1 0 0 0 1.42 0c.19-.2 5.8-5.81 6-6A1 1 0 0 0 12 5V2a2 2 0 0 0-2-2z" fill="#231F20"/></svg><span class="visually-hidden">Discount:</span>{{ this.title }}
1347            </span>
1348            <span class="order-discount order-discount--cart"><strong>-{{{ this.formattedAmount }}}</strong></span>
1349          {{/each}}
1350        </div>
1351      {{/if}}
1352      <p class="h3 cart__subtotal" id="CartSubtotal">{{{totalPrice}}}</p>
1353    
1354  </script>
1354
1355</div>
1356
1357<script type="application/json" id="CartJson-cart-template">
1358  {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"TWD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}
1359</script>
1359
1360
1361
1362
1363
1364</div>
1365
1366    </main>
1367
1368  </div>
1369
1370  
1370<script id="QuantityTemplate" type="text/template">
1371    
1372      <div class="js-qty">
1373        <input type="text" value="{{ value }}" id="{{ key }}" name="{{ name }}" pattern="[0-9]*" data-line="{{ line }}" class="js-qty__input" aria-live="polite">
1374        <button type="button" class="js-qty__adjust js-qty__adjust--minus" aria-label="Reduce item quantity by one">
1375          <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-minus" viewBox="0 0 22 3"><path fill="#000" d="M21.5.5v2H.5v-2z" fill-rule="evenodd"/></svg>
1376          <span class="icon__fallback-text">−</span>
1377        </button>
1378        <button type="button" class="js-qty__adjust js-qty__adjust--plus" aria-label="Increase item quantity by one">
1379          <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus" viewBox="0 0 22 21"><path d="M12 11.5h9.5v-2H12V0h-2v9.5H.5v2H10V21h2v-9.5z" fill="#000" fill-rule="evenodd"/></svg>
1380          <span class="icon__fallback-text">+</span>
1381        </button>
1382      </div>
1383    
1384  </script>
1384
1385
1386  
1387
1388  <ul hidden>
1389    <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li>
1390    <li id="a11y-selection-message">Press the space key then arrow keys to make a selection.</li>
1391    <li id="a11y-slideshow-info">Use left/right arrows to navigate the slideshow or swipe left/right if using a mobile device</li>
1392  </ul>
1393<style>  </style>
1394<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
1394
1395</body>
1396</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.