1<!doctype html> 2<html class="no-js" lang="en" dir="ltr"> 3<head>
3<script data-source-attribution="shopify.event_observer.bootstrap"> 4(function(){let e=navigator,t=`prototype`,n=`sendBeacon`,r=e[n],i=fetch,a=XMLHttpRequest[t],{open:o,send:s}=a,c=`EventListener`,l=`add${c}`,u=`remove${c}`,d=EventTarget[t],f=d[l],p=d[u],m=e=>Error((e=document.currentScript)&&[e?.src,e?.id||e?.dataset?.sourceAttribution]),h=(e=[],t=0)=>(e.p=n=>e[t++%1e3]=n,[e,t=>(e.forEach(e.p=t),e.length=0)]),[g,_]=h(),[v,y]=h(),b,x=new WeakMap,S=e=>e&&g.p([e,b||[m()]]);d[l]=function(e,t,n){let r=this,i=t?.handleEvent||t,a=x.get(t),o=m();i?.call&&!a&&x.set(t,a=function(e){b=[o,e.type];try{i.call(t==i?this:t,e)}finally{b=null}}),v.p([e,o,a,r?.tagName||r+``,r?.id]),f.call(r,e,a||t,n)},d[u]=function(e,t,n){p.call(this,e,x.get(t)||t,n)},a.open=function(e,t){x.set(this,[t+``,e]),o.apply(this,arguments)},a.send=function(e){S(x.get(this)),s.call(this,e)},fetch=(e,t)=>(S([(e?.url||e)+``,t?.method]),i(e,t)),e[n]=(t,n)=>(S([t+``,``]),r.call(e,t,n)),setTimeout(()=>import("//routine.com/cdn/shopifycloud/storefront/assets/storefront/event_observer_reporter-ed358274.js").then(e=>e.$(_,y,f,i,`1984702`)))})(); 5//# sourceURL=event-observer-collector.js 6</script>
6 7 8
8<script async src="https://www.googleoptimize.com/optimize.js?id=GTM-WNRJMK5"></script>
8 9 10 11 12 13 <meta charset="utf-8"> 14 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 15 <meta name="viewport" content="width=device-width,initial-scale=1"> 16 <meta name="theme-color" content="#555555"> 17 <link rel="canonical" href="https://routine.com/"> 18 <link rel="preconnect" href="https://cdn.shopify.com"> 19 <link rel="preconnect" href="https://fonts.shopifycdn.com"> 20 <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com"> 21 <link rel="dns-prefetch" href="https://ajax.googleapis.com"> 22 <link rel="dns-prefetch" href="https://maps.googleapis.com"> 23 <link rel="dns-prefetch" href="https://maps.gstatic.com"><link rel="shortcut icon" href="//routine.com/cdn/shop/files/routinefav_32x32.png?v=1721855881" type="image/png" /><title>The Brand For Serious Ballplayers | Routine 24</title> 25<meta name="description" content="Shop our premium baseball-inspired apparel designed for those who live and breathe America's Pastime. From stylish tees to performance gear, we bring the passion of the sport to your everyday look. Perfect for players and fans alike."><meta property="og:site_name" content="Routine"> 26 <meta property="og:url" content="https://routine.com/"> 27 <meta property="og:title" content="The Brand For Serious Ballplayers | Routine"> 28 <meta property="og:type" content="website"> 29 <meta property="og:description" content="Shop our premium baseball-inspired apparel designed for those who live and breathe America's Pastime. From stylish tees to performance gear, we bring the passion of the sport to your everyday look. Perfect for players and fans alike."><meta property="og:image" content="http://routine.com/cdn/shop/files/Asset_1_2x_ddac502a-8c79-4879-8b43-29bfe61cce4d.png?v=1656349386"> 30 <meta property="og:image:secure_url" content="https://routine.com/cdn/shop/files/Asset_1_2x_ddac502a-8c79-4879-8b43-29bfe61cce4d.png?v=1656349386"> 31 <meta property="og:image:width" content="1200"> 32 <meta property="og:image:height" content="628"><meta name="twitter:site" content="@routine"> 33 <meta name="twitter:card" content="summary_large_image"> 34 <meta name="twitter:title" content="The Brand For Serious Ballplayers | Routine"> 35 <meta name="twitter:description" content="Shop our premium baseball-inspired apparel designed for those who live and breathe America's Pastime. From stylish tees to performance gear, we bring the passion of the sport to your everyday look. Perfect for players and fans alike."> 36<style data-shopify> 37 38 39 40 41 42</style><link href="//routine.com/cdn/shop/t/65/assets/theme.css?v=145833578419017918061752594809" rel="stylesheet" type="text/css" media="all" /> 43<style data-shopify>:root { 44 --typeHeaderPrimary: Helvetica; 45 --typeHeaderFallback: Arial, sans-serif; 46 --typeHeaderSize: 24px; 47 --typeHeaderWeight: 700; 48 --typeHeaderLineHeight: 1; 49 --typeHeaderSpacing: 0.075em; 50 51 --typeBasePrimary:Helvetica; 52 --typeBaseFallback:Arial, sans-serif; 53 --typeBaseSize: 14px; 54 --typeBaseWeight: 400; 55 --typeBaseSpacing: 0.025em; 56 --typeBaseLineHeight: 1.5; 57 58 --typeCollectionTitle: 35px; 59 60 --iconWeight: 4px; 61 --iconLinecaps: miter; 62 63 64 --buttonRadius: 0px; 65 66 67 --colorGridOverlayOpacity: 0.0; 68 } 69 70 .placeholder-content { 71 background-image: linear-gradient(100deg, #ffffff 40%, #f7f7f7 63%, #ffffff 79%); 72 }</style>
72<script> 73 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 74 75 window.theme = window.theme || {}; 76 theme.routes = { 77 home: "/", 78 cart: "/cart.js", 79 cartPage: "/cart", 80 cartAdd: "/cart/add.js", 81 cartChange: "/cart/change.js", 82 search: "/search" 83 }; 84 theme.strings = { 85 soldOut: "Sold Out", 86 unavailable: "Unavailable", 87 inStockLabel: "In stock, ready to ship", 88 stockLabel: "Low stock - [count] item left", 89 willNotShipUntil: "Ready to ship [date]", 90 willBeInStockAfter: "Back in stock [date]", 91 waitingForStock: "Inventory on the way", 92 savePrice: "Save [saved_amount]", 93 cartEmpty: "Your cart is currently empty.", 94 cartTermsConfirmation: "You must agree with the terms and conditions of sales to check out", 95 searchCollections: "Collections:", 96 searchPages: "Pages:", 97 searchArticles: "Articles:" 98 }; 99 theme.settings = { 100 dynamicVariantsEnable: true, 101 cartType: "drawer", 102 isCustomerTemplate: false, 103 moneyFormat: "${{amount}}", 104 saveType: "dollar", 105 productImageSize: "square", 106 productImageCover: true, 107 predictiveSearch: true, 108 predictiveSearchType: "product,article,page,collection", 109 quickView: true, 110 themeName: 'Impulse', 111 themeVersion: "6.0.0" 112 }; 113 </script>
113 114 115
115<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
115<meta name="facebook-domain-verification" content="3lq0idej0d4lxbrxz9t782nhypgimc"> 116<meta name="google-site-verification" content="94JRWFKFiI0QMtGMKWsV4AP_AdfPIkOKxaCPTzYr19I"> 117<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/1984702/digital_wallets/dialog"> 118<meta id="in-context-paypal-metadata" data-shop-id="1984702" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 119<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
119<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
119 120<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
121<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=1984702" crossorigin="anonymous"></script>
vendor: 1 bytes, line 121
121
122<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":1984702,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/1984702","merchantName":"Routine","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Routine","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 122
122
123<script id="shopify-features" type="application/json">{"accessToken":"a347d427bbd7086eef8a8320dfb1ab99","betas":["rich-media-storefront-analytics"],"domain":"routine.com","predictiveSearch":true,"shopId":1984702,"locale":"en"}</script>
vendor: 1 bytes, line 123
123
124<script>var Shopify = Shopify || {}; 125Shopify.shop = "routine-baseball.myshopify.com"; 126Shopify.locale = "en"; 127Shopify.currency = {"active":"USD","rate":"1.0"}; 128Shopify.country = "US"; 129Shopify.theme = {"name":"A New Beginning ","id":137912549536,"schema_name":"Impulse","schema_version":"6.0.0","theme_store_id":857,"role":"main"}; 130Shopify.theme.handle = "null"; 131Shopify.theme.style = {"id":null,"handle":null}; 132Shopify.cdnHost = "routine.com/cdn"; 133Shopify.routes = Shopify.routes || {}; 134Shopify.routes.root = "/"; 135Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 136Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 137Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 138Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 138
138
139<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 139
139
140<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 140
140
141<script> 142 window.ShopifyPay = window.ShopifyPay || {}; 143 window.ShopifyPay.apiHost = "shop.app\/pay"; 144 window.ShopifyPay.redirectState = null; 145</script>
vendor: 1 bytes, line 145
145
146<script> 147 window.Shopify = window.Shopify || {}; 148 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 149 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 150 window.Shopify.SignInWithShop.eligible = true; 151</script>
vendor: 1 bytes, line 151
151
152<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 152
152
153<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 153
153
154<script type="module"> 155 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 156 157 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 158 159</script>
vendor: 1 bytes, line 159
159
160<script> 161 window.Shopify = window.Shopify || {}; 162 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 163 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"]}; 164</script>
vendor: 1 bytes, line 164
164
165<script id="__st">var __st={"a":1984702,"offset":-18000,"reqid":"938ef94e-14dc-4ccf-94f5-459ba4b6c19e-1791225713","pageurl":"routine.com\/","u":"6fcdc1c69949","p":"home"};</script>
vendor: 1 bytes, line 165
165
166<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 166
166
167<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 167
167
168<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//routine.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 168
168
169<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 = "//routine.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>
169<script crossorigin="anonymous" defer="defer" src="//routine.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 169
169
170<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 170
170
171<script> 172 window.Shopify = window.Shopify || {}; 173 window.Shopify.MCP = window.Shopify.MCP || {}; 174 window.Shopify.MCP.enabled = true; 175 window.Shopify.MCP.shop = "routine-baseball.myshopify.com"; 176 window.Shopify.MCP.mcpEndpoint = "https:\/\/routine.com\/api\/mcp"; 177 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"]}}]; 178</script>
vendor: 1 bytes, line 178
178
179<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("\/\/routine.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 180</script>
vendor: 1 bytes, line 180
180
181<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://routine.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 182</script>
vendor: 1 bytes, line 182
182
183<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 184 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); 185</script>
vendor: 1 bytes, line 185
185
186<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})}})); 187</script>
vendor: 1 bytes, line 187
187
188<script id='scb4127' type='text/javascript' async='' src='https://routine.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
188<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://routine.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 189<style id="shopify-accelerated-checkout-cart"> 190 #shopify-buyer-consent { 191 margin-top: 1em; 192 display: inline-block; 193 width: 100%; 194} 195 196#shopify-buyer-consent.hidden { 197 display: none; 198} 199 200#shopify-subscription-policy-button { 201 background: none; 202 border: none; 203 padding: 0; 204 text-decoration: underline; 205 font-size: inherit; 206 cursor: pointer; 207} 208 209#shopify-subscription-policy-button::before { 210 box-shadow: none; 211} 212 213 </style> 214
215<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
215 216 217
217<script src="//routine.com/cdn/shop/t/65/assets/vendor-scripts-v11.js" defer="defer"></script>
217<link rel="stylesheet" href="//routine.com/cdn/shop/t/65/assets/country-flags.css">
217<script src="//routine.com/cdn/shop/t/65/assets/theme.js?v=47592256396192681461729809570" defer="defer"></script>
217 218 219 220 221 222 223 224 225 226 227 228 229 230<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
231<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: 1984702,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 231
231
232<script> 233 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 234</script>
vendor: 1 bytes, line 234
234
235<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}
235).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: 1984702,storefrontBaseUrl: "https://routine.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://routine.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"519536800","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"G-8359LW5KNK\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-8359LW5KNK\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-8359LW5KNK\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-8359LW5KNK\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-8359LW5KNK\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-8359LW5KNK\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-8359LW5KNK\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-8359LW5KNK\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"245825696","configuration":"{\"pixel_id\":\"1143203950353274\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
235,{"id":"18546848","configuration":"{\"myshopifyDomain\":\"routine-baseball.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"23b97d18e2aa74363140dc29c9284e87","type":"APP","apiClientId":2775569,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"63766688","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Meta pixel (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Routine","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"routine-baseball.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/routine.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://routine.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"137912549536","themeStoreId":"857","themePublished":"true","eventMetadataId":"916927ac-2418-4ca2-a5ed-befc4020e69e","pageType":"home","shopId":"1984702","storefrontBaseUrl":"https:\/\/routine.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>
235<script> 236 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 237 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 238 window.ShopifyAnalytics.meta.currency = 'USD'; 239 var meta = {"page":{"pageType":"home","requestId":"938ef94e-14dc-4ccf-94f5-459ba4b6c19e-1791225713"}}; 240 for (var attr in meta) { 241 window.ShopifyAnalytics.meta[attr] = meta[attr]; 242 } 243</script>
vendor: 1 bytes, line 243
243
244<script class="analytics"> 245 (function () { 246 var customDocumentWrite = function(content) { 247 var jquery = null; 248 249 if (window.jQuery) { 250 jquery = window.jQuery; 251 } else if (window.Checkout && window.Checkout.$) { 252 jquery = window.Checkout.$; 253 } 254 255 if (jquery) { 256 jquery('body').append(content); 257 } 258 }; 259 260 var hasLoggedConversion = function(token) { 261 if (token) { 262 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 263 } 264 return false; 265 } 266 267 var setCookieIfConversion = function(token) { 268 if (token) { 269 var twoMonthsFromNow = new Date(Date.now()); 270 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 271 272 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 273 } 274 } 275 276 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 277 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 278 if (trekkie.integrations) { 279 return; 280 } 281 trekkie.methods = [ 282 'identify', 283 'page', 284 'ready', 285 'track', 286 'trackForm', 287 'trackLink' 288 ]; 289 trekkie.factory = function(method) { 290 return function() { 291 var args = Array.prototype.slice.call(arguments); 292 args.unshift(method); 293 trekkie.push(args); 294 if (method == 'track' || method == 'page') { 295 var pageUrl; 296 try { 297 pageUrl = window.location.href; 298 } catch (e) {} 299 var pageReferrer; 300 try { 301 pageReferrer = document.referrer; 302 } catch (e) {} 303 try { 304 if (window.__TREKKIE_SHIM_QUEUE == null) { 305 window.__TREKKIE_SHIM_QUEUE = []; 306 } 307 window.__TREKKIE_SHIM_QUEUE.push({ 308 from: 'trekkie-stub', 309 method: method, 310 args: args.slice(1), 311 pageContext: { 312 url: pageUrl, 313 referrer: pageReferrer 314 } 315 }); 316 } catch (e) { 317 // no-op 318 } 319 } 320 return trekkie; 321 }; 322 }; 323 for (var i = 0; i < trekkie.methods.length; i++) { 324 var key = trekkie.methods[i]; 325 trekkie[key] = trekkie.factory(key); 326 } 327 trekkie.load = function(config) { 328 trekkie.config = config || {}; 329 trekkie.config.initialDocumentCookie = document.cookie; 330 var first = document.getElementsByTagName('script')[0]; 331var script = document.createElement('script'); 332script.type = 'text/javascript'; 333script.onerror = function(e) { 334 var scriptFallback = document.createElement('script'); 335 scriptFallback.type = 'text/javascript'; 336 scriptFallback.onerror = function(error) { 337 var Monorail = { 338 produce: function produce(monorailDomain, schemaId, payload) { 339 var currentMs = new Date().getTime(); 340 var event = { 341 schema_id: schemaId, 342 payload: payload, 343 metadata: { 344 event_created_at_ms: currentMs, 345 event_sent_at_ms: currentMs 346 } 347 }; 348 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 349 }, 350 sendRequest: function sendRequest(endpointUrl, payload) { 351 // Try the sendBeacon API 352 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 353 var blobData = new window.Blob([payload], { 354 type: 'text/plain' 355 }); 356 357 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 358 return true; 359 } // sendBeacon was not successful 360 361 } // XHR beacon 362 363 var xhr = new XMLHttpRequest(); 364 365 try { 366 xhr.open('POST', endpointUrl); 367 xhr.setRequestHeader('Content-Type', 'text/plain'); 368 xhr.send(payload); 369 } catch (e) { 370 console.log(e); 371 } 372 373 return false; 374 }, 375 isIos12: function isIos12() { 376 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 377 } 378 }; 379 Monorail.produce('monorail-edge.shopifysvc.com', 380 'trekkie_storefront_load_errors/1.1', 381 {shop_id: 1984702, 382 theme_id: 137912549536, 383 app_name: "storefront", 384 context_url: window.location.href, 385 source_url: "//routine.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 386 387 }; 388 scriptFallback.async = true; 389 scriptFallback.src = '//routine.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 390 first.parentNode.insertBefore(scriptFallback, first); 391}; 392script.async = true; 393script.src = '//routine.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 394first.parentNode.insertBefore(script, first); 395 396 }; 397 trekkie.load( 398 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":1984702,"isMerchantRequest":null,"themeId":137912549536,"themeCityHash":"15917917019811728267","contentLanguage":"en","currency":"USD","eventMetadataId":"916927ac-2418-4ca2-a5ed-befc4020e69e"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 399 ); 400 401 var loaded = false;
402 trekkie.ready(function() { 403 if (loaded) return; 404 loaded = true; 405 406 window.ShopifyAnalytics.lib = window.trekkie; 407 408 var originalDocumentWrite = document.write; 409 document.write = customDocumentWrite; 410 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 411 document.write = originalDocumentWrite; 412 413 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 414 var token = match? match[1]: undefined; 415 if (!hasLoggedConversion(token)) { 416 setCookieIfConversion(token); 417 418 } 419 }); 420 421 window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"938ef94e-14dc-4ccf-94f5-459ba4b6c19e-1791225713","shopifyEmitted":true}); 422 423 var eventsListenerScript = document.createElement('script'); 424 eventsListenerScript.async = true; 425 eventsListenerScript.src = "//routine.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 426 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 427})();</script>
427 428
428<script> 429 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 430 window.ga = function ga() { 431 (window.ga.q = window.ga.q || []).push(arguments); 432 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 433 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 434 } 435 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 436 }; 437 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 438 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 439 } 440 } 441</script>
vendor: 1 bytes, line 441
441
442<script 443 defer 444 src="https://routine.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 445 data-application="storefront-renderer" 446 data-shop-id="1984702" 447 data-render-region="gcp-us-central1" 448 data-page-type="index" 449 data-theme-instance-id="137912549536" 450 data-theme-name="Impulse" 451 data-theme-version="6.0.0" 452 data-monorail-region="shop_domain" 453 data-resource-timing-sampling-rate="10" 454 data-shs="true" 455 data-shs-beacon="true" 456 data-shs-export-with-fetch="true" 457 data-shs-logs-sample-rate="1" 458 data-shs-beacon-endpoint="https://routine.com/api/collect" 459></script>
459 460<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1822783313000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1791227513000"><meta name="new-cookie-storage-activated" content="t"> 461</head> 462 463<body class="template-index" data-center-text="true" data-button_style="square" data-type_header_capitalize="false" data-type_headers_align_text="true" data-type_product_capitalize="false" data-swatch_style="round" data-disable-animations="true"> 464 465 <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a> 466 467 <div id="PageContainer" class="page-container"> 468 <div class="transition-body"><div id="shopify-section-header" class="shopify-section"> 469 470<div id="NavDrawer" class="drawer drawer--left"> 471 <div class="drawer__contents"> 472 <div class="drawer__fixed-header"> 473 <div class="drawer__header appear-animation appear-delay-1"> 474 <div class="h2 drawer__title"></div> 475 <div class="drawer__close"> 476 <button type="button" class="drawer__close-button js-drawer-close"> 477 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 478 <span class="icon__fallback-text">Close menu</span> 479 </button> 480 </div> 481 </div> 482 </div> 483 <div class="drawer__scrollable"> 484 <ul class="mobile-nav" role="navigation" aria-label="Primary"><li class="mobile-nav__item mobile-nav__item--secondary"> 485 <div class="grid"><div class="grid__item one-half appear-animation appear-delay-2"> 486 <a href="/account" class="mobile-nav__link">Log in 487</a> 488 </div></div> 489 </li></ul><ul class="mobile-nav__social appear-animation appear-delay-3"><li class="mobile-nav__social-item"> 490 <a target="_blank" rel="noopener" href="https://www.instagram.com/routinebaseball/" title="Routine on Instagram"> 491 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5zM26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg> 492 <span class="icon__fallback-text">Instagram</span> 493 </a> 494 </li><li class="mobile-nav__social-item"> 495 <a target="_blank" rel="noopener" href="https://www.facebook.com/RoutineBaseball/" title="Routine on Facebook"> 496 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewB
496ox="0 0 14222 14222"><path d="M14222 7112c0 3549.352-2600.418 6491.344-6000 7024.72V9168h1657l315-2056H8222V5778c0-562 275-1111 1159-1111h897V2917s-814-139-1592-139c-1624 0-2686 984-2686 2767v1567H4194v2056h1806v4968.72C2600.418 13603.344 0 10661.352 0 7112 0 3184.703 3183.703 1 7111 1s7111 3183.703 7111 7111zm-8222 7025c362 57 733 86 1111 86-377.945 0-749.003-29.485-1111-86.28zm2222 0v-.28a7107.458 7107.458 0 0 1-167.717 24.267A7407.158 7407.158 0 0 0 8222 14137zm-167.717 23.987C7745.664 14201.89 7430.797 14223 7111 14223c319.843 0 634.675-21.479 943.283-62.013z"/></svg> 497 <span class="icon__fallback-text">Facebook</span> 498 </a> 499 </li><li class="mobile-nav__social-item"> 500 <a target="_blank" rel="noopener" href="https://www.youtube.com/channel/UCmpdbxfVrXD4k4w0whlc_EA" title="Routine on YouTube"> 501 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube" viewBox="0 0 21 20"><path fill="#444" d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"/></svg> 502 <span class="icon__fallback-text">YouTube</span> 503 </a> 504 </li><li class="mobile-nav__social-item"> 505 <a target="_blank" rel="noopener" href="https://twitter.com/routine" title="Routine on Twitter"> 506 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-twitter" viewBox="0 0 32 32"><path fill="#444" d="M31.281 6.733q-1.304 1.924-3.13 3.26 0 .13.033.408t.033.408q0 2.543-.75 5.086t-2.282 4.858-3.635 4.108-5.053 2.869-6.341 1.076q-5.282 0-9.65-2.836.913.065 1.5.065 4.401 0 7.857-2.673-2.054-.033-3.668-1.255t-2.266-3.146q.554.13 1.206.13.88 0 1.663-.261-2.184-.456-3.619-2.184t-1.435-3.977v-.065q1.239.652 2.836.717-1.271-.848-2.021-2.233t-.75-2.983q0-1.63.815-3.195 2.38 2.967 5.754 4.678t7.319 1.907q-.228-.815-.228-1.434 0-2.608 1.858-4.45t4.532-1.842q1.304 0 2.51.522t2.054 1.467q2.152-.424 4.01-1.532-.685 2.217-2.771 3.488 1.989-.261 3.619-.978z"/></svg> 507 <span class="icon__fallback-text">Twitter</span> 508 </a> 509 </li><li class="mobile-nav__social-item"> 510 <a target="_blank" rel="noopener" href="https://www.tiktok.com/@routine_baseball" title="Routine on TickTok"> 511 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" viewBox="0 0 2859 3333"><path d="M2081 0c55 473 319 755 778 785v532c-266 26-499-61-770-225v995c0 1264-1378 1659-1932 753-356-583-138-1606 1004-1647v561c-87 14-180 36-265 65-254 86-398 247-358 531 77 544 1075 705 992-358V1h551z"/></svg> 512 <span class="icon__fallback-text">TikTok</span> 513 </a> 514 </li></ul> 515 </div> 516 </div> 517</div> 518<div id="CartDrawer" class="drawer drawer--right"> 519 <form id="CartDrawerForm" action="/cart" method="post" novalidate class="drawer__contents"> 520 <div class="drawer__fixed-header"> 521 <div class="drawer__header appear-animation appear-delay-1"> 522 <div class="h2 drawer__title">Cart</div> 523 <div class="drawer__close"> 524 <button type="button" class="drawer__close-button js-drawer-close"> 525 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 526 <span class="icon__fallback-text">Close cart</span> 527 </button> 528 </div> 529 </div> 530 </div> 531 532 <div class="drawer__inner"> 533 <div class="drawer__scrollable"> 534 <div data-products class="appear-animation appear-delay-2"></div> 535 536 537 </div> 538 539 <div class="drawer__footer appear-animation appear-delay-4"> 540 <div data-discounts> 541 542 </div> 543 544 <div class="cart__item-sub cart__item-row"> 545 <div class="ajaxcart__subtotal">Subtotal</div> 546 <div data-subtotal>$0.00</div> 547 </div> 548 549 <div class="cart__item-row text-center"> 550 <small> 551 Shipping, taxes, and discount codes calculated at checkout.<br /> 552 </small> 553 </div> 554 555 556 557 <div class="cart__checkout-wrapper"> 558 <button type="submit" name="checkout" data-terms-required="false" class="btn cart__checkout"> 559 Check out 560 </button> 561 562 563 <div class="additional-checkout-buttons additional-checkout-buttons--vertical"><div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart">
563 <shopify-accelerated-checkout-cart wallet-configs="[{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":1984702,"merchantName":"Routine","personalized":false}},{"supports_subs":false,"supports_def_opts":false,"name":"paypal","wallet_params":{"shopId":1984702,"countryCode":"US","merchantName":"Routine","phoneRequired":true,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":true,"hasManagedSellingPlanState":null,"requiresBillingAgreement":false,"gatewayType":"CONNECTED","merchantId":"3FNKRKGEGE876","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=3FNKRKGEGE876\u0026intent=authorize","serviceableCountryCodes":["US"]}}]" access-token="a347d427bbd7086eef8a8320dfb1ab99" buyer-country="US" buyer-locale="en" buyer-currency="USD" shop-id="1984702" cart-id="0b924ce5560e0f74f258e4c7c2b79e45" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div></div> 564 565 </div> 566 </div> 567 </div> 568 569 <div class="drawer__cart-empty appear-animation appear-delay-2"> 570 <div class="drawer__scrollable"> 571 Your cart is currently empty. 572 </div> 573 </div> 574 </form> 575 </div><style> 576 .site-nav__link, 577 .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level) { 578 font-size: 15px; 579 } 580 581 582 583 584 585 .megamenu__colection-image { 586 display: none; 587 } 588 589</style> 590 591<div data-section-id="header" data-section-type="header"> 592<div class="header-sticky-wrapper"> 593 <div id="HeaderWrapper" class="header-wrapper header-wrapper--sticky is-light"><header 594 id="SiteHeader" 595 class="site-header" 596 data-sticky="false" 597 data-overlay="true"> 598 <div class="page-width"> 599 <div 600 class="header-layout header-layout--center" 601 data-logo-align="center"><div class="header-item header-item--left header-item--navigation"><div class="site-nav medium-up--hide"> 602 <!-- <button 603 type="button" 604 class="site-nav__link site-nav__link--icon js-drawer-open-nav" 605 aria-controls="NavDrawer"> 606 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 64 64"><path d="M7 15h51M7 32h43M7 49h51"/></svg> 607 <span class="icon__fallback-text">Site navigation</span> 608 </button> --> 609 </div> 610 </div><div class="header-item header-item--logo"><style data-shopify>.header-item--logo, 611 .header-layout--left-center .header-item--logo, 612 .header-layout--left-center .header-item--icons { 613 -webkit-box-flex: 0 1 70px; 614 -ms-flex: 0 1 70px; 615 flex: 0 1 70px; 616 } 617 618 @media only screen and (min-width: 769px) { 619 .header-item--logo, 620 .header-layout--left-center .header-item--logo, 621 .header-layout--left-center .header-item--icons { 622 -webkit-box-flex: 0 0 130px; 623 -ms-flex: 0 0 130px; 624 flex: 0 0 130px; 625 } 626 } 627 628 .site-header__logo a { 629 width: 70px; 630 } 631 .is-light .site-header__logo .logo--inverted { 632 width: 70px; 633 } 634 @media only screen and (min-width: 769px) { 635 .site-header__logo a { 636 width: 130px; 637 } 638 639 .is-light .site-header__logo .logo--inverted { 640 width: 130px; 641 } 642 }</style><h1 class="site-header__logo" itemscope itemtype="http://schema.org/Organization" >
643 <span class="visually-hidden">Routine</span> 644 <a 645 href="/" 646 itemprop="url" 647 class="site-header__logo-link logo--has-inverted" 648 style="padding-top: 42.864583333333336%"> 649 <img 650 class="small--hide" 651 src="//routine.com/cdn/shop/files/primary_white_130x.png?v=1725375950" 652 srcset="//routine.com/cdn/shop/files/primary_white_130x.png?v=1725375950 1x, //routine.com/cdn/shop/files/[email protected]?v=1725375950 2x" 653 alt="Routine" 654 itemprop="logo"> 655 <img 656 class="medium-up--hide" 657 src="//routine.com/cdn/shop/files/primary_white_70x.png?v=1725375950" 658 srcset="//routine.com/cdn/shop/files/primary_white_70x.png?v=1725375950 1x, //routine.com/cdn/shop/files/[email protected]?v=1725375950 2x" 659 alt="Routine"> 660 </a><a 661 href="/" 662 itemprop="url" 663 class="site-header__logo-link logo--inverted" 664 style="padding-top: 42.864583333333336%"> 665 <img 666 class="small--hide" 667 src="//routine.com/cdn/shop/files/primary_white_130x.png?v=1725375950" 668 srcset="//routine.com/cdn/shop/files/primary_white_130x.png?v=1725375950 1x, //routine.com/cdn/shop/files/[email protected]?v=1725375950 2x" 669 alt="Routine" 670 itemprop="logo"> 671 <img 672 class="medium-up--hide" 673 src="//routine.com/cdn/shop/files/primary_white_70x.png?v=1725375950" 674 srcset="//routine.com/cdn/shop/files/primary_white_70x.png?v=1725375950 1x, //routine.com/cdn/shop/files/[email protected]?v=1725375950 2x" 675 alt="Routine"> 676 </a></h1></div><div class="header-item header-item--icons"> 677 <!--<div class="site-nav"> 678 <div class="site-nav__icons"><a class="site-nav__link site-nav__link--icon small--hide" href="/account"> 679 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-user" viewBox="0 0 64 64"><path d="M35 39.84v-2.53c3.3-1.91 6-6.66 6-11.41 0-7.63 0-13.82-9-13.82s-9 6.19-9 13.82c0 4.75 2.7 9.51 6 11.41v2.53c-10.18.85-18 6-18 12.16h42c0-6.19-7.82-11.31-18-12.16z"/></svg> 680 <span class="icon__fallback-text">Log in 681</span> 682 </a><a href="/cart" class="site-nav__link site-nav__link--icon js-drawer-open-cart" aria-controls="CartDrawer" data-icon="bag-minimal"> 683 <span class="cart-link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-bag-minimal" viewBox="0 0 64 64"><path stroke="null" id="svg_4" fill-opacity="null" stroke-opacity="null" fill="null" d="M11.375 17.863h41.25v36.75h-41.25z"/><path stroke="null" id="svg_2" d="M22.25 18c0-7.105 4.35-9 9.75-9s9.75 1.895 9.75 9"/></svg><span class="icon__fallback-text">Cart</span> 684 <span class="cart-link__bubble"></span> 685 </span> 686 </a> 687 </div> 688</div> 689--> 690 </div> 691 </div><div class="text-center"><ul 692 class="site-nav site-navigation small--hide" 693 694 role="navigation" aria-label="Primary" 695 ></ul> 696</div></div> 697 <div class="site-header__search-container"> 698 <div class="site-header__search"> 699 <div class="page-width"> 700 <form action="/search" method="get" role="search" 701 id="HeaderSearchForm" 702 class="site-header__search-form"> 703 <input type="hidden" name="type" value="product,article,page,collection"> 704 <input type="hidden" name="options[prefix]" value="last"> 705 <button type="submit" class="text-link site-header__search-btn site-header__search-btn--submit"> 706 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 707 <span class="icon__fallback-text">Search</span> 708 </button> 709 <input type="search" name="q" value="" placeholder="Search our store" class="site-header__search-input" aria-label="Search our store"> 710 </form> 711 <button type="button" id="SearchClose" class="js-search-header-close text-link site-header__search-btn"> 712 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg>
713 <span class="icon__fallback-text">"Close (esc)"</span> 714 </button> 715 </div> 716 </div><div id="PredictiveWrapper" class="predictive-results hide" data-image-size="square"> 717 <div class="page-width"> 718 <div id="PredictiveResults" class="predictive-result__layout"></div> 719 <div class="text-center predictive-results__footer"> 720 <button type="button" class="btn btn--small" data-predictive-search-button> 721 <small> 722 View more 723 </small> 724 </button> 725 </div> 726 </div> 727 </div></div> 728 </header> 729 </div> 730 </div></div> 731 732 733</div><div id="shopify-section-newsletter-popup" class="shopify-section index-section--hidden"> 734 735 736 737<div 738 id="NewsletterPopup-newsletter-popup" 739 class="modal modal--square modal--mobile-friendly" 740 data-section-id="newsletter-popup" 741 data-section-type="newsletter-popup" 742 data-delay-days="30" 743 data-has-reminder="" 744 data-delay-seconds="5" 745 746 data-test-mode="false" 747 data-enabled="false"> 748 <div class="modal__inner"> 749 <div class="modal__centered medium-up--text-center"> 750 <div class="modal__centered-content "> 751 752 <div class="newsletter newsletter-popup "> 753 754 755 <div class="newsletter-popup__content"><h3>SIGN UP</h3><div class="rte"> 756 <p>Sign up to receive early access, special offers and exclusive subscriber only launches. And remember, to keep it routine!</p> 757 </div><div class="popup-cta"><form method="post" action="/contact#newsletter-newsletter-popup" id="newsletter-newsletter-popup" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 758<label for="Email-newsletter-popup" class="hidden-label">Enter your email</label> 759 <input type="hidden" name="contact[tags]" value="prospect,newsletter"> 760 <input type="hidden" name="contact[context]" value="popup"> 761 <div class="input-group newsletter__input-group"> 762 <input type="email" value="" placeholder="Enter your email" name="contact[email]" id="Email-newsletter-popup" class="input-group-field newsletter__input" autocorrect="off" autocapitalize="off"> 763 <div class="input-group-btn"> 764 <button type="submit" class="btn" name="commit"> 765 <span class="form__submit--large">Subscribe</span> 766 <span class="form__submit--small"> 767 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-right" viewBox="0 0 50 15"><path d="M0 9.63V5.38h35V0l15 7.5L35 15V9.63z"/></svg> 768 </span> 769 </button> 770 </div> 771 </div></form> 772</div> 773 774 775 </div> 776 </div> 777 </div> 778 779 <button type="button" class="modal__close js-modal-close text-link"> 780 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 781 <span class="icon__fallback-text">"Close (esc)"</span> 782 </button> 783 </div> 784 </div> 785</div> 786 787 788 789 790 791 792</div><main class="main-content" id="MainContent"> 793 <div id="shopify-section-template--17261417791648__16529124328c7efac2" class="shopify-section"><div 794 data-section-id="template--17261417791648__16529124328c7efac2" 795 data-section-type="promo-grid"><style data-shopify>.flex-grid--template--17261417791648__16529124328c7efac2 { 796 margin-top: -0px; 797 margin-left: -0px; 798 799 padding-left: 0px; 800 padding-right: 0px; 801 802 } 803 804 .flex-grid--template--17261417791648__16529124328c7efac2 .flex-grid--gutters { 805 margin-top: -0px; 806 margin-left: -0px; 807 } 808 809 .flex-grid--template--17261417791648__16529124328c7efac2 .flex-grid__item { 810 padding-top: 0px; 811 padding-left: 0px; 812 } 813 814 @media only screen and (max-width: 589px) { 815 .flex-grid--template--17261417791648__16529124328c7efac2 { 816 margin-top: -0px; 817 margin-left: -0px; 818 819 padding-left: 0px; 820 padding-right: 0px; 821 822 } 823 824 .flex-grid--template--17261417791648__16529124328c7efac2 .flex-grid--gutters { 825 margin-top: -0px; 826 margin-left: -0px; 827 } 828 829 .flex-grid--template--17261417791648__16529124328c7efac2 .flex-grid__item { 830 padding-top: 0px; 831 padding-left: 0px; 832 } 833 }</style><div class="promo-grid">
834 <div class="flex-grid flex-grid--gutters flex-grid--template--17261417791648__16529124328c7efac2"><style data-shopify> 835 836 .flex-grid__item--1652912431e60b90e9-1 { 837 min-height: 480.0px; 838 } 839 840 841 @media only screen and (min-width: 769px) { 842 .flex-grid__item--1652912431e60b90e9-1 { 843 min-height: 640.0px; 844 } 845 } 846 847 @media only screen and (min-width: 1140px) { 848 .flex-grid__item--1652912431e60b90e9-1 { 849 min-height: 800px; 850 } 851 } 852 853 854.flex-grid__item--1652912431e60b90e9-1 .btn { 855 background: #1a1a1a !important; 856 border: none !important; 857 } 858 859 860 861 862 863 864 865 866 .flex-grid__item--1652912431e60b90e9-1 .promo-grid__text { 867 font-size: 0.9775em; 868 } 869 .flex-grid__item--1652912431e60b90e9-1.flex-grid__item--50 .promo-grid__text { 870 font-size: 1.15em; 871 } 872 873 @media only screen and (min-width: 769px) { 874 .flex-grid__item--1652912431e60b90e9-1 .promo-grid__text { 875 font-size: 1.15em; 876 } 877 } 878 879</style><div class="flex-grid__item flex-grid__item--100 flex-grid__item--1652912431e60b90e9-1 type-advanced" ><div 880 class="promo-grid__container vertical-center horizontal-center"><div class="promo-grid__bg"><style data-shopify>.promo-grid__bg-image--1652912431e60b90e9-1 { 881 object-position: bottom; 882 }</style><img 883 class="image-fit promo-grid__bg-image promo-grid__bg-image--1652912431e60b90e9-1 lazyload" 884 src="//routine.com/cdn/shop/files/background2_300x.png?v=1729866776" 885 data-src="//routine.com/cdn/shop/files/background2_{width}x.png?v=1729866776" 886 data-aspectratio="1.778568252556692" 887 data-sizes="auto" 888 alt=""> 889 <noscript> 890 <img 891 class="image-fit promo-grid__bg-image promo-grid__bg-image--1652912431e60b90e9-1 lazyloaded" 892 src="//routine.com/cdn/shop/files/background2_1800x.png?v=1729866776" 893 alt=""> 894 </noscript></div><div class="promo-grid__content"> 895 <div class="promo-grid__text"><div class="rte--block"> 896 <br><br> <br><br /> 897After over a decade of providing serious ballplayers with premium baseball apparel, <br>it's time for us to step up to the plate for a new challenge. <br><br /> 898The lights might be out on our apparel journey, but we're far from done! <br><br /> 899We'll be working on something game-changing this offseason....<br /> 900just like we did in 2011! <br><br /> 901Until we see you again, keep grindin' and for the love of baseball,<br><br /> 902<br /> 903<b>KEEP IT ROUTINE!</b><br /> 904<br /> 905<sp><br /> 906<sp></sp></sp> 907 </div></div> 908 </div></div></div></div> 909</div> 910</div> 911 912 913</div><div id="shopify-section-template--17261417791648__newsletter_mkqPEw" class="shopify-section"><style data-shopify>.newsletter-template--17261417791648__newsletter_mkqPEw { 914 background-color: #000000; 915 color: #fffcfc; 916 } 917 918 .newsletter-template--17261417791648__newsletter_mkqPEw .newsletter__input::-webkit-input-placeholder { color: #fffcfc; } 919 .newsletter-template--17261417791648__newsletter_mkqPEw .newsletter__input::-moz-placeholder { color: #fffcfc; } 920 .newsletter-template--17261417791648__newsletter_mkqPEw .newsletter__input::-ms-input-placeholder { color: #fffcfc; }</style><div class="newsletter-section newsletter-template--17261417791648__newsletter_mkqPEw newsletter-section--with-divider"> 921 <div class="page-width text-center"><div class="theme-block" ><div class="rte"><p><strong>Sign Up For What's Next</strong></p></div></div><div class="theme-block" ><form method="post" action="/contact#newsletter-template--17261417791648__newsletter_mkqPEw" id="newsletter-template--17261417791648__newsletter_mkqPEw" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 922<label for="Email-template--17261417791648__newsletter_mkqPEw" class="hidden-label">Enter your email</label> 923 <input type="hidden" name="contact[tags]" value="prospect,newsletter"> 924 <input type="hidden" name="contact[context]" value="section"> 925 <div class="input-group newsletter__input-group"> 926 <input type="email" value="" placeholder="Enter your email" name="contact[email]" id="Email-template--17261417791648__newsletter_mkqPEw" class="input-group-field newsletter__input" autocorrect="off" autocapitalize="off"> 927 <div class="input-group-btn"> 928 <button type="submit" class="btn" name="commit">
929 <span class="form__submit--large">Subscribe</span> 930 <span class="form__submit--small"> 931 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-right" viewBox="0 0 50 15"><path d="M0 9.63V5.38h35V0l15 7.5L35 15V9.63z"/></svg> 932 </span> 933 </button> 934 </div> 935 </div></form> 936</div></div> 937</div> 938 939 940</div> 941 </main><div id="shopify-section-footer-promotions" class="shopify-section index-section--footer"> 942</div><div id="shopify-section-footer" class="shopify-section"> 943<style data-shopify>.site-footer { 944 border-top: 1px solid #000000; 945 }</style><footer class="site-footer" data-section-id="footer" data-section-type="footer-section"> 946 <div class="page-width"> 947 948 <div class="grid"><div class="grid__item footer__item--1494301487049" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 949 .footer__item--1494301487049 { 950 width: 50%; 951 padding-top: 40px; 952 } 953 .footer__item--1494301487049:nth-child(2n + 1) { 954 clear: left; 955 } 956 } 957 @media only screen and (min-width: 960px) { 958 .footer__item--1494301487049 { 959 width: 93%; 960 } 961 962 }</style><div 963 > 964 <div class="collapsible-content__inner"> 965 <div class="footer__collapsible footer_collapsible--disabled"> 966 <ul class="no-bullets site-footer__linklist"><li><a href="/pages/privacy-policy">Privacy Policy</a></li><li><a href="/pages/terms-of-use">Terms of Use</a></li><li><a href="/pages/privacy-notice-for-california-residents">Privacy Notice for California Residents</a></li></ul> 967 </div> 968 </div> 969 </div></div> 970 <li></div><p class="footer__small-text"> 971 © 2026 Routine 972| Turnstyle Brands, LLC | If you have any questions about past orders, hit us up via email at: [email protected] 973</p></div> 974</footer> 975 976 977</div></div> 978 </div><div id="VideoModal" class="modal modal--solid"> 979 <div class="modal__inner"> 980 <div class="modal__centered page-width text-center"> 981 <div class="modal__centered-content"> 982 <div class="video-wrapper video-wrapper--modal"> 983 <div id="VideoHolder"></div> 984 </div> 985 </div> 986 </div> 987 </div> 988 989 <button type="button" class="modal__close js-modal-close text-link"> 990 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 991 <span class="icon__fallback-text">"Close (esc)"</span> 992 </button> 993</div> 994<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 995 <div class="pswp__bg"></div> 996 <div class="pswp__scroll-wrap"> 997 <div class="pswp__container"> 998 <div class="pswp__item"></div> 999 <div class="pswp__item"></div> 1000 <div class="pswp__item"></div> 1001 </div> 1002 1003 <div class="pswp__ui pswp__ui--hidden"> 1004 <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--left" title="Previous"> 1005 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 1006 </button> 1007 1008 <button class="btn btn--body btn--circle btn--large pswp__button pswp__button--close" title="Close (esc)"> 1009 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 1010 </button> 1011 1012 <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--right" title="Next"> 1013 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 1014 </button> 1015 </div> 1016 </div> 1017</div> 1018<tool-tip data-tool-tip=""> 1019 <div class="tool-tip__inner" data-tool-tip-inner> 1020 <button class="tool-tip__close" data-tool-tip-close=""><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg></button> 1021 <div class="tool-tip__content" data-tool-tip-content> 1022 </div> 1023 </div> 1024</tool-tip> 1025<!-- "snippets/preorder-now.liquid" was not rendered, the associated app was uninstalled --> 1026 1027 1028
1029<!-- **BEGIN** Hextom USB Integration // Main Include - DO NOT MODIFY --> 1030 <!-- "snippets/hextom_usb_main.liquid" was not rendered, the associated app was uninstalled --> 1031 <!-- **END** Hextom USB Integration // Main Include - DO NOT MODIFY --> 1032<style> </style> 1033<!-- Failed to render app block "319724205969189013": app block path "shopify://apps/hulk-form-builder/blocks/app-embed/b6b8dd14-356b-4725-a4ed-77232212b3c3" does not exist -->
1033<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
1033 1034</body> 1035</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.