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 – 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®ion_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&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 }}&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"> per </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.