1<!doctype html> 2<html class="js" lang="en"> 3 <head> 4 5
5<script type="text/javascript" src="https://www.bugherd.com/sidebarv2.js?apikey=a6jitxlza8srkzqlf0wtww" async="true"></script>
5 6 7 <meta charset="utf-8"> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 9 <meta name="viewport" content="width=device-width,initial-scale=1"> 10 <meta name="theme-color" content=""> 11 <link rel="canonical" href="https://www.anniechun.com/"> 12 <!-- CookiePro Cookies Consent Notice start for anniechun.com --> 13
13<script src="https://cookie-cdn.cookiepro.com/scripttemplates/otSDKStub.js" data-language="en" type="text/javascript" charset="UTF-8" data-domain-script="10284c01-d6b2-4fc6-86c4-dde17d6d04f1" ></script>
13 14
14<script type="text/javascript"> 15 function OptanonWrapper() { } 16 </script>
16 17 <!-- Google Tag Manager --> 18
18<script>
vendor: 351 bytes, lines 18-22
18(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 19 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 20 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 21 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 22 })(window,document,'script','dataLayer','
22GTM-TZD7C2D
vendor: 3 bytes, line 22
22');
22</script>
22 23 <!-- End Google Tag Manager --> 24 <!-- CookiePro Cookies Consent Notice end for anniechun.com --><link rel="icon" type="image/png" href="//www.anniechun.com/cdn/shop/files/Favicon.png?crop=center&height=32&v=1754512134&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> 25 Annie Chun 26</title> 27 28 29 30 31 32<meta property="og:site_name" content="Annie Chun"> 33<meta property="og:url" content="https://www.anniechun.com/"> 34<meta property="og:title" content="Annie Chun"> 35<meta property="og:type" content="website"> 36<meta property="og:description" content="Annie Chun"><meta property="og:image" content="http://www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?height=628&pad_color=ffffff&v=1754512065&width=1200"> 37 <meta property="og:image:secure_url" content="https://www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?height=628&pad_color=ffffff&v=1754512065&width=1200"> 38 <meta property="og:image:width" content="1200"> 39 <meta property="og:image:height" content="628"><meta name="twitter:card" content="summary_large_image"> 40<meta name="twitter:title" content="Annie Chun"> 41<meta name="twitter:description" content="Annie Chun"> 42 43 <link href="//www.anniechun.com/cdn/shop/t/3/assets/custom-fonts.css?v=181395335545410075471773173084" rel="stylesheet" type="text/css" media="all" /> 44 45
45<script src="//www.anniechun.com/cdn/shop/t/3/assets/constants.js?v=132983761750457495441771885386" defer="defer"></script>
45 46
46<script src="//www.anniechun.com/cdn/shop/t/3/assets/pubsub.js?v=25310214064522200911771885386" defer="defer"></script>
46 47
47<script src="//www.anniechun.com/cdn/shop/t/3/assets/global.js?v=7301445359237545521771885386" defer="defer"></script>
47 48
48<script src="//www.anniechun.com/cdn/shop/t/3/assets/details-disclosure.js?v=13653116266235556501771885386" defer="defer"></script>
48 49
49<script src="//www.anniechun.com/cdn/shop/t/3/assets/details-modal.js?v=25581673532751508451771885386" defer="defer"></script>
49 50
50<script src="//www.anniechun.com/cdn/shop/t/3/assets/search-form.js?v=133129549252120666541771885386" defer="defer"></script>
50<script src="//www.anniechun.com/cdn/shop/t/3/assets/animations.js?v=88693664871331136111771885386" defer="defer"></script>
50<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
50<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/94380589342/digital_wallets/dialog"> 51<meta id="in-context-paypal-metadata" data-shop-id="94380589342" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 52<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
52<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=5858689310"></script>
vendor: 1 bytes, line 52
52
53<script id="shopify-features" type="application/json">{"accessToken":"1923f9d64c35e04fda15a4031ebf1a78","betas":["rich-media-storefront-analytics"],"domain":"www.anniechun.com","predictiveSearch":true,"shopId":94380589342,"locale":"en"}</script>
vendor: 1 bytes, line 53
53
54<script>var Shopify = Shopify || {}; 55Shopify.shop = "anniechun.myshopify.com"; 56Shopify.locale = "en"; 57Shopify.currency = {"active":"USD","rate":"1.0"}; 58Shopify.country = "US"; 59Shopify.theme = {"name":"Home page edits (BUGHERD ACTIVE!)","id":186230079774,"schema_name":"Dawn","schema_version":"15.4.0","theme_store_id":887,"role":"main"}; 60Shopify.theme.handle = "null"; 61Shopify.theme.style = {"id":null,"handle":null}; 62Shopify.cdnHost = "www.anniechun.com/cdn"; 63Shopify.routes = Shopify.routes || {}; 64Shopify.routes.root = "/"; 65Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 66Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 67Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 68Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 68
68
69<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 69
69
70<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 70
70
71<script> 72 window.Shopify = window.Shopify || {}; 73 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 74 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 75 window.Shopify.SignInWithShop.eligible = true; 76</script>
vendor: 1 bytes, line 76
76
77<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 77
77
78<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 78
78
79<script type="module"> 80 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 81 82 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 83 84</script>
vendor: 1 bytes, line 84
84
85<script> 86 window.Shopify = window.Shopify || {}; 87 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 88 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"]}; 89</script>
vendor: 1 bytes, line 89
89
90<script id="__st">var __st={"a":94380589342,"offset":-14400,"reqid":"655ab47d-ca47-45c4-9628-b6f68305dac6-1791073668","pageurl":"www.anniechun.com\/","u":"b116fe483e43","p":"home"};</script>
vendor: 1 bytes, line 90
90
91<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 91
91
92<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 92
92
93<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.anniechun.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 93
93
94<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.anniechun.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>
94<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 94
94
95<script> 96 window.Shopify = window.Shopify || {}; 97 window.Shopify.MCP = window.Shopify.MCP || {}; 98 window.Shopify.MCP.enabled = true; 99 window.Shopify.MCP.shop = "anniechun.myshopify.com"; 100 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.anniechun.com\/api\/mcp"; 101 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"]}}]; 102</script>
vendor: 1 bytes, line 102
102
103<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.anniechun.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 104</script>
vendor: 1 bytes, line 104
104
105<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.anniechun.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 106</script>
vendor: 1 bytes, line 106
106
107<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 108 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); 109</script>
vendor: 1 bytes, line 109
109
110<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})}})); 111</script>
111 112<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.anniechun.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 113<style id="shopify-accelerated-checkout-cart"> 114 #shopify-buyer-consent { 115 margin-top: 1em; 116 display: inline-block; 117 width: 100%; 118} 119 120#shopify-buyer-consent.hidden { 121 display: none; 122} 123 124#shopify-subscription-policy-button { 125 background: none; 126 border: none; 127 padding: 0; 128 text-decoration: underline; 129 font-size: inherit; 130 cursor: pointer; 131} 132 133#shopify-subscription-policy-button::before { 134 box-shadow: none; 135} 136 137 </style>
138<script id="sections-script" data-sections="header" defer="defer" src="//www.anniechun.com/cdn/shop/t/3/compiled_assets/scripts.js?v=15489360255143692751771885386"></script>
vendor: 1 bytes, line 138
138
139<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
139 140 141 142 <style data-shopify> 143 @font-face { 144 font-family: Assistant; 145 font-weight: 400; 146 font-style: normal; 147 font-display: swap; 148 src: url("//www.anniechun.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2") format("woff2"), 149 url("//www.anniechun.com/cdn/fonts/assistant/assistant_n4.6e9875ce64e0fefcd3f4446b7ec9036b3ddd2985.woff") format("woff"); 150} 151 152 @font-face { 153 font-family: Assistant; 154 font-weight: 700; 155 font-style: normal; 156 font-display: swap; 157 src: url("//www.anniechun.com/cdn/fonts/assistant/assistant_n7.bf44452348ec8b8efa3aa3068825305886b1c83c.woff2") format("woff2"), 158 url("//www.anniechun.com/cdn/fonts/assistant/assistant_n7.0c887fee83f6b3bda822f1150b912c72da0f7b64.woff") format("woff"); 159} 160 161 162 163 @font-face { 164 font-family: Assistant; 165 font-weight: 400; 166 font-style: normal; 167 font-display: swap; 168 src: url("//www.anniechun.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2") format("woff2"), 169 url("//www.anniechun.com/cdn/fonts/assistant/assistant_n4.6e9875ce64e0fefcd3f4446b7ec9036b3ddd2985.woff") format("woff"); 170} 171 172 173 174 :root, 175 .color-scheme-1 { 176 --color-background: 255,255,255; 177 178 --gradient-background: #ffffff; 179 180 181 182 183 --color-foreground: 18,18,18; 184 --color-background-contrast: 191,191,191; 185 --color-shadow: 18,18,18; 186 --color-button: 18,18,18; 187 --color-button-text: 255,255,255; 188 --color-secondary-button: 255,255,255; 189 --color-secondary-button-text: 18,18,18; 190 --color-link: 18,18,18; 191 --color-badge-foreground: 18,18,18; 192 --color-badge-background: 255,255,255; 193 --color-badge-border: 18,18,18; 194 --payment-terms-background-color: rgb(255 255 255); 195 } 196 197 198 .color-scheme-2 { 199 --color-background: 243,243,243; 200 201 --gradient-background: #f3f3f3; 202 203 204 205 206 --color-foreground: 18,18,18; 207 --color-background-contrast: 179,179,179; 208 --color-shadow: 18,18,18; 209 --color-button: 18,18,18; 210 --color-button-text: 243,243,243; 211 --color-secondary-button: 243,243,243; 212 --color-secondary-button-text: 18,18,18; 213 --color-link: 18,18,18; 214 --color-badge-foreground: 18,18,18; 215 --color-badge-background: 243,243,243; 216 --color-badge-border: 18,18,18; 217 --payment-terms-background-color: rgb(243 243 243); 218 } 219 220 221 .color-scheme-3 { 222 --color-background: 36,40,51; 223 224 --gradient-background: #242833; 225 226 227 228 229 --color-foreground: 255,255,255; 230 --color-background-contrast: 47,52,66; 231 --color-shadow: 18,18,18; 232 --color-button: 255,255,255; 233 --color-button-text: 0,0,0; 234 --color-secondary-button: 36,40,51; 235 --color-secondary-button-text: 255,255,255; 236 --color-link: 255,255,255; 237 --color-badge-foreground: 255,255,255; 238 --color-badge-background: 36,40,51; 239 --color-badge-border: 255,255,255; 240 --payment-terms-background-color: rgb(36 40 51); 241 } 242 243 244 .color-scheme-4 { 245 --color-background: 18,18,18; 246 247 --gradient-background: #121212; 248 249 250 251 252 --color-foreground: 255,255,255; 253 --color-background-contrast: 146,146,146; 254 --color-shadow: 18,18,18; 255 --color-button: 255,255,255; 256 --color-button-text: 18,18,18; 257 --color-secondary-button: 18,18,18; 258 --color-secondary-button-text: 255,255,255; 259 --color-link: 255,255,255; 260 --color-badge-foreground: 255,255,255; 261 --color-badge-background: 18,18,18; 262 --color-badge-border: 255,255,255; 263 --payment-terms-background-color: rgb(18 18 18); 264 } 265 266 267 .color-scheme-5 { 268 --color-background: 51,79,180; 269 270 --gradient-background: #334fb4; 271 272 273 274 275 --color-foreground: 255,255,255; 276 --color-background-contrast: 23,35,81; 277 --color-shadow: 18,18,18; 278 --color-button: 255,255,255; 279 --color-button-text: 51,79,180; 280 --color-secondary-button: 51,79,180; 281 --color-secondary-button-text: 255,255,255; 282 --color-link: 255,255,255; 283 --color-badge-foreground: 255,255,255; 284 --color-badge-background: 51,79,180; 285 --color-badge-border: 255,255,255; 286 --payment-terms-background-color: rgb(51 79 180); 287 } 288 289 290 body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5 { 291 color: rgba(var(--color-foreground), 0.75); 292 background-color: rgb(var(--color-background)); 293 } 294 295 :root { 296 --font-body-family: Assistant, sans-serif; 297 --font-body-style: normal; 298 --font-body-weight: 400; 299 --font-body-weight-bold: 700; 300 301 --font-heading-family: Assistant, sans-serif; 302 --font-heading-style: normal; 303 --font-heading-weight: 400; 304 305 --font-body-scale: 1.0; 306 --font-heading-scale: 1.0; 307 308 --media-padding: px; 309 --media-border-opacity: 0.05; 310 --media-border-width: 1px; 311 --media-radius: 0px;
312 --media-shadow-opacity: 0.0; 313 --media-shadow-horizontal-offset: 0px; 314 --media-shadow-vertical-offset: 4px; 315 --media-shadow-blur-radius: 5px; 316 --media-shadow-visible: 0; 317 318 --page-width: 140rem; 319 --page-width-margin: 0rem; 320 321 --product-card-image-padding: 0.0rem; 322 --product-card-corner-radius: 0.0rem; 323 --product-card-text-alignment: left; 324 --product-card-border-width: 0.0rem; 325 --product-card-border-opacity: 0.1; 326 --product-card-shadow-opacity: 0.0; 327 --product-card-shadow-visible: 0; 328 --product-card-shadow-horizontal-offset: 0.0rem; 329 --product-card-shadow-vertical-offset: 0.4rem; 330 --product-card-shadow-blur-radius: 0.5rem; 331 332 --collection-card-image-padding: 0.0rem; 333 --collection-card-corner-radius: 0.0rem; 334 --collection-card-text-alignment: left; 335 --collection-card-border-width: 0.0rem; 336 --collection-card-border-opacity: 0.1; 337 --collection-card-shadow-opacity: 0.0; 338 --collection-card-shadow-visible: 0; 339 --collection-card-shadow-horizontal-offset: 0.0rem; 340 --collection-card-shadow-vertical-offset: 0.4rem; 341 --collection-card-shadow-blur-radius: 0.5rem; 342 343 --blog-card-image-padding: 0.0rem; 344 --blog-card-corner-radius: 0.0rem; 345 --blog-card-text-alignment: left; 346 --blog-card-border-width: 0.0rem; 347 --blog-card-border-opacity: 0.1; 348 --blog-card-shadow-opacity: 0.0; 349 --blog-card-shadow-visible: 0; 350 --blog-card-shadow-horizontal-offset: 0.0rem; 351 --blog-card-shadow-vertical-offset: 0.4rem; 352 --blog-card-shadow-blur-radius: 0.5rem; 353 354 --badge-corner-radius: 4.0rem; 355 356 --popup-border-width: 1px; 357 --popup-border-opacity: 0.1; 358 --popup-corner-radius: 0px; 359 --popup-shadow-opacity: 0.05; 360 --popup-shadow-horizontal-offset: 0px; 361 --popup-shadow-vertical-offset: 4px; 362 --popup-shadow-blur-radius: 5px; 363 364 --drawer-border-width: 1px; 365 --drawer-border-opacity: 0.1; 366 --drawer-shadow-opacity: 0.0; 367 --drawer-shadow-horizontal-offset: 0px; 368 --drawer-shadow-vertical-offset: 4px; 369 --drawer-shadow-blur-radius: 5px; 370 371 --spacing-sections-desktop: 0px; 372 --spacing-sections-mobile: 0px; 373 374 --grid-desktop-vertical-spacing: 8px; 375 --grid-desktop-horizontal-spacing: 8px; 376 --grid-mobile-vertical-spacing: 4px; 377 --grid-mobile-horizontal-spacing: 4px; 378 379 --text-boxes-border-opacity: 0.1; 380 --text-boxes-border-width: 0px; 381 --text-boxes-radius: 0px; 382 --text-boxes-shadow-opacity: 0.0; 383 --text-boxes-shadow-visible: 0; 384 --text-boxes-shadow-horizontal-offset: 0px; 385 --text-boxes-shadow-vertical-offset: 4px; 386 --text-boxes-shadow-blur-radius: 5px; 387 388 --buttons-radius: 0px; 389 --buttons-radius-outset: 0px; 390 --buttons-border-width: 1px; 391 --buttons-border-opacity: 1.0; 392 --buttons-shadow-opacity: 0.0; 393 --buttons-shadow-visible: 0; 394 --buttons-shadow-horizontal-offset: 0px; 395 --buttons-shadow-vertical-offset: 4px; 396 --buttons-shadow-blur-radius: 5px; 397 --buttons-border-offset: 0px; 398 399 --inputs-radius: 0px; 400 --inputs-border-width: 1px; 401 --inputs-border-opacity: 0.55; 402 --inputs-shadow-opacity: 0.0; 403 --inputs-shadow-horizontal-offset: 0px; 404 --inputs-margin-offset: 0px; 405 --inputs-shadow-vertical-offset: 4px; 406 --inputs-shadow-blur-radius: 5px; 407 --inputs-radius-outset: 0px; 408 409 --variant-pills-radius: 40px; 410 --variant-pills-border-width: 1px; 411 --variant-pills-border-opacity: 0.55; 412 --variant-pills-shadow-opacity: 0.0; 413 --variant-pills-shadow-horizontal-offset: 0px; 414 --variant-pills-shadow-vertical-offset: 4px; 415 --variant-pills-shadow-blur-radius: 5px; 416 } 417 418 *, 419 *::before, 420 *::after { 421 box-sizing: inherit; 422 } 423 424 html { 425 box-sizing: border-box; 426 font-size: calc(var(--font-body-scale) * 62.5%); 427 height: 100%; 428 } 429 430 body { 431 display: grid; 432 grid-template-rows: auto auto 1fr auto; 433 grid-template-columns: 100%; 434 min-height: 100%; 435 margin: 0; 436 font-size: 1.5rem; 437 letter-spacing: 0.06rem; 438 line-height: calc(1 + 0.8 / var(--font-body-scale)); 439 font-family: var(--font-body-family); 440 font-style: var(--font-body-style); 441 font-weight: var(--font-body-weight); 442 } 443 444 @media screen and (min-width: 750px) { 445 body { 446 font-size: 1.6rem; 447 } 448 } 449 </style> 450 451 <link href="//www.anniechun.com/cdn/shop/t/3/assets/base.css?v=86525160391457991921782847372" rel="stylesheet" type="text/css" media="all" /> 452 <link rel="stylesheet" href="//www.anniechun.com/cdn/shop/t/3/assets/component-cart-items.css?v=13033300910818915211771885386" media="print" onload="this.media='all'"> 453 <link rel="preload" as="font" href="//www.anniechun.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2" type="font/woff2" crossorigin> 454 455 456 <link rel="preload" as="font" href="//www.anniechun.com/cdn/fonts/assistant/assistant_n4.9120912a469cad1cc292572851508ca49d12e768.woff2" type="font/woff2" crossorigin> 457 458<link 459 rel="stylesheet" 460 href="//www.anniechun.com/cdn/shop/t/3/assets/component-predictive-search.css?v=118923337488134913561771885386" 461 media="print" 462 onload="this.media='all'" 463 >
463<script> 464 if (Shopify.designMode) { 465 document.documentElement.classList.add('shopify-design-mode'); 466 } 467 </script>
467 468 <meta name="ps-key" content="4185-645ecb87b89b6d005ba8149e"> 469 <meta name="ps-country" content="1"> 470 <meta name="ps-language" content="EN"> 471
471<script src="//cdn.pricespider.com/1/lib/ps-widget.js" async></script>
471 472 <!-- MS clarity --> 473
473<script type="text/javascript"> 474 (function(c,l,a,r,i,t,y){ 475 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 476 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 477 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 478 })(window, document, "clarity", "script", "t4inutb5v8"); 479 </script>
479 480
480<script async type='text/javascript' src='https://static.klaviyo.com/onsite/js/V9RpeM/klaviyo.js?company_id=V9RpeM'></script>
480 481
481<script type="text/javascript">!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}(); </script>
481 482 <!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 483 484 485 486 487 488 489 490 491 492 493 494 495
495<script async src="https://static.klaviyo.com/onsite/js/V9RpeM/klaviyo.js?company_id=V9RpeM"></script>
495 496
496<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
496 497 498 499 500 501 502 503
503<script> 504 window.klaviyoReviewsProductDesignMode = false 505 </script>
505 506 507 508 509 510 511 512 513 514 515<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
516<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: 94380589342,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 516
516
517<script> 518 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 519</script>
vendor: 1 bytes, line 519
519
520<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}
520).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: 94380589342,storefrontBaseUrl: "https://www.anniechun.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.anniechun.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2494791966","configuration":"{\"accountID\":\"V9RpeM\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["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":"Annie Chun","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"anniechun.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.anniechun.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"9836462506270","handle":"yakisoba-noodle-bowl-with-vegetables","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50072203821342","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9836422267166","handle":"pad-thai-noodle-bowl-with-vegetables","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50072104829214","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9836461326622","handle":"shoyu-ramen-soup-bowl-with-vegetables-tofu","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50072199266590","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9836459295006","handle":"peanut-satay-noodle-bowl","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50072193859870","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9836461883678","handle":"spicy-ramen-soup-bowl-with-vegetables","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50072200085790","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9836464931102","handle":"spicy-kung-pao-noodle-bowl-with-vegetables","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50072215355678","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9836420890910","handle":"miso-soup-bowl-with-vegetables-tofu","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50072101716254","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9835545985310","handle":"sweet-chili-noodle-bowl-with-vegetables","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50068128399646","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9836460278046","handle":"pho-soup-bowl-with-vegetables","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50072197202206","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9836230115614","handle":"teriyaki-noodle-bowl-with-vegetables","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50071568908574","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://www.anniechun.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"186230079774","themeStoreId":"887","themePublished":"true","eventMetadataId":"0e1c5ff0-e7df-4103-b152-a5dfb019575c","pageType":"home","shopId":"94380589342","storefrontBaseUrl":"https:\/\/www.anniechun.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>
520<script> 521 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 522 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 523 window.ShopifyAnalytics.meta.currency = 'USD'; 524 var meta = {"page":{"pageType":"home","requestId":"655ab47d-ca47-45c4-9628-b6f68305dac6-1791073668"}}; 525 for (var attr in meta) { 526 window.ShopifyAnalytics.meta[attr] = meta[attr]; 527 } 528</script>
vendor: 1 bytes, line 528
528
529<script class="analytics"> 530 (function () { 531 var customDocumentWrite = function(content) { 532 var jquery = null; 533 534 if (window.jQuery) { 535 jquery = window.jQuery; 536 } else if (window.Checkout && window.Checkout.$) { 537 jquery = window.Checkout.$; 538 } 539 540 if (jquery) { 541 jquery('body').append(content); 542 } 543 }; 544 545 var hasLoggedConversion = function(token) { 546 if (token) { 547 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 548 } 549 return false; 550 } 551 552 var setCookieIfConversion = function(token) { 553 if (token) { 554 var twoMonthsFromNow = new Date(Date.now()); 555 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 556 557 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 558 } 559 } 560 561 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 562 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 563 if (trekkie.integrations) { 564 return; 565 } 566 trekkie.methods = [ 567 'identify', 568 'page', 569 'ready', 570 'track', 571 'trackForm', 572 'trackLink' 573 ]; 574 trekkie.factory = function(method) { 575 return function() { 576 var args = Array.prototype.slice.call(arguments); 577 args.unshift(method); 578 trekkie.push(args); 579 if (method == 'track' || method == 'page') { 580 var pageUrl; 581 try { 582 pageUrl = window.location.href; 583 } catch (e) {} 584 var pageReferrer; 585 try { 586 pageReferrer = document.referrer; 587 } catch (e) {} 588 try { 589 if (window.__TREKKIE_SHIM_QUEUE == null) { 590 window.__TREKKIE_SHIM_QUEUE = []; 591 } 592 window.__TREKKIE_SHIM_QUEUE.push({ 593 from: 'trekkie-stub', 594 method: method, 595 args: args.slice(1), 596 pageContext: { 597 url: pageUrl, 598 referrer: pageReferrer 599 } 600 }); 601 } catch (e) { 602 // no-op 603 } 604 } 605 return trekkie; 606 }; 607 }; 608 for (var i = 0; i < trekkie.methods.length; i++) { 609 var key = trekkie.methods[i]; 610 trekkie[key] = trekkie.factory(key); 611 } 612 trekkie.load = function(config) { 613 trekkie.config = config || {}; 614 trekkie.config.initialDocumentCookie = document.cookie; 615 var first = document.getElementsByTagName('script')[0]; 616var script = document.createElement('script'); 617script.type = 'text/javascript'; 618script.onerror = function(e) { 619 var scriptFallback = document.createElement('script'); 620 scriptFallback.type = 'text/javascript'; 621 scriptFallback.onerror = function(error) { 622 var Monorail = { 623 produce: function produce(monorailDomain, schemaId, payload) { 624 var currentMs = new Date().getTime(); 625 var event = { 626 schema_id: schemaId, 627 payload: payload, 628 metadata: { 629 event_created_at_ms: currentMs, 630 event_sent_at_ms: currentMs 631 } 632 }; 633 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 634 }, 635 sendRequest: function sendRequest(endpointUrl, payload) { 636 // Try the sendBeacon API 637 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 638 var blobData = new window.Blob([payload], { 639 type: 'text/plain' 640 }); 641 642 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 643 return true; 644 } // sendBeacon was not successful 645 646 } // XHR beacon 647 648 var xhr = new XMLHttpRequest(); 649 650 try { 651 xhr.open('POST', endpointUrl); 652 xhr.setRequestHeader('Content-Type', 'text/plain'); 653 xhr.send(payload); 654 } catch (e) { 655 console.log(e); 656 } 657 658 return false; 659 }, 660 isIos12: function isIos12() { 661 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 662 } 663 }; 664 Monorail.produce('monorail-edge.shopifysvc.com', 665 'trekkie_storefront_load_errors/1.1', 666 {shop_id: 94380589342, 667 theme_id: 186230079774, 668 app_name: "storefront", 669 context_url: window.location.href, 670 source_url: "//www.anniechun.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 671 672 }; 673 scriptFallback.async = true; 674 scriptFallback.src = '//www.anniechun.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 675 first.parentNode.insertBefore(scriptFallback, first); 676}; 677script.async = true; 678script.src = '//www.anniechun.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 679first.parentNode.insertBefore(script, first); 680 681 }; 682 trekkie.load( 683 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":94380589342,"isMerchantRequest":null,"themeId":186230079774,"themeCityHash":"11819851313636446282","contentLanguage":"en","currency":"USD","eventMetadataId":"0e1c5ff0-e7df-4103-b152-a5dfb019575c"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 684 ); 685 686 var loaded = false;
687 trekkie.ready(function() { 688 if (loaded) return; 689 loaded = true; 690 691 window.ShopifyAnalytics.lib = window.trekkie; 692 693 var originalDocumentWrite = document.write; 694 document.write = customDocumentWrite; 695 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 696 document.write = originalDocumentWrite; 697 698 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 699 var token = match? match[1]: undefined; 700 if (!hasLoggedConversion(token)) { 701 setCookieIfConversion(token); 702 703 } 704 }); 705 706 window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"655ab47d-ca47-45c4-9628-b6f68305dac6-1791073668","shopifyEmitted":true}); 707 708 var eventsListenerScript = document.createElement('script'); 709 eventsListenerScript.async = true; 710 eventsListenerScript.src = "//www.anniechun.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 711 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 712})();</script>
vendor: 1 bytes, line 712
712
713<script 714 defer 715 src="https://www.anniechun.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 716 data-application="storefront-renderer" 717 data-shop-id="94380589342" 718 data-render-region="gcp-us-central1" 719 data-page-type="index" 720 data-theme-instance-id="186230079774" 721 data-theme-name="Dawn" 722 data-theme-version="15.4.0" 723 data-monorail-region="shop_domain" 724 data-resource-timing-sampling-rate="10" 725 data-shs="true" 726 data-shs-beacon="true" 727 data-shs-export-with-fetch="true" 728 data-shs-logs-sample-rate="1" 729 data-shs-beacon-endpoint="https://www.anniechun.com/api/collect" 730></script>
730 731<meta name="shopify-y" content="15dd731c-fb23-465e-8f7f-a0bbbe5cb99f" data-expiration="1822631268000"><meta name="shopify-s" content="35d77e9c-30e6-4305-a3e6-906268360046" data-expiration="1791075468000"><meta name="new-cookie-storage-activated" content="t"> 732</head> 733 734 <body class="gradient"> 735 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 736 Skip to content 737 </a><!-- BEGIN sections: header-group --> 738<div id="shopify-section-sections--26667007082782__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//www.anniechun.com/cdn/shop/t/3/assets/component-list-menu.css?v=151968516119678728991771885386" media="print" onload="this.media='all'"> 739<link rel="stylesheet" href="//www.anniechun.com/cdn/shop/t/3/assets/component-search.css?v=165164710990765432851771885386" media="print" onload="this.media='all'"> 740<link rel="stylesheet" href="//www.anniechun.com/cdn/shop/t/3/assets/component-menu-drawer.css?v=147478906057189667651771885386" media="print" onload="this.media='all'"> 741<link 742 rel="stylesheet" 743 href="//www.anniechun.com/cdn/shop/t/3/assets/component-cart-notification.css?v=54116361853792938221771885386" 744 media="print" 745 onload="this.media='all'" 746><link rel="stylesheet" href="//www.anniechun.com/cdn/shop/t/3/assets/component-price.css?v=47596247576480123001771885386" media="print" onload="this.media='all'"><style> 747.mobile-menu[hidden]{display:none!important} 748.menu-drawer-container{display:flex} 749.list-menu{list-style:none;padding:0;margin:0} 750.list-menu--inline{display:inline-flex;flex-wrap:wrap} 751summary.list-menu__item{padding-right:2.7rem} 752.list-menu__item{display:flex;align-items:center;line-height:calc(1 + 0.3 / var(--font-body-scale))} 753.list-menu__item--link{text-decoration:none;padding-bottom:1rem;padding-top:1rem;line-height:calc(1 + 0.8 / var(--font-body-scale))} 754@media (min-width:750px){.list-menu__item--link{padding-bottom:.5rem;padding-top:.5rem}} 755 756@media (min-width:990px){ 757 .header--middle-center{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem} 758 .header--middle-center .header__left-menu{grid-column:1;justify-self:start;display:flex;align-items:center} 759 .header--middle-center .header__branding{grid-column:2;justify-self:center} 760 .header--middle-center .header__icons{grid-column:3;justify-self:end;display:flex;align-items:center;gap:1.6rem} 761 .header__inline-menu{display:inline-flex;flex-wrap:wrap;align-items:center;gap:1.2rem;min-height:100%} 762 .header__inline-menu .list-menu__item--link{padding-top:.5rem;padding-bottom:.5rem} 763 .header__inline-menu--right{margin-right:.5rem} 764 .header__left-menu .list-menu__item,.header__inline-menu--right .list-menu__item{position:relative} 765 .nav-dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:220px;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.06);box-shadow:0 10px 25px rgba(0,0,0,.10),0 2px 6px rgba(0,0,0,.06);padding:8px;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:50;margin-top:-9px} 766 .header__inline-menu--right .nav-dropdown{right:0;left:auto} 767 .list-menu__item.has-children:hover>.nav-dropdown,.list-menu__item.has-children:focus-within>.nav-dropdown{opacity:1;transform:translateY(0);pointer-events:auto} 768 .nav-dropdown::before{content:"";position:absolute;top:-8px;left:28px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #fff;filter:drop-shadow(0 -1px 1px rgba(0,0,0,.06))} 769 .header__inline-menu--right .nav-dropdown::before{left:auto;right:28px} 770 .nav-dropdown__list{list-style:none;margin:0;padding:4px;width:280px} 771 .nav-dropdown__item+.nav-dropdown__item{margin-top:2px} 772 .nav-dropdown__link{display:block;padding:8px 10px;border-radius:8px;text-decoration:none;line-height:1.3} 773 .nav-dropdown__link:hover,.nav-dropdown__link:focus{background:rgba(0,0,0,.04);outline:none} 774 .nav-dropdown__item--group{padding:0} 775 nav li li{margin:0} 776 nav li li a.link{color:#541686;text-transform:uppercase} 777 .nav-group__title{display:block;font-weight:600;padding:8px 0;border-bottom:2px solid #541686;border-radius:0;text-decoration:none;line-height:1.3} 778 .nav-group__title:hover,.nav-group__title:focus{opacity:.6;outline:none;cursor:pointer} 779 .nav-subgrid{list-style:none;margin:6px 0 2px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:4px} 780 .nav-subgrid__item{margin:0}
781 .nav-subgrid__link{display:block;padding:6px 0;border-radius:8px;text-decoration:none;line-height:1.3} 782 .nav-subgrid__link:hover,.nav-subgrid__link:focus{opacity:.6;outline:none;cursor:pointer} 783} 784 785@media (max-width:989px){ 786 .header__left-menu, 787 .header__inline-menu--right{display:none!important} 788 .mobile-menu ul {padding-left:0;} 789 .mobile-menu > ul > li > ul > li > a {display:none;} 790 .mobile-menu ul ul ul {display:flex;flex-wrap: wrap;margin-left:20px;} 791 .mobile-menu ul ul ul a {font-size:15px;padding-right:0px;color:#fff;} 792 .mobile-menu ul ul ul a::after {padding-left:10px;content:'-';font-family:'arial';color: #eddbb62e;} 793 .mobile-menu ul ul ul li:last-of-type a::after {display:none;} 794 .mobile-menu li, .mobile-menu li a {text-decoration:none;list-style:none;margin-left:0;} 795 .small-only{display:block} 796 .header__heading-logo {max-width: 90%; margin-bottom: 0;margin-top:0;} 797 798 .header{ 799 position:relative; 800 display:flex; 801 align-items:center; 802 justify-content:flex-start; 803 gap:0; 804 text-align:left; 805 } 806 807 /* keep logo hard-left */ 808 .header__branding{order:1;flex:0 0 auto;margin-right:auto;text-align:left} 809 .header .header__heading, 810 .header .header__heading-link{order:1;margin:0!important} 811 .header--mobile-center .header__heading-link, 812 .header--mobile-left .header__heading-link{margin:0!important} 813 814 .header .header__heading-logo-wrapper{align-self:flex-start;display:block} 815 816 /* burger pinned hard-right, independent of flex flow */ 817 .header__hamburger.small-only{ 818 position:absolute;right:1rem;top:50%;transform:translateY(-50%); 819 margin:0;background:transparent;border:0;padding:8px;line-height:1;cursor:pointer 820 } 821 822 .mobile-menu.small-only{order:4;width:100%} 823 824 .header__hamburger .hamburger{display:inline-block;width:26px;height:20px;position:relative;color: #f2dbb1;} 825 .header__hamburger .hamburger span{ 826 position:absolute;left:0;right:0;height:2px;top:0;transform-origin:center; 827 transition:transform 180ms ease,opacity 180ms ease,top 180ms ease;background:currentColor 828 } 829 .header__hamburger .hamburger span:nth-child(1){top:0} 830 .header__hamburger .hamburger span:nth-child(2){top:9px} 831 .header__hamburger .hamburger span:nth-child(3){top:18px} 832 .header__hamburger[aria-expanded="true"] .hamburger span:nth-child(1){top:9px;transform:rotate(45deg)} 833 .header__hamburger[aria-expanded="true"] .hamburger span:nth-child(2){opacity:0} 834 .header__hamburger[aria-expanded="true"] .hamburger span:nth-child(3){top:9px;transform:rotate(-45deg)} 835 .section-header{ position: static !important; } 836 sticky-header{ position: static !important; display:block; } 837 .section-header.scrolled-past-header .header{ padding-top: unset; padding-bottom: unset; } 838 .section-header.scrolled-past-header .header .header__heading-logo-wrapper{ height: auto; } 839} 840 841/* mobile menu slide-down */ 842.mobile-menu{overflow:hidden;max-height:0;transition:max-height 260ms ease} 843.mobile-menu.is-open{} 844.mobile-menu[hidden]{display:none!important} 845 846/* hide hamburger/menu on desktop */ 847@media (min-width:990px){.small-only{display:none!important}} 848 849.header__hamburger .hamburger{display:inline-block;width:26px;height:20px;position:relative} 850.header__hamburger .hamburger span{position:absolute;left:0;right:0;height:2px;top:0;transform-origin:center;transition:transform 180ms ease,opacity 180ms ease,top 180ms ease;background:currentColor} 851.header__hamburger .hamburger span:nth-child(1){top:0} 852.header__hamburger .hamburger span:nth-child(2){top:9px} 853.header__hamburger .hamburger span:nth-child(3){top:18px} 854.header__hamburger[aria-expanded="true"] .hamburger span:nth-child(1){top:9px;transform:rotate(45deg)} 855.header__hamburger[aria-expanded="true"] .hamburger span:nth-child(2){opacity:0} 856.header__hamburger[aria-expanded="true"] .hamburger span:nth-child(3){top:9px;transform:rotate(-45deg)} 857 858.mobile-menu{overflow:hidden;max-height:0;transition:max-height 260ms ease} 859.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0} 860 861.header{padding:10px 3rem 10px 3rem} 862.section-header.scrolled-past-header .header{padding-top:0;padding-bottom:0} 863.section-header.scrolled-past-header .header .header__heading-logo-wrapper{height:60px} 864.section-header{position:sticky;margin-bottom:0px} 865@media (max-width:750px){ .header__hamburger[aria-expanded="true"] ~ .header__branding {display: none;}} 866@media (min-width:750px){.section-header{margin-bottom:0px}} 867@media (min-width:990px){.header{padding-top:20px;padding-bottom:20px}} 868 869 870.scrolled-past-header .header__heading-logo-wrapper{width:50%} 871 872 873header-drawer{justify-self:start;margin-left:-1.2rem} 874 875@media (min-width:990px){header-drawer{display:none}} 876 877.header__heading-logo-wrapper{display:inline-block;vertical-align:top} 878</style> 879
880<script src="//www.anniechun.com/cdn/shop/t/3/assets/cart-notification.js?v=133508293167896966491771885386" defer="defer"></script>
880 881 882<sticky-header 883 884 data-sticky-type="reduce-logo-size" 885 886 class="header-wrapper color-scheme-1 gradient header-wrapper--border-bottom" 887><header class="header header--middle-center header--mobile-center page-width header--has-account"> 888 889<button 890 class="header__hamburger small-only" 891 type="button" 892 aria-controls="MobileMenu-sections--26667007082782__header" 893 aria-expanded="false" 894> 895 <span class="hamburger" aria-hidden="true"> 896 <span></span><span></span><span></span> 897 </span> 898 <span class="sr-only">Menu</span> 899</button> 900 901 902<nav id="MobileMenu-sections--26667007082782__header" class="mobile-menu small-only" hidden> 903 <ul><li> 904 <a href="/products">Our Noodles</a><ul><li> 905 <a href="/products">our noodles</a><ul><li><a href="/products/yakisoba-noodle-bowl-with-vegetables">Yakisoba</a></li><li><a href="/products/miso-soup-bowl-with-vegetables-tofu">Miso Soup</a></li><li><a href="/products/sweet-chili-noodle-bowl-with-vegetables">Sweet Chili</a></li><li><a href="/products/peanut-satay-noodle-bowl">Peanut Satay</a></li><li><a href="/products/teriyaki-noodle-bowl-with-vegetables">Teriyaki</a></li><li><a href="/products/shoyu-ramen-soup-bowl-with-vegetables-tofu">Shoyu Ramen</a></li><li><a href="/products/pho-soup-bowl-with-vegetables">Pho Soup</a></li><li><a href="/products/spicy-ramen-soup-bowl-with-vegetables">Spicy Ramen</a></li><li><a href="/products/spicy-kung-pao-noodle-bowl-with-vegetables">Spicy Kung Pao</a></li><li><a href="/products/pad-thai-noodle-bowl-with-vegetables">Pad Thai</a></li></ul></li></ul></li><li> 906 <a href="/blogs/recipes">Some Recipes</a></li><li> 907 <a href="#footer-form-jump">Sign Up</a></li><li> 908 <a href="#">Where To Buy</a></li></ul> 909</nav> 910 911 912 913<nav class="header__left-menu" aria-label="Primary (left)"><ul class="list-menu list-menu--inline" role="list"><li class="list-menu__item has-children"> 914 <a href="/products" class="list-menu__item--link link focus-inset" aria-haspopup="true"> 915 <span>Our Noodles</span> 916 </a><div class="nav-dropdown" role="menu"> 917 <ul class="nav-dropdown__list" role="none"><!-- Child with grandchildren: render as TITLE + 2-col grid --> 918 <li class="nav-dropdown__item nav-dropdown__item--group" role="none"> 919 <a class="nav-group__title link" href="/products"> 920 our noodles 921 </a> 922 <ul class="nav-subgrid" role="none"><li class="nav-subgrid__item" role="none"> 923 <a class="nav-subgrid__link link" role="menuitem" href="/products/yakisoba-noodle-bowl-with-vegetables"> 924 Yakisoba 925 </a> 926 </li><li class="nav-subgrid__item" role="none"> 927 <a class="nav-subgrid__link link" role="menuitem" href="/products/miso-soup-bowl-with-vegetables-tofu"> 928 Miso Soup 929 </a> 930 </li><li class="nav-subgrid__item" role="none"> 931 <a class="nav-subgrid__link link" role="menuitem" href="/products/sweet-chili-noodle-bowl-with-vegetables"> 932 Sweet Chili 933 </a> 934 </li><li class="nav-subgrid__item" role="none"> 935 <a class="nav-subgrid__link link" role="menuitem" href="/products/peanut-satay-noodle-bowl"> 936 Peanut Satay 937 </a> 938 </li><li class="nav-subgrid__item" role="none"> 939 <a class="nav-subgrid__link link" role="menuitem" href="/products/teriyaki-noodle-bowl-with-vegetables"> 940 Teriyaki 941 </a> 942 </li><li class="nav-subgrid__item" role="none"> 943 <a class="nav-subgrid__link link" role="menuitem" href="/products/shoyu-ramen-soup-bowl-with-vegetables-tofu"> 944 Shoyu Ramen 945 </a> 946 </li><li class="nav-subgrid__item" role="none"> 947 <a class="nav-subgrid__link link" role="menuitem" href="/products/pho-soup-bowl-with-vegetables"> 948 Pho Soup 949 </a> 950 </li><li class="nav-subgrid__item" role="none"> 951 <a class="nav-subgrid__link link" role="menuitem" href="/products/spicy-ramen-soup-bowl-with-vegetables"> 952 Spicy Ramen 953 </a> 954 </li><li class="nav-subgrid__item" role="none"> 955 <a class="nav-subgrid__link link" role="menuitem" href="/products/spicy-kung-pao-noodle-bowl-with-vegetables"> 956 Spicy Kung Pao 957 </a> 958 </li><li class="nav-subgrid__item" role="none"> 959 <a class="nav-subgrid__link link" role="menuitem" href="/products/pad-thai-noodle-bowl-with-vegetables"> 960 Pad Thai 961 </a> 962 </li></ul> 963 </li></ul> 964 </div></li><li class="list-menu__item "> 965 <a href="/blogs/recipes" class="list-menu__item--link link focus-inset" >
966 <span>Some Recipes</span> 967 </a></li></ul></nav> 968<div class="header__branding"><h1 class="header__heading"><a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper"> 969 970 <img src="//www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?v=1754512065&width=600" alt="Annie Chun" srcset="//www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?v=1754512065&width=200 200w, //www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?v=1754512065&width=300 300w, //www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?v=1754512065&width=400 400w" width="200" height="124.00000000000001" loading="eager" class="header__heading-logo" sizes="(min-width: 750px) 200px, 50vw"> 971 </div></a></h1></div><div class="header__icons"><nav class="header__inline-menu header__inline-menu--right" aria-label="Primary (right)"><ul class="list-menu list-menu--inline" role="list"><li class="list-menu__item "> 972 <a href="#footer-form-jump" class="list-menu__item--link link focus-inset" > 973 <span>Sign Up</span> 974 </a></li><li class="list-menu__item "> 975 <a href="#" class="list-menu__item--link link focus-inset" > 976 <span>Where To Buy</span> 977 </a></li></ul></nav></div> 978 979 </header> 980</sticky-header> 981 982<cart-notification> 983 <div class="cart-notification-wrapper page-width"> 984 <div 985 id="cart-notification" 986 class="cart-notification focus-inset color-scheme-1 gradient" 987 aria-modal="true" 988 aria-label="Item added to your cart" 989 role="dialog" 990 tabindex="-1" 991 > 992 <div class="cart-notification__header"> 993 <h2 class="cart-notification__heading caption-large text-body"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9"><path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"/></svg> 994Item added to your cart 995 </h2> 996 <button 997 type="button" 998 class="cart-notification__close modal__close-button link link--text focus-inset" 999 aria-label="Close" 1000 > 1001 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 1002</span> 1003 </button> 1004 </div> 1005 <div id="cart-notification-product" class="cart-notification-product"></div> 1006 <div class="cart-notification__links"> 1007 <a 1008 href="/cart" 1009 id="cart-notification-button" 1010 class="button button--secondary button--full-width" 1011 >View cart</a> 1012 <form action="/cart" method="post" id="cart-notification-form"> 1013 <button class="button button--primary button--full-width" name="checkout"> 1014 Check out 1015 </button> 1016 </form> 1017 <button type="button" class="link button-label">Continue shopping</button> 1018 </div> 1019 </div> 1020 </div> 1021</cart-notification> 1022<style data-shopify> 1023 .cart-notification { 1024 display: none; 1025 } 1026</style> 1027 1028
1029<script type="application/ld+json"> 1030 { 1031 "@context": "http://schema.org", 1032 "@type": "Organization", 1033 "name": "Annie Chun", 1034 1035 "logo": "https:\/\/www.anniechun.com\/cdn\/shop\/files\/AC_primary_logo_2025.png?v=1754512065\u0026width=500", 1036 1037 "sameAs": [ 1038 "", 1039 "", 1040 "", 1041 "", 1042 "", 1043 "", 1044 "", 1045 "", 1046 "" 1047 ], 1048 "url": "https:\/\/www.anniechun.com" 1049 } 1050</script>
1050<style> 1051 li.list-menu__item .ps-widget, 1052 nav.mobile-menu .ps-widget, .ps-widget.__wtb-header { display:none !important; } 1053</style> 1054
1055<script> 1056(function WTBHeaderInject(){ 1057 function setup(scope){ 1058 var ps = document.querySelector('body > .ps-widget.__wtb-header'); 1059 if (!ps) { 1060 ps = document.createElement('div'); 1061 ps.className = 'ps-widget __wtb-header'; 1062 ps.setAttribute('ps-widget-type', 'lightbox'); 1063 ps.setAttribute('ps-sku', '8-07176-54042-8'); 1064 ps.setAttribute('tabindex', '-1'); 1065 ps.style.display = 'none'; 1066 ps.setAttribute('aria-hidden', 'true'); 1067 document.body.appendChild(ps); 1068 } 1069 1070 function bindTrigger(el){ 1071 if (!el || el.dataset.psBound === '1') return; 1072 el.dataset.psBound = '1'; 1073 el.addEventListener('click', function(e){ e.preventDefault(); ps.click(); }); 1074 el.addEventListener('keydown', function(e){ 1075 if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); ps.click(); } 1076 }); 1077 } 1078 1079 var desktopItem = document.querySelector('.header__inline-menu--right > .list-menu > .list-menu__item:last-child > .list-menu__item--link'); 1080 var desktopLabel = null; 1081 if (desktopItem) { 1082 desktopLabel = (desktopItem.textContent || '').trim(); 1083 bindTrigger(desktopItem); 1084 } 1085 1086 var mobileMenu = document.querySelector('#MobileMenu-sections--26667007082782__header'); 1087 if (mobileMenu) { 1088 var mobileLink = null; 1089 if (desktopLabel) { 1090 var links = mobileMenu.querySelectorAll('a'); 1091 for (var i=0; i<links.length; i++) { 1092 if ((links[i].textContent || '').trim() === desktopLabel) { mobileLink = links[i]; break; } 1093 } 1094 } 1095 if (!mobileLink) { 1096 mobileLink = mobileMenu.querySelector('> ul > li:last-child > a'); 1097 } 1098 bindTrigger(mobileLink); 1099 } 1100 1101 document.addEventListener('variant:change', function(e){ 1102 var v = e.detail && e.detail.variant; 1103 if (!v) return; 1104 var sku = (v.sku && v.sku.trim()) ? v.sku : '8-07176-54042-8'; 1105 ps.setAttribute('ps-sku', sku); 1106 }); 1107 } 1108 1109 document.addEventListener('DOMContentLoaded', function(){ setup(document); }); 1110 document.addEventListener('shopify:section:load', function(e){ setup(e.target); }); 1111})(); 1112</script>
1112 1113
1113<script type="application/ld+json"> 1114 { 1115 "@context": "http://schema.org", 1116 "@type": "WebSite", 1117 "name": "Annie Chun", 1118 "potentialAction": { 1119 "@type": "SearchAction", 1120 "target": "https:\/\/www.anniechun.com\/search?q={search_term_string}", 1121 "query-input": "required name=search_term_string" 1122 }, 1123 "url": "https:\/\/www.anniechun.com" 1124 } 1125 </script>
1125<script> 1126(function bindMobileMenu(scope){ 1127 function setup(root){ 1128 if(!root) return; 1129 var btn = root.querySelector('.header__hamburger[aria-controls^="MobileMenu-"]'); 1130 var menu = btn ? document.getElementById(btn.getAttribute('aria-controls')) : null; 1131 if(!btn || !menu) return; 1132 1133 if (btn.dataset.bound === '1') return; 1134 btn.dataset.bound = '1'; 1135 1136 function openMenu(){ 1137 menu.removeAttribute('hidden'); 1138 menu.style.maxHeight = '0px'; 1139 menu.classList.add('is-open'); 1140 requestAnimationFrame(function(){ 1141 menu.style.maxHeight = menu.scrollHeight + 'px'; 1142 }); 1143 btn.setAttribute('aria-expanded','true'); 1144 } 1145 1146 function closeMenu(){ 1147 menu.style.maxHeight = menu.scrollHeight + 'px'; 1148 requestAnimationFrame(function(){ 1149 menu.style.maxHeight = '0px'; 1150 }); 1151 btn.setAttribute('aria-expanded','false'); 1152 1153 var onEnd = function(e){ 1154 if (e.target !== menu) return; 1155 menu.setAttribute('hidden',''); 1156 menu.classList.remove('is-open'); 1157 menu.style.maxHeight = ''; // cleanup 1158 menu.removeEventListener('transitionend', onEnd); 1159 }; 1160 menu.addEventListener('transitionend', onEnd); 1161 } 1162 1163 btn.addEventListener('click', function(){ 1164 var open = btn.getAttribute('aria-expanded') === 'true'; 1165 if (open) closeMenu(); else openMenu(); 1166 }); 1167 } 1168 1169 setup(document); 1170 1171 document.addEventListener('shopify:section:load', function(e){ setup(e.target); }); 1172})(); 1173</script>
1173 1174 1175 1176 1177</div> 1178<!-- END sections: header-group --> 1179 1180 <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 1181 <section id="shopify-section-template--26667010425118__arc_hero_parallax_KPXiK8" class="shopify-section arc-hero-section"><section id="arc-hero-template--26667010425118__arc_hero_parallax_KPXiK8" class="arc-hero" 1182 style=" 1183 --pt: 48px; 1184 --pb: 128px; 1185 1186 --overlay-h: 700px; 1187 --overlay-color: #5a2d90; 1188 --arc-start: 0px; 1189 --arc-depth: 9000px; 1190 --arc-shadow: #0000002e; 1191 --arc-shadow-size: 0px; 1192 --arc-width: 1940px; /* arc span that never changes */ 1193 1194 --title-color: #ffffff; 1195 --title-shadow: #00000066; 1196 --title-offset: 10%; 1197 1198 --fade-ms: 650ms; 1199 --autoplay-ms: 3800; 1200 --parallax-strength: 0.2; 1201 " 1202> 1203 <div class="arc-hero__bg" aria-hidden="true"> 1204 1205 <img 1206 class="arc-hero__bg-img" 1207 src="//www.anniechun.com/cdn/shop/files/Main_Product_Repeat_x2_b7d8447e-93fc-445c-9ac5-147b93804f5a.jpg?v=1755624508&width=2000" 1208 srcset=" 1209 //www.anniechun.com/cdn/shop/files/Main_Product_Repeat_x2_b7d8447e-93fc-445c-9ac5-147b93804f5a.jpg?v=1755624508&width=900 900w, 1210 //www.anniechun.com/cdn/shop/files/Main_Product_Repeat_x2_b7d8447e-93fc-445c-9ac5-147b93804f5a.jpg?v=1755624508&width=1400 1400w, 1211 //www.anniechun.com/cdn/shop/files/Main_Product_Repeat_x2_b7d8447e-93fc-445c-9ac5-147b93804f5a.jpg?v=1755624508&width=1800 1800w, 1212 //www.anniechun.com/cdn/shop/files/Main_Product_Repeat_x2_b7d8447e-93fc-445c-9ac5-147b93804f5a.jpg?v=1755624508&width=2400 2400w 1213 " 1214 sizes="100vw" 1215 alt="" 1216 loading="lazy" 1217 > 1218 1219 </div> 1220 1221 <svg width="0" height="0" aria-hidden="true" class="arc-hero__defs"> 1222 <defs> 1223 <clipPath id="arc-clip-template--26667010425118__arc_hero_parallax_KPXiK8" clipPathUnits="userSpaceOnUse"> 1224 <path id="arc-path-template--26667010425118__arc_hero_parallax_KPXiK8" d="M0,0 H0 V0 Q0,0 0,0 Z"></path> 1225 </clipPath> 1226 </defs> 1227 </svg> 1228 1229 <div class="arc-hero__overlay"> 1230 <div class="arc-hero__slides" role="region" aria-label="Feature slides"> 1231 1232 1233 <div class="arc-hero__slide is-active" > 1234 <img 1235 class="arc-hero__media" 1236 src="//www.anniechun.com/cdn/shop/files/Main_Slider_1.jpg?v=1755105056&width=2000" 1237 srcset=" 1238 //www.anniechun.com/cdn/shop/files/Main_Slider_1.jpg?v=1755105056&width=1000 1000w, 1239 //www.anniechun.com/cdn/shop/files/Main_Slider_1.jpg?v=1755105056&width=1400 1400w, 1240 //www.anniechun.com/cdn/shop/files/Main_Slider_1.jpg?v=1755105056&width=2000 2000w 1241 " 1242 sizes="100vw" 1243 alt="" 1244 loading="eager" 1245 fetchpriority="high" 1246 > 1247 1248 <h2 class="arc-hero__title"><span>embrace the</span> Slurp</h2> 1249 1250 </div> 1251 1252 1253 1254 <div class="arc-hero__slide" > 1255 <img 1256 class="arc-hero__media" 1257 src="//www.anniechun.com/cdn/shop/files/Main_Slider_2.jpg?v=1755707210&width=2000" 1258 srcset=" 1259 //www.anniechun.com/cdn/shop/files/Main_Slider_2.jpg?v=1755707210&width=1000 1000w, 1260 //www.anniechun.com/cdn/shop/files/Main_Slider_2.jpg?v=1755707210&width=1400 1400w, 1261 //www.anniechun.com/cdn/shop/files/Main_Slider_2.jpg?v=1755707210&width=2000 2000w 1262 " 1263 sizes="100vw" 1264 alt="" 1265 loading="lazy" 1266 fetchpriority="auto" 1267 > 1268 1269 <h2 class="arc-hero__title"><span>embrace the</span> Slurp</h2> 1270 1271 </div> 1272 1273 1274 1275 <div class="arc-hero__slide" > 1276 <img 1277 class="arc-hero__media" 1278 src="//www.anniechun.com/cdn/shop/files/Main_Slider_3.jpg?v=1755707210&width=2000" 1279 srcset=" 1280 //www.anniechun.com/cdn/shop/files/Main_Slider_3.jpg?v=1755707210&width=1000 1000w, 1281 //www.anniechun.com/cdn/shop/files/Main_Slider_3.jpg?v=1755707210&width=1400 1400w, 1282 //www.anniechun.com/cdn/shop/files/Main_Slider_3.jpg?v=1755707210&width=2000 2000w 1283 " 1284 sizes="100vw" 1285 alt="" 1286 loading="lazy" 1287 fetchpriority="auto" 1288 > 1289 1290 <h2 class="arc-hero__title"><span>embrace the</span> Slurp</h2> 1291 1292 </div> 1293 1294 1295 </div> 1296 </div> 1297</section> 1298 1299<style> 1300#arc-hero-template--26667010425118__arc_hero_parallax_KPXiK8{ 1301 position: relative; 1302 overflow: clip; 1303 padding-top: 0;
1304 padding-bottom: var(--pb); 1305} 1306 1307.arc-hero__bg{ position: absolute; inset: 0; z-index: 0; overflow: hidden; } 1308.arc-hero__bg-img{ 1309 position:absolute; 1310 inset: 0 auto auto 0; 1311 width: 100%; 1312 top: calc(var(--overscan, 40vh) / -2); 1313 height: calc(100% + var(--overscan, 40vh)); 1314 object-fit: cover; 1315 transform: translateY(0); 1316 will-change: transform; 1317} 1318 1319 1320.arc-hero__overlay{ 1321 position: relative; 1322 z-index: 2; 1323 height: var(--overlay-h); 1324 display: grid; 1325 place-items: start center; 1326 background: var(--overlay-color); 1327 overflow: hidden; 1328 clip-path: url(#arc-clip-template--26667010425118__arc_hero_parallax_KPXiK8); 1329 margin-top: -30px; 1330} 1331 1332.arc-hero__overlay::after{ 1333 content:""; 1334 position: absolute; inset: 0; 1335 pointer-events: none; 1336 box-shadow: 0 var(--arc-shadow-size) var(--arc-shadow-size) var(--arc-shadow); 1337} 1338 1339.arc-hero__slides{ position: relative; width: 100%; height: 100%; } 1340.arc-hero__slide{ 1341 position: absolute; inset: 0; 1342 display: grid; place-items: center; 1343 overflow: hidden; 1344 opacity: 0; visibility: hidden; 1345 transition: opacity var(--fade-ms) ease, visibility var(--fade-ms) step-end; 1346} 1347 1348.arc-hero__media{ 1349 position: absolute; inset: 0; 1350 width: 100%; 1351 height: 100%; 1352 object-fit: cover; 1353 object-position: center; 1354 z-index: 0; 1355} 1356.arc-hero__slide.is-active{ 1357 opacity: 1; visibility: visible; 1358 transition: opacity var(--fade-ms) ease, visibility 0s; 1359} 1360 1361 1362.arc-hero__title{ 1363 position: relative; z-index: 1; 1364 color: var(--title-color); 1365 text-align: center; 1366 margin: 0 1rem; 1367 transform: translateY(calc(var(--title-offset) * -1)); 1368 font-size: 80px; 1369 line-height: 1.05; 1370 text-shadow: 0 2px 4px var(--title-shadow), 0 0 2px var(--title-shadow); 1371 font-weight: 100; 1372 white-space:break-spaces; 1373} 1374.arc-hero__title span{ 1375 font-size:0.8em; 1376 display: inline-block; 1377 transform: translateY(-10px); 1378} 1379#arc-hero-template--26667010425118__arc_hero_parallax_KPXiK8{ padding-bottom: var(--pb); } 1380@media (max-width: 600px){ 1381 #arc-hero-template--26667010425118__arc_hero_parallax_KPXiK8{ --pb: 0px; } 1382} 1383 1384 1385@media (prefers-reduced-motion: reduce){ 1386 .arc-hero__bg-img{ transform: none !important; } 1387 .arc-hero__slide{ transition: none !important; } 1388} 1389@media (max-width: 480px){ 1390 #arc-hero-template--26667010425118__arc_hero_parallax_KPXiK8{ 1391 --overlay-h: max(var(--overlay-h), calc(var(--arc-start) + var(--arc-depth) + 40px)); 1392 } 1393} 1394 1395</style> 1396
1397<script> 1398(function(){ 1399 const root = document.getElementById('arc-hero-template--26667010425118__arc_hero_parallax_KPXiK8'); 1400 if (!root || root.dataset.init === '1') return; 1401 root.dataset.init = '1'; 1402 1403 const slides = Array.from(root.querySelectorAll('.arc-hero__slide')); 1404 const bg = root.querySelector('.arc-hero__bg-img'); 1405 const overlay = root.querySelector('.arc-hero__overlay'); 1406 const arcPath = root.querySelector('#arc-path-template--26667010425118__arc_hero_parallax_KPXiK8'); 1407 const csRoot = getComputedStyle(root); 1408 1409 const autoplayMs = parseInt(csRoot.getPropertyValue('--autoplay-ms')) || 3500; 1410 const strength = parseFloat(csRoot.getPropertyValue('--parallax-strength')) || 0.2; 1411 const prefersReduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 1412 1413 let i = 0, timer = null, ticking = false; 1414 1415 function show(n){ 1416 if (!slides.length) return; 1417 slides[i]?.classList.remove('is-active'); 1418 i = (n + slides.length) % slides.length; 1419 slides[i]?.classList.add('is-active'); 1420 } 1421 function next(){ show(i + 1); } 1422 function start(){ stop(); if (slides.length > 1 && !prefersReduced) timer = setInterval(next, autoplayMs); } 1423 function stop(){ if (timer) { clearInterval(timer); timer = null; } } 1424 1425 function setOverscan(){ 1426 const vh = window.innerHeight || 800; 1427 const s = Math.max(0, strength); 1428 const overscan = Math.ceil((vh * s) * 2 + 200); 1429 root.style.setProperty('--overscan', overscan + 'px'); 1430 } 1431 1432 function drawArc(){ 1433 if (!overlay || !arcPath) return; 1434 1435 const cs = getComputedStyle(root); 1436 const readVarPx = (name, fallback) => { 1437 const v = parseFloat(cs.getPropertyValue(name)); 1438 return Number.isFinite(v) ? v : fallback; 1439 }; 1440 1441 const w = overlay.clientWidth || root.clientWidth || 1200; 1442 const h = readVarPx('--overlay-h', overlay.clientHeight || 420); 1443 const start = Math.max(0, readVarPx('--arc-start', 120)); 1444 const depth = Math.max(0, readVarPx('--arc-depth', 140)); 1445 const baseW = Math.max(200, readVarPx('--arc-width', 1400)); 1446 1447 const y = Math.min(h - 1, start); 1448 const d = Math.min(depth, Math.max(0, h - y)); 1449 const leftX = (w - baseW) / 2; 1450 const rightX = leftX + baseW; 1451 const cY = y + (4/3) * d; 1452 1453 const dPath = [ 1454 `M0,0`, 1455 `H${w}`, 1456 `V${y}`, 1457 `H${rightX}`, 1458 `C${rightX},${cY} ${leftX},${cY} ${leftX},${y}`, 1459 `H0`, 1460 `Z` 1461 ].join(' '); 1462 1463 arcPath.setAttribute('d', dPath); 1464 } 1465 1466 function onScroll(){ 1467 if (prefersReduced || !bg) return; 1468 if (ticking) return; 1469 ticking = true; 1470 requestAnimationFrame(() => { 1471 ticking = false; 1472 const r = root.getBoundingClientRect(); 1473 const vh = window.innerHeight || 800; 1474 if (r.bottom >= 0 && r.top <= vh){ 1475 const center = r.top + r.height/2 - vh/2; 1476 bg.style.transform = `translateY(${(-center * strength).toFixed(2)}px)`; 1477 } 1478 }); 1479 } 1480 1481 function onResize(){ 1482 requestAnimationFrame(() => { 1483 setOverscan(); 1484 drawArc(); 1485 onScroll(); 1486 }); 1487 } 1488 1489 root.addEventListener('mouseenter', stop); 1490 root.addEventListener('mouseleave', start); 1491 root.addEventListener('focusin', stop); 1492 root.addEventListener('focusout', start); 1493 1494 document.addEventListener('scroll', onScroll, { passive: true }); 1495 window.addEventListener('resize', onResize, { passive: true }); 1496 1497 let roW = 0, roH = 0, roTick = false; 1498 const ro = new ResizeObserver(entries => { 1499 const entry = entries[0]; 1500 if (!entry) return; 1501 const { width, height } = entry.contentRect || {}; 1502 const w = Math.round(width || 0); 1503 const h = Math.round(height || 0); 1504 if (w === roW && h === roH) return; 1505 roW = w; roH = h; 1506 if (roTick) return; 1507 roTick = true; 1508 requestAnimationFrame(() => { 1509 roTick = false; 1510 setOverscan(); 1511 drawArc(); 1512 }); 1513 }); 1514 (overlay ? ro.observe(overlay) : ro.observe(root)); 1515 1516 setOverscan(); 1517 show(0); 1518 start(); 1519 drawArc(); 1520 onScroll(); 1521 1522 function onUnload(e){ 1523 if (e.detail?.sectionId && root.id.endsWith(e.detail.sectionId)) { 1524 stop(); 1525 document.removeEventListener('scroll', onScroll); 1526 window.removeEventListener('resize', onResize); 1527 ro.disconnect(); 1528 root.removeEventListener('mouseenter', stop); 1529 root.removeEventListener('mouseleave', start);
1530 root.removeEventListener('focusin', stop); 1531 root.removeEventListener('focusout', start); 1532 document.removeEventListener('shopify:section:unload', onUnload); 1533 delete root.dataset.init; 1534 } 1535 } 1536 document.addEventListener('shopify:section:unload', onUnload); 1537})(); 1538</script>
1538 1539 1540 1541</section><div id="shopify-section-template--26667010425118__image_overlay_divider_gHqUne" class="shopify-section image-divider-section"> 1542 <div class="image-divider-wrap"> 1543 <img 1544 src="//www.anniechun.com/cdn/shop/files/New_Noodle_Bowl_Divider.png?v=1754956005&width=300" 1545 width="300" 1546 height="220" 1547 loading="lazy" 1548 alt="" 1549 class="image-divider" 1550 > 1551 </div> 1552 1553 1554<style> 1555 .header-wrapper {z-index:5;} 1556 .image-divider-wrap{position:relative;height:0;z-index:2;display:flex;justify-content:center} 1557 .image-divider{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;display:block} 1558</style> 1559 1560 1561</div><section id="shopify-section-template--26667010425118__split_reveal_panel_rKMJQB" class="shopify-section section"><section id="split-reveal-template--26667010425118__split_reveal_panel_rKMJQB" class="split-reveal" style=" 1562 --bg: #541686; 1563 --title-size: 40px; 1564 --title-color: #ffffff; 1565 --text-size: 20px; 1566 --text-color: #eddbb6; 1567 --slide-distance: 80%; 1568 --deadzone: 0.0; 1569"> 1570 <div class="split-reveal__inner"> 1571 1572 <div class="split-reveal__col split-reveal__col--left"> 1573 <img 1574 class="split-reveal__img split-reveal__img--left" 1575 src="//www.anniechun.com/cdn/shop/files/left_bowls.png?v=1754606560&width=1200" 1576 alt="" 1577 loading="lazy" 1578 > 1579 </div> 1580 1581 1582 <div class="split-reveal__col split-reveal__col--center"> 1583 1584 <h2 class="split-reveal__title">Our Noodles Are Better Than Yours</h2> 1585 1586 1587 <div class="split-reveal__text rte"><p>Yeah, we said it. Because when you start with perfectly steamed (not fried) noodles, layer on bold, rich sauces, and top it all off with things like roasted peanuts, crunchy veggies, and umami-loaded mushrooms, you earn the right to brag a little. From the sweet heat of Spicy Ramen to the savory depth of Pho, every ANNIE CHUN'S® bowl brings the texture, the slurp, and the "how is this so good?" energy. Fast, flavorful, and anything but basic.</p></div> 1588 1589 </div> 1590 1591 1592 <div class="split-reveal__col split-reveal__col--right"> 1593 <img 1594 class="split-reveal__img split-reveal__img--right" 1595 src="//www.anniechun.com/cdn/shop/files/right_bowls.png?v=1754606560&width=1200" 1596 alt="" 1597 loading="lazy" 1598 > 1599 </div> 1600 1601 </div> 1602</section> 1603 1604<style> 1605#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB{ 1606 --gap: 1.5rem; 1607 --slide: 1; 1608 background: var(--bg); 1609 overflow-x: hidden; 1610 position: relative; 1611} 1612 1613#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__inner{ 1614 display: grid; 1615 grid-template-columns: 1616 minmax(0, clamp(220px, 30vw, 520px)) 1617 minmax(0, 1fr) 1618 minmax(0, clamp(220px, 30vw, 520px)); 1619 align-items: stretch; 1620 gap: var(--gap); 1621 height: var(--row-h, clamp(360px, 60vh, 720px)); 1622 position: relative; 1623 overflow: hidden; 1624} 1625 1626#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col{ 1627 position: relative; 1628 overflow: hidden; 1629 display: flex; 1630 align-items: flex-start; 1631 height: 100%; 1632} 1633 1634#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col--center{ 1635 overflow: visible; 1636 display: flex; 1637 flex-direction: column; 1638 justify-content: center; 1639} 1640 1641#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__img{ 1642 display: block; 1643 width: 100%; 1644 height: 100%; 1645 object-fit: cover; 1646 object-position: top center; 1647 will-change: transform; 1648 transition: transform 0.25s ease; 1649} 1650 1651#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__img--left{ 1652 transform: translateX(calc(-1 * var(--slide-distance) * var(--slide))); 1653} 1654 1655#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__img--right{ 1656 transform: translateX(calc(var(--slide-distance) * var(--slide))); 1657} 1658 1659#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__title{ 1660 margin: 50px auto 0.5rem; 1661 line-height: 1; 1662 font-size: var(--title-size); 1663 color: var(--title-color); 1664 text-align: center; 1665} 1666 1667#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__text{ 1668 margin: 0; 1669 font-size: var(--text-size); 1670 color: var(--text-color); 1671 text-align: center; 1672} 1673#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col--left, 1674#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col--right{ padding-top: 20px; } 1675 1676@media (max-width:1150px) and (min-width:750px){ 1677#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__img{object-fit: contain;} 1678#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__img--left {object-position: center left;} 1679#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__img--right {object-position: center right;} 1680 1681 1682 1683 1684 #split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__inner{ 1685 grid-template-columns: 1686 minmax(0, clamp(220px, 26vw, 480px)) 1687 minmax(0, 1.35fr) 1688 minmax(0, clamp(220px, 26vw, 480px)); 1689 } 1690 .split-reveal__text p {font-size: 0.8em; line-height: 1.2em;} 1691 1692 1693} 1694 1695@media (max-width: 749px){ 1696#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col--left { grid-area: left; } 1697#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col--center{ grid-area: center; } 1698#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col--right { grid-area: right; } 1699#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col--center {max-width:90%;margin: 30px auto 0;} 1700#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__img--left {object-position: top left;transform:none !important;} 1701#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__img--right {object-position: top right;transform:none !important;} 1702#split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__inner{ 1703 grid-template-columns: 1fr 1fr; 1704 grid-template-areas: 1705 "center center" 1706 "left right"; 1707 gap: 1rem; 1708 height: auto; 1709 padding: 2rem 0 0;
1710 align-items: start; 1711 } 1712 1713 #split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__img{ 1714 width: 100%; 1715 height: auto; 1716 object-fit: cover; 1717 max-height: 300px; 1718 } 1719 1720 #split-reveal-template--26667010425118__split_reveal_panel_rKMJQB{ 1721 --slide-distance: 48.0%; 1722 } 1723 1724 #split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col--left { justify-content: flex-start; } 1725 #split-reveal-template--26667010425118__split_reveal_panel_rKMJQB .split-reveal__col--right { justify-content: flex-end; } 1726} 1727</style> 1728
1729<script> 1730(function(){ 1731 const root = document.getElementById('split-reveal-template--26667010425118__split_reveal_panel_rKMJQB'); 1732 if(!root) return; 1733 1734 const centerCol = () => root.querySelector('.split-reveal__col--center'); 1735 const inner = () => root.querySelector('.split-reveal__inner'); 1736 1737 function syncRowHeight(){ 1738 const c = centerCol(); 1739 const container = inner(); 1740 if(!c || !container) return; 1741 const min = 360; 1742 const max = 720; 1743 const pad = 0; 1744 const h = Math.ceil(c.offsetHeight + pad); 1745 const rowH = Math.max(min, Math.min(h, max)); 1746 container.style.setProperty('--row-h', rowH + 'px'); 1747 } 1748 1749 function updateSlideVar(){ 1750 const rect = root.getBoundingClientRect(); 1751 const vh = window.innerHeight || document.documentElement.clientHeight; 1752 const dist = (rect.top + rect.height/2) - (vh/2); 1753 const denom = (vh/2) + (rect.height/2); 1754 const norm = denom > 0 ? dist / denom : 0; 1755 const a = Math.min(1, Math.max(0, Math.abs(norm))); 1756 const dz = parseFloat(getComputedStyle(root).getPropertyValue('--deadzone')) || 0; 1757 let slide = a > dz ? (a - dz) / (1 - dz) : 0; 1758 root.style.setProperty('--slide', slide.toFixed(3)); 1759 } 1760 1761 function onFrame(){ 1762 syncRowHeight(); 1763 updateSlideVar(); 1764 } 1765 1766 let ticking = false; 1767 function onScrollOrResize(){ 1768 if(!ticking){ 1769 requestAnimationFrame(() => { onFrame(); ticking = false; }); 1770 ticking = true; 1771 } 1772 } 1773 1774 const io = ('IntersectionObserver' in window) ? new IntersectionObserver((entries) => { 1775 entries.forEach(entry => { 1776 if(entry.isIntersecting){ 1777 onFrame(); 1778 window.addEventListener('scroll', onScrollOrResize, { passive: true }); 1779 window.addEventListener('resize', onScrollOrResize); 1780 } else { 1781 window.removeEventListener('scroll', onScrollOrResize); 1782 window.removeEventListener('resize', onScrollOrResize); 1783 } 1784 }); 1785 }, { root: null, rootMargin: '200px 0px', threshold: [0, 0.01, 0.5, 1] }) : null; 1786 1787 if(io){ io.observe(root); } else { 1788 onFrame(); 1789 window.addEventListener('scroll', onScrollOrResize, { passive: true }); 1790 window.addEventListener('resize', onScrollOrResize); 1791 } 1792 1793 onFrame(); 1794})(); 1795</script>
1795 1796 1797</section><section id="shopify-section-template--26667010425118__center_grow_carousel_idmRix" class="shopify-section center-grow-carousel"><section id="cgc-template--26667010425118__center_grow_carousel_idmRix" 1798 class="cgc" 1799 style=" 1800 --title-color: #5a2d90; 1801 --gap: 1rem; 1802 --scale-max: 135%; 1803 --influence: 240; 1804 --speed: 350ms; 1805 --card-h: 280px; 1806 --card-w: 280px; 1807 1808 --card-w-mobile: 280px; 1809 1810 --grow-pad: 65px; 1811 --container-pt: 44px; 1812 --container-pb: 44px; 1813 background-color: #f3f3f3; 1814 1815 background-image: url(//www.anniechun.com/cdn/shop/files/White_Carousel_BG.jpg?v=1755033260&width=2400); 1816 background-repeat: no-repeat; 1817 background-position: center; 1818 background-size: cover; 1819 1820 " 1821> 1822 1823 <h2 class="cgc__title"><span>a ton of</span> flavors</h2> 1824 1825 1826 1827 <div class="cgc__viewport"> 1828 <div class="cgc__track"> 1829 <a class="cgc__card cgc__card--clone" href="/products/yakisoba-noodle-bowl-with-vegetables" aria-label=""> 1830 <span class="cgc__imgwrap"> 1831 <img class="cgc__img" 1832 src="//www.anniechun.com/cdn/shop/files/Products_-_Yakisoba_a9df08a8-df84-467d-b131-b3c8b51b4ff2.png?v=1756233223&width=1400" 1833 alt="" 1834 loading="lazy"> 1835 </span> 1836 </a> 1837 � 1838 <a class="cgc__card cgc__card--clone" href="/products/pad-thai-noodle-bowl-with-vegetables" aria-label=""> 1839 <span class="cgc__imgwrap"> 1840 <img class="cgc__img" 1841 src="//www.anniechun.com/cdn/shop/files/Products_-_Pad_Thai_6e907cab-b6f8-47fc-811e-4d94c5f14801.png?v=1756233223&width=1400" 1842 alt="" 1843 loading="lazy"> 1844 </span> 1845 </a> 1846 � 1847 <a class="cgc__card cgc__card--clone" href="/products/shoyu-ramen-soup-bowl-with-vegetables-tofu" aria-label=""> 1848 <span class="cgc__imgwrap"> 1849 <img class="cgc__img" 1850 src="//www.anniechun.com/cdn/shop/files/Products_-_Shoyu_Ramen_18bffd17-e8e7-4628-b64f-167d1af9a08a.png?v=1756233223&width=1400" 1851 alt="" 1852 loading="lazy"> 1853 </span> 1854 </a> 1855 � 1856 <a class="cgc__card cgc__card--clone" href="/products/peanut-satay-noodle-bowl" aria-label=""> 1857 <span class="cgc__imgwrap"> 1858 <img class="cgc__img" 1859 src="//www.anniechun.com/cdn/shop/files/Products_-_Satay_8c58ebb2-606a-45e8-970c-5274c15dd70e.png?v=1756233223&width=1400" 1860 alt="" 1861 loading="lazy"> 1862 </span> 1863 </a> 1864 � 1865 <a class="cgc__card cgc__card--clone" href="/products/spicy-ramen-soup-bowl-with-vegetables" aria-label=""> 1866 <span class="cgc__imgwrap"> 1867 <img class="cgc__img" 1868 src="//www.anniechun.com/cdn/shop/files/Products_-_Spicy_Ramen_25a42d68-bb78-4ae7-a45c-1f61dcc13512.png?v=1756233223&width=1400" 1869 alt="" 1870 loading="lazy"> 1871 </span> 1872 </a> 1873 � 1874 <a class="cgc__card cgc__card--clone" href="/products/spicy-kung-pao-noodle-bowl-with-vegetables" aria-label=""> 1875 <span class="cgc__imgwrap"> 1876 <img class="cgc__img" 1877 src="//www.anniechun.com/cdn/shop/files/Products_-_Spicy_Kung_Pao_89b4a272-1e81-4b00-bddd-2b958c97e569.png?v=1756233223&width=1400" 1878 alt="" 1879 loading="lazy"> 1880 </span> 1881 </a> 1882 � 1883 <a class="cgc__card cgc__card--clone" href="/products/miso-soup-bowl-with-vegetables-tofu" aria-label=""> 1884 <span class="cgc__imgwrap"> 1885 <img class="cgc__img" 1886 src="//www.anniechun.com/cdn/shop/files/Products_-_Miso_53a647b9-e158-4b5e-88e7-975c8c4f3663.png?v=1756233223&width=1400" 1887 alt="" 1888 loading="lazy"> 1889 </span> 1890 </a> 1891 � 1892 <a class="cgc__card cgc__card--clone" href="/products/sweet-chili-noodle-bowl-with-vegetables" aria-label="">
1893 <span class="cgc__imgwrap"> 1894 <img class="cgc__img" 1895 src="//www.anniechun.com/cdn/shop/files/Products_-_Sweet_Chili_cd42ed70-bf77-4d7f-95b2-50907fd87503.png?v=1756233223&width=1400" 1896 alt="" 1897 loading="lazy"> 1898 </span> 1899 </a> 1900 � 1901 <a class="cgc__card cgc__card--clone" href="/products/pho-soup-bowl-with-vegetables" aria-label=""> 1902 <span class="cgc__imgwrap"> 1903 <img class="cgc__img" 1904 src="//www.anniechun.com/cdn/shop/files/Products_-_Pho_Soup_a52b6b8c-25b6-4b3d-a064-048a53e5609a.png?v=1756233223&width=1400" 1905 alt="" 1906 loading="lazy"> 1907 </span> 1908 </a> 1909 � 1910 <a class="cgc__card cgc__card--clone" href="/products/teriyaki-noodle-bowl-with-vegetables" aria-label=""> 1911 <span class="cgc__imgwrap"> 1912 <img class="cgc__img" 1913 src="//www.anniechun.com/cdn/shop/files/Products_-_Teriyaki_68bb0136-3b19-4f9e-bbbc-9d2b582ee260.png?v=1756233223&width=1400" 1914 alt="" 1915 loading="lazy"> 1916 </span> 1917 </a> 1918 � 1919 <a class="cgc__card" href="/products/yakisoba-noodle-bowl-with-vegetables" aria-label="" > 1920 <span class="cgc__imgwrap"> 1921 <img class="cgc__img" 1922 src="//www.anniechun.com/cdn/shop/files/Products_-_Yakisoba_a9df08a8-df84-467d-b131-b3c8b51b4ff2.png?v=1756233223&width=1400" 1923 alt="" 1924 loading="lazy"> 1925 </span> 1926 </a> 1927 � 1928 <a class="cgc__card" href="/products/pad-thai-noodle-bowl-with-vegetables" aria-label="" > 1929 <span class="cgc__imgwrap"> 1930 <img class="cgc__img" 1931 src="//www.anniechun.com/cdn/shop/files/Products_-_Pad_Thai_6e907cab-b6f8-47fc-811e-4d94c5f14801.png?v=1756233223&width=1400" 1932 alt="" 1933 loading="lazy"> 1934 </span> 1935 </a> 1936 � 1937 <a class="cgc__card" href="/products/shoyu-ramen-soup-bowl-with-vegetables-tofu" aria-label="" > 1938 <span class="cgc__imgwrap"> 1939 <img class="cgc__img" 1940 src="//www.anniechun.com/cdn/shop/files/Products_-_Shoyu_Ramen_18bffd17-e8e7-4628-b64f-167d1af9a08a.png?v=1756233223&width=1400" 1941 alt="" 1942 loading="lazy"> 1943 </span> 1944 </a> 1945 � 1946 <a class="cgc__card" href="/products/peanut-satay-noodle-bowl" aria-label="" > 1947 <span class="cgc__imgwrap"> 1948 <img class="cgc__img" 1949 src="//www.anniechun.com/cdn/shop/files/Products_-_Satay_8c58ebb2-606a-45e8-970c-5274c15dd70e.png?v=1756233223&width=1400" 1950 alt="" 1951 loading="lazy"> 1952 </span> 1953 </a> 1954 � 1955 <a class="cgc__card" href="/products/spicy-ramen-soup-bowl-with-vegetables" aria-label="" > 1956 <span class="cgc__imgwrap"> 1957 <img class="cgc__img" 1958 src="//www.anniechun.com/cdn/shop/files/Products_-_Spicy_Ramen_25a42d68-bb78-4ae7-a45c-1f61dcc13512.png?v=1756233223&width=1400" 1959 alt="" 1960 loading="lazy"> 1961 </span> 1962 </a> 1963 � 1964 <a class="cgc__card" href="/products/spicy-kung-pao-noodle-bowl-with-vegetables" aria-label="" > 1965 <span class="cgc__imgwrap"> 1966 <img class="cgc__img" 1967 src="//www.anniechun.com/cdn/shop/files/Products_-_Spicy_Kung_Pao_89b4a272-1e81-4b00-bddd-2b958c97e569.png?v=1756233223&width=1400" 1968 alt="" 1969 loading="lazy"> 1970 </span> 1971 </a> 1972 � 1973 <a class="cgc__card" href="/products/miso-soup-bowl-with-vegetables-tofu" aria-label="" >
1974 <span class="cgc__imgwrap"> 1975 <img class="cgc__img" 1976 src="//www.anniechun.com/cdn/shop/files/Products_-_Miso_53a647b9-e158-4b5e-88e7-975c8c4f3663.png?v=1756233223&width=1400" 1977 alt="" 1978 loading="lazy"> 1979 </span> 1980 </a> 1981 � 1982 <a class="cgc__card" href="/products/sweet-chili-noodle-bowl-with-vegetables" aria-label="" > 1983 <span class="cgc__imgwrap"> 1984 <img class="cgc__img" 1985 src="//www.anniechun.com/cdn/shop/files/Products_-_Sweet_Chili_cd42ed70-bf77-4d7f-95b2-50907fd87503.png?v=1756233223&width=1400" 1986 alt="" 1987 loading="lazy"> 1988 </span> 1989 </a> 1990 � 1991 <a class="cgc__card" href="/products/pho-soup-bowl-with-vegetables" aria-label="" > 1992 <span class="cgc__imgwrap"> 1993 <img class="cgc__img" 1994 src="//www.anniechun.com/cdn/shop/files/Products_-_Pho_Soup_a52b6b8c-25b6-4b3d-a064-048a53e5609a.png?v=1756233223&width=1400" 1995 alt="" 1996 loading="lazy"> 1997 </span> 1998 </a> 1999 � 2000 <a class="cgc__card" href="/products/teriyaki-noodle-bowl-with-vegetables" aria-label="" > 2001 <span class="cgc__imgwrap"> 2002 <img class="cgc__img" 2003 src="//www.anniechun.com/cdn/shop/files/Products_-_Teriyaki_68bb0136-3b19-4f9e-bbbc-9d2b582ee260.png?v=1756233223&width=1400" 2004 alt="" 2005 loading="lazy"> 2006 </span> 2007 </a> 2008 � 2009 <a class="cgc__card cgc__card--clone" href="/products/yakisoba-noodle-bowl-with-vegetables" aria-label=""> 2010 <span class="cgc__imgwrap"> 2011 <img class="cgc__img" 2012 src="//www.anniechun.com/cdn/shop/files/Products_-_Yakisoba_a9df08a8-df84-467d-b131-b3c8b51b4ff2.png?v=1756233223&width=1400" 2013 alt="" 2014 loading="lazy"> 2015 </span> 2016 </a> 2017 � 2018 <a class="cgc__card cgc__card--clone" href="/products/pad-thai-noodle-bowl-with-vegetables" aria-label=""> 2019 <span class="cgc__imgwrap"> 2020 <img class="cgc__img" 2021 src="//www.anniechun.com/cdn/shop/files/Products_-_Pad_Thai_6e907cab-b6f8-47fc-811e-4d94c5f14801.png?v=1756233223&width=1400" 2022 alt="" 2023 loading="lazy"> 2024 </span> 2025 </a> 2026 � 2027 <a class="cgc__card cgc__card--clone" href="/products/shoyu-ramen-soup-bowl-with-vegetables-tofu" aria-label=""> 2028 <span class="cgc__imgwrap"> 2029 <img class="cgc__img" 2030 src="//www.anniechun.com/cdn/shop/files/Products_-_Shoyu_Ramen_18bffd17-e8e7-4628-b64f-167d1af9a08a.png?v=1756233223&width=1400" 2031 alt="" 2032 loading="lazy"> 2033 </span> 2034 </a> 2035 � 2036 <a class="cgc__card cgc__card--clone" href="/products/peanut-satay-noodle-bowl" aria-label=""> 2037 <span class="cgc__imgwrap"> 2038 <img class="cgc__img" 2039 src="//www.anniechun.com/cdn/shop/files/Products_-_Satay_8c58ebb2-606a-45e8-970c-5274c15dd70e.png?v=1756233223&width=1400" 2040 alt="" 2041 loading="lazy"> 2042 </span> 2043 </a> 2044 � 2045 <a class="cgc__card cgc__card--clone" href="/products/spicy-ramen-soup-bowl-with-vegetables" aria-label=""> 2046 <span class="cgc__imgwrap"> 2047 <img class="cgc__img" 2048 src="//www.anniechun.com/cdn/shop/files/Products_-_Spicy_Ramen_25a42d68-bb78-4ae7-a45c-1f61dcc13512.png?v=1756233223&width=1400" 2049 alt="" 2050 loading="lazy"> 2051 </span> 2052 </a> 2053 � 2054 <a class="cgc__card cgc__card--clone" href="/products/spicy-kung-pao-noodle-bowl-with-vegetables" aria-label="">
2055 <span class="cgc__imgwrap"> 2056 <img class="cgc__img" 2057 src="//www.anniechun.com/cdn/shop/files/Products_-_Spicy_Kung_Pao_89b4a272-1e81-4b00-bddd-2b958c97e569.png?v=1756233223&width=1400" 2058 alt="" 2059 loading="lazy"> 2060 </span> 2061 </a> 2062 � 2063 <a class="cgc__card cgc__card--clone" href="/products/miso-soup-bowl-with-vegetables-tofu" aria-label=""> 2064 <span class="cgc__imgwrap"> 2065 <img class="cgc__img" 2066 src="//www.anniechun.com/cdn/shop/files/Products_-_Miso_53a647b9-e158-4b5e-88e7-975c8c4f3663.png?v=1756233223&width=1400" 2067 alt="" 2068 loading="lazy"> 2069 </span> 2070 </a> 2071 � 2072 <a class="cgc__card cgc__card--clone" href="/products/sweet-chili-noodle-bowl-with-vegetables" aria-label=""> 2073 <span class="cgc__imgwrap"> 2074 <img class="cgc__img" 2075 src="//www.anniechun.com/cdn/shop/files/Products_-_Sweet_Chili_cd42ed70-bf77-4d7f-95b2-50907fd87503.png?v=1756233223&width=1400" 2076 alt="" 2077 loading="lazy"> 2078 </span> 2079 </a> 2080 � 2081 <a class="cgc__card cgc__card--clone" href="/products/pho-soup-bowl-with-vegetables" aria-label=""> 2082 <span class="cgc__imgwrap"> 2083 <img class="cgc__img" 2084 src="//www.anniechun.com/cdn/shop/files/Products_-_Pho_Soup_a52b6b8c-25b6-4b3d-a064-048a53e5609a.png?v=1756233223&width=1400" 2085 alt="" 2086 loading="lazy"> 2087 </span> 2088 </a> 2089 � 2090 <a class="cgc__card cgc__card--clone" href="/products/teriyaki-noodle-bowl-with-vegetables" aria-label=""> 2091 <span class="cgc__imgwrap"> 2092 <img class="cgc__img" 2093 src="//www.anniechun.com/cdn/shop/files/Products_-_Teriyaki_68bb0136-3b19-4f9e-bbbc-9d2b582ee260.png?v=1756233223&width=1400" 2094 alt="" 2095 loading="lazy"> 2096 </span> 2097 </a> 2098 �</div> 2099 </div> 2100 2101 2102 <div class="cgc__nav"> 2103 <button class="cgc__btn cgc__btn--prev" aria-label="Previous"> 2104 2105 <svg width="28" height="28" viewBox="0 0 24 24" aria-hidden="true"><path d="M15 18l-6-6 6-6" fill="none" stroke="currentColor" stroke-width="2"/></svg> 2106 2107 </button> 2108 2109 2110 <div class="cgc__nav-msg">Click Arrows To See More</div> 2111 2112 2113 <button class="cgc__btn cgc__btn--next" aria-label="Next"> 2114 2115 <svg width="28" height="28" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="2"/></svg> 2116 2117 </button> 2118 </div> 2119</section> 2120 2121<style> 2122#cgc-template--26667010425118__center_grow_carousel_idmRix { 2123 position: relative; 2124 overflow: visible; 2125 color: var(--title-color); 2126 padding-top: var(--container-pt); 2127 padding-bottom: var(--container-pb); 2128} 2129 2130.cgc__title { 2131 position: relative; z-index: 1; text-align: center; 2132 margin: 1.25rem 0 .5rem; color: var(--title-color); 2133 font-size:80px; 2134 white-space:break-spaces; 2135 line-height:5rem; 2136} 2137.cgc__title span { 2138 font-size: 60px; 2139 display: inline-block; 2140 transform: translateY(-10px); 2141} 2142.cgc__viewport { 2143 position: relative; z-index: 1; width: 100%; 2144 overflow: hidden; 2145 margin: .5rem auto 0; 2146 padding: var(--grow-pad) 0; 2147} 2148 2149.cgc__track { 2150 position: relative; z-index: 1; 2151 display: flex; align-items: center; gap: var(--gap); 2152 will-change: transform; 2153 transform: translateX(0); 2154 transition: transform var(--speed) ease; 2155} 2156 2157.cgc__card { 2158 flex: 0 0 auto; 2159 display: block; text-decoration: none; position: relative; 2160 width: var(--card-w); 2161 transform-origin: center center; 2162 transition: transform 200ms ease; 2163 z-index: 1; 2164 will-change: transform; 2165} 2166.cgc__imgwrap { position: relative; display: block; width: 100%; height: var(--card-h); } 2167.cgc__img { position: relative; display: block; width: 100%; height: 100%; object-fit: contain; } 2168 2169.cgc__nav { 2170 position: relative; z-index: 2; 2171 display: inline-flex; align-items: center; justify-content: center; 2172 gap: .75rem; margin: .75rem auto 1.25rem; width: 100%; 2173} 2174.cgc__btn { 2175 display: inline-flex; align-items: center; justify-content: center; 2176 background: transparent; border: 0; padding: .25rem; 2177 cursor: pointer; color: currentColor; 2178} 2179.cgc__btn img { display: block; height: 28px; width: auto; } 2180.cgc__nav-msg { text-align: center; color: currentColor; opacity: .9;font-family:Shining,sans-serif;font-size: 40px;max-width: 230px;line-height: 36px;} 2181 2182/* Disabled state for arrows */ 2183.cgc__btn[disabled] { opacity: .5; cursor: default; pointer-events: none; } 2184/* Lock pointer events during animation */ 2185#cgc-template--26667010425118__center_grow_carousel_idmRix.cgc--busy .cgc__viewport { pointer-events: none; } 2186 2187@media (max-width: 749px){ 2188 .cgc__card { width: var(--card-w-mobile, var(--card-w)); } 2189 .cgc__imgwrap { height: calc(var(--card-h) * 0.85); } 2190} 2191</style> 2192
2193<script> 2194(function(){ 2195 const root = document.getElementById('cgc-template--26667010425118__center_grow_carousel_idmRix'); 2196 if(!root || root.dataset.init === '1') return; 2197 root.dataset.init = '1'; 2198 2199 const viewport = root.querySelector('.cgc__viewport'); 2200 const track = root.querySelector('.cgc__track'); 2201 if(!viewport || !track) return; 2202 2203 const btnPrev = root.querySelector('.cgc__btn--prev'); 2204 const btnNext = root.querySelector('.cgc__btn--next'); 2205 2206 const originals = Array.from(track.querySelectorAll('.cgc__card')).filter(el => !el.classList.contains('cgc__card--clone')); 2207 const allCards = Array.from(track.children); 2208 if(originals.length === 0) return; 2209 2210 const totalOriginals = originals.length; 2211 const getVar = (name) => getComputedStyle(root).getPropertyValue(name).trim(); 2212 const pctToScale = (pct) => Math.max(1, (parseFloat(pct) || 140) / 100); 2213 const maxScale = () => pctToScale(getVar('--scale-max')); 2214 const influencePx = () => Math.max(20, parseFloat(getVar('--influence')) || 100); 2215 2216 let index = totalOriginals; // start at first original after leading clones 2217 let transitioning = false; 2218 let rafId = null; 2219 let pendingRecalc = false; 2220 let recalcScheduled = false; 2221 let endTimer = null; 2222 2223 let step = 0; 2224 let cardW = 0; 2225 let gapPx = 0; 2226 2227 const transitionMs = () => Math.max(50, parseFloat(getVar('--speed')) || 350); 2228 2229 const setBusy = (on) => { 2230 root.classList.toggle('cgc--busy', on); 2231 if (btnPrev) btnPrev.disabled = on; 2232 if (btnNext) btnNext.disabled = on; 2233 }; 2234 2235 const armEndFallback = () => { 2236 clearTimeout(endTimer); 2237 endTimer = setTimeout(() => { 2238 onEnd({ target: track, propertyName: 'transform' }); 2239 }, transitionMs() + 50); 2240 }; 2241 2242 const updateScales = () => { 2243 const vpRect = viewport.getBoundingClientRect(); 2244 const centerX = vpRect.left + vpRect.width / 2; 2245 const influence = influencePx(); 2246 const sMax = maxScale(); 2247 2248 allCards.forEach((card) => { 2249 const r = card.getBoundingClientRect(); 2250 const cardCenter = r.left + r.width / 2; 2251 const dist = Math.abs(cardCenter - centerX); 2252 let t = 1 - Math.min(1, dist / influence); 2253 t = Math.max(0, Math.pow(t, 1.6)); 2254 const scale = 1 + (sMax - 1) * t; 2255 card.style.transform = `scale(${scale.toFixed(3)})`; 2256 card.style.zIndex = String(100 + Math.round(scale * 100)); 2257 }); 2258 }; 2259 2260 const tickScales = () => { 2261 updateScales(); 2262 if (transitioning) rafId = requestAnimationFrame(tickScales); 2263 else { rafId && cancelAnimationFrame(rafId); rafId = null; } 2264 }; 2265 2266 const readLayoutConstants = () => { 2267 const probe = allCards[index] || allCards[0]; 2268 const w = parseFloat(getComputedStyle(probe).width); 2269 const fallbackW = parseFloat(getVar('--card-w')) || 360; 2270 cardW = (!isNaN(w) && w > 0) ? w : fallbackW; 2271 2272 const s = getComputedStyle(track); 2273 const g = parseFloat(s.gap || s.columnGap || '0'); 2274 gapPx = isNaN(g) ? 0 : g; 2275 2276 step = cardW + gapPx; 2277 }; 2278 2279 const setTransform = (animate = true) => { 2280 if (!step) readLayoutConstants(); 2281 const vpW = viewport.clientWidth; 2282 const leftEdgeOffset = index * step; 2283 const cardCenterOffset = leftEdgeOffset + (cardW / 2); 2284 const x = -(cardCenterOffset - (vpW / 2)); 2285 2286 track.style.transition = animate ? '' : 'none'; 2287 track.style.transform = `translate3d(${x}px, 0, 0)`; 2288 if (!animate) { track.offsetHeight; } 2289 updateScales(); 2290 }; 2291 2292 const preWrapIfNeeded = (dir) => { 2293 if (dir > 0 && (index + 1) >= (totalOriginals * 2)) { 2294 index -= totalOriginals; 2295 setTransform(false); 2296 } else if (dir < 0 && (index - 1) < totalOriginals) { 2297 index += totalOriginals; 2298 setTransform(false); 2299 } 2300 }; 2301 2302 const clampJumpIfNeeded = () => { 2303 let changed = false; 2304 if(index >= totalOriginals * 2){ index -= totalOriginals; changed = true; } 2305 if(index < totalOriginals){ index += totalOriginals; changed = true; } 2306 if (changed) setTransform(false); 2307 }; 2308 2309 const goNext = () => { 2310 if(transitioning) return; 2311 transitioning = true; 2312 setBusy(true); 2313 2314 preWrapIfNeeded(1); 2315 index += 1;
2316 2317 setTransform(true); 2318 armEndFallback(); 2319 if (!rafId) rafId = requestAnimationFrame(tickScales); 2320 }; 2321 2322 const goPrev = () => { 2323 if(transitioning) return; 2324 transitioning = true; 2325 setBusy(true); 2326 2327 preWrapIfNeeded(-1); 2328 index -= 1; 2329 2330 setTransform(true); 2331 armEndFallback(); 2332 if (!rafId) rafId = requestAnimationFrame(tickScales); 2333 }; 2334 2335 const onEnd = (e) => { 2336 if (e && (e.target !== track || e.propertyName !== 'transform')) return; 2337 clearTimeout(endTimer); 2338 2339 clampJumpIfNeeded(); 2340 transitioning = false; 2341 setBusy(false); 2342 2343 if (pendingRecalc) { 2344 pendingRecalc = false; 2345 recalc(); 2346 } 2347 updateScales(); 2348 }; 2349 2350 const scheduleRecalc = () => { 2351 if (recalcScheduled) return; 2352 recalcScheduled = true; 2353 requestAnimationFrame(() => { 2354 recalcScheduled = false; 2355 if (transitioning) { pendingRecalc = true; return; } 2356 recalc(); 2357 }); 2358 }; 2359 2360 const recalc = () => { 2361 readLayoutConstants(); 2362 setTransform(false); 2363 updateScales(); 2364 }; 2365 2366 track.addEventListener('transitionend', onEnd); 2367 btnNext && btnNext.addEventListener('click', goNext, { passive: true }); 2368 btnPrev && btnPrev.addEventListener('click', goPrev, { passive: true }); 2369 2370 (function enableSwipe(){ 2371 const mq = window.matchMedia('(max-width: 749px)'); 2372 const area = viewport; 2373 2374 let startX = 0, startY = 0, active = false, lockedHoriz = false; 2375 2376 function onStart(e){ 2377 if (!mq.matches || transitioning) return; 2378 const t = e.touches && e.touches[0] ? e.touches[0] : e; 2379 startX = t.clientX; 2380 startY = t.clientY; 2381 active = true; 2382 lockedHoriz = false; 2383 } 2384 2385 function onMove(e){ 2386 if (!active) return; 2387 const t = e.touches && e.touches[0] ? e.touches[0] : e; 2388 const dx = t.clientX - startX; 2389 const dy = t.clientY - startY; 2390 2391 if (!lockedHoriz) { 2392 if (Math.abs(dx) > 10 && Math.abs(dx) > Math.abs(dy) * 1.3) { 2393 lockedHoriz = true; 2394 } else if (Math.abs(dy) > 10 && Math.abs(dy) > Math.abs(dx) * 1.1) { 2395 active = false; 2396 return; 2397 } 2398 } 2399 2400 if (lockedHoriz) e.preventDefault(); 2401 } 2402 2403 function onEnd(e){ 2404 if (!active) return; 2405 active = false; 2406 2407 const t = (e.changedTouches && e.changedTouches[0]) ? e.changedTouches[0] : e; 2408 const dx = t.clientX - startX; 2409 2410 const THRESH = 40; 2411 if (Math.abs(dx) >= THRESH) { 2412 if (dx < 0) goNext(); else goPrev(); 2413 } 2414 } 2415 2416 area.addEventListener('touchstart', onStart, { passive: true }); 2417 area.addEventListener('touchmove', onMove, { passive: false }); 2418 area.addEventListener('touchend', onEnd, { passive: true }); 2419 area.addEventListener('touchcancel',() => { active = false; }, { passive: true }); 2420 2421 document.addEventListener('shopify:section:unload', function onUnload(e){ 2422 if (e.detail?.sectionId && root.id.endsWith(e.detail.sectionId)) { 2423 area.removeEventListener('touchstart', onStart); 2424 area.removeEventListener('touchmove', onMove); 2425 area.removeEventListener('touchend', onEnd); 2426 area.removeEventListener('touchcancel',() => { active = false; }); 2427 document.removeEventListener('shopify:section:unload', onUnload); 2428 } 2429 }); 2430 })(); 2431 2432 2433 const ro = new ResizeObserver(() => scheduleRecalc()); 2434 ro.observe(root); 2435 window.addEventListener('resize', scheduleRecalc); 2436 2437 const afterLayout = () => { recalc(); requestAnimationFrame(updateScales); }; 2438 if (document.readyState !== 'loading') { 2439 requestAnimationFrame(() => requestAnimationFrame(afterLayout)); 2440 } else { 2441 document.addEventListener('DOMContentLoaded', () => { 2442 requestAnimationFrame(() => requestAnimationFrame(afterLayout)); 2443 }); 2444 } 2445 2446 document.addEventListener('shopify:section:unload', function onUnload(e){ 2447 if (e.detail?.sectionId && root.id.endsWith(e.detail.sectionId)) { 2448 track.removeEventListener('transitionend', onEnd); 2449 btnNext && btnNext.removeEventListener('click', goNext); 2450 btnPrev && btnPrev.removeEventListener('click', goPrev); 2451 window.removeEventListener('resize', scheduleRecalc); 2452 ro.disconnect(); 2453 rafId && cancelAnimationFrame(rafId); 2454 clearTimeout(endTimer); 2455 document.removeEventListener('shopify:section:unload', onUnload); 2456 delete root.dataset.init; 2457 } 2458 }); 2459})(); 2460</script>
2460 2461 2462 2463 2464</section><section id="shopify-section-template--26667010425118__marquee_images_8hJ8d3" class="shopify-section marquee-section"><section id="marquee-template--26667010425118__marquee_images_8hJ8d3" class="marquee" 2465 style=" 2466 --bg: #541686; 2467 --tpad: 20px; 2468 --bpad: 10px; 2469 --maxh: 60px; 2470 --px-per-sec: 40; 2471 " 2472> 2473 <div class="marquee__viewport"> 2474 <div class="marquee__track"> 2475 <div class="marquee__pack"> 2476 <div class="marquee__item" > 2477 <img 2478 src="//www.anniechun.com/cdn/shop/files/Image_Slider_1.png?v=1754675368&width=800" 2479 alt="" 2480 loading="lazy" 2481 > 2482 </div> 2483 � 2484 <div class="marquee__item" > 2485 <img 2486 src="//www.anniechun.com/cdn/shop/files/Image_Slider_2.png?v=1754675368&width=800" 2487 alt="" 2488 loading="lazy" 2489 > 2490 </div> 2491 � 2492 <div class="marquee__item" > 2493 <img 2494 src="//www.anniechun.com/cdn/shop/files/Image_Slider_3.png?v=1754675368&width=800" 2495 alt="" 2496 loading="lazy" 2497 > 2498 </div> 2499 �</div> 2500 </div> 2501 </div> 2502</section> 2503 2504<style> 2505#marquee-template--26667010425118__marquee_images_8hJ8d3{background:var(--bg);padding-top:var(--tpad);padding-bottom:var(--bpad)} 2506#marquee-template--26667010425118__marquee_images_8hJ8d3 .marquee__viewport{overflow:hidden;width:100%} 2507#marquee-template--26667010425118__marquee_images_8hJ8d3 .marquee__track{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform;gap:4rem;animation:marquee-template--26667010425118__marquee_images_8hJ8d3 var(--duration,20s) linear infinite;animation-play-state:paused} 2508#marquee-template--26667010425118__marquee_images_8hJ8d3.is-ready .marquee__track{animation-play-state:running} 2509#marquee-template--26667010425118__marquee_images_8hJ8d3 .marquee__pack{display:inline-flex;align-items:center;gap:4rem} 2510#marquee-template--26667010425118__marquee_images_8hJ8d3 .marquee__item img{display:block;height:var(--maxh);width:auto;object-fit:contain} 2511@keyframes marquee-template--26667010425118__marquee_images_8hJ8d3{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--pack,0px)))}} 2512@media (prefers-reduced-motion:reduce){#marquee-template--26667010425118__marquee_images_8hJ8d3 .marquee__track{animation:none}} 2513</style> 2514
2515<script> 2516document.addEventListener('DOMContentLoaded',function(){ 2517 var root=document.getElementById('marquee-template--26667010425118__marquee_images_8hJ8d3'); if(!root) return; 2518 var viewport=root.querySelector('.marquee__viewport'); 2519 var track=root.querySelector('.marquee__track'); 2520 var pack=root.querySelector('.marquee__pack'); if(!viewport||!track||!pack) return; 2521 2522 function imagesReady(el){ 2523 var imgs=Array.from(el.querySelectorAll('img')); 2524 if(!imgs.length) return Promise.resolve(); 2525 return Promise.all(imgs.map(function(img){ 2526 return new Promise(function(res){ 2527 if(img.complete && img.naturalWidth>0) return res(); 2528 img.addEventListener('load',res,{once:true}); 2529 img.addEventListener('error',res,{once:true}); 2530 }); 2531 })); 2532 } 2533 function forceReflow(el){ void el.offsetHeight; } 2534 2535 function setup(){ 2536 root.classList.remove('is-ready'); 2537 Array.from(track.querySelectorAll('.marquee__pack')).forEach(function(p,i){ if(i>0) p.remove(); }); 2538 2539 imagesReady(pack).then(function(){ 2540 track.style.transform='translateX(0)'; 2541 track.style.animationName='none'; 2542 forceReflow(track); 2543 2544 var packWidth=Math.ceil(pack.getBoundingClientRect().width); 2545 var vpWidth=Math.ceil(viewport.getBoundingClientRect().width); 2546 if(!packWidth){ setTimeout(setup,50); return; } 2547 2548 var total=packWidth; 2549 while(total<vpWidth+packWidth){ 2550 track.appendChild(pack.cloneNode(true)); 2551 total+=packWidth; 2552 } 2553 2554 var pxPerSec=parseFloat(getComputedStyle(root).getPropertyValue('--px-per-sec'))||40; 2555 var duration=packWidth/pxPerSec; 2556 root.style.setProperty('--pack',packWidth+'px'); 2557 root.style.setProperty('--duration',duration+'s'); 2558 2559 forceReflow(track); 2560 track.style.removeProperty('animation-name'); 2561 root.classList.add('is-ready'); 2562 }); 2563 } 2564 2565 setup(); 2566 var to; 2567 window.addEventListener('resize',function(){ clearTimeout(to); to=setTimeout(setup,150); }); 2568}); 2569</script>
2569 2570 2571</section><section id="shopify-section-template--26667010425118__two_col_slide_6gynEf" class="shopify-section two-col-blob"><section id="twomod-template--26667010425118__two_col_slide_6gynEf" class="twomod" 2572 style=" 2573 --bg: #f0dab1; 2574 --title-color: #541686; 2575 --title-size: 72px; 2576 --pad-t: 48px; 2577 --pad-b: 0px; 2578 --cta-bg: rgba(0,0,0,0); 2579 --cta-fg: #51127d; 2580 --nav-h: 80px; 2581 " 2582> 2583 <div class="twomod__bg" id="main-showcase" aria-hidden="true" 2584 style=" 2585 background-color: #f0dab1; 2586 2587 background-image: url(//www.anniechun.com/cdn/shop/files/Two-Col_Slide_bg.jpg?v=1755558639&width=2400); 2588 2589 background-repeat: no-repeat; 2590 background-position: center center; 2591 background-size: cover; 2592 "> 2593 </div> 2594 2595 <div class="twomod__inner"> 2596 2597 <h2 class="twomod__title"><span>check out our</span> recipes</h2> 2598 2599 2600 2601 <div class="twomod__stage"> 2602 <div class="twomod__slides" role="region" aria-label="Feature slides"><article class="twomod__slide is-active" > 2603 <div class="twomod__col twomod__col--left"> 2604 <div class="twomod__blob" style="--blob-color: #95bc5d; --blob-max-w: 300px;"> 2605 <span class="twomod__blob-title" style="--blob-title-color: #ffffff;"> 2606 Peanut Butter Pad Thai 2607 </span> 2608 <svg class="twomod__blob-svg" viewBox="0 0 465 405" preserveAspectRatio="none" aria-hidden="true"> 2609 <path d="M232.5 0c105.3 0 232.5 76.6 232.5 232.5 0 49.2-8.7 86.6-14.8 106.1-6 19.2-22.6 38.2-40.7 49.8-16.3 10.4-33.3 14.1-42.4-6.1-10.6-23.4-27.5-26.2-69-8.3-45.1 19.7-114.8 46-203.1 17.3C23 362.1 0 299.5 0 232.5 0 76.6 127.2 0 232.5 0Z" fill="currentColor"/> 2610 </svg> 2611 </div> 2612 2613 2614 <div class="twomod__body rte"> 2615 <ul><li>1 ANNIE CHUN'S® Pad Thai Noodle Bowl</li><li>¼ Coleslaw Mix or chopped cabbage </li><li>1 Tablespoon Peanut Butter</li><li>1 Teaspoon Soy Sauce</li><li>1 lime wedge</li><li>Cilantro, chopped </li></ul><p>Add the Coleslaw mix on top on the noodles, then prepare the Noodle Bowl according to package instructions. Meanwhile, mix the peanut butter, soy sauce, and 2 tablespoons water in a bowl. After microwaving stir to combine, then top with the peanut sauce. Garnish with lime, cilantro, and crushed peanuts from the package.<br/><br/></p> 2616 </div> 2617 2618 </div> 2619 2620 <div class="twomod__col twomod__col--right"> 2621 2622 <img class="twomod__img" 2623 src="//www.anniechun.com/cdn/shop/files/Recipe_1_Test.png?v=1755558802&width=1600" 2624 srcset=" 2625 //www.anniechun.com/cdn/shop/files/Recipe_1_Test.png?v=1755558802&width=800 800w, 2626 //www.anniechun.com/cdn/shop/files/Recipe_1_Test.png?v=1755558802&width=1200 1200w, 2627 //www.anniechun.com/cdn/shop/files/Recipe_1_Test.png?v=1755558802&width=1600 1600w 2628 " 2629 sizes="(max-width: 749px) 100vw, 50vw" 2630 alt="" 2631 loading="eager" 2632 fetchpriority="high"> 2633 2634 </div> 2635 </article><article class="twomod__slide" > 2636 <div class="twomod__col twomod__col--left"> 2637 <div class="twomod__blob" style="--blob-color: #fdb63a; --blob-max-w: 290px;"> 2638 <span class="twomod__blob-title" style="--blob-title-color: #ffffff;"> 2639 Loaded Pho 2640 </span> 2641 <svg class="twomod__blob-svg" viewBox="0 0 465 405" preserveAspectRatio="none" aria-hidden="true"> 2642 <path d="M232.5 0c105.3 0 232.5 76.6 232.5 232.5 0 49.2-8.7 86.6-14.8 106.1-6 19.2-22.6 38.2-40.7 49.8-16.3 10.4-33.3 14.1-42.4-6.1-10.6-23.4-27.5-26.2-69-8.3-45.1 19.7-114.8 46-203.1 17.3C23 362.1 0 299.5 0 232.5 0 76.6 127.2 0 232.5 0Z" fill="currentColor"/> 2643 </svg> 2644 </div> 2645 2646 2647 <div class="twomod__body rte"> 2648 <ul><li>1 ANNIE CHUN'S® Vietnamese-Style Pho Soup Bowl<br/></li><li>1 lime wedges<br/></li><li>3-4 Thai Basil Leaves, minced<br/></li><li>¼ cup rotisserie chicken, chopped<br/></li><li>3-4 slices jalapeno <br/></li><li>Hoisin, to taste </li></ul><p>Prepare the Soup Bowl according to package instructions. After microwaving, squeeze the lime into the bowl, then stir to combine. Top with the chicken and jalapeño and garnish with minced basil and a drizzle of hoisin.</p><p>Notes: Remove the seeds from the jalapeño to reduce the heat level; if Thai Basil is unavailable, Italian basil will also work. </p> 2649 </div> 2650 2651 </div> 2652 2653 <div class="twomod__col twomod__col--right"> 2654 2655 <img class="twomod__img" 2656 src="//www.anniechun.com/cdn/shop/files/Recipe_Pho_Soup.png?v=1756227034&width=1600" 2657 srcset=" 2658 //www.anniechun.com/cdn/shop/files/Recipe_Pho_Soup.png?v=1756227034&width=800 800w, 2659 //www.anniechun.com/cdn/shop/files/Recipe_Pho_Soup.png?v=1756227034&width=1200 1200w, 2660 //www.anniechun.com/cdn/shop/files/Recipe_Pho_Soup.png?v=1756227034&width=1600 1600w 2661 " 2662 sizes="(max-width: 749px) 100vw, 50vw" 2663 alt="" 2664 loading="lazy" 2665 fetchpriority="auto"> 2666 2667 </div> 2668 </article><article class="twomod__slide" > 2669 <div class="twomod__col twomod__col--left"> 2670 <div class="twomod__blob" style="--blob-color: #ef9686; --blob-max-w: 320px;">
2671 <span class="twomod__blob-title" style="--blob-title-color: #ffffff;"> 2672 Creamy Fire Noodles 2673 </span> 2674 <svg class="twomod__blob-svg" viewBox="0 0 465 405" preserveAspectRatio="none" aria-hidden="true"> 2675 <path d="M232.5 0c105.3 0 232.5 76.6 232.5 232.5 0 49.2-8.7 86.6-14.8 106.1-6 19.2-22.6 38.2-40.7 49.8-16.3 10.4-33.3 14.1-42.4-6.1-10.6-23.4-27.5-26.2-69-8.3-45.1 19.7-114.8 46-203.1 17.3C23 362.1 0 299.5 0 232.5 0 76.6 127.2 0 232.5 0Z" fill="currentColor"/> 2676 </svg> 2677 </div> 2678 2679 2680 <div class="twomod__body rte"> 2681 <ul><li>1 ANNIE CHUN'S® Spicy Ramen Bowl<br/></li><li>1 Tablespoon Heavy Whipping Cream<br/></li><li>1 7-minute Egg, cut in half<br/></li><li>¼ cup rotisserie chicken, chopped<br/></li><li>2 strips bibigo⢠Seaweed Crisps, Hot Chili<br/></li><li>bibigoâ¢Â Hot and Sweet Gochujang, to taste</li></ul><p>Prepare the Ramen Bowl according to package instructions. After microwaving, add the heavy cream to the bowl, then stir to combine. Top with the chicken and 7-Minute egg, and garnish with crumbled seaweed and a drizzle of gochujang.</p> 2682 </div> 2683 2684 </div> 2685 2686 <div class="twomod__col twomod__col--right"> 2687 2688 <img class="twomod__img" 2689 src="//www.anniechun.com/cdn/shop/files/Recipe_Spicy_Ramen.png?v=1756227034&width=1600" 2690 srcset=" 2691 //www.anniechun.com/cdn/shop/files/Recipe_Spicy_Ramen.png?v=1756227034&width=800 800w, 2692 //www.anniechun.com/cdn/shop/files/Recipe_Spicy_Ramen.png?v=1756227034&width=1200 1200w, 2693 //www.anniechun.com/cdn/shop/files/Recipe_Spicy_Ramen.png?v=1756227034&width=1600 1600w 2694 " 2695 sizes="(max-width: 749px) 100vw, 50vw" 2696 alt="" 2697 loading="lazy" 2698 fetchpriority="auto"> 2699 2700 </div> 2701 </article></div> 2702 2703 <div class="twomod__nav"> 2704 <button class="twomod__btn twomod__btn--prev" aria-label="Previous slide"> 2705 2706 <svg viewBox="0 0 24 24" width="28" height="28" aria-hidden="true"><path d="M15 18l-6-6 6-6" fill="none" stroke="currentColor" stroke-width="2"/></svg> 2707 2708 </button> 2709 2710 2711 2712 <a class="twomod__cta twomod__cta--button" href="/blogs/recipes"> 2713 More Recipes 2714 </a> 2715 2716 2717 2718 <button class="twomod__btn twomod__btn--next" aria-label="Next slide"> 2719 2720 <svg viewBox="0 0 24 24" width="28" height="28" aria-hidden="true"><path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="2"/></svg> 2721 2722 </button> 2723 </div> 2724 </div> 2725 2726 </div> 2727</section> 2728 2729<style> 2730#twomod-template--26667010425118__two_col_slide_6gynEf{ 2731 position: relative; 2732 background: var(--bg); 2733 padding: var(--pad-t) 16px var(--pad-b); 2734 overflow: clip; 2735} 2736#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__bg{ 2737 position: absolute; inset: 0; z-index: 0; pointer-events: none; 2738} 2739#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__inner{ position: relative; z-index: 1; max-width: 1060px; margin: 0 auto; } 2740#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__title{ 2741 margin: 0 0 1.25rem; 2742 text-align: center; 2743 color: var(--title-color); 2744 font-size: var(--title-size); 2745 line-height: 1.1; 2746 font-weight: 800; 2747 white-space:nowrap; 2748} 2749#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__title span { 2750 text-align: center; 2751 margin: 0 0 1rem; 2752 color: var(--title-color); 2753 font-size: 0.8em; 2754 display: inline-block; 2755 transform: translateY(-10px); 2756} 2757#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__stage{ 2758 display: grid; 2759 grid-template-columns: 1fr 1fr; 2760 position: relative; 2761 min-height:650px !important; 2762} 2763#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__slide{ 2764 display:grid; 2765 grid-template-columns:1fr 1fr; 2766 gap:24px; 2767 opacity:0; visibility:hidden; 2768 position:absolute; inset:0; 2769 transition:opacity 1350ms ease-in-out, visibility 0s linear 1350ms; 2770 align-items: stretch; 2771} 2772 2773#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__slide.is-active{ 2774 opacity:1; visibility:visible; 2775 z-index:1; 2776 transition:opacity 1350ms ease-in-out, visibility 0s; 2777} 2778 2779#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__slide.is-leaving{ transition: none; } 2780 2781#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__slide.is-instant-hide{ 2782 transition: none !important; 2783 opacity: 0 !important; 2784 visibility: hidden !important; 2785} 2786 2787#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__col{ min-width: 0;align-self: stretch; } 2788 2789 2790#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__blob-svg{ 2791 position: absolute; 2792 inset: 0; 2793 width: 100%; 2794 height: 100%; 2795 z-index: 0; 2796} 2797#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__blob{ 2798 position: relative; 2799 display: grid; 2800 place-items: center; 2801 width: min(95%, var(--blob-max-w, 520px)); /* stays fixed */ 2802 height: var(--blob-h, 300px); /* stays fixed */ 2803 color: var(--blob-color); 2804 margin: 0 0 12px; 2805 isolation: isolate; 2806} 2807 2808 2809#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__blob-title{ 2810 position: relative; 2811 z-index: 1; 2812 2813 color: var(--blob-title-color); 2814 font-family: 'Peperoncino', sans-serif; 2815 2816 padding: .25em .55em; 2817 line-height: 1.02; 2818 letter-spacing: -0.01em; 2819 font-size: clamp(20px, calc(var(--blob-w, 420px) * var(--blob-font-scale, 0.16)), var(--blob-font-max, 84px)); 2820 text-wrap: balance; 2821 display: block; 2822 max-width: calc(var(--blob-max-w, 520px) - 32px); 2823 margin: 0 auto; 2824 text-align:center; 2825} 2826 2827#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__blob{ 2828 isolation: isolate; 2829 --blob-tightness: 0.85; 2830} 2831 2832#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__body{ margin-top: 10px; color:#541686;} 2833#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__body p { font-size: 1.3rem;line-height: 1.6rem; } 2834#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__body :where(p,ul,ol){ margin: .5rem 0; } 2835#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__img{ width: 100%; height: auto; display: block;margin-top:calc(var(--nav-h) * -1); } 2836#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__nav{ 2837 position: absolute; 2838 display: flex; 2839 align-items: center; 2840 gap: 14px; 2841 z-index: 3; 2842 margin-top:var(--nav-h); 2843} 2844#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__img { margin-top: 0 !important; } 2845#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__nav { margin-top: 0 !important; } 2846#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__btn{ 2847 display: inline-flex; align-items: center; justify-content: center; 2848 border: 0; background: transparent; padding: 6px; cursor: pointer; 2849 color: currentColor; opacity: .95; 2850} 2851#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__btn[disabled]{ opacity:.4; cursor: default; pointer-events: none; } 2852#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__btn img{ height: 28px; width: auto; display:block; } 2853#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__cta{ 2854 display: inline-flex; align-items: center; justify-content: center; 2855 padding: 0 1.1rem; border-radius: 999px; 2856 background: var(--cta-bg); color: var(--cta-fg); 2857 text-decoration: none; font-weight: 100;min-width:210px;font-family: Shining, sans-serif;font-size: 24px; 2858} 2859#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__cta:hover{ filter: brightness(1.05); } 2860@media (max-width: 749px){ 2861 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__slide{ grid-template-columns: 1fr; } 2862 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__stage{ grid-template-columns: 1fr; } 2863} 2864@media (min-width: 750px){ 2865 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__col--right{ 2866 display: flex; 2867 flex-direction: column; 2868 justify-content: center; 2869 margin-top:-80px; 2870 } 2871} 2872#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__slide{ align-items: center; } 2873#twomod-template--26667010425118__two_col_slide_6gynEf .twomod__col{ align-self: auto; } 2874@media (max-width: 749px){ 2875 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__slide{ 2876 position: relative; 2877 inset: auto; 2878 display: none; 2879 opacity: 1;
2880 visibility: visible; 2881 transition: none; 2882 grid-template-columns: 1fr; 2883 } 2884 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__slide.is-active{ 2885 display: grid; 2886 } 2887 2888 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__stage{ 2889 min-height: auto !important; 2890 } 2891 2892 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__nav{ 2893 position: static; 2894 margin-top: 12px !important; 2895 margin-bottom:40px; 2896 display: flex; 2897 justify-content: center; 2898 align-items: center; 2899 gap: 14px; 2900 left: auto; top: auto; 2901 transform: none !important; 2902 } 2903 2904 2905 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__col--right, 2906 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__col--left{ 2907 display: flex; 2908 flex-direction: column; 2909 align-items: center; 2910 justify-content: center; 2911 } 2912 2913 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__img{ 2914 display: none; 2915 /* remove if we want mobile image 2916 width: 100%; 2917 height: auto; 2918 max-width: 520px; 2919 margin: 0 auto;*/ 2920 } 2921 2922 #twomod-template--26667010425118__two_col_slide_6gynEf .twomod__title{ 2923 white-space: normal; 2924 margin-left: auto; 2925 margin-right: auto; 2926 text-align: center; 2927 } 2928} 2929 2930</style> 2931
2932<script> 2933function mod(n, m){ return ((n % m) + m) % m; } 2934 2935(function(){ 2936 const root = document.getElementById('twomod-template--26667010425118__two_col_slide_6gynEf'); 2937 if(!root || root.dataset.init === '1') return; 2938 root.dataset.init = '1'; 2939 2940 const stage = root.querySelector('.twomod__stage'); 2941 const slides = Array.from(root.querySelectorAll('.twomod__slide')); 2942 const prevBtn = root.querySelector('.twomod__btn--prev'); 2943 const nextBtn = root.querySelector('.twomod__btn--next'); 2944 const nav = root.querySelector('.twomod__nav'); 2945 2946 if(!slides.length) return; 2947 2948 let i = 0; 2949 let touchX = null, touchY = null; 2950 let isTransitioning = false; 2951 2952 function sizeBlob(slide){ 2953 const wrap = slide.querySelector('.twomod__blob'); 2954 const title = slide.querySelector('.twomod__blob-title'); 2955 if(!wrap || !title) return; 2956 2957 requestAnimationFrame(() => { 2958 const cs = getComputedStyle(wrap); 2959 const tight = parseFloat(cs.getPropertyValue('--blob-tightness')) || 1; 2960 const padX = 40 * tight; 2961 const padY = 40 * tight; 2962 const box = wrap.getBoundingClientRect(); 2963 const boxW = Math.max(0, box.width - padX); 2964 const boxH = Math.max(0, box.height - (padY + 12)); 2965 2966 title.style.fontSize = ''; 2967 let fs = parseFloat(getComputedStyle(title).fontSize) || 24; 2968 const measure = () => title.getBoundingClientRect(); 2969 2970 for(let j=0; j<4; j++){ 2971 const r = measure(); 2972 if (r.width <= boxW * 0.995 && r.height <= boxH * 0.995) { 2973 const scaleW = boxW / Math.max(1, r.width); 2974 const scaleH = boxH / Math.max(1, r.height); 2975 const scale = Math.min(scaleW, scaleH, 1.12); 2976 if (scale <= 1.01) break; 2977 fs = Math.min(fs * scale, 120); 2978 title.style.fontSize = fs + 'px'; 2979 continue; 2980 } 2981 const scaleW = boxW / Math.max(1, r.width); 2982 const scaleH = boxH / Math.max(1, r.height); 2983 const scale = Math.min(scaleW, scaleH, 1); 2984 fs = Math.max(12, fs * scale * 0.98); 2985 title.style.fontSize = fs + 'px'; 2986 break; 2987 } 2988 }); 2989 } 2990 2991 // --- Only use the image rect when it's actually ready on first render 2992 function isImgReady(img){ 2993 return !!(img && img.complete && img.naturalWidth > 0 && img.naturalHeight > 0); 2994 } 2995 2996 function positionNav(){ 2997 const active = slides[i]; 2998 if (!active || !nav) return; 2999 3000 const stageRect = stage.getBoundingClientRect(); 3001 const rightCol = active.querySelector('.twomod__col--right') || active; 3002 const img = rightCol.querySelector('.twomod__img'); 3003 3004 const useImg = isImgReady(img); 3005 const targetRect = (useImg ? img : rightCol).getBoundingClientRect(); 3006 const navRect = nav.getBoundingClientRect(); 3007 3008 const gap = 12; 3009 const left = targetRect.left + (targetRect.width / 2) - stageRect.left; 3010 let top = targetRect.bottom - stageRect.top + gap; 3011 3012 const maxTop = stage.offsetHeight - navRect.height - gap; 3013 if (top > maxTop) top = maxTop; 3014 if (top < 0) top = 0; 3015 3016 nav.style.left = left + 'px'; 3017 nav.style.top = top + 'px'; 3018 nav.style.transform = 'translate(-50%, 0)'; 3019 } 3020 3021 function setStageHeight(){ 3022 if(isTransitioning) return; 3023 const active = slides[i]; 3024 if(!active) return; 3025 const navH = nav ? nav.offsetHeight : 0; 3026 stage.style.minHeight = (active.offsetHeight + navH) + 'px'; 3027 } 3028 3029 function updateButtons(){ 3030 const disable = slides.length <= 1; 3031 if (prevBtn) prevBtn.disabled = disable; 3032 if (nextBtn) nextBtn.disabled = disable; 3033 } 3034 3035 function show(n){ 3036 if (isTransitioning || !slides.length) return; 3037 3038 const target = mod(n, slides.length); 3039 if (target === i) return; 3040 3041 const oldSlide = slides[i]; 3042 const newSlide = slides[target]; 3043 isTransitioning = true; 3044 3045 const navH = nav ? nav.offsetHeight : 0; 3046 stage.style.minHeight = Math.max(oldSlide.offsetHeight, newSlide.offsetHeight) + navH + 'px'; 3047 3048 oldSlide.classList.remove('is-active', 'is-leaving'); 3049 oldSlide.classList.add('is-instant-hide'); 3050 3051 i = target; 3052 sizeBlob(newSlide); 3053 requestAnimationFrame(() => { 3054 newSlide.classList.add('is-active'); 3055 });
3056 3057 requestAnimationFrame(() => { 3058 oldSlide.classList.remove('is-instant-hide'); 3059 stage.style.minHeight = (newSlide.offsetHeight + navH) + 'px'; 3060 positionNav(); 3061 updateButtons(); 3062 isTransitioning = false; 3063 }); 3064 } 3065 3066 // ---------- Initialization focused on page-load correctness ---------- 3067 sizeBlob(slides[0]); 3068 updateButtons(); 3069 3070 // 1) First paint, then measure (double RAF to be extra safe) 3071 requestAnimationFrame(() => { 3072 requestAnimationFrame(() => { 3073 setStageHeight(); 3074 positionNav(); 3075 }); 3076 }); 3077 3078 // 2) When fonts are ready (they can change metrics) 3079 if (document.fonts && document.fonts.ready) { 3080 document.fonts.ready.then(() => { 3081 setStageHeight(); 3082 positionNav(); 3083 }); 3084 } 3085 3086 // 3) When the active slide's image actually finishes loading (or is already ready) 3087 const activeRightCol = slides[0].querySelector('.twomod__col--right'); 3088 const activeImg = activeRightCol && activeRightCol.querySelector('.twomod__img'); 3089 3090 if (activeImg) { 3091 if (isImgReady(activeImg)) { 3092 // Already good, but run once more after a tick for srcset swaps 3093 requestAnimationFrame(() => { setStageHeight(); positionNav(); }); 3094 } else { 3095 activeImg.addEventListener('load', () => { 3096 setStageHeight(); 3097 positionNav(); 3098 }, { once: true }); 3099 } 3100 } 3101 3102 // 4) Final safety: after all resources are loaded 3103 window.addEventListener('load', () => { 3104 setStageHeight(); 3105 positionNav(); 3106 }); 3107 3108 // --- Keep existing interactions (unchanged) 3109 prevBtn && prevBtn.addEventListener('click', () => show(i - 1)); 3110 nextBtn && nextBtn.addEventListener('click', () => show(i + 1)); 3111 3112 root.addEventListener('keydown', (e) => { 3113 if(e.key === 'ArrowLeft') { e.preventDefault(); show(i-1); } 3114 if(e.key === 'ArrowRight'){ e.preventDefault(); show(i+1); } 3115 }); 3116 3117 const swipeArea = root.querySelector('.twomod__slides'); 3118 swipeArea.addEventListener('touchstart', (e) => { const t=e.touches[0]; touchX=t.clientX; touchY=t.clientY; }, {passive:true}); 3119 swipeArea.addEventListener('touchmove', (e) => { 3120 if(touchX===null||touchY===null) return; 3121 const t=e.touches[0]; 3122 const dx=t.clientX - touchX; const dy=t.clientY - touchY; 3123 if(Math.abs(dx) > 40 && Math.abs(dy) < 40){ 3124 if(dx < 0) show(i+1); else show(i-1); 3125 touchX=null; touchY=null; 3126 } 3127 }, {passive:true}); 3128 swipeArea.addEventListener('touchend', ()=>{ touchX=null; touchY=null; }); 3129 3130 // Observe root for any first-load layout shifts (kept minimal) 3131 const ro = new ResizeObserver(() => { 3132 if(!isTransitioning){ 3133 setStageHeight(); 3134 positionNav(); 3135 } 3136 }); 3137 ro.observe(root); 3138 3139 document.addEventListener('shopify:section:unload', function onUnload(e){ 3140 if (e.detail?.sectionId && root.id.endsWith(e.detail.sectionId)) { 3141 ro.disconnect(); 3142 document.removeEventListener('shopify:section:unload', onUnload); 3143 delete root.dataset.init; 3144 } 3145 }); 3146})(); 3147</script>
3147 3148 3149 3150</section><section id="shopify-section-template--26667010425118__image_banner_HMxiVc" class="shopify-section section"><link href="//www.anniechun.com/cdn/shop/t/3/assets/section-image-banner.css?v=124819179385751388401771885386" rel="stylesheet" type="text/css" media="all" /> 3151<style data-shopify>@media screen and (max-width: 749px) { 3152 #Banner-template--26667010425118__image_banner_HMxiVc::before, 3153 #Banner-template--26667010425118__image_banner_HMxiVc .banner__media::before, 3154 #Banner-template--26667010425118__image_banner_HMxiVc:not(.banner--mobile-bottom) .banner__content::before { 3155 padding-bottom: 60.78125%; 3156 content: ''; 3157 display: block; 3158 } 3159 } 3160 3161 @media screen and (min-width: 750px) { 3162 #Banner-template--26667010425118__image_banner_HMxiVc::before, 3163 #Banner-template--26667010425118__image_banner_HMxiVc .banner__media::before { 3164 padding-bottom: 60.78125%; 3165 content: ''; 3166 display: block; 3167 } 3168 }</style><style data-shopify>#Banner-template--26667010425118__image_banner_HMxiVc::after { 3169 opacity: 0.0; 3170 }</style><div 3171 id="Banner-template--26667010425118__image_banner_HMxiVc" 3172 class="banner banner--content-align-center banner--content-align-mobile-center banner--adapt banner--adapt banner--desktop-transparent scroll-tr
3172igger animate--fade-in" 3173><div class="banner__media media scroll-trigger animate--fade-in"><img src="//www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=3840" alt="" srcset="//www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=375 375w, //www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=550 550w, //www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=750 750w, //www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=1100 1100w, //www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=1500 1500w, //www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=1780 1780w, //www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=2000 2000w, //www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=3000 3000w, //www.anniechun.com/cdn/shop/files/Lifestyle_Image.jpg?v=1754933213&width=3840 3840w" width="1920" height="1167.0" loading="lazy" sizes="100vw" fetchpriority="auto"> 3174 </div><div class="banner__content banner__content--middle-center page-width scroll-trigger animate--slide-in"> 3175 <div class="banner__box content-container content-container--full-width-mobile color-scheme-3 gradient"><h2 3176 class="banner__heading inline-richtext h1" 3177 3178 > 3179 feel like noodling around? 3180 </h2></div> 3181 </div> 3182</div> 3183<style> 3184 .banner__heading.inline-richtext { 3185 font-family: Panton Narrow, sans-serif; 3186 font-size:60px; 3187 line-height:5rem; 3188 } 3189</style> 3190 3191</section><section id="shopify-section-template--26667010425118__static_split_panel_NCxbmN" class="shopify-section static-split-panel"> 3192 3193<section id="ssp-template--26667010425118__static_split_panel_NCxbmN" class="ssp" 3194 style=" 3195 --title-color: #ffffff; 3196 --text-color: #eddbb6; 3197 --title-size: 40px; 3198 --text-size: 16px; 3199 --left-w: 35%; 3200 --right-w: 35%; 3201 --img-offset: 40px; 3202 --trim-top: 40px; 3203 --trim-bottom: 0px; 3204 --bg-fit: cover; 3205 --bg-color: #541686; 3206 --bg-pad-top: 0px; 3207 --bg-pad-bottom: 20px; 3208 3209 --bg-image: none; 3210 3211 --bar-min-h: 320px; 3212 3213 3214 --offset-grid: 0px; 3215 --offset-bar: 40px; 3216 --offset-center: 40px; 3217 3218 3219 margin-top: calc(var(--trim-top) * -1); 3220 margin-bottom: calc(var(--trim-bottom) * -1); 3221 " 3222> 3223 <div class="ssp__inner"> 3224 3225 <div class="ssp__col ssp__col--left"> 3226 <img class="ssp__img" src="//www.anniechun.com/cdn/shop/files/Hand_Holding_Sweet_Chili_Product_cef5a1ae-8851-4f67-9c30-e4bb63583b99.png?v=1772648789&width=1600" alt="" loading="lazy"> 3227 </div> 3228 3229 3230 <div class="ssp__col ssp__col--center"> 3231 3232 <h2 class="ssp__title">Bold Flavor. No Rules. Just Noodles.</h2> 3233 3234 3235 <div class="ssp__text rte"><p>ANNIE CHUNâS® bowls are packed with rich flavor and tender steamed noodles that hit every time. Real ingredients, real satisfaction, zero fussâready in minutes in a microwaveable bowl that fits real life. </p><p><a href="/pages/embrace-the-slurp-sweepstakes" title="ANNIE CHUNâS® Embrace the Slurp Sweepstakes">Shop Bowls</a></p></div> 3236 3237 </div> 3238 3239 3240 <div class="ssp__col ssp__col--right"> 3241 <img class="ssp__img" src="//www.anniechun.com/cdn/shop/files/Hand_Holding_Teriyaki_Product_a65c4597-0bf6-4ee1-9018-9cd8d54b68e7.png?v=1772648789&width=1600" alt="" loading="lazy"> 3242 </div> 3243 3244 </div> 3245</section> 3246 3247<style> 3248#ssp-template--26667010425118__static_split_panel_NCxbmN{ position: relative; overflow: visible; } 3249 3250#ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__inner{ 3251 position: relative; 3252 z-index: 1; 3253 display: grid; 3254 grid-template-columns: 3255 minmax(0, var(--left-w)) 3256 minmax(0, calc(100% - var(--left-w) - var(--right-w))) 3257 minmax(0, var(--right-w)); 3258 align-items: center; 3259 gap: 1.5rem; 3260 padding: 0; 3261 transform: translateY(var(--offset-grid)); 3262 overflow: visible; 3263 min-height: var(--bar-min-h); 3264} 3265 3266#ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__inner::before{ 3267 content: ""; 3268 position: absolute; 3269 left: 0; right: 0; 3270 top: calc(0px - var(--bg-pad-top)); 3271 bottom: calc(0px - var(--bg-pad-bottom)); 3272 background-color: var(--bg-color); 3273 background-image: var(--bg-image); 3274 background-position: center; 3275 background-repeat: no-repeat; 3276 background-size: var(--bg-fit); 3277 z-index: -1; 3278 pointer-events: none; 3279 transform: translateY(var(--offset-bar)); 3280} 3281 3282#ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__col{ min-width: 0; overflow: visible; } 3283 3284#ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__col--left { 3285 display:flex; align-items:center; justify-content:flex-start; 3286} 3287#ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__col--right { 3288 display:flex; align-items:center; justify-content:flex-end; 3289} 3290 3291#ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__col--center{ 3292 align-self: stretch; 3293 display: flex; 3294 flex-direction: column; 3295 justify-content: center; 3296 transform: translateY(var(--offset-center)); 3297} 3298 3299#ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__title{ 3300 margin: 0 0 .5rem; 3301 text-align: center; 3302 color: var(--title-color); 3303 font-size: var(--title-size); 3304 line-height: 1.1; 3305} 3306 3307#ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__text{ 3308 margin: 0; 3309 text-align: center; 3310 color: var(--text-color); 3311 font-size: var(--text-size); 3312} 3313 3314#ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__img{ display: block; max-width: 100%; height: auto; } 3315 3316@media (max-width: 749px){ 3317 #ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__inner{ 3318 grid-template-columns: 1fr 1fr; 3319 grid-template-areas: 3320 "center center" 3321 "left right"; 3322 gap: 1rem; 3323 padding: 50px 0; 3324 min-height: auto; 3325 transform: none; 3326 } 3327 3328 #ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__col--center { 3329 grid-area: center; 3330 justify-content: center; 3331 transform: none; 3332 padding:20px; 3333 } 3334 #ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__col--left { 3335 grid-area: left; 3336 justify-content: flex-end; 3337 } 3338 #ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__col--right { 3339 grid-area: right; 3340 justify-content: flex-start; 3341 } 3342 3343 #ssp-template--26667010425118__static_split_panel_NCxbmN{ 3344 margin-top: 0 !important; 3345 margin-bottom: 0 !important; 3346 } 3347 #ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__inner::before{ 3348 transform: none; 3349 top: 0; bottom: 0; 3350 } 3351 3352 #ssp-template--26667010425118__static_split_panel_NCxbmN .ssp__img{ 3353 width: 100%; 3354 height: auto; 3355 display: block; 3356 } 3357} 3358 3359</style> 3360 3361<style> #shopify-section-template--26667010425118__static_split_panel_NCxbmN .ssp__title {line-height: 38px; margin-top: 20px;} #shopify-section-template--26667010425118__static_split_panel_NCxbmN .ssp a {align-items: center; justify-content: center; margin: 15px auto 0; padding: 1rem 2.5rem; background: #eddbb6; color: #541686; border: 0 !important; border-radius: 9999px !important; text-decoration: none !important; line-height: 1.1; font-weight: 600; cursor: pointer; transition: transform 0.08s ease, opacity 0.2s ease; display: table; font-family: Peperoncino, sans-serif;} #shopify-section-template--26667010425118__static_split_panel_NCxbmN .ssp a:hover {opacity: 0.8;} </style></section><section id="shopify-section-template--26667010425118__hero_social_band_6H6rAM" class="shopify-section hero-social-band"><section id="hsb-template--26667010425118__hero_social_band_6H6rAM" 3362 class="hsb" 3363 style=" 3364 --pad-v: 116px; 3365 --pad-h: 20px; 3366 --title-color: #531786; 3367 --icon-size: 48px; 3368 --max-img-w: 1400px; 3369 --img-gap: 16px; 3370 background-color: #ffffff; 3371 3372 background-image: url(//www.anniechun.com/cdn/shop/files/Social_Banner.jpg?v=1754935448&width=2400); 3373 background-repeat: no-repeat; 3374 background-position: center; 3375 background-size: cover; 3376 3377 " 3378> 3379 <div class="hsb__inner"> 3380 3381 <h2 class="hsb__title"><span>follow for some </span> fun</h2> 3382 3383 3384 3385 <nav class="hsb__social" aria-label="Social links"> 3386 <ul class="hsb__social-list"> 3387 3388 3389 3390 <li class="hsb__social-item" > 3391 <a href="https://www.facebook.com/AnnieChunsInc" class="hsb__social-link" target="_blank" rel="noopener" aria-label=""> 3392 <img src="//www.anniechun.com/cdn/shop/files/Facebook.png?v=1754935722&width=256" alt="" class="hsb__social-icon" loading="lazy"> 3393 </a> 3394 </li> 3395 3396 � 3397 3398 3399 3400 <li class="hsb__social-item" > 3401 <a href="https://x.com/AnnieChuns" class="hsb__social-link" target="_blank" rel="noopener" aria-label=""> 3402 <img src="//www.anniechun.com/cdn/shop/files/Twitter.png?v=1754935722&width=256" alt="" class="hsb__social-icon" loading="lazy"> 3403 </a> 3404 </li> 3405 3406 � 3407 3408 3409 3410 <li class="hsb__social-item" > 3411 <a href="https://www.instagram.com/anniechunsinc" class="hsb__social-link" target="_blank" rel="noopener" aria-label=""> 3412 <img src="//www.anniechun.com/cdn/shop/files/Instagram.png?v=1754935722&width=256" alt="" class="hsb__social-icon" loading="lazy"> 3413 </a> 3414 </li> 3415 3416 � 3417 3418 3419 3420 <li class="hsb__social-item" > 3421 <a href="https://www.tiktok.com/@anniechuns" class="hsb__social-link" target="_blank" rel="noopener" aria-label=""> 3422 <img src="//www.anniechun.com/cdn/shop/files/tiktok.png?v=1754935722&width=256" alt="" class="hsb__social-icon" loading="lazy"> 3423 </a> 3424 </li> 3425 3426 �</ul> 3427 </nav> 3428 � 3429 <div class="social_image_container hsb__image-grid hsb__image-grid--two"> 3430 3431 <div class="hsb__image-wrap"> 3432 <img 3433 src="//www.anniechun.com/cdn/shop/files/Left_Social.png?v=1756743610&width=2400" 3434 alt="" 3435 class="hsb__image" 3436 loading="lazy" 3437 > 3438 </div> 3439 3440 3441 3442 <div class="hsb__image-wrap"> 3443 <img 3444 src="//www.anniechun.com/cdn/shop/files/Right_Social.png?v=1756743610&width=2400 3445" 3446 alt="" 3447 class="hsb__image" 3448 loading="lazy" 3449 > 3450 </div> 3451 3452 </div> 3453 3454 3455 </div> 3456</section> 3457 3458<style> 3459 #hsb-template--26667010425118__hero_social_band_6H6rAM{ 3460 padding: var(--pad-v) var(--pad-h); 3461 } 3462 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__inner{ 3463 width: 100%; 3464 margin: 0 auto; 3465 } 3466 3467 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__title{ 3468 text-align: center; 3469 margin: 0 0 1rem; 3470 color: var(--title-color); 3471 font-size:80px; 3472 white-space:break-spaces; 3473 line-height:5rem; 3474 } 3475 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__title span{ 3476 text-align: center; 3477 margin: 0 0 1rem; 3478 color: var(--title-color); 3479 font-size:60px; 3480 display: inline-block; 3481 transform: translateY(-10px); 3482 } 3483 3484 .social_image_container {max-width:1200px;margin:0 auto;} 3485 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__social{ margin: 0.5rem 0 1.25rem; } 3486 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__social-list{ 3487 list-style: none; 3488 padding: 0; margin: 0; 3489 display: flex; gap: 2rem;
3490 align-items: center; justify-content: center; 3491 flex-wrap: wrap; 3492 } 3493 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__social-link{ 3494 display: inline-flex; align-items: center; justify-content: center; 3495 text-decoration: none; 3496 } 3497 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__social-icon{ 3498 display: block; 3499 width: var(--icon-size); 3500 height: var(--icon-size); 3501 object-fit: contain; 3502 } 3503 3504 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__image-grid{ 3505 display: grid; 3506 gap: var(--img-gap); 3507 } 3508 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__image-grid--two{ 3509 grid-template-columns: 1fr; 3510 } 3511 @media (min-width: 750px){ 3512 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__image-grid--two{ 3513 grid-template-columns: 1fr 1fr; 3514 align-items: center; 3515 } 3516 } 3517 3518 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__image-wrap{ 3519 width: 100%; 3520 display: grid; 3521 place-items: center; 3522 } 3523 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__image{ 3524 display: block; 3525 width: 100%; 3526 max-width: var(--max-img-w); 3527 height: auto; 3528 } 3529 3530 @media (max-width: 749px){ 3531 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__title{ margin-bottom: 0.75rem; } 3532 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__social{ margin-bottom: 1rem; } 3533 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__title {transform: scale(0.8);} 3534 #hsb-template--26667010425118__hero_social_band_6H6rAM .hsb__title span {display:inline; transform: translateY(0px);} 3535 } 3536</style> 3537 3538 3539</section><section id="shopify-section-template--26667010425118__center_band_sides_XaweCg" class="shopify-section center-band-with-sides"><section id="cbs-template--26667010425118__center_band_sides_XaweCg" class="cbs" 3540 style=" 3541 --bg: #531786; 3542 --center-w: 25%; 3543 --side-h: 200px; /* global square size (height = width) */ 3544 --side-gap: 30px; 3545 3546 --title-color: #ffffff; 3547 --text-color: #ffffff; 3548 3549 --btn-bg: #ecdbb7; 3550 --btn-fg: #5a2d90; 3551 " 3552><div class="cbs__inner"> 3553 <!-- LEFT RAIL --> 3554 <div class="cbs__col cbs__col--left"> 3555 <div class="cbs__rail cbs__rail--left" aria-hidden="true"> 3556 3557 <img class="cbs__img" 3558 src="//www.anniechun.com/cdn/shop/files/Bowl_3.jpg?v=1755631909&width=2000" 3559 alt="" 3560 loading="lazy"> 3561 3562 3563 <img class="cbs__img" 3564 src="//www.anniechun.com/cdn/shop/files/Bowl_2.jpg?v=1755631909&width=2000" 3565 alt="" 3566 loading="lazy"> 3567 3568 3569 <img class="cbs__img" 3570 src="//www.anniechun.com/cdn/shop/files/Bowl_1.jpg?v=1755631909&width=2000" 3571 alt="" 3572 loading="lazy"> 3573 3574 </div> 3575 </div> 3576 3577 <div class="cbs__col cbs__col--center"> 3578 3579 <h2 class="cbs__title">Buy Now</h2> 3580 3581 3582 <div class="cbs__text rte"><p>Ready when you are. Find ANNIE CHUN'S® noodles at your favorite grocery store.</p></div> 3583 3584 3585 3586 <button type="button" 3587 class="cbs__btn" 3588 id="cbs-btn-template--26667010425118__center_band_sides_XaweCg" 3589 aria-haspopup="dialog" 3590 data-ps-sku="7-65667-11091-1"> 3591 buy now 3592 </button> 3593 3594 </div> 3595 3596 <!-- RIGHT RAIL --> 3597 <div class="cbs__col cbs__col--right"> 3598 <div class="cbs__rail cbs__rail--right" aria-hidden="true"> 3599 3600 <img class="cbs__img" 3601 src="//www.anniechun.com/cdn/shop/files/Bowl_4.jpg?v=1755631909&width=2000" 3602 alt="" 3603 loading="lazy"> 3604 3605 3606 <img class="cbs__img" 3607 src="//www.anniechun.com/cdn/shop/files/Bowl_5.jpg?v=1755631909&width=2000" 3608 alt="" 3609 loading="lazy"> 3610 3611 3612 <img class="cbs__img" 3613 src="//www.anniechun.com/cdn/shop/files/Bowl_6.jpg?v=1755631909&width=2000" 3614 alt="" 3615 loading="lazy"> 3616 3617 </div> 3618 </div> 3619 </div> 3620 3621 <div class="ps-widget ps-widget--cbs-template--26667010425118__center_band_sides_XaweCg" 3622 ps-widget-type="lightbox" 3623 ps-sku="7-65667-11091-1" 3624 tabindex="-1" 3625 aria-hidden="true" 3626 hidden></div> 3627</section> 3628 3629<style> 3630#cbs-template--26667010425118__center_band_sides_XaweCg{ 3631 background: var(--bg); 3632 position: relative; 3633 overflow-x: hidden; 3634} 3635 3636#cbs-template--26667010425118__center_band_sides_XaweCg .ps-widget { display: none !important; } 3637.ps-widget--cbs-template--26667010425118__center_band_sides_XaweCg[hidden] { display: none !important; } 3638 3639#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__inner{ 3640 display: grid; 3641 grid-template-columns: minmax(0,1fr) minmax(0,var(--center-w)) minmax(0,1fr); 3642 align-items: center; 3643 gap: 1.25rem; 3644 width: 100%; 3645 margin: 0 auto; 3646 padding: 2rem 1rem; 3647 overflow: visible; 3648} 3649 3650#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__col{ 3651 min-width: 0; 3652 overflow: visible; 3653 position: relative; 3654} 3655#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__col--center { 3656 padding-left:20px; 3657 padding-right:20px; 3658} 3659 3660#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__rail{ 3661 display: flex; 3662 gap: var(--side-gap); 3663 width: calc(var(--side-h) * 3 + var(--side-gap) * 2); 3664 max-width: none; 3665 overflow: visible; 3666} 3667 3668#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__col--left{ display:flex; justify-content:flex-end; align-items:center; } 3669#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__rail--left{ flex-direction: row-reverse; } 3670 3671#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__col--right{ display:flex; justify-content:flex-start; align-items:center; } 3672#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__img{ 3673 height: var(--side-h); 3674 width: var(--side-h); 3675 max-width: none; 3676 display: block; 3677 object-fit: cover; 3678 flex: 0 0 var(--side-h); 3679} 3680 3681#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__title{ 3682 text-align: center; 3683 margin: 0 0 .5rem; 3684 color: var(--title-color); 3685 font-size: 50px; 3686} 3687#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__text{ 3688 text-align: center; 3689 margin: 0 0 1rem; 3690 color: var(--text-color); 3691} 3692#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__text p{
3693 line-height:17px; 3694} 3695 3696#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__btn{ 3697 align-items: center; 3698 justify-content: center; 3699 margin: 15px auto 0; 3700 padding: 1rem 2.5rem; 3701 background: var(--btn-bg) !important; 3702 color: var(--btn-fg) !important; 3703 border: 0 !important; 3704 border-radius: 9999px !important; 3705 text-decoration: none !important; 3706 line-height: 1.1; 3707 font-weight: 600; 3708 cursor: pointer; 3709 transition: transform .08s ease, opacity .2s ease; 3710 display:table; 3711 font-family: Peperoncino, sans-serif; 3712} 3713#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__btn:hover, 3714#cbs-template--26667010425118__center_band_sides_XaweCg .cbs__btn:focus{ 3715 opacity: .92; 3716 transform: translateY(-1px); 3717} 3718 3719@media (max-width: 900px){ 3720 #cbs-template--26667010425118__center_band_sides_XaweCg .cbs__inner{ 3721 gap: .75rem; 3722 padding: 2rem .75rem; 3723 grid-template-columns: 20% 60% 20%; 3724 } 3725} 3726 3727@media (max-width: 749px){ 3728 #cbs-template--26667010425118__center_band_sides_XaweCg .cbs__inner{ 3729 gap: .75rem; 3730 padding: 2rem .75rem; 3731 grid-template-columns: 15% 70% 15%; 3732 } 3733} 3734@media (max-width: 500px){ 3735 #cbs-template--26667010425118__center_band_sides_XaweCg .cbs__inner{ 3736 gap: 0; 3737 padding: 2rem .75rem; 3738 grid-template-columns: 0% 100% 0%; 3739 } 3740 #cbs-template--26667010425118__center_band_sides_XaweCg .cbs__inner img{display:none;} 3741} 3742</style> 3743
3744<script> 3745(function CBSSectionWTB(){ 3746 function setup(root){ 3747 var section = root && root.querySelector ? root.querySelector('#cbs-template--26667010425118__center_band_sides_XaweCg') : document.getElementById('cbs-template--26667010425118__center_band_sides_XaweCg'); 3748 if (!section) return; 3749 3750 var btn = section.querySelector('#cbs-btn-template--26667010425118__center_band_sides_XaweCg'); 3751 var ps = section.querySelector('.ps-widget--cbs-template--26667010425118__center_band_sides_XaweCg'); 3752 3753 if (!btn || !ps) return; 3754 3755 if (btn.dataset.psBound === '1') return; 3756 btn.dataset.psBound = '1'; 3757 3758 var initialSku = btn.getAttribute('data-ps-sku') || '7-65667-11091-1'; 3759 ps.setAttribute('ps-sku', (initialSku || '').trim()); 3760 ps.setAttribute('hidden', ''); 3761 3762 function openPS(e){ 3763 e.preventDefault(); 3764 ps.click(); 3765 } 3766 btn.addEventListener('click', openPS); 3767 btn.addEventListener('keydown', function(e){ 3768 if (e.key === 'Enter' || e.key === ' ') openPS(e); 3769 }); 3770 3771 document.addEventListener('variant:change', function(e){ 3772 var v = e.detail && e.detail.variant; 3773 if (!v) return; 3774 var sku = (v.sku && v.sku.trim()) ? v.sku : '7-65667-11091-1'; 3775 ps.setAttribute('ps-sku', sku); 3776 btn.setAttribute('data-ps-sku', sku); 3777 }); 3778 } 3779 3780 document.addEventListener('DOMContentLoaded', function(){ setup(document); }); 3781 document.addEventListener('shopify:section:load', function(e){ setup(e.target); }); 3782})(); 3783</script>
3783 3784 3785 3786</section> 3787 </main> 3788 3789 <!-- BEGIN sections: footer-group --> 3790<section id="shopify-section-sections--26667007017246__custom_footer_plus_M4dwWq" class="shopify-section shopify-section-group-footer-group custom-footer-plus"><section id="cfsec-sections--26667007017246__custom_footer_plus_M4dwWq" class="cfsec" 3791 style=" 3792 --bg: #531786; 3793 --fg: #ffffff; 3794 --muted: #b3b3b3; 3795 --pad-t: 48px; 3796 --pad-b: 20px; 3797 --gap-x: 24px; 3798 --gap-y: 28px; 3799 --left-img-max: 200px; 3800 --left-img-offset: -20px; 3801 3802 --right-img-max: 200px; 3803 --right-img-offset: 40px; 3804 3805 --center-img-max: 200px; 3806 --center-title-size: 28px; 3807 --center-title-color: #eddbb6; 3808 3809 --menu-gap: 1px; 3810 --menu-font-size: 12px; 3811 --menu-color: #ffffff; 3812 " 3813> 3814 <div class="cfsec__inner"> 3815 <div class="cfsec__row cfsec__row--cols"> 3816 <div class="cfsec__col cfsec__col--left"><img 3817 class="cfsec__img" 3818 src="//www.anniechun.com/cdn/shop/files/Left_Icon_00f432d5-87ba-43ef-a536-8b338f600ea8.png?v=1755630636&width=900" 3819 srcset=" 3820 //www.anniechun.com/cdn/shop/files/Left_Icon_00f432d5-87ba-43ef-a536-8b338f600ea8.png?v=1755630636&width=360 360w, 3821 //www.anniechun.com/cdn/shop/files/Left_Icon_00f432d5-87ba-43ef-a536-8b338f600ea8.png?v=1755630636&width=600 600w, 3822 //www.anniechun.com/cdn/shop/files/Left_Icon_00f432d5-87ba-43ef-a536-8b338f600ea8.png?v=1755630636&width=900 900w 3823 " 3824 sizes="(max-width: 749px) 60vw, 25vw" 3825 alt="" 3826 loading="lazy" 3827 decoding="async" 3828 ></div> 3829 3830 <div class="cfsec__col cfsec__col--center"><img 3831 class="cfsec__img cfsec__img--center" 3832 src="//www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?v=1754512065&width=1200" 3833 srcset=" 3834 //www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?v=1754512065&width=480 480w, 3835 //www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?v=1754512065&width=800 800w, 3836 //www.anniechun.com/cdn/shop/files/AC_primary_logo_2025.png?v=1754512065&width=1200 1200w 3837 " 3838 sizes="(max-width: 749px) 70vw, 30vw" 3839 alt="" 3840 loading="lazy" 3841 decoding="async" 3842 ><h2 class="cfsec__center-title">BE IN THE NOODLE KNOW AND JOIN THE CHUN CLUB</h2><div class="cfsec__center-intro"> 3843 <p>Sign up for juicy recipes, secret noodle drops and sweepstakes. Donât worry, we bring the noo(ws).</p> 3844 </div><div class="cfsec__liquid"> 3845 <div id="footer-form-jump"><div class="klaviyo-form-ReAj3G"></div></div><style>#footer-form-jump form {margin:0 auto;}</style> 3846 </div></div> 3847 3848 <div class="cfsec__col cfsec__col--right"><img 3849 class="cfsec__img" 3850 src="//www.anniechun.com/cdn/shop/files/Right_Icon_c939b79e-f76e-4dd1-8380-bf017c3154cd.png?v=1755630636&width=900" 3851 srcset=" 3852 //www.anniechun.com/cdn/shop/files/Right_Icon_c939b79e-f76e-4dd1-8380-bf017c3154cd.png?v=1755630636&width=360 360w, 3853 //www.anniechun.com/cdn/shop/files/Right_Icon_c939b79e-f76e-4dd1-8380-bf017c3154cd.png?v=1755630636&width=600 600w, 3854 //www.anniechun.com/cdn/shop/files/Right_Icon_c939b79e-f76e-4dd1-8380-bf017c3154cd.png?v=1755630636&width=900 900w 3855 " 3856 sizes="(max-width: 749px) 60vw, 25vw" 3857 alt="" 3858 loading="lazy" 3859 decoding="async" 3860 ></div> 3861 </div><nav class="cfsec__row cfsec__row--menu" aria-label="Footer"> 3862 <div class="cfsec__menu-wrap"> 3863 <span class="cfsec__underline" aria-hidden="true"></span> 3864 <ul class="cfsec__menu"><li class="cfsec__menu-item"> 3865 <a class="cfsec__menu-link" href="/pages/site-map">Site Map</a> 3866 </li><li class="cfsec__divider" aria-hidden="true">|</li><li class="cfsec__menu-item"> 3867 <a class="cfsec__menu-link" href="/pages/privacy-notice">Privacy Notice</a> 3868 </li><li class="cfsec__divider" aria-hidden="true">|</li><li class="cfsec__menu-item"> 3869 <a class="cfsec__menu-link" href="/pages/cookie-notice">Cookie Notice</a> 3870 </li><li class="cfsec__divider" aria-hidden="true">|</li><li class="cfsec__menu-item"> 3871 <a class="cfsec__menu-link" href="/pages/terms-of-use">Terms of Use</a> 3872 </li><li class="cfsec__divider" aria-hidden="true">|</li><li class="cfsec__menu-item"> 3873 <a class="cfsec__menu-link" href="/pages/contact">Contact Us</a> 3874 </li><li class="cfsec__divider" aria-hidden="true">|</li><li class="cfsec__menu-item"> 3875 <a class="cfsec__menu-link" href="https://www.schwanscompany.com/california-transparency.htm">CA Transparency in Supply Chains Act</a> 3876 </li></ul> 3877 </div> 3878 </nav><div class="cfsec__row cfsec__row--copy"> 3879 <div class="cfsec__copy"> 3880 <p> 3881 <a href="https://www.schwanscompany.com/" target="_blank"> 3882 <img src="//cdn.shopify.com/s/files/1/0943/8058/9342/files/CJ_Schwans_logo_-_White_-_Small_0223db57-bb02-4017-a02e-56715e9f211c.png?v=1782235972" alt="CJ Schwan's Logo"> 3883 </a> ©2026 Schwanâs Sales Co., Inc. â Consumer Brands Division. All Rights Reserved. 3884 </p> 3885 </div> 3886 </div></div> 3887</section> 3888 3889<style> 3890#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq{ 3891 background: var(--bg); 3892 color: var(--fg); 3893} 3894#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__col--left .cfsec__img { 3895 max-width: var(--left-img-max); 3896 transform: translateY(var(--left-img-offset)); 3897} 3898 3899#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__col--right .cfsec__img { 3900 max-width: var(--right-img-max); 3901 transform: translateY(var(--right-img-offset)); 3902} 3903#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__inner{ 3904 max-width: 1400px; 3905 margin: 0 auto; 3906 padding: var(--pad-t) 16px var(--pad-b); 3907 display: grid; 3908 gap: var(--gap-y); 3909} 3910 3911#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__row--cols{ 3912 display: grid; 3913 grid-template-columns: 1fr minmax(260px, 1fr) 1fr; 3914 align-items: center; 3915 gap: var(--gap-x); 3916} 3917#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__col{ 3918 display: grid; 3919 place-items: center; 3920 text-align: center; 3921} 3922#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__img{ 3923 max-width: 100%; 3924 height: auto; 3925 display: block; 3926} 3927#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__img--center{ 3928 max-width: var(--center-img-max); 3929 width: 100%; 3930 margin-bottom: 12px; 3931} 3932#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__center-title{ 3933 margin: 8px 0 6px; 3934 font-size: var(--center-title-size); 3935 line-height: 1.1; 3936 color: var(--center-title-color); 3937 font-weight: 100; 3938} 3939#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__center-intro{ 3940 color: #fff; 3941 line-height: 21px; 3942} 3943#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__liquid{ 3944 width: 100%; 3945 color: var(--fg); 3946} 3947 3948#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__row--menu{ 3949 display: grid; 3950 place-items: center; 3951} 3952#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__menu-wrap{ 3953 display: inline-block; 3954 text-align: center; 3955 color: var(--menu-color); 3956} 3957#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__underline{ 3958 display: block; 3959 width: 100%; 3960 height: 1px; 3961 background: var(--menu-color); 3962 margin: 0 auto 10px; 3963} 3964 3965#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__menu{ 3966 display: inline-flex; 3967 align-items: center; 3968 flex-wrap: wrap; 3969 list-style: none; 3970 padding: 0; 3971 margin: 0; 3972 gap: var(--menu-gap); 3973 font-size: var(--menu-font-size); 3974 line-height: 1.2; 3975 color: var(--menu-color); 3976 justify-content:center; 3977} 3978#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__menu-item, 3979#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__divider{ 3980 display: inline-flex; 3981 align-items: center; 3982 font-size: inherit; 3983 line-height: inherit; 3984 color: inherit; 3985} 3986 3987#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__divider{ 3988 opacity: .7; 3989} 3990 3991#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__menu-link{ 3992 font-size: inherit !important; 3993 color: var(--menu-color) !important; 3994 text-decoration: none !important; 3995} 3996#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__menu-link:hover, 3997#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__menu-link:focus{ 3998 text-decoration: none !important; 3999 opacity: .9; 4000} 4001 4002#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__row--copy{ 4003 display: grid; 4004 place-items: center; 4005} 4006#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__row--copy, #cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__row--copy p { 4007 color: #d5cadd; 4008 text-align: center; 4009 font-family:var(--font-body-family); 4010 font-size:12px; 4011} 4012#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__copy :where(a){ 4013 color: var(--fg); 4014 text-decoration: underline; 4015} 4016#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__copy { display:block; } 4017#cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__copy p { display:flex; gap:10px; align-items:center; margin:0; justify-content:center; } 4018 4019@media (max-width: 990px){ 4020 #cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__row--cols{ 4021 grid-template-columns: 1fr; 4022 } 4023 #cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__img--center{ 4024 margin-bottom: 16px; 4025 } 4026 #cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__col--left .cfsec__img, #cfsec-sections--26667007017246__custom_footer_plus_M4dwWq .cfsec__col--right .cfsec__img{ 4027 display:none; 4028 } 4029} 4030</style> 4031 4032 4033 4034</section> 4035<!-- END sections: footer-group --> 4036 4037 <ul hidden> 4038 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 4039 <li id="a11y-new-window-message">Opens in a new window.</li> 4040 </ul> 4041 4042
4042<script> 4043 window.shopUrl = 'https://www.anniechun.com'; 4044 window.routes = { 4045 cart_add_url: '/cart/add', 4046 cart_change_url: '/cart/change', 4047 cart_update_url: '/cart/update', 4048 cart_url: '/cart', 4049 predictive_search_url: '/search/suggest', 4050 }; 4051 4052 window.cartStrings = { 4053 error: `There was an error while updating your cart. Please try again.`, 4054 quantityError: `You can only add [quantity] of this item to your cart.`, 4055 }; 4056 4057 window.variantStrings = { 4058 addToCart: `Add to cart`, 4059 soldOut: `Sold out`, 4060 unavailable: `Unavailable`, 4061 unavailable_with_option: `[value] - Unavailable`, 4062 }; 4063 4064 window.quickOrderListStrings = { 4065 itemsAdded: `[quantity] items added`, 4066 itemAdded: `[quantity] item added`, 4067 itemsRemoved: `[quantity] items removed`, 4068 itemRemoved: `[quantity] item removed`, 4069 viewCart: `View cart`, 4070 each: `[money]/ea`, 4071 min_error: `This item has a minimum of [min]`, 4072 max_error: `This item has a maximum of [max]`, 4073 step_error: `You can only add this item in increments of [step]`, 4074 }; 4075 4076 window.accessibilityStrings = { 4077 imageAvailable: `Image [index] is now available in gallery view`, 4078 shareSuccess: `Link copied to clipboard`, 4079 pauseSlideshow: `Pause slideshow`, 4080 playSlideshow: `Play slideshow`, 4081 recipientFormExpanded: `Gift card recipient form expanded`, 4082 recipientFormCollapsed: `Gift card recipient form collapsed`, 4083 countrySelectorSearchCount: `[count] countries/regions found`, 4084 }; 4085 </script>
4085<script src="//www.anniechun.com/cdn/shop/t/3/assets/predictive-search.js?v=57209189334897115771771885386" defer="defer"></script>
4085<!-- Start of HubSpot Embed Code --> 4086
4086<script type="text/javascript" id="hs-script-loader" async defer src="//js-na1.hs-scripts.com/23624452.js"></script>
4086 4087 <!-- End of HubSpot Embed Code --> 4088
4088<script> 4089 document.addEventListener("DOMContentLoaded", function() { 4090 // Add any URLs you want to open in a new tab here because Shopify doesnt have the option to do this natively 4091 const targetUrls = [ 4092 "https://www.schwanscompany.com/california-transparency.htm"//, 4093 //"https://www.example.com/another-page", 4094 //"https://www.yoursite.com/somewhere-else" 4095 ]; 4096 4097 const links = document.querySelectorAll("a[href]"); 4098 4099 links.forEach(link => { 4100 if (targetUrls.includes(link.href)) { 4101 link.setAttribute("target", "_blank"); 4102 link.setAttribute("rel", "noopener noreferrer"); 4103 } 4104 }); 4105 }); 4106 </script>
4106 4107 4108<!-- Trigger PriceSpider on link option -->
4109<script> 4110(function () { 4111 if (location.pathname !== '/') return; 4112 if (!location.search.includes('pricespider')) return; 4113 4114 function psEl() { 4115 return document.querySelector('body > .ps-widget.__wtb-header'); 4116 } 4117 4118 function psReady() { 4119 var el = psEl(); 4120 return !!(el && ( 4121 (el.children && el.children.length > 0) || 4122 (el.innerHTML && el.innerHTML.trim().length > 0) 4123 )); 4124 } 4125 4126 function openPS() { 4127 var el = psEl(); 4128 if (el) el.click(); 4129 } 4130 4131 var overlay = document.createElement('div'); 4132 overlay.id = 'ps-deeplink-overlay'; 4133 overlay.setAttribute('role', 'button'); 4134 overlay.setAttribute('tabindex', '0'); 4135 overlay.setAttribute('aria-label', 'Click to view stores'); 4136 overlay.innerHTML = 4137 '<div class="ps-deeplink-card">' + 4138 '<div class="ps-deeplink-title"><h2>Click anywhere to view stores</h2></div>' + 4139 '<div class="ps-deeplink-sub">Weâll open the store locator.</div>' + 4140 '</div>'; 4141 4142 var style = document.createElement('style'); 4143 style.textContent = 4144 '#ps-deeplink-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);cursor:pointer;}' + 4145 '#ps-deeplink-overlay .ps-deeplink-card{background:#fff;color:#111;padding:18px 20px;border-radius:14px;max-width:360px;width:calc(100% - 40px);text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.25);font-family:inherit;}' + 4146 '#ps-deeplink-overlay .ps-deeplink-title h2{margin:10px;line-height:29px;font-size:35px;color:#5a2d90;}' + 4147 '#ps-deeplink-overlay .ps-deeplink-sub{margin-top:6px;font-size:13px;opacity:.8;}'; 4148 4149 document.head.appendChild(style); 4150 document.body.appendChild(overlay); 4151 4152 var titleWrap = overlay.querySelector('.ps-deeplink-title'); 4153 var subEl = overlay.querySelector('.ps-deeplink-sub'); 4154 4155 var armed = false; 4156 var ready = psReady(); 4157 var opened = false; 4158 var t0 = Date.now(); 4159 4160 function cleanup() { 4161 overlay.removeEventListener('click', onActivate, true); 4162 overlay.removeEventListener('touchstart', onActivate, true); 4163 overlay.removeEventListener('keydown', onKey, true); 4164 if (overlay.parentNode) overlay.parentNode.removeChild(overlay); 4165 if (style.parentNode) style.parentNode.removeChild(style); 4166 } 4167 4168 function setLoading() { 4169 if (titleWrap) titleWrap.innerHTML = '<h2>Loading storesâ¦</h2>'; 4170 if (subEl) subEl.textContent = 'One moment.'; 4171 } 4172 4173 function setTapToOpen() { 4174 if (titleWrap) titleWrap.innerHTML = '<h2>Tap to open stores</h2>'; 4175 if (subEl) subEl.textContent = 'Tap anywhere to continue.'; 4176 } 4177 4178 function onActivate(e) { 4179 if (e) { e.preventDefault(); e.stopPropagation(); } 4180 4181 if (!opened && psReady()) { 4182 opened = true; 4183 openPS(); 4184 cleanup(); 4185 return; 4186 } 4187 4188 if (!armed) { 4189 armed = true; 4190 setLoading(); 4191 return; 4192 } 4193 4194 if (!opened && psReady()) { 4195 opened = true; 4196 openPS(); 4197 cleanup(); 4198 } 4199 } 4200 4201 function onKey(e) { 4202 if (e.key === 'Enter' || e.key === ' ') onActivate(e); 4203 } 4204 4205 overlay.addEventListener('click', onActivate, true); 4206 overlay.addEventListener('touchstart', onActivate, true); 4207 overlay.addEventListener('keydown', onKey, true); 4208 4209 (function poll() { 4210 if (!ready && psReady()) { 4211 ready = true; 4212 if (armed && !opened) setTapToOpen(); 4213 return; 4214 } 4215 if (!opened && Date.now() - t0 < 15000) setTimeout(poll, 100); 4216 })(); 4217 4218})(); 4219</script>
4219 4220 4221 4222
4222<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
4222 4223</body> 4224</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.