PageSourceSearch

https://spinning.com/pages/contact-us

html spinning.com collected 2026-09-24 09:11:09 UTC 225,412 bytes, 2,869 lines download raw bytes

1<!doctype html>
2
3<html lang="en" dir="ltr">
4  <head>
5
6	<!-- Added by AVADA SEO Suite -->
7	
7<script>
8  const avadaLightJsExclude = ['cdn.nfcube.com', 'assets/ecom.js', 'variant-title-king', 'linked_options_variants', 'smile-loader.js', 'smart-product-filter-search', 'rivo-loyalty-referrals', 'avada-cookie-consent', 'consentmo-gdpr', 'quinn', 'https://www.googletagmanager.com/'];
9  const avadaLightJsInclude = ['https://www.googletagmanager.com/', 'https://connect.facebook.net/', 'https://business-api.tiktok.com/', 'https://static.klaviyo.com/', 'https://www.googletagmanager.com/gtag/js?id=G-D7CZZ970PJ', 'https://www.googletagmanager.com/gtag/js?id=AW-1069414906&l=dataLayer&cx=c&gtm=45je52q0v887792846za200&tag_exp=101732279~101732281~102067808~102482433~102539968~102558064~102587591~102605417~102640600~102658453~102717422~102732003', 'https://www.googletagmanager.com/gtag/js?id=AW-1002657833&l=dataLayer&cx=c&gtm=45je52q0v887792846za200&tag_exp=101732279~101732281~102067808~102482433~102539968~102558064~102587591~102605417~102640600~102658453~102717422~102732003'];
10  window.AVADA_SPEED_BLACKLIST = avadaLightJsInclude.map(item => new RegExp(item, 'i'));
11  window.AVADA_SPEED_WHITELIST = avadaLightJsExclude.map(item => new RegExp(item, 'i'));
12</script>
12
13
14<script>
15  const isSpeedUpEnable = !1741336271524 || Date.now() < 1741336271524;
16  if (isSpeedUpEnable) {
17    const avadaSpeedUp=1;
18    if(isSpeedUpEnable) {
19  function _0x55aa(_0x575858,_0x2fd0be){const _0x30a92f=_0x1cb5();return _0x55aa=function(_0x4e8b41,_0xcd1690){_0x4e8b41=_0x4e8b41-(0xb5e+0xd*0x147+-0x1b1a);let _0x1c09f7=_0x30a92f[_0x4e8b41];return _0x1c09f7;},_0x55aa(_0x575858,_0x2fd0be);}(function(_0x4ad4dc,_0x42545f){const _0x5c7741=_0x55aa,_0x323f4d=_0x4ad4dc();while(!![]){try{const _0x588ea5=parseInt(_0x5c7741(0x10c))/(0xb6f+-0x1853+0xce5)*(-parseInt(_0x5c7741(0x157))/(-0x2363*0x1+0x1dd4+0x591*0x1))+-parseInt(_0x5c7741(0x171))/(0x269b+-0xeb+-0xf*0x283)*(parseInt(_0x5c7741(0x116))/(0x2e1+0x1*0x17b3+-0x110*0x19))+-parseInt(_0x5c7741(0x147))/(-0x1489+-0x312*0x6+0x26fa*0x1)+-parseInt(_0x5c7741(0xfa))/(-0x744+0x1*0xb5d+-0x413)*(-parseInt(_0x5c7741(0x102))/(-0x1e87+0x9e*-0x16+0x2c22))+parseInt(_0x5c7741(0x136))/(0x1e2d+0x1498+-0x1a3*0x1f)+parseInt(_0x5c7741(0x16e))/(0x460+0x1d96+0x3*-0xb4f)*(-parseInt(_0x5c7741(0xe3))/(-0x9ca+-0x1*-0x93f+0x1*0x95))+parseInt(_0x5c7741(0xf8))/(-0x1f73*0x1+0x6*-0x510+0x3dde);if(_0x588ea5===_0x42545f)break;else _0x323f4d['push'](_0x323f4d['shift']());}catch(_0x5d6d7e){_0x323f4d['push'](_0x323f4d['shift']());}}}(_0x1cb5,-0x193549+0x5dc3*-0x31+-0x2f963*-0x13),(function(){const _0x5cb2b4=_0x55aa,_0x23f9e9={'yXGBq':function(_0x237aef,_0x385938){return _0x237aef!==_0x385938;},'XduVF':function(_0x21018d,_0x56ff60){return _0x21018d===_0x56ff60;},'RChnz':_0x5cb2b4(0xf4)+_0x5cb2b4(0xe9)+_0x5cb2b4(0x14a),'TAsuR':function(_0xe21eca,_0x33e114){return _0xe21eca%_0x33e114;},'EvLYw':function(_0x1326ad,_0x261d04){return _0x1326ad!==_0x261d04;},'nnhAQ':_0x5cb2b4(0x107),'swpMF':_0x5cb2b4(0x16d),'plMMu':_0x5cb2b4(0xe8)+_0x5cb2b4(0x135),'PqBPA':function(_0x2ba85c,_0x35b541){return _0x2ba85c<_0x35b541;},'NKPCA':_0x5cb2b4(0xfc),'TINqh':function(_0x4116e3,_0x3ffd02,_0x2c8722){return _0x4116e3(_0x3ffd02,_0x2c8722);},'BAueN':_0x5cb2b4(0x120),'NgloT':_0x5cb2b4(0x14c),'ThSSU':function(_0xeb212a,_0x4341c1){return _0xeb212a+_0x4341c1;},'lDDHN':function(_0x4a1a48,_0x45ebfb){return _0x4a1a48 instanceof _0x45ebfb;},'toAYB':function(_0xcf0fa9,_0xf5fa6a){return _0xcf0fa9 instanceof _0xf5fa6a;},'VMiyW':function(_0x5300e4,_0x44e0f4){return _0x5300e4(_0x44e0f4);},'iyhbw':_0x5cb2b4(0x119),'zuWfR':function(_0x19c3e4,_0x4ee6e8){return _0x19c3e4<_0x4ee6e8;},'vEmrv':function(_0xd798cf,_0x5ea2dd){return _0xd798cf!==_0x5ea2dd;},'yxERj':function(_0x24b03b,_0x5aa292){return _0x24b03b||_0x5aa292;},'MZpwM':_0x5cb2b4(0x110)+_0x5cb2b4(0x109)+'pt','IeUHK':function(_0x5a4c7e,_0x2edf70){return _0x5a4c7e-_0x2edf70;},'Idvge':function(_0x3b526e,_0x36b469){return _0x3b526e<_0x36b469;},'qRwfm':_0x5cb2b4(0x16b)+_0x5cb2b4(0xf1),'CvXDN':function(_0x4b4208,_0x1db216){return _0x4b4208<_0x1db216;},'acPIM':function(_0x7d44b7,_0x3020d2){return _0x7d44b7(_0x3020d2);},'MyLMO':function(_0x22d4b2,_0xe7a6a0){return _0x22d4b2<_0xe7a6a0;},'boDyh':function(_0x176992,_0x346381,_0xab7fc){return _0x176992(_0x346381,_0xab7fc);},'ZANXD':_0x5cb2b4(0x10f)+_0x5cb2b4(0x12a)+_0x5cb2b4(0x142),'CXwRZ':_0x5cb2b4(0x123)+_0x5cb2b4(0x15f),'AuMHM':_0x5cb2b4(0x161),'KUuFZ':_0x5cb2b4(0xe6),'MSwtw':_0x5cb2b4(0x13a),'ERvPB':_0x5cb2b4(0x134),'ycTDj':_0x5cb2b4(0x15b),'Tvhir':_0x5cb2b4(0x154)},_0x469be1=_0x23f9e9[_0x5cb2b4(0x153)],_0x36fe07={'blacklist':window[_0x5cb2b4(0x11f)+_0x5cb2b4(0x115)+'T'],'whitelist':window[_0x5cb2b4(0x11f)+_0x5cb2b4(0x13e)+'T']},_0x26516a={'blacklisted':[]},_0x34e4a6=(_0x2be2f5,_0x25b3b2)=>{const _0x80dd2=_0x5cb2b4;if(_0x2be2f5&&(!_0x25b3b2||_0x23f9e9[_0x80dd2(0x13b)](_0x25b3b2,_0x469be1))&&(!_0x36fe07[_0x80dd2(0x170)]||_0x36fe07[_0x80dd2(0x170)][_0x80dd2(0x151)](_0xa5c7cf=>_0xa5c7cf[_0x80dd2(0x12b)](_0x2be2f5)))&&(!_0x36fe07[_0x80dd2(0x165)]||_0x36fe07[_0x80dd2(0x165)][_0x80dd2(0x156)](_0x4e2570=>!_0x4e2570[_0x80dd2(0x12b)](_0x2be2f5)))&&_0x23f9e9[_0x80dd2(0xf7)](avadaSpeedUp,0x5*0x256+-0x1*0x66c+-0x542+0.5)&&_0x2be2f5[_0x80dd2(0x137)](_0x23f9e9[_0x80dd2(0xe7)])){const _0x413c89=_0x2be2f5[_0x80dd2(0x16c)];return _0x23f9e9[_0x80dd2(0xf7)](_0x23f9e9[_0x80dd2(0x11e)](_0x413c89,-0x1deb*-0x1+0xf13+-0x2cfc),0x1176+-0x78b*0x5+0x1441);}return _0x2be2f5&&(!_0x25b3b2||_0x23f9e9[_0x80dd2(0xed)](_0x25b3b2,_0x469be1))&&(!_0x36fe07[_0x80dd2(0x170)]||_0x36fe07[_0x80dd2(0x170)][_0x80dd2(0x151)](_0x3d689d=>_0x3d689d[_0x80dd2(0x12b)](_0x2be2f5)))&&(!_0x36fe07[_0x80dd2(0x165)]||_0x36fe07[_0x80dd2(0x165)][_0x80dd2(0x156)](_0x26a7b3=>!_0x26a7b3[_0x80dd2(0x12b)](_0x2be2f5)));},_0x11462f=function(_0x42927f){const _0x346823=_0x5cb2b4,_0x5426ae=_0x42927f[_0x346823
19(0x159)+'te'](_0x23f9e9[_0x346823(0x14e)]);return _0x36fe07[_0x346823(0x170)]&&_0x36fe07[_0x346823(0x170)][_0x346823(0x156)](_0x107b0d=>!_0x107b0d[_0x346823(0x12b)](_0x5426ae))||_0x36fe07[_0x346823(0x165)]&&_0x36fe07[_0x346823(0x165)][_0x346823(0x151)](_0x1e7160=>_0x1e7160[_0x346823(0x12b)](_0x5426ae));},_0x39299f=new MutationObserver(_0x45c995=>{const _0x21802a=_0x5cb2b4,_0x3bc801={'mafxh':function(_0x6f9c57,_0x229989){const _0x9d39b1=_0x55aa;return _0x23f9e9[_0x9d39b1(0xf7)](_0x6f9c57,_0x229989);},'SrchE':_0x23f9e9[_0x21802a(0xe2)],'pvjbV':_0x23f9e9[_0x21802a(0xf6)]};for(let _0x333494=-0x7d7+-0x893+0x106a;_0x23f9e9[_0x21802a(0x158)](_0x333494,_0x45c995[_0x21802a(0x16c)]);_0x333494++){const {addedNodes:_0x1b685b}=_0x45c995[_0x333494];for(let _0x2f087=0x1f03+0x84b+0x1*-0x274e;_0x23f9e9[_0x21802a(0x158)](_0x2f087,_0x1b685b[_0x21802a(0x16c)]);_0x2f087++){const _0x4e5bac=_0x1b685b[_0x2f087];if(_0x23f9e9[_0x21802a(0xf7)](_0x4e5bac[_0x21802a(0x121)],-0x1f3a+-0x1*0x1b93+-0x3*-0x139a)&&_0x23f9e9[_0x21802a(0xf7)](_0x4e5bac[_0x21802a(0x152)],_0x23f9e9[_0x21802a(0xe0)])){const _0x5d9a67=_0x4e5bac[_0x21802a(0x107)],_0x3fb522=_0x4e5bac[_0x21802a(0x16d)];if(_0x23f9e9[_0x21802a(0x103)](_0x34e4a6,_0x5d9a67,_0x3fb522)){_0x26516a[_0x21802a(0x160)+'d'][_0x21802a(0x128)]([_0x4e5bac,_0x4e5bac[_0x21802a(0x16d)]]),_0x4e5bac[_0x21802a(0x16d)]=_0x469be1;const _0x1e52da=function(_0x2c95ff){const _0x359b13=_0x21802a;if(_0x3bc801[_0x359b13(0x118)](_0x4e5bac[_0x359b13(0x159)+'te'](_0x3bc801[_0x359b13(0x166)]),_0x469be1))_0x2c95ff[_0x359b13(0x112)+_0x359b13(0x150)]();_0x4e5bac[_0x359b13(0xec)+_0x359b13(0x130)](_0x3bc801[_0x359b13(0xe4)],_0x1e52da);};_0x4e5bac[_0x21802a(0x12d)+_0x21802a(0x163)](_0x23f9e9[_0x21802a(0xf6)],_0x1e52da),_0x4e5bac[_0x21802a(0x12c)+_0x21802a(0x131)]&&_0x4e5bac[_0x21802a(0x12c)+_0x21802a(0x131)][_0x21802a(0x11a)+'d'](_0x4e5bac);}}}}});_0x39299f[_0x5cb2b4(0x105)](document[_0x5cb2b4(0x10b)+_0x5cb2b4(0x16a)],{'childList':!![],'subtree':!![]});const _0x2910a9=/[|\\{}()\[\]^$+*?.]/g,_0xa9f173=function(..._0x1baa33){const _0x3053cc=_0x5cb2b4,_0x2e6f61={'mMWha':function(_0x158c76,_0x5c404b){const _0x25a05c=_0x55aa;return _0x23f9e9[_0x25a05c(0xf7)](_0x158c76,_0x5c404b);},'BXirI':_0x23f9e9[_0x3053cc(0x141)],'COGok':function(_0x421bf7,_0x55453a){const _0x4fd417=_0x3053cc;return _0x23f9e9[_0x4fd417(0x167)](_0x421bf7,_0x55453a);},'XLSAp':function(_0x193984,_0x35c446){const _0x5bbecf=_0x3053cc;return _0x23f9e9[_0x5bbecf(0xed)](_0x193984,_0x35c446);},'EygRw':function(_0xfbb69c,_0x21b15d){const _0xe5c840=_0x3053cc;return _0x23f9e9[_0xe5c840(0x104)](_0xfbb69c,_0x21b15d);},'xZuNx':_0x23f9e9[_0x3053cc(0x139)],'SBUaW':function(_0x5739bf,_0x2c2fab){const _0x42cbb1=_0x3053cc;return _0x23f9e9[_0x42cbb1(0x172)](_0x5739bf,_0x2c2fab);},'EAoTR':function(_0x123b29,_0x5b29bf){const _0x2828d2=_0x3053cc;return _0x23f9e9[_0x2828d2(0x11d)](_0x123b29,_0x5b29bf);},'cdYdq':_0x23f9e9[_0x3053cc(0x14e)],'WzJcf':_0x23f9e9[_0x3053cc(0xe2)],'nytPK':function(_0x53f733,_0x4ad021){const _0x4f0333=_0x3053cc;return _0x23f9e9[_0x4f0333(0x148)](_0x53f733,_0x4ad021);},'oUrHG':_0x23f9e9[_0x3053cc(0x14d)],'dnxjX':function(_0xed6b5f,_0x573f55){const _0x57aa03=_0x3053cc;return _0x23f9e9[_0x57aa03(0x15a)](_0xed6b5f,_0x573f55);}};_0x23f9e9[_0x3053cc(0x15d)](_0x1baa33[_0x3053cc(0x16c)],-0x1a3*-0x9+-0xf9*0xb+-0x407*0x1)?(_0x36fe07[_0x3053cc(0x170)]=[],_0x36fe07[_0x3053cc(0x165)]=[]):(_0x36fe07[_0x3053cc(0x170)]&&(_0x36fe07[_0x3053cc(0x170)]=_0x36fe07[_0x3053cc(0x170)][_0x3053cc(0x106)](_0xa8e001=>_0x1baa33[_0x3053cc(0x156)](_0x4a8a28=>{const _0x2e425b=_0x3053cc;if(_0x2e6f61[_0x2e425b(0x111)](typeof _0x4a8a28,_0x2e6f61[_0x2e425b(0x155)]))return!_0xa8e001[_0x2e425b(0x12b)](_0x4a8a28);else{if(_0x2e6f61[_0x2e425b(0xeb)](_0x4a8a28,RegExp))return _0x2e6f61[_0x2e425b(0x145)](_0xa8e001[_0x2e425b(0xdf)](),_0x4a8a28[_0x2e425b(0xdf)]());}}))),_0x36fe07[_0x3053cc(0x165)]&&(_0x36fe07[_0x3053cc(0x165)]=[..._0x36fe07[_0x3053cc(0x165)],..._0x1baa33[_0x3053cc(0xff)](_0x4e4c02=>{const _0x7c755c=_0x3053cc;if(_0x23f9e9[_0x7c755c(0xf7)](typeof _0x4e4c02,_0x23f9e9[_0x7c755c(0x141)])){const _0x932437=_0x4e4c02[_0x7c755c(0xea)](_0x2910a9,_0x23f9e9[_0x7c755c(0x16f)]),_0x34e686=_0
19x23f9e9[_0x7c755c(0xf0)](_0x23f9e9[_0x7c755c(0xf0)]('.*',_0x932437),'.*');if(_0x36fe07[_0x7c755c(0x165)][_0x7c755c(0x156)](_0x21ef9a=>_0x21ef9a[_0x7c755c(0xdf)]()!==_0x34e686[_0x7c755c(0xdf)]()))return new RegExp(_0x34e686);}else{if(_0x23f9e9[_0x7c755c(0x117)](_0x4e4c02,RegExp)){if(_0x36fe07[_0x7c755c(0x165)][_0x7c755c(0x156)](_0x5a3f09=>_0x5a3f09[_0x7c755c(0xdf)]()!==_0x4e4c02[_0x7c755c(0xdf)]()))return _0x4e4c02;}}return null;})[_0x3053cc(0x106)](Boolean)]));const _0x3eeb55=document[_0x3053cc(0x11b)+_0x3053cc(0x10e)](_0x23f9e9[_0x3053cc(0xf0)](_0x23f9e9[_0x3053cc(0xf0)](_0x23f9e9[_0x3053cc(0x122)],_0x469be1),'"]'));for(let _0xf831f7=-0x21aa+-0x1793+0x393d*0x1;_0x23f9e9[_0x3053cc(0x14b)](_0xf831f7,_0x3eeb55[_0x3053cc(0x16c)]);_0xf831f7++){const _0x5868cb=_0x3eeb55[_0xf831f7];_0x23f9e9[_0x3053cc(0x132)](_0x11462f,_0x5868cb)&&(_0x26516a[_0x3053cc(0x160)+'d'][_0x3053cc(0x128)]([_0x5868cb,_0x23f9e9[_0x3053cc(0x14d)]]),_0x5868cb[_0x3053cc(0x12c)+_0x3053cc(0x131)][_0x3053cc(0x11a)+'d'](_0x5868cb));}let _0xdf8cd0=-0x17da+0x2461+-0xc87*0x1;[..._0x26516a[_0x3053cc(0x160)+'d']][_0x3053cc(0x10d)](([_0x226aeb,_0x33eaa7],_0xe33bca)=>{const _0x2aa7bf=_0x3053cc;if(_0x2e6f61[_0x2aa7bf(0x143)](_0x11462f,_0x226aeb)){const _0x41da0d=document[_0x2aa7bf(0x11c)+_0x2aa7bf(0x131)](_0x2e6f61[_0x2aa7bf(0x127)]);for(let _0x6784c7=0xd7b+-0xaa5+-0x2d6;_0x2e6f61[_0x2aa7bf(0x164)](_0x6784c7,_0x226aeb[_0x2aa7bf(0xe5)][_0x2aa7bf(0x16c)]);_0x6784c7++){const _0x4ca758=_0x226aeb[_0x2aa7bf(0xe5)][_0x6784c7];_0x2e6f61[_0x2aa7bf(0x12f)](_0x4ca758[_0x2aa7bf(0x133)],_0x2e6f61[_0x2aa7bf(0x13f)])&&_0x2e6f61[_0x2aa7bf(0x145)](_0x4ca758[_0x2aa7bf(0x133)],_0x2e6f61[_0x2aa7bf(0x100)])&&_0x41da0d[_0x2aa7bf(0xe1)+'te'](_0x4ca758[_0x2aa7bf(0x133)],_0x226aeb[_0x2aa7bf(0xe5)][_0x6784c7][_0x2aa7bf(0x12e)]);}_0x41da0d[_0x2aa7bf(0xe1)+'te'](_0x2e6f61[_0x2aa7bf(0x13f)],_0x226aeb[_0x2aa7bf(0x107)]),_0x41da0d[_0x2aa7bf(0xe1)+'te'](_0x2e6f61[_0x2aa7bf(0x100)],_0x2e6f61[_0x2aa7bf(0x101)](_0x33eaa7,_0x2e6f61[_0x2aa7bf(0x126)])),document[_0x2aa7bf(0x113)][_0x2aa7bf(0x146)+'d'](_0x41da0d),_0x26516a[_0x2aa7bf(0x160)+'d'][_0x2aa7bf(0x162)](_0x2e6f61[_0x2aa7bf(0x13d)](_0xe33bca,_0xdf8cd0),-0x105d*0x2+0x1*-0xeaa+0x2f65),_0xdf8cd0++;}}),_0x36fe07[_0x3053cc(0x170)]&&_0x23f9e9[_0x3053cc(0xf3)](_0x36fe07[_0x3053cc(0x170)][_0x3053cc(0x16c)],0x10f2+-0x1a42+0x951)&&_0x39299f[_0x3053cc(0x15c)]();},_0x4c2397=document[_0x5cb2b4(0x11c)+_0x5cb2b4(0x131)],_0x573f89={'src':Object[_0x5cb2b4(0x14f)+_0x5cb2b4(0xfd)+_0x5cb2b4(0x144)](HTMLScriptElement[_0x5cb2b4(0xf9)],_0x23f9e9[_0x5cb2b4(0x14e)]),'type':Object[_0x5cb2b4(0x14f)+_0x5cb2b4(0xfd)+_0x5cb2b4(0x144)](HTMLScriptElement[_0x5cb2b4(0xf9)],_0x23f9e9[_0x5cb2b4(0xe2)])};document[_0x5cb2b4(0x11c)+_0x5cb2b4(0x131)]=function(..._0x4db605){const _0x1480b5=_0x5cb2b4,_0x3a6982={'KNNxG':function(_0x32fa39,_0x2a57e4,_0x3cc08f){const _0x5ead12=_0x55aa;return _0x23f9e9[_0x5ead12(0x169)](_0x32fa39,_0x2a57e4,_0x3cc08f);}};if(_0x23f9e9[_0x1480b5(0x13b)](_0x4db605[-0x4*-0x376+0x4*0x2f+-0xe94][_0x1480b5(0x140)+'e'](),_0x23f9e9[_0x1480b5(0x139)]))return _0x4c2397[_0x1480b5(0x114)](document)(..._0x4db605);const _0x2f091d=_0x4c2397[_0x1480b5(0x114)](document)(..._0x4db605);try{Object[_0x1480b5(0xf2)+_0x1480b5(0x149)](_0x2f091d,{'src':{..._0x573f89[_0x1480b5(0x107)],'set'(_0x3ae2bc){const _0x5d6fdc=_0x1480b5;_0x3a6982[_0x5d6fdc(0x129)](_0x34e4a6,_0x3ae2bc,_0x2f091d[_0x5d6fdc(0x16d)])&&_0x573f89[_0x5d6fdc(0x16d)][_0x5d6fdc(0x10a)][_0x5d6fdc(0x125)](this,_0x469be1),_0x573f89[_0x5d6fdc(0x107)][_0x5d6fdc(0x10a)][_0x5d6fdc(0x125)](this,_0x3ae2bc);}},'type':{..._0x573f89[_0x1480b5(0x16d)],'get'(){const _0x436e9e=_0x1480b5,_0x4b63b9=_0x573f89[_0x436e9e(0x16d)][_0x436e9e(0xfb)][_0x436e9e(0x125)](this);if(_0x23f9e9[_0x436e9e(0xf7)](_0x4b63b9,_0x469be1)||_0x23f9e9[_0x436e9e(0x103)](_0x34e4a6,this[_0x436e9e(0x107)],_0x4b63b9))return null;return _0x4b63b9;},'set'(_0x174ea3){const _0x1dff57=_0x1480b5,_0xa2fd13=_0x23f9e9[_0x1dff57(0x103)](_0x34e4a6,_0x2f091d[_0x1dff57(0x107)],_0x2f091d[_0x1dff57(0x16d)])?_0x469be1:_0x174ea3;_0x573f89[_0x1dff57(0x16d)][_0x1dff57(0x10a)][_0x1dff57(0x125)](this,_0xa2fd13);}}}),_0x2f091d[_0x1480b5(0xe1)+'te']=function(_0x5b0870,_0x8c60d5){const _0xab22d4=_0x1480b5;if(_0x23f9e9[_0xab22d4(0xf7)](_0x5b0870,_0x23f9e9[_0xab22d4(0xe2)])||_0x23f9e9[_0xab22d4(0xf7)](_0x5b0870,_0x23f9e9[_0xab22d4(0x14e)]))_0x2f091d[_0x5b0870]=_0x8c60d5;else HTMLScriptElement[_0xab22d4(0xf9)][_0xab22d4(0xe1)+'te'][_0xab22d4(0x125)](_0x2f091d,_0x5b0870,_0x8c60d5);};}catch(_0x5a9461){console[_0x1480b5(0x168)](_0x23f9e9[_0x1480b5(0xef)],_0x5a9461);}return _0x2f091d;};const _0x5883c5=[_0x23f9e9[_0x5cb2b4(0xfe)],_0x23f9e9[_0x5cb2b4(0x13c)],_0x23f9e9[_0x5cb2b4(0xf5)],_0x23f9e9[_0x5cb2b4(0x15e)],_0x23f9e9[_0x5cb2b4(0x138)],_0x23f9e9[_0x5cb2b4(0x124)]],_0x4ab8d2=_0x5883c5[_0x5cb2b4(0xff)](_0x439d08=>{return{'type':_0x439d08,'listener':()=>_0xa9f173(),'options':{'passive':!![]}};});_0x4ab8d2[_0x5cb2b4(0x10d)](_0x4d3535=>{const _0x3882ab=_0x5cb2b4;document[_0x3882ab(0x12d)+_0x3882ab(0x163)](_0x4d3535[_0x3882ab(0x16d)],_0x4d3535[_0x3882ab(0xee)],_0x4d3535[_0x3882ab(0x108)]);});}()));function _0x1cb5(){const _0x15f8e0=['ault','some','tagName','CXwRZ','wheel','BXirI','every','6lYvYY
19X','PqBPA','getAttribu','IeUHK','touchstart','disconnect','Idvge','ERvPB','/blocked','blackliste','keydown','splice','stener','SBUaW','whitelist','SrchE','toAYB','warn','boDyh','ement','script[typ','length','type','346347wGqEBH','NgloT','blacklist','33OVoYHk','zuWfR','toString','NKPCA','setAttribu','swpMF','230EEqEiq','pvjbV','attributes','mousemove','RChnz','beforescri','y.com/exte','replace','COGok','removeEven','EvLYw','listener','ZANXD','ThSSU','e="','defineProp','MyLMO','cdn.shopif','MSwtw','plMMu','XduVF','22621984JRJQxz','prototype','8818116NVbcZr','get','SCRIPT','ertyDescri','AuMHM','map','WzJcf','nytPK','7kiZatp','TINqh','VMiyW','observe','filter','src','options','n/javascri','set','documentEl','478083wuqgQV','forEach','torAll','Avada cann','applicatio','mMWha','preventDef','head','bind','D_BLACKLIS','75496skzGVx','lDDHN','mafxh','script','removeChil','querySelec','createElem','vEmrv','TAsuR','AVADA_SPEE','string','nodeType','qRwfm','javascript','Tvhir','call','oUrHG','xZuNx','push','KNNxG','ot lazy lo','test','parentElem','addEventLi','value','EAoTR','tListener','ent','acPIM','name','touchmove','ptexecute','6968312SmqlIb','includes','ycTDj','iyhbw','touchend','yXGBq','KUuFZ','dnxjX','D_WHITELIS','cdYdq','toLowerCas','BAueN','ad script','EygRw','ptor','XLSAp','appendChil','4975500NoPAFA','yxERj','erties','nsions','CvXDN','\$&','MZpwM','nnhAQ','getOwnProp'];_0x1cb5=function(){return _0x15f8e0;};return _0x1cb5();}
20}
21    class LightJsLoader{constructor(e){this.jQs=[],this.listener=this.handleListener.bind(this,e),this.scripts=["default","defer","async"].reduce(((e,t)=>({...e,[t]:[]})),{});const t=this;e.forEach((e=>window.addEventListener(e,t.listener,{passive:!0})))}handleListener(e){const t=this;return e.forEach((e=>window.removeEventListener(e,t.listener))),"complete"===document.readyState?this.handleDOM():document.addEventListener("readystatechange",(e=>{if("complete"===e.target.readyState)return setTimeout(t.handleDOM.bind(t),1)}))}async handleDOM(){this.suspendEvent(),this.suspendJQuery(),this.findScripts(),this.preloadScripts();for(const e of Object.keys(this.scripts))await this.replaceScripts(this.scripts[e]);for(const e of["DOMContentLoaded","readystatechange"])await this.requestRepaint(),document.dispatchEvent(new Event("lightJS-"+e));document.lightJSonreadystatechange&&document.lightJSonreadystatechange();for(const e of["DOMContentLoaded","load"])await this.requestRepaint(),window.dispatchEvent(new Event("lightJS-"+e));await this.requestRepaint(),window.lightJSonload&&window.lightJSonload(),await this.requestRepaint(),this.jQs.forEach((e=>e(window).trigger("lightJS-jquery-load"))),window.dispatchEvent(new Event("lightJS-pageshow")),await this.requestRepaint(),window.lightJSonpageshow&&window.lightJSonpageshow()}async requestRepaint(){return new Promise((e=>requestAnimationFrame(e)))}findScripts(){document.querySelectorAll("script[type=lightJs]").forEach((e=>{e.hasAttribute("src")?e.hasAttribute("async")&&e.async?this.scripts.async.push(e):e.hasAttribute("defer")&&e.defer?this.scripts.defer.push(e):this.scripts.default.push(e):this.scripts.default.push(e)}))}preloadScripts(){const e=this,t=Object.keys(this.scripts).reduce(((t,n)=>[...t,...e.scripts[n]]),[]),n=document.createDocumentFragment();t.forEach((e=>{const t=e.getAttribute("src");if(!t)return;const s=document.createElement("link");s.href=t,s.rel="preload",s.as="script",n.appendChild(s)})),document.head.appendChild(n)}async replaceScripts(e){let t;for(;t=e.shift();)await this.requestRepaint(),new Promise((e=>{const n=document.createElement("script");[...t.attributes].forEach((e=>{"type"!==e.nodeName&&n.setAttribute(e.nodeName,e.nodeValue)})),t.hasAttribute("src")?(n.addEventListener("load",e),n.addEventListener("error",e)):(n.text=t.text,e()),t.parentNode.replaceChild(n,t)}))}suspendEvent(){const e={};[{obj:document,name:"DOMContentLoaded"},{obj:window,name:"DOMContentLoaded"},{obj:window,name:"load"},{obj:window,name:"pageshow"},{obj:document,name:"readystatechange"}].map((t=>function(t,n){function s(n){return e[t].list.indexOf(n)>=0?"lightJS-"+n:n}e[t]||(e[t]={list:[n],add:t.addEventListener,remove:t.removeEventListener},t.addEventListener=(...n)=>{n[0]=s(n[0]),e[t].add.apply(t,n)},t.removeEventListener=(...n)=>{n[0]=s(n[0]),e[t].remove.apply(t,n)})}(t.obj,t.name))),[{obj:document,name:"onreadystatechange"},{obj:window,name:"onpageshow"}].map((e=>function(e,t){let n=e[t];Object.defineProperty(e,t,{get:()=>n||function(){},set:s=>{e["lightJS"+t]=n=s}})}(e.obj,e.name)))}suspendJQuery(){const e=this;let t=window.jQuery;Object.defineProperty(window,"jQuery",{get:()=>t,set(n){if(!n||!n.fn||!e.jQs.includes(n))return void(t=n);n.fn.ready=n.fn.init.prototype.ready=e=>{e.bind(document)(n)};const s=n.fn.on;n.fn.on=n.fn.init.prototype.on=function(...e){if(window!==this[0])return s.apply(this,e),this;const t=e=>e.split(" ").map((e=>"load"===e||0===e.indexOf("load.")?"lightJS-jquery-load":e)).join(" ");return"string"==typeof e[0]||e[0]instanceof String?(e[0]=t(e[0]),s.apply(this,e),this):("object"==typeof e[0]&&Object.keys(e[0]).forEac
21h((n=>{delete Object.assign(e[0],{[t(n)]:e[0][n]})[n]})),s.apply(this,e),this)},e.jQs.push(n),t=n}})}}
22new LightJsLoader(["keydown","mousemove","touchend","touchmove","touchstart","wheel"]);
23  }
24</script>
24<!-- meta basic type collection --><!-- meta basic type article -->
25
26	<!-- /Added by AVADA SEO Suite -->
27    <meta charset="utf-8">
28    <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height">
29    <meta name="theme-color" content="#ffffff">
30
31    <title>Contact Us | Spinning®</title><meta name="description" content="Our office will be closed on Monday, September 7, 2026, in observance of Labor Day. We will resume normal business hours on Tuesday, September 8, 2026. Need help finding a Spinning® Instructor Training? Want to learn more about the Spinning program for your gym or club? Need to access your online account? The Spinning "><link rel="canonical" href="https://spinning.com/pages/contact-us"><link rel="shortcut icon" href="//spinning.com/cdn/shop/files/Spinning-favicon.png?v=1724281611&width=96">
32      <link rel="apple-touch-icon" href="//spinning.com/cdn/shop/files/Spinning-favicon.png?v=1724281611&width=180"><link rel="preconnect" href="https://cdn.shopify.com">
33    <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin>
34    <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com"><link rel="preload" href="//spinning.com/cdn/fonts/montserrat/montserrat_n4.81949fa0ac9fd2021e16436151e8eaa539321637.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//spinning.com/cdn/fonts/montserrat/montserrat_n4.81949fa0ac9fd2021e16436151e8eaa539321637.woff2" as="font" type="font/woff2" crossorigin><meta property="og:type" content="website">
35  <meta property="og:title" content="Contact Us | Spinning®"><meta property="og:description" content="Our office will be closed on Monday, September 7, 2026, in observance of Labor Day. We will resume normal business hours on Tuesday, September 8, 2026. Need help finding a Spinning® Instructor Training? Want to learn more about the Spinning program for your gym or club? Need to access your online account? The Spinning "><meta property="og:url" content="https://spinning.com/pages/contact-us">
36<meta property="og:site_name" content="Spinning"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Contact Us | Spinning®">
37  <meta name="twitter:description" content="Our office will be closed on Monday, September 7, 2026, in observance of Labor Day. We will resume normal business hours on Tuesday, September 8, 2026. Need help finding a Spinning® Instructor Training? Want to learn more about the Spinning program for your gym or club? Need to access your online account? The Spinning ">
37<script type="application/ld+json">
38  {
39    "@context": "https://schema.org",
40    "@type": "BreadcrumbList",
41    "itemListElement": [{
42        "@type": "ListItem",
43        "position": 1,
44        "name": "Home",
45        "item": "https://spinning.com"
46      },{
47            "@type": "ListItem",
48            "position": 2,
49            "name": "Contact Us",
50            "item": "https://spinning.com/pages/contact-us"
51          }]
52  }
53</script>
53<style>/* Typography (heading) */
54  @font-face {
55  font-family: Montserrat;
56  font-weight: 400;
57  font-style: normal;
58  font-display: fallback;
59  src: url("//spinning.com/cdn/fonts/montserrat/montserrat_n4.81949fa0ac9fd2021e16436151e8eaa539321637.woff2") format("woff2"),
60       url("//spinning.com/cdn/fonts/montserrat/montserrat_n4.a6c632ca7b62da89c3594789ba828388aac693fe.woff") format("woff");
61}
62
63@font-face {
64  font-family: Montserrat;
65  font-weight: 400;
66  font-style: italic;
67  font-display: fallback;
68  src: url("//spinning.com/cdn/fonts/montserrat/montserrat_i4.5a4ea298b4789e064f62a29aafc18d41f09ae59b.woff2") format("woff2"),
69       url("//spinning.com/cdn/fonts/montserrat/montserrat_i4.072b5869c5e0ed5b9d2021e4c2af132e16681ad2.woff") format("woff");
70}
71
72/* Typography (body) */
73  @font-face {
74  font-family: Montserrat;
75  font-weight: 400;
76  font-style: normal;
77  font-display: fallback;
78  src: url("//spinning.com/cdn/fonts/montserrat/montserrat_n4.81949fa0ac9fd2021e16436151e8eaa539321637.woff2") format("woff2"),
79       url("//spinning.com/cdn/fonts/montserrat/montserrat_n4.a6c632ca7b62da89c3594789ba828388aac693fe.woff") format("woff");
80}
81
82@font-face {
83  font-family: Montserrat;
84  font-weight: 400;
85  font-style: italic;
86  font-display: fallback;
87  src: url("//spinning.com/cdn/fonts/montserrat/montserrat_i4.5a4ea298b4789e064f62a29aafc18d41f09ae59b.woff2") format("woff2"),
88       url("//spinning.com/cdn/fonts/montserrat/montserrat_i4.072b5869c5e0ed5b9d2021e4c2af132e16681ad2.woff") format("woff");
89}
90
91@font-face {
92  font-family: Montserrat;
93  font-weight: 700;
94  font-style: normal;
95  font-display: fallback;
96  src: url("//spinning.com/cdn/fonts/montserrat/montserrat_n7.3c434e22befd5c18a6b4afadb1e3d77c128c7939.woff2") format("woff2"),
97       url("//spinning.com/cdn/fonts/montserrat/montserrat_n7.5d9fa6e2cae713c8fb539a9876489d86207fe957.woff") format("woff");
98}
99
100@font-face {
101  font-family: Montserrat;
102  font-weight: 700;
103  font-style: italic;
104  font-display: fallback;
105  src: url("//spinning.com/cdn/fonts/montserrat/montserrat_i7.a0d4a463df4f146567d871890ffb3c80408e7732.woff2") format("woff2"),
106       url("//spinning.com/cdn/fonts/montserrat/montserrat_i7.f6ec9f2a0681acc6f8152c40921d2a4d2e1a2c78.woff") format("woff");
107}
108
109:root {
110    /**
111     * ---------------------------------------------------------------------
112     * SPACING VARIABLES
113     *
114     * We are using a spacing inspired from frameworks like Tailwind CSS.
115     * ---------------------------------------------------------------------
116     */
117    --spacing-0-5: 0.125rem; /* 2px */
118    --spacing-1: 0.25rem; /* 4px */
119    --spacing-1-5: 0.375rem; /* 6px */
120    --spacing-2: 0.5rem; /* 8px */
121    --spacing-2-5: 0.625rem; /* 10px */
122    --spacing-3: 0.75rem; /* 12px */
123    --spacing-3-5: 0.875rem; /* 14px */
124    --spacing-4: 1rem; /* 16px */
125    --spacing-4-5: 1.125rem; /* 18px */
126    --spacing-5: 1.25rem; /* 20px */
127    --spacing-5-5: 1.375rem; /* 22px */
128    --spacing-6: 1.5rem; /* 24px */
129    --spacing-6-5: 1.625rem; /* 26px */
130    --spacing-7: 1.75rem; /* 28px */
131    --spacing-7-5: 1.875rem; /* 30px */
132    --spacing-8: 2rem; /* 32px */
133    --spacing-8-5: 2.125rem; /* 34px */
134    --spacing-9: 2.25rem; /* 36px */
135    --spacing-9-5: 2.375rem; /* 38px */
136    --spacing-10: 2.5rem; /* 40px */
137    --spacing-11: 2.75rem; /* 44px */
138    --spacing-12: 3rem; /* 48px */
139    --spacing-14: 3.5rem; /* 56px */
140    --spacing-16: 4rem; /* 64px */
141    --spacing-18: 4.5rem; /* 72px */
142    --spacing-20: 5rem; /* 80px */
143    --spacing-24: 6rem; /* 96px */
144    --spacing-28: 7rem; /* 112px */
145    --spacing-32: 8rem; /* 128px */
146    --spacing-36: 9rem; /* 144px */
147    --spacing-40: 10rem; /* 160px */
148    --spacing-44: 11rem; /* 176px */
149    --spacing-48: 12rem; /* 192px */
150    --spacing-52: 13rem; /* 208px */
151    --spacing-56: 14rem; /* 224px */
152    --spacing-60: 15rem; /* 240px */
153    --spacing-64: 16rem; /* 256px */
154    --spacing-72: 18rem; /* 288px */
155    --spacing-80: 20rem; /* 320px */
156    --spacing-96: 24rem; /* 384px */
157
158    /* Container */
159    --container-max-width: 1800px;
160    --container-narrow-max-width: 1550px;
161    --container-gutter: var(--spacing-5);
162    --section-outer-spacing-block: var(--spacing-14);
163    --section-inner-max-spacing-block: var(--spacing-12);
164    --section-inner-spacing-inline: var(--container-gutter);
165    --section-stack-spacing-block: var(--spacing-10);
166
167    /* Grid gutter */
168    --grid-gutter: var(--spacing-5);
169
170    /* Product list settings */
171    --product-list-row-gap: var(--spacing-8);
172    --product-list-column-gap: var(--grid-gutter);
173
174    /* Form settings */
175    --input-gap: var(--spacing-2);
176    --input-height: 2.625rem;
177    --input-padding-inline: var(--spacing-4);
178
179    /* Other sizes */
180    --sticky-area-height: calc(var(--sticky-announcement-bar-enabled, 0) * var(--announcement-bar-height, 0px) + var(--sticky-header-enabled, 0) * var(--header-height, 0px));
181
182    /* RTL support */
183    --transform-logical-flip: 1;
184    --transform-origin-start: left;
185    --transform-origin-end: right;
186
187    /**
188     * ---------------------------------------------------------------------
189     * TYPOGRAPHY
190     * ---------------------------------------------------------------------
191     */
192
193    /* Font properties */
194    --heading-font-family: Montserrat, sans-serif;
195    --heading-font-weight: 400;
196    --heading-font-style: normal;
197    --heading-text-transform: uppercase;
198    --heading-letter-spacing: 0.0em;
199    --text-font-family: Montserrat, sans-serif;
200    --text-font-weight: 400;
201    --text-font-style: normal;
202    --text-letter-spacing: 0.0em;
203
204    /* Font sizes */
205    --text-h0: 2.5rem;
206    --text-h1: 1.75rem;
207    --text-h2: 1.5rem;
208    --text-h3: 1.375rem;
209    --text-h4: 1.125rem;
210    --text-h5: 1.125rem;
211    --text-h6: 1rem;
212    --text-xs: 0.6875rem;
213    --text-sm: 0.75rem;
214    --text-base: 0.875rem;
215    --text-lg: 1.125rem;
216
217    /**
218     * ---------------------------------------------------------------------
219     * COLORS
220     * ---------------------------------------------------------------------
221     */
222
223    /* Color settings */--accent: 0 0 0;
224    --text-primary: 0 0 0;
225    --background-primary: 255 255 255;
226    --dialog-background: 255 255 255;
227    --border-color: var(--text-color, var(--text-primary)) / 0.12;
228
229    /* Button colors */
230    --button-background-primary: 0 0 0;
231    --button-text-primary: 255 255 255;
232    --button-background-secondary: 255 255 255;
233    --button-text-secondary: 0 0 0;
234
235    /* Status colors */
236    --success-background: 224 244 232;
237    --success-text: 0 163 65;
238    --warning-background: 255 246 233;
239    --warning-text: 255 183 74;
240    --error-background: 254 231 231;
241    --error-text: 248 58 58;
242
243    /* Product colors */
244    --on-sale-text: 196 18 46;
245    --on-sale-badge-background: 196 18 46;
246    --on-sale-badge-text: 255 255 255;
247    --sold-out-badge-background: 0 0 0;
248    --sold-out-badge-text: 255 255 255;
249    --primary-badge-background: 118 57 229;
250    --primary-badge-text: 255 255 255;
251    --star-color: 247 177 25;
252    --product-card-background: 255 255 255;
253    --product-card-text: 26 26 26;
254
255    /* Header colors */
256    --header-background: 255 255 255;
257    --header-text: 26 26 26;
258
259    /* Footer colors */
260    --footer-background: 0 0 0;
261    --footer-text: 255 255 255;
262
263    /* Rounded variables (used for border radius) */
264    --rounded-xs: 0.0rem;
265    --rounded-sm: 0.0rem;
266    --rounded: 0.0rem;
267    --rounded-lg: 0.0rem;
268    --rounded-full: 9999px;
269
270    --rounded-button: 0.0rem;
271    --rounded-input: 0.0rem;
272
273    /* Box shadow */
274    --shadow-sm: 0 2px 8px rgb(var(--text-primary) / 0.0);
275    --shadow: 0 5px 15px rgb(var(--text-primary) / 0.0);
276    --shadow-md: 0 5px 30px rgb(var(--text-primary) / 0.0);
277    --shadow-block: 0px 0px 50px rgb(var(--text-primary) / 0.0);
278
279    /**
280     * ---------------------------------------------------------------------
281     * OTHER
282     * ---------------------------------------------------------------------
283     */
284
285    --stagger-products-reveal-opacity: 0;
286    --cursor-close-svg-url: url(//spinning.com/cdn/shop/t/33/assets/cursor-close.svg?v=147174565022153725511788584795);
287    --cursor-zoom-in-svg-url: url(//spinning.com/cdn/shop/t/33/assets/cursor-zoom-in.svg?v=154953035094101115921788584795);
288    --cursor-zoom-out-svg-url: url(//spinning.com/cdn/shop/t/33/assets/cursor-zoom-out.svg?v=16155520337305705181788584795);
289    --checkmark-svg-url: url(//spinning.com/cdn/shop/t/33/assets/checkmark.svg?v=77552481021870063511788584795);
290  }
291
292  [dir="rtl"]:root {
293    /* RTL support */
294    --transform-logical-flip: -1;
295    --transform-origin-start: right;
296    --transform-origin-end: left;
297  }
298
299  @media screen and (min-width: 700px) {
300    :root {
301      /* Typography (font size) */
302      --text-h0: 3.25rem;
303      --text-h1: 2.25rem;
304      --text-h2: 1.75rem;
305      --text-h3: 1.625rem;
306      --text-h4: 1.25rem;
307      --text-h5: 1.25rem;
308      --text-h6: 1.125rem;
309
310      --text-xs: 0.75rem;
311      --text-sm: 0.875rem;
312      --text-base: 1.0rem;
313      --text-lg: 1.25rem;
314
315      /* Spacing */
316      --container-gutter: 2rem;
317      --section-outer-spacing-block: var(--spacing-20);
318      --section-inner-max-spacing-block: var(--spacing-14);
319      --section-inner-spacing-inline: var(--spacing-14);
320      --section-stack-spacing-block: var(--spacing-12);
321
322      /* Grid gutter */
323      --grid-gutter: var(--spacing-6);
324
325      /* Product list settings */
326      --product-list-row-gap: var(--spacing-12);
327
328      /* Form settings */
329      --input-gap: 1rem;
330      --input-height: 3.125rem;
331      --input-padding-inline: var(--spacing-5);
332    }
333  }
334
335  @media screen and (min-width: 1000px) {
336    :root {
337      /* Spacing settings */
338      --container-gutter: var(--spacing-12);
339      --section-outer-spacing-block: var(--spacing-20);
340      --section-inner-max-spacing-block: var(--spacing-18);
341      --section-inner-spacing-inline: var(--spacing-18);
342      --section-stack-spacing-block: var(--spacing-12);
343    }
344  }
345
346  @media screen and (min-width: 1150px) {
347    :root {
348      /* Spacing settings */
349      --container-gutter: var(--spacing-12);
350      --section-outer-spacing-block: var(--spacing-24);
351      --section-inner-max-spacing-block: var(--spacing-18);
352      --section-inner-spacing-inline: var(--spacing-18);
353      --section-stack-spacing-block: var(--spacing-12);
354    }
355  }
356
357  @media screen and (min-width: 1400px) {
358    :root {
359      /* Typography (font size) */
360      --text-h0: 4rem;
361      --text-h1: 3rem;
362      --text-h2: 2.5rem;
363      --text-h3: 1.75rem;
364      --text-h4: 1.5rem;
365      --text-h5: 1.25rem;
366      --text-h6: 1.25rem;
367
368      --section-outer-spacing-block: var(--spacing-28);
369      --section-inner-max-spacing-block: var(--spacing-20);
370      --section-inner-spacing-inline: var(--spacing-20);
371    }
372  }
373
374  @media screen and (min-width: 1600px) {
375    :root {
376      --section-outer-spacing-block: var(--spacing-32);
377      --section-inner-max-spacing-block: var(--spacing-24);
378      --section-inner-spacing-inline: var(--spacing-24);
379    }
380  }
381
382  /**
383   * ---------------------------------------------------------------------
384   * LIQUID DEPENDANT CSS
385   *
386   * Our main CSS is Liquid free, but some very specific features depend on
387   * theme settings, so we have them here
388   * ---------------------------------------------------------------------
389   */@media screen and (pointer: fine) {
390        /* The !important are for the Shopify Payment button to ensure we override the default from Shopify styles */
391        .button:not([disabled]):not(.button--outline):hover, .btn:not
391([disabled]):hover, .shopify-payment-button__button--unbranded:not([disabled]):hover {
392          background-color: transparent !important;
393          color: rgb(var(--button-outline-color) / var(--button-background-opacity, 1)) !important;
394          box-shadow: inset 0 0 0 2px currentColor !important;
395        }
396
397        .button--outline:not([disabled]):hover {
398          background: rgb(var(--button-background));
399          color: rgb(var(--button-text-color));
400          box-shadow: inset 0 0 0 2px rgb(var(--button-background));
401        }
402      }</style>
402<script>
403  // This allows to expose several variables to the global scope, to be used in scripts
404  window.themeVariables = {
405    settings: {
406      showPageTransition: null,
407      staggerProductsApparition: true,
408      reduceDrawerAnimation: false,
409      reduceMenuAnimation: false,
410      headingApparition: "fade",
411      pageType: "page",
412      moneyFormat: "${{amount}}",
413      moneyWithCurrencyFormat: "${{amount}} USD",
414      currencyCodeEnabled: true,
415      cartType: "popover",
416      showDiscount: true,
417      discountMode: "saving",
418      pageBackground: "#ffffff",
419      textColor: "#000000"
420    },
421
422    strings: {
423      homeHeroBikes: "Bikes - Shop Spinner bikes",
424      homeHeroHome: "Home - Ride at home",
425      homeHeroCommercial: "Commercial - Explore commercial Spinner bikes",
426      homeHeroShop: "Shop - Browse best sellers",
427      homeHeroInstructors: "Instructors - Explore Spinning instructor education",
428      accessibilityClose: "Close",
429      accessibilityNext: "Next",
430      accessibilityPrevious: "Previous",
431      closeGallery: "Close gallery",
432      zoomGallery: "Zoom",
433      errorGallery: "Image cannot be loaded",
434      searchNoResults: "No results could be found.",
435      addOrderNote: "Add order note",
436      editOrderNote: "Edit order note",
437      shippingEstimatorNoResults: "Sorry, we do not ship to your address.",
438      shippingEstimatorOneResult: "There is one shipping rate for your address:",
439      shippingEstimatorMultipleResults: "There are several shipping rates for your address:",
440      shippingEstimatorError: "One or more error occurred while retrieving shipping rates:"
441    },
442
443    breakpoints: {
444      'sm': 'screen and (min-width: 700px)',
445      'md': 'screen and (min-width: 1000px)',
446      'lg': 'screen and (min-width: 1150px)',
447      'xl': 'screen and (min-width: 1400px)',
448
449      'sm-max': 'screen and (max-width: 699px)',
450      'md-max': 'screen and (max-width: 999px)',
451      'lg-max': 'screen and (max-width: 1149px)',
452      'xl-max': 'screen and (max-width: 1399px)'
453    }
454  };
455
456  // For detecting native share
457  document.documentElement.classList.add(`native-share--${navigator.share ? 'enabled' : 'disabled'}`);</script>
457<!-- GEOIP -->
458        
458<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
458
459        <!--
459<script src="//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js" type="text/javascript"></script>
459  older script commented out on 4/1/2020-->
460        
460<script src="//geoip-js.com/js/apis/geoip2/v2.1/geoip2.js" type="text/javascript"></script>
460
461        
461<script type="text/javascript">
462            jQuery(document).ready(function(){
463                    var redirect = (function () {
464        
465                    var currUrl = window.location;
466                    var arrPath = currUrl.pathname.split('/');
467                    var paths = new Array();
468                    for(i = 0; i < arrPath.length; i++ ) {
469                        if(arrPath[i].trim() != "") {
470                            paths.push(arrPath[i]);  
471                        }
472                    }
473        
474                    var language = navigator.language || navigator.userLanguage;
475                    language = language.substring(0,2);
476        
477                    /* This implements the actual redirection. */
478                    var redirectBrowser = function (site) {
479                        // REMOVE COMMENT BELOW 2 LINES WHEN SITE GOES LIVE
480                        window.location = site;
481                    };
482        
483                    var regions = new Array("NA","SA","OC","AS");
484                    var countries = new Array("US","CA","BR","MX","CL","AR","CU","AU","NZ");
485                    var spanish  = new Array("BR","MX","CL","AR","CU");
486                    var spanishRegions = new Array("SA"); 
487        
488                    var blackList = new Array("cz","de","dk","es","fr","hu","it","nl","no","pl","po","ro","zh","sa","kw", "tr", "za", "ge", "qa", "lb"); 
489        
490                    var prefix = "https://";
491                    var CurrentPage = location.pathname+location.search.substr(0);
492                    var internationalSite = "https://spinning.eu"+CurrentPage;
493                    
494                    var onSuccess = function (geoipResponse) {
495                        /* There's no guarantee that a successful response object
496                         * has any particular property, so we need to code defensively. */
497                        if (!geoipResponse.country.iso_code) {
498                            return;
499                        }
500        
501                        /* ISO country codes are in upper case. */
502                        var region = geoipResponse.continent.code.toUpperCase();
503                        var country = geoipResponse.country.iso_code.toUpperCase();
504                        if(countries.indexOf(country) == -1 && regions.indexOf(region) == -1) {
505                            redirectBrowser(internationalSite);
506                        } else {
507                            if(paths.length > 0 && blackList.indexOf(paths[0].toLowerCase()) > -1) {
508                                redirectBrowser(prefix+currUrl.hostname);
509                        console.log("redirecting to us-spanish site "+prefix+currUrl.hostname);
510                            }else{
511                                var site = window.location.hostname;
512                                if(country == 'IL' || country == 'AE' || country == 'BH' || country == 'SA' || country == 'TR' || country =='ZA' || country == 'QA' || country == 'GE' || country == 'LB'){
513                                    console.log('Ok! Redirect. Country: '+country);
514                                    redirectBrowser(internationalSite);
515                                }
516                            }
517                            /*if(paths.length == 0 && language == 'es' && (spanish.indexOf(country) > -1 || spanishRegions.indexOf(region) > -1)) {
518                        redirectBrowser(prefix+currUrl.hostname+"/es/");
519                        console.log("redirecting to us-spanish site "+prefix+currUrl.hostname+"/es/");
520                    }*/
521                        }
522                    };
523        
524                    /* We don't really care what the error is, we'll send them
525                     * to the default site. */
526                    var onError = function (error) {
527                        return;
528                    };
529        
530                    return function () {
531                        geoip2.country( onSuccess, onError );
532                    };
533                }());
534        
535                var injectGeoValues = (function() {
536        
537                    var cont_code, cont_name, country_iso_code, country_name;
538                    var onSuccess = function(location){
539                        console.log(
540                          "Lookup successful:\n\n"
541                          + JSON.stringify(location, undefined, 4)
542                        );
543                        cont_code = location.continent.code;
544                        cont_name = location.continent.names.en;
545                        country_iso_code = location.country.iso_code;
546                        country_name = location.country.names.en;
547                        
548                        jQuery("#mce-MMERGE14").val(cont_code);
549                        jQuery("#mce-MMERGE18").val(cont_name);
550                        jQuery("#mce-MMERGE12").val(country_iso_code);
551                        //jQuery("input:hidden[name=CNTRY_NAME]").val(country_name);
552                        //jQuery("#mce-MMERGE12").val(country_name);
553        
554                        jQuery("select#mce-ADDRESS-country option").each(function() {
555                            //console.log(this.text + "  " + country_name);
556                            if(this.text === 'United States of America' && country_name === 'United States') {
557                                this.selected = (this.text === country_name);
558                            } else {
559                                this.selected = (this.text === country_name);
560                            }
561                        });
562                    };
563                     
564                    var onError = function(error){
565                        console.log(
566                          "Error:\n\n"
567                          + JSON.stringify(error, undefined, 4)
568                        );
569                    };
570                     
571                     return function () {
572                        geoip2.country( onSuccess, onError );
573                    };
574                }());
575        
576                /**
577                 *  SITE REDIRECT
578                 *  @USA/CANADA         Keep user in USA site
579                 *   cz,de,dk,es...     redirect to USA english site
580                 *
581                 *  @NON USA/CANADA     Redirect to international site
582                 *
583                 */
584                redirect();
585                /**
586                 *  If a sign up form is visible, inject geo info
587                 */
588                if(jQuery("input:hidden[name=CNTRY_ISO]").length) { 
589                    injectGeoValues();
590                }
591            });
592        </script>
592
593
594
595    
596
597    
598    
598<script>
599      if (!(HTMLScriptElement.supports && HTMLScriptElement.supports('importmap'))) {
600        const importMapPolyfill = document.createElement('script');
601        importMapPolyfill.async = true;
602        importMapPolyfill.src = "//spinning.com/cdn/shop/t/33/assets/es-module-shims.min.js?v=98603786603752121101788584795";
603
604        document.head.appendChild(importMapPolyfill);
605      }
606    </script>
606
607
608    
608<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 608
608
609<script type="importmap">{
610        "imports": {
611          "vendor": "//spinning.com/cdn/shop/t/33/assets/vendor.min.js?v=37127808935879722241788584795",
612          "theme": "//spinning.com/cdn/shop/t/33/assets/theme.js?v=136468275653013251941788585867",
613          "photoswipe": "//spinning.com/cdn/shop/t/33/assets/photoswipe.min.js?v=13374349288281597431788584795"
614        }
615      }
616    </script>
616
617
618    
618<script type="module" src="//spinning.com/cdn/shop/t/33/assets/vendor.min.js?v=37127808935879722241788584795"></script>
618
619    
619<script type="module" src="//spinning.com/cdn/shop/t/33/assets/theme.js?v=136468275653013251941788585867"></script>
619
620    
620<script src="https://www.powr.io/powr.js?platform=shopify"></script>
620
621
622    
622<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
622<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/59803303997/digital_wallets/dialog">
623<meta id="in-context-paypal-metadata" data-shop-id="59803303997" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
624<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=186286141"></script>
624
625<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
626<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=186286141&shop_id=59803303997" crossorigin="anonymous"></script>
vendor: 1 bytes, line 626
626
627<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":59803303997,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/59803303997","merchantName":"Spinning","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Spinning","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 627
627
628<script id="shopify-features" type="application/json">{"accessToken":"7e15038bf0ac412766e5d17de39310a1","betas":["rich-media-storefront-analytics"],"domain":"spinning.com","predictiveSearch":true,"shopId":59803303997,"locale":"en"}</script>
vendor: 1 bytes, line 628
628
629<script>var Shopify = Shopify || {};
630Shopify.shop = "0e243e-e9.myshopify.com";
631Shopify.locale = "en";
632Shopify.currency = {"active":"USD","rate":"1.0"};
633Shopify.country = "US";
634Shopify.theme = {"name":"Current Theme - 8\/05\/26 (ADA)","id":141411516477,"schema_name":"Impact","schema_version":"6.5.0","theme_store_id":1190,"role":"main"};
635Shopify.theme.handle = "null";
636Shopify.theme.style = {"id":null,"handle":null};
637Shopify.cdnHost = "spinning.com/cdn";
638Shopify.routes = Shopify.routes || {};
639Shopify.routes.root = "/";
640Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
641Shopify.SignInWithShop = Shopify.SignInWithShop || {};
642Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
643Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 643
643
644<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 644
644
645<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 645
645
646<script>
647  window.ShopifyPay = window.ShopifyPay || {};
648  window.ShopifyPay.apiHost = "shop.app\/pay";
649  window.ShopifyPay.redirectState = null;
650</script>
vendor: 1 bytes, line 650
650
651<script>
652  window.Shopify = window.Shopify || {};
653  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
654  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
655  window.Shopify.SignInWithShop.eligible = true;
656</script>
vendor: 1 bytes, line 656
656
657<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 657
657
658<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 658
658
659<script type="module">
660  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
661
662  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
663
664</script>
vendor: 1 bytes, line 664
664
665<script>
666  window.Shopify = window.Shopify || {};
667  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
668  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"]};
669</script>
vendor: 1 bytes, line 669
669
670<script>(function() {
671  var isLoaded = false;
672  function asyncLoad() {
673    if (isLoaded) return;
674    isLoaded = true;
675    var urls = ["https:\/\/loox.io\/widget\/fzFCYOawr1\/loox.1736177548975.js?shop=0e243e-e9.myshopify.com","https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/ecfe8820b329ac59d6f0a6985\/4cbc6806ea375c53afc660281.js?shop=0e243e-e9.myshopify.com","https:\/\/cdn.joinclyde.com\/scripts\/shopify-storefront.min.js?shop=0e243e-e9.myshopify.com"];
676    for (var i = 0; i < urls.length; i++) {
677      var s = document.createElement('script');
678      if ((!1741336271524 || Date.now() < 1741336271524) &&
679      (!window.AVADA_SPEED_BLACKLIST || window.AVADA_SPEED_BLACKLIST.some(pattern => pattern.test(s))) &&
680      (!window.AVADA_SPEED_WHITELIST || window.AVADA_SPEED_WHITELIST.every(pattern => !pattern.test(s)))) s.type = 'lightJs'; else s.type = 'text/javascript';
681      s.async = true;
682      s.src = urls[i];
683      var x = document.getElementsByTagName('script')[0];
684      x.parentNode.insertBefore(s, x);
685    }
686  };
687  if(window.attachEvent) {
688    window.attachEvent('onload', asyncLoad);
689  } else {
690    window.addEventListener('load', asyncLoad, false);
691  }
692})();</script>
vendor: 1 bytes, line 692
692
693<script id="__st">var __st={"a":59803303997,"offset":-25200,"reqid":"296c91a9-8d2c-4903-9c9b-46a9fd01f571-1790241069","pageurl":"spinning.com\/pages\/contact-us","s":"pages-94483382333","u":"a27072b9c805","p":"page","rtyp":"page","rid":94483382333};</script>
vendor: 1 bytes, line 693
693
694<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 694
694
695<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 695
695
696<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//spinning.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 696
696
697<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 = "//spinning.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>
697<script crossorigin="anonymous" defer="defer" src="//spinning.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 697
697
698<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 698
698
699<script>
700  window.Shopify = window.Shopify || {};
701  window.Shopify.MCP = window.Shopify.MCP || {};
702  window.Shopify.MCP.enabled = true;
703  window.Shopify.MCP.shop = "0e243e-e9.myshopify.com";
704  window.Shopify.MCP.mcpEndpoint = "https:\/\/spinning.com\/api\/mcp";
705  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"]}}];
706</script>
vendor: 1 bytes, line 706
706
707<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("\/\/spinning.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
708</script>
vendor: 1 bytes, line 708
708
709<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://spinning.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
710</script>
vendor: 1 bytes, line 710
710
711<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
712  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);
713</script>
vendor: 1 bytes, line 713
713
714<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})}}));
715</script>
vendor: 1 bytes, line 715
715
716<script id='scb4127' type='text/javascript' async='' src='https://spinning.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
716<script integrity="sha256-/LA1C2Bx6899fYCos0FS9qLj2opaGFm7AXrTUvBEb4s=" data-source-attribution="shopify.remote_product_tracking" data-shopify-remote-tracking="{&quot;publisher_shop_id&quot;:59803303997,&quot;theme_id&quot;:141411516477,&quot;theme_published&quot;:true,&quot;theme_store_id&quot;:1190,&quot;placement&quot;:&quot;collection&quot;,&quot;event_data&quot;:{&quot;handle&quot;:&quot;contact-us&quot;,&quot;page_type&quot;:&quot;page&quot;},&quot;recommendations_tracking_enabled&quot;:true}" defer="defer" src="//spinning.com/cdn/shopifycloud/storefront/assets/storefront/remote_product_tracking-91d95044.js" crossorigin="anonymous"></script>
716
717<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://spinning.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
718<style id="shopify-accelerated-checkout-cart">
719        #shopify-buyer-consent {
720  margin-top: 1em;
721  display: inline-block;
722  width: 100%;
723}
724
725#shopify-buyer-consent.hidden {
726  display: none;
727}
728
729#shopify-subscription-policy-button {
730  background: none;
731  border: none;
732  padding: 0;
733  text-decoration: underline;
734  font-size: inherit;
735  cursor: pointer;
736}
737
738#shopify-subscription-policy-button::before {
739  box-shadow: none;
740}
741
742      </style>
743
744<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
744
745
746    
746<script>
747      (function () {
748        var GTM_ID = 'GTM-TL7J7N';
749        var loaded = false;
750
751        window.dataLayer = window.dataLayer || [];
752
753        function hasTrackingConsent() {
754          var cp = window.Shopify && window.Shopify.customerPrivacy;
755
756          if (!cp) {
757            return false;
758          }
759
760          var analyticsAllowed =
761            typeof cp.analyticsProcessingAllowed === 'function' &&
762            cp.analyticsProcessingAllowed();
763
764          var marketingAllowed =
765            typeof cp.marketingAllowed === 'function' &&
766            cp.marketingAllowed();
767
768          return analyticsAllowed && marketingAllowed;
769        }
770
771        function loadGTM() {
772          if (loaded || !hasTrackingConsent()) {
773            return;
774          }
775
776          loaded = true;
777
778          window.dataLayer.push({
779            event: 'gtm.js',
780            'gtm.start': new Date().getTime()
781          });
782
783          var firstScript = document.getElementsByTagName('script')[0];
784          var script = document.createElement('script');
785          script.async = true;
786          script.src = 'https://www.googletagmanager.com/gtm.js?id=' + GTM_ID;
787          firstScript.parentNode.insertBefore(script, firstScript);
788        }
789
790        function initConsentGate() {
791          loadGTM();
792          document.addEventListener('visitorConsentCollected', loadGTM);
793        }
794
795        if (window.Shopify && typeof window.Shopify.loadFeatures === 'function') {
796          window.Shopify.loadFeatures(
797            [{ name: 'consent-tracking-api', version: '0.1' }],
798            function (error) {
799              if (!error) {
800                initConsentGate();
801              }
802            }
803          );
804        } else {
805          document.addEventListener('DOMContentLoaded', initConsentGate);
806        }
807      })();
808    </script>
808<link href="//spinning.com/cdn/shop/t/33/assets/theme.css?v=82386135866397941461788585867" rel="stylesheet" type="text/css" media="all" />
809
810<!-- BEGIN app block: shopify://apps/avada-seo-suite/blocks/avada-seo/15507c6e-1aa3-45d3-b698-7e175e033440 -->
810<script>
811  window.AVADA_SEO_ENABLED = true;
812</script>
812<!-- BEGIN app snippet: avada-seo-social --><meta property='og:site_name' content='Spinning Exercise Bikes'>
813<meta property='og:url' content='https://spinning.com/pages/contact-us'>
814<meta property='og:title' content='Contact Us | Spinning®'>
815<meta property='og:type' content='page'>
816<meta property='og:description' content='Our office will be closed on Monday, September 7, 2026, in observance of Labor Day. We will resume normal business hours on Tuesday, September 8, 2026. Need help finding a Spinning® Instructor Training? Want to learn more about the Spinning program for your gym or club? Need to access your online account? The Spinning'>
817<meta property='og:image' content='https://spinning.com/cdn/shop/files/SP_SpinMan_Wordmark_Wht_Low.png?v=1724340490&amp;width=440'>
818      <meta property='og:image:secure_url' content='https://spinning.com/cdn/shop/files/SP_SpinMan_Wordmark_Wht_Low.png?v=1724340490&amp;width=440'>
819      <meta name='twitter:image' content='https://spinning.com/cdn/shop/files/SP_SpinMan_Wordmark_Wht_Low.png?v=1724340490&amp;width=440'>
820<meta name='twitter:site' content='@spinningexercisebikes'><meta name='twitter:card' content='summary_large_image'>
821<meta name='twitter:title' content='Contact Us | Spinning®'>
822<meta
823  name='twitter:description'
824  content='Our office will be closed on Monday, September 7, 2026, in observance of Labor Day. We will resume normal business hours on Tuesday, Sept...'
825>
826<!-- END app snippet --><!-- BEGIN app snippet: avada-blog-posts-and-article --><!-- END app snippet --><!-- BEGIN app snippet: avada-homepage -->
827
828
829
830  
830<script type="application/ld+json">
831    {
832      "@context": "https://schema.org",
833      "@type": "Organization",
834      "name": "Spinning, Mad Dogg Inc",
835      "description": "Home of the Spinning®, Peak Pilates®, CrossCore®, Ugi®, Resist-A-Ball® and Spin Fitness® brands, Mad Dogg Athletics® is the world’s largest equipment-based education company.\n\nMad Dogg Athletics® has trained over 300,000 instructors and has reached millions of enthusiasts in over 80 countries worldwide through a network of over 35,000 fitness facilities. The company manufactures commercial and home Spinner® bikes, Pilates and functional training equipment, DVDs, and a complete line of Spinning®-branded apparel and accessories. Mad Dogg Athletics® has successfully registered their Spin® family of trademarks in over 80 countries.",
836      "image": "https:\/\/spinning.com\/cdn\/shop\/files\/SP_SpinMan_Wordmark_Wht_Low.png?v=1724340490\u0026width=440",
837      "url": "https:\/\/www.spinning.com",
838      "logo": "https:\/\/spinning.com\/cdn\/shop\/files\/SP_SpinMan_Wordmark_Wht_Low.png?v=1724340490\u0026width=440",
839      "email": "[email protected]","telephone": "(800) 847-7746",
840      "contactPoint": {
841      "@type": "ContactPoint",
842      "contactType": "Customer Support",
843    "telephone": "(800) 847-7746",
844        
845    "email": "[email protected]"
846    },
847  "sameAs": [
848    
849      "https:\/\/www.facebook.com\/Spinning"
850      ,
851    
852      "https:\/\/www.instagram.com\/spinninghq\/"
853      ,
854    
855      "https:\/\/www.youtube.com\/@spinning"
856      
857    
858    ]
859  }
860  </script>
860
861
862<!-- END app snippet --><!-- BEGIN app snippet: avada-product-and-collection --><!-- END app snippet --><!-- BEGIN app snippet: avada-frequently-asked-questions -->
863
864
865
866
867
868
869
870
871
872
873
874
875<!-- END app snippet --><!-- BEGIN app snippet: avada-seo-preload -->
875<script>
876  const ignore = ["\/cart","\/account"];
877  window.FPConfig = {
878      delay: 0,
879      ignoreKeywords: ignore || ['/cart', '/account/login', '/account/logout', '/account'],
880      maxRPS: 3,
881      hoverDelay: 50
882  };
883</script>
883
884
885
886  
886<script type="lightJs" src="https://cdn.shopify.com/extensions/01a0c75c-b68f-70e6-838c-fbec76fe1b35/avada-seo-suite-291/assets/flying-pages.js" defer="defer"></script>
886
887<!-- END app snippet --><!-- BEGIN app snippet: avada-breadcrumb -->
887<script type='application/ld+json'>
888  {
889    "@context": "https://schema.org",
890    "@type": "BreadcrumbList",
891    "itemListElement": [
892      {
893        "@type": "ListItem",
894        "position": 1,
895        "name": "Home",
896        "item": "https://spinning.com"
897    },
898    {
899      "@type": "ListItem",
900      "position": 2,
901      "name": "Contact Us",
902      "item": "https://spinning.com/pages/contact-us"
903    }]
904}
905</script>
905<!-- END app snippet --><!-- BEGIN app snippet: avada-loading --><style>
906  @keyframes avada-rotate {
907    0% { transform: rotate(0); }
908    100% { transform: rotate(360deg); }
909  }
910
911  @keyframes avada-fade-out {
912    0% { opacity: 1; visibility: visible; }
913    100% { opacity: 0; visibility: hidden; }
914  }
915
916  .Avada-LoadingScreen {
917    display: none;
918    width: 100%;
919    height: 100vh;
920    top: 0;
921    position: fixed;
922    z-index: 9999;
923    display: flex;
924    align-items: center;
925    justify-content: center;
926  
927    background-color: #F2F2F2;
928  
929  }
930
931  .Avada-LoadingScreen svg {
932    animation: avada-rotate 1s linear infinite;
933    width: 75px;
934    height: 75px;
935  }
936</style>
937<script>
938  const themeId = Shopify.theme.id;
939  const loadingSettingsValue = {"enabled":true,"loadingColor":"#333333","bgColor":"#F2F2F2","waitTime":0,"durationTime":2,"loadingType":"circle","bgType":"color","sizeLoading":"75","displayShow":"first","bgImage":"","themeIds":[131346628669]};
940  const loadingType = loadingSettingsValue?.loadingType;
941  function renderLoading() {
942    new MutationObserver((mutations, observer) => {
943      if (document.body) {
944        observer.disconnect();
945        const loadingDiv = document.createElement('div');
946        loadingDiv.className = 'Avada-LoadingScreen';
947        if(loadingType === 'custom_logo' || loadingType === 'favicon_logo') {
948          const srcLoadingImage = loadingSettingsValue?.loadingImageUrl || loadingSettingsValue?.customLogoThemeIds?.[themeId] || '';
949          if(srcLoadingImage) {
950            loadingDiv.innerHTML = `
951            <img alt="Avada logo"  height="600px" loading="eager" fetchpriority="high"
952              src="${srcLoadingImage}&width=600"
953              width="600px" />
954              `
955          }
956        }
957        if(loadingType === 'circle') {
958          loadingDiv.innerHTML = `
959        <svg viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
960          <path d="M20 3.75C11.0254 3.75 3.75 11.0254 3.75 20C3.75 21.0355 2.91053 21.875 1.875 21.875C0.839475 21.875 0 21.0355 0 20C0 8.9543 8.9543 0 20 0C31.0457 0 40 8.9543 40 20C40 31.0457 31.0457 40 20 40C18.9645 40 18.125 39.1605 18.125 38.125C18.125 37.0895 18.9645 36.25 20 36.25C28.9748 36.25 36.25 28.9748 36.25 20C36.25 11.0254 28.9748 3.75 20 3.75Z" fill="#333333"/>
961        </svg>
962      `;
963        }
964
965        document.body.insertBefore(loadingDiv, document.body.firstChild || null);
966        const e = '2';
967        const t = 'first';
968        const o = 'first' === t;
969        const a = sessionStorage.getItem('isShowLoadingAvada');
970        const n = document.querySelector('.Avada-LoadingScreen');
971        if (a && o) return (n.style.display = 'none');
972        n.style.display = 'flex';
973        const i = document.body;
974        i.style.overflow = 'hidden';
975        const l = () => {
976          i.style.overflow = 'auto';
977          n.style.animation = 'avada-fade-out 1s ease-out forwards';
978          setTimeout(() => {
979            n.style.display = 'none';
980          }, 1000);
981        };
982        if ((o && !a && sessionStorage.setItem('isShowLoadingAvada', true), 'duration_auto' === e)) {
983          window.onload = function() {
984            l();
985          };
986          return;
987        }
988        setTimeout(() => {
989          l();
990        }, 1000 * e);
991      }
992    }).observe(document.documentElement, { childList: true, subtree: true });
993  };
994  function isNullish(value) {
995    return value === null || value === undefined;
996  }
997  const themeIds = '131346628669';
998  const themeIdsArray = themeIds ? themeIds.split(',') : [];
999
1000  if(!isNullish(themeIds) && themeIdsArray.includes(themeId.toString()) && loadingSettingsValue?.enabled) {
1001    renderLoading();
1002  }
1003
1004  if(isNullish(loadingSettingsValue?.themeIds) && loadingSettingsValue?.enabled) {
1005    renderLoading();
1006  }
1007</script>
1007
1008<!-- END app snippet -->
1009<!-- END app block --><!-- BEGIN app block: shopify://apps/inbox/blocks/chat/841fc607-4181-4ad1-842d-e24d7f8bad6b --><link rel='modulepreload' href='https://cdn.shopify.com/storefront/web-components/chat.js' crossorigin fetchpriority='low'>
1010
1011<script id='shopify-chat-app-embed-data' type='application/json'>
1012  {
1013    "settings": {
1014      "invertActivatorColors": false,
1015      "greetingMessage": "",
1016      "showFeaturedProducts": true,
1017      "featuredProducts": [],
1018      "horizontalPosition": "bottom_right",
1019      "icon": "chat_bubble",
1020      "buttonLabel": "Need help?"
1021    }
1022  }
1023</script>
1023
1024
1025<style data-shopify>
1026  
1027
1028  /* Shadow DOM content does not prevent theme-wide :empty rules from matching the host. */
1029  shopify-chat:defined:empty {
1030    display: grid;
1031  }
1032
1033  :root {
1034    --shopify-chat-bg-color: #ffffff;
1035    --shopify-chat-text-color: #000000;
1036    --shopify-chat-accent-bg-color: #000000;
1037    --shopify-chat-accent-text-color: #ffffff;
1038    --shopify-chat-activator-offset: 120px;
1039
1040    
1041
1042    --shopify-chat-activator-font-size: 16px;
1043    --shopify-chat-border-radius: 0px;
1044  }
1045
1046  
1047</style>
1048
1049<script src='https://cdn.shopify.com/storefront/web-components/chat.js' type='module' crossorigin fetchpriority='low' async></script>
1049
1050
1051
1052<!-- END app block --><!-- BEGIN app block: shopify://apps/meteor-mega-menu/blocks/app_embed/9412d6a7-f8f8-4d65-b9ae-2737c2f0f45b -->
1053
1054
1055    
1055<script>
1056        window.MeteorMenu = {
1057            // These will get handled by the Meteor class constructor
1058            registeredCallbacks: [],
1059            api: {
1060                on: (eventName, callback) => {
1061                    window.MeteorMenu.registeredCallbacks.push([eventName, callback]);
1062                }
1063            },
1064            revisionFileUrl: "\/\/spinning.com\/cdn\/shop\/files\/meteor-mega-menus.json?v=5593663671311854686",
1065            storefrontAccessToken: "a577edc407db0cd40f55fc2d5e519ee7",
1066            localeRootPath: "\/",
1067            languageCode: "en".toUpperCase(),
1068            countryCode: "US",
1069            shop: {
1070                domain: "spinning.com",
1071                permanentDomain: "0e243e-e9.myshopify.com",
1072                moneyFormat: "${{amount}}",
1073                currency: "USD"
1074            },
1075            options: {
1076                desktopSelector: "",
1077                mobileSelector: "",
1078                disableDesktop: false,
1079                disableMobile: false,
1080                navigationLinkSpacing: 16,
1081                navigationLinkCaretStyle: "outline",
1082                menuDisplayAnimation: "none",
1083                menuCenterInViewport: false,
1084                menuVerticalOffset: 10,
1085                menuVerticalPadding: 0,
1086                menuJustifyContent: "flex-start",
1087                menuFontSize: 15,
1088                menuFontWeight: "400",
1089                menuTextTransform: "none",
1090                menuDisplayAction: "hover",
1091                menuDisplayDelay: "0",
1092                externalLinksInNewTab: "true",
1093                mobileBreakpoint: 0,
1094                addonsEnabled: false
1095            }
1096        }
1097    </script>
1097
1098
1099<style data-app-injected='MeteorMenu'>
1100        
1101    </style><!-- END app block --><!-- BEGIN app block: shopify://apps/redirect-hero/blocks/live-redirect/303f77a4-ad21-4d11-82f8-47eb94136aff -->
1101<script>
1102    const liveRedirectActive = false;
1103</script>
1103
1104
1105<!-- END app block --><!-- BEGIN app block: shopify://apps/pagefly-ai-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 -->
1106
1107<!-- BEGIN app snippet: pagefly-cro-ab-testing-main -->
1108
1109
1110
1111
1112
1113
1114
1115<script>
1116  ;(function () {
1117    const url = new URL(window.location)
1118    const viewParam = url.searchParams.get('view')
1119    if (viewParam && viewParam.includes('variant-pf-')) {
1120      url.searchParams.set('pf_v', viewParam)
1121      url.searchParams.delete('view')
1122      window.history.replaceState({}, '', url)
1123    }
1124  })()
1125</script>
1125
1126
1127
1128
1129<script type='module'>
1130  
1131  window.PAGEFLY_CRO = window.PAGEFLY_CRO || {}
1132
1133  window.PAGEFLY_CRO['data_debug'] = {
1134    original_template_suffix: "",
1135    allow_ab_test: false,
1136    ab_test_start_time: 0,
1137    ab_test_end_time: 0,
1138    today_date_time: 1790241069000,
1139  }
1140  window.PAGEFLY_CRO['GA4'] = { enabled: false}
1141</script>
1141
1142
1143<!-- END app snippet -->
1144
1145
1146
1147
1148
1149
1150
1151
1152  
1152<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-helper.js' defer='defer'></script>
1152
1153
1154  
1154<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-general-helper.js' defer='defer'></script>
1154
1155
1156  
1156<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-snap-slider.js' defer='defer'></script>
1156
1157
1158  
1158<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-slideshow-v3.js' defer='defer'></script>
1158
1159
1160  
1160<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-slideshow-v4.js' defer='defer'></script>
1160
1161
1162  
1162<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-glider.js' defer='defer'></script>
1162
1163
1164  
1164<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-slideshow-v1-v2.js' defer='defer'></script>
1164
1165
1166  
1166<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-product-media.js' defer='defer'></script>
1166
1167
1168  
1168<script src='https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-product.js' defer='defer'></script>
1168
1169
1170
1171<script id='pagefly-helper-data' type='application/json'>
1172  {
1173    "page_optimization": {
1174      "assets_prefetching": false
1175    },
1176    "elements_asset_mapper": {
1177      "Accordion": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-accordion.js",
1178      "Accordion3": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-accordion3.js",
1179      "CountDown": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-countdown.js",
1180      "GMap1": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-gmap.js",
1181      "GMap2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-gmap.js",
1182      "GMapBasicV2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-gmap.js",
1183      "GMapAdvancedV2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-gmap.js",
1184      "HTML.Video": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-htmlvideo.js",
1185      "HTML.Video2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-htmlvideo2.js",
1186      "HTML.Video3": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-htmlvideo2.js",
1187      "BackgroundVideo": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-htmlvideo2.js",
1188      "Instagram": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-instagram.js",
1189      "Instagram2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-instagram.js",
1190      "Insta3": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-instagram3.js",
1191      "Tabs": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-tab.js",
1192      "Tabs3": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-tab3.js",
1193      "ProductBox": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-cart.js",
1194      "FBPageBox2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-facebook.js",
1195      "FBLikeButton2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-facebook.js",
1196      "TwitterFeed2": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-twitter.js",
1197      "Paragraph4": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-paragraph4.js",
1198
1199      "AliReviews": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1200      "BackInStock": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1201      "GloboBackInStock": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1202      "GrowaveWishlist": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1203      "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1204      "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder
1204-358/assets/pagefly-3rd-elements.js",
1205      "LimeSpot": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1206      "Loox": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1207      "Opinew": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1208      "Powr": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1209      "ProductReviews": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1210      "PushOwl": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1211      "ReCharge": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1212      "Rivyo": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1213      "TrackingMore": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1214      "Vitals": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js",
1215      "Wiser": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-3rd-elements.js"
1216    },
1217    "custom_elements_mapper": {
1218      "pf-click-action-element": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-click-action-element.js",
1219      "pf-dialog-element": "https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-dialog-element.js"
1220    }
1221  }
1222</script>
1222
1223
1224<script id='pagefly-heatmap-config' type='application/json'>
1225  {"version":4,"enabled_page_ids":["33baf00e-a4e5-441c-8d61-8800fe01a5e7","28ca8394-2d60-4bdb-b530-2fca644609a3"],"tracking_paused":false,"pause_reason":null,"paused_until":null}
1226</script>
vendor: 1 bytes, line 1226
1226
1227<script>
1228  (function () {
1229    var el = document.getElementById('pagefly-heatmap-config')
1230    if (!el) { window.__pagefly_heatmap_config__ = {}; return }
1231    try {
1232      window.__pagefly_heatmap_config__ = JSON.parse(el.textContent || '{}') || {}
1233    } catch (e) {
1234      window.__pagefly_heatmap_config__ = {}
1235    }
1236  })()
1237</script>
vendor: 1 bytes, line 1237
1237
1238<script>
1239  // Heatmap overlay loader. Three gates, all of them cheap, none of them trusting the URL:
1240  // the visitor must have arrived on a pf_heatmap link, the SERVER must have published an
1241  // overlay path in the metafield, and this page must already be one the merchant enabled
1242  // tracking for. The last gate is what stops a crafted link pulling the asset onto an
1243  // arbitrary storefront page. Everything else is decided inside the asset, and by the server.
1244  (function () {
1245    var cfg = window.__pagefly_heatmap_config__ || {}
1246    var id = (window.__pagefly_page_setting__ || {}).pageId
1247    if (!/[#&]pf_heatmap=/.test(window.location.hash || '')) return
1248    if (!cfg.overlay_data_path || !Array.isArray(cfg.enabled_page_ids)) return
1249    if (!id || cfg.enabled_page_ids.indexOf(id) === -1) return
1250    var s = document.createElement('script')
1251    s.src = 'https://cdn.shopify.com/extensions/01a0cd11-9bda-742e-87f0-b3e83c926dd7/pagefly-ai-page-builder-358/assets/pagefly-heatmap-overlay.js'
1252    s.defer = true
1253    document.head.appendChild(s)
1254  })()
1255</script>
1255
1256
1257<!-- BEGIN app snippet: pf-ai-schema -->
1258<!-- END app snippet -->
1259
1260
1261<!-- END app block -->
1261<script src="https://cdn.shopify.com/extensions/01a0acae-48ed-764e-9b04-878137b134ab/cartbite-83/assets/cartbite-embed.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1261
1261
1262<script src="https://cdn.shopify.com/extensions/01a0d027-6243-7586-9855-c6f857ae9fdc/forms-2592/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1262
1262
1263<script src="https://cdn.shopify.com/extensions/01a08d54-a946-7eac-89b2-553c57f88a9e/bacon-menu-37/assets/meteor-menu.js" type="text/javascript" defer="defer"></script>
1263
1264<link href="https://cdn.shopify.com/extensions/01a08d54-a946-7eac-89b2-553c57f88a9e/bacon-menu-37/assets/meteor-menu.css" rel="stylesheet" type="text/css" media="all">
1265<script src="https://cdn.shopify.com/extensions/019ef41e-29ec-721d-b2dc-bf0b0e51a16d/redirect-hero-39/assets/live-redirect.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1265
1265
1266<script src="https://cdn.shopify.com/extensions/c1eb4680-ad4e-49c3-898d-493ebb06e626/affirm-pay-over-time-messaging-9/assets/affirm-cart-drawer-embed-handler.js" type="text/javascript" defer="defer"></script>
1266
1267<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1268<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: 59803303997,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};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 1268
1268
1269<script>
1270  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1271</script>
vendor: 1 bytes, line 1271
1271
1272<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}
1272).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: 59803303997,storefrontBaseUrl: "https://spinning.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://spinning.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b"],webPixelsConfigList: [{"id":"1267499069","configuration":"{\"appProxyPath\":\"\/apps\/pagefly\",\"analyticsEndpoint\":\"undefined\/analytics-v2\/events\",\"focusDuration\":\"3\",\"enableAdvancedTracking\":\"true\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1e023fb0c721518c0dce4129e4d87a86","type":"APP","apiClientId":1743893,"privacyPurposes":["ANALYTICS","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"}
1272,{"id":"1182892093","configuration":"{\"mailchimp_store_id\":\"store_38uvzqendcsarleywhto\", \"mailchimp_user_id\":\"55880117\",\"mailchimp_list_id\":\"5fedc3a41b\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e357a49eadeb6216a959d63fa3fb8f55","type":"APP","apiClientId":2585307,"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"]},{"id":"941064253","configuration":"{\"projectId\":\"tqqx7ik4tz\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"744357949","configuration":"{\"accountID\":\"59803303997\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c5ace3fbba69e45557ba03e81d7e2970","type":"APP","apiClientId":5263155,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"727318589","configuration":"{\"accountID\":\"0e243e-e9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4f82d0323b06a4642fbff9b42c9979eb","type":"APP","apiClientId":12388204545,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"705396797","configuration":"{\"myshopifyDomain\":\"0e243e-e9.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":"541130813","configuration":"{\"pixel_id\":\"1833103896917920\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","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"]},{"id":"530513981","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"AW-1069414906\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-D7CZZ970PJ\\\",\\\"AW-1069414906\\\/yHVwCPzOi6caEPrz9_0D\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-D7CZZ970PJ\\\",\\\"AW-1069414906\\\/I-4MCPDOi6caEPrz9_0D\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-D7CZZ970PJ\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-D7CZZ970PJ\\\",\\\"AW-1069414906\\\/XhnhCPnOi6caEPrz9_0D\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-D7CZZ970PJ\\\",\\\"AW-1069414906\\\/KtQbCO3Oi6caEPrz9_0D\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-D7CZZ970PJ\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-D7CZZ970PJ\\\",\\\"AW-1069414906\\\/vffbCPbOi6caEPrz9_0D\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-D7CZZ970PJ\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-D7CZZ970PJ\\\",\\\"AW-1069414906\\\/ZNnkCP_Oi6caEPrz9_0D\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-D7CZZ970PJ\\\",\\\"AW-1069414906\\\/gkrPCPPOi6caEPrz9_0D\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-D7CZZ970PJ\\\"}],\\\"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"]}
1272,{"id":"141918269","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"OpenAI Ads Spinning US"},{"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":"Spinning","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"0e243e-e9.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/spinning.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://spinning.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"141411516477","themeStoreId":"1190","themePublished":"true","eventMetadataId":"17da0806-b697-455e-9539-613e74800aa9","pageType":"page","resourceId":"94483382333","shopId":"59803303997","storefrontBaseUrl":"https:\/\/spinning.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1272<script>
1273  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1274  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1275  window.ShopifyAnalytics.meta.currency = 'USD';
1276  var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":94483382333,"requestId":"296c91a9-8d2c-4903-9c9b-46a9fd01f571-1790241069"}};
1277  for (var attr in meta) {
1278    window.ShopifyAnalytics.meta[attr] = meta[attr];
1279  }
1280</script>
vendor: 1 bytes, line 1280
1280
1281<script class="analytics">
1282  (function () {
1283    var customDocumentWrite = function(content) {
1284      var jquery = null;
1285
1286      if (window.jQuery) {
1287        jquery = window.jQuery;
1288      } else if (window.Checkout && window.Checkout.$) {
1289        jquery = window.Checkout.$;
1290      }
1291
1292      if (jquery) {
1293        jquery('body').append(content);
1294      }
1295    };
1296
1297    var hasLoggedConversion = function(token) {
1298      if (token) {
1299        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1300      }
1301      return false;
1302    }
1303
1304    var setCookieIfConversion = function(token) {
1305      if (token) {
1306        var twoMonthsFromNow = new Date(Date.now());
1307        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1308
1309        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1310      }
1311    }
1312
1313    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1314    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1315    if (trekkie.integrations) {
1316      return;
1317    }
1318    trekkie.methods = [
1319      'identify',
1320      'page',
1321      'ready',
1322      'track',
1323      'trackForm',
1324      'trackLink'
1325    ];
1326    trekkie.factory = function(method) {
1327      return function() {
1328        var args = Array.prototype.slice.call(arguments);
1329        args.unshift(method);
1330        trekkie.push(args);
1331        if (method == 'track' || method == 'page') {
1332          try {
1333            if (window.__TREKKIE_SHIM_QUEUE == null) {
1334              window.__TREKKIE_SHIM_QUEUE = [];
1335            }
1336            window.__TREKKIE_SHIM_QUEUE.push({
1337              from: 'trekkie-stub',
1338              method: method,
1339              args: args.slice(1)
1340            });
1341          } catch (e) {
1342            // no-op
1343          }
1344        }
1345        return trekkie;
1346      };
1347    };
1348    for (var i = 0; i < trekkie.methods.length; i++) {
1349      var key = trekkie.methods[i];
1350      trekkie[key] = trekkie.factory(key);
1351    }
1352    trekkie.load = function(config) {
1353      trekkie.config = config || {};
1354      trekkie.config.initialDocumentCookie = document.cookie;
1355      var first = document.getElementsByTagName('script')[0];
1356var script = document.createElement('script');
1357script.type = 'text/javascript';
1358script.onerror = function(e) {
1359  var scriptFallback = document.createElement('script');
1360  scriptFallback.type = 'text/javascript';
1361  scriptFallback.onerror = function(error) {
1362          var Monorail = {
1363      produce: function produce(monorailDomain, schemaId, payload) {
1364        var currentMs = new Date().getTime();
1365        var event = {
1366          schema_id: schemaId,
1367          payload: payload,
1368          metadata: {
1369            event_created_at_ms: currentMs,
1370            event_sent_at_ms: currentMs
1371          }
1372        };
1373        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1374      },
1375      sendRequest: function sendRequest(endpointUrl, payload) {
1376        // Try the sendBeacon API
1377        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1378          var blobData = new window.Blob([payload], {
1379            type: 'text/plain'
1380          });
1381
1382          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1383            return true;
1384          } // sendBeacon was not successful
1385
1386        } // XHR beacon
1387
1388        var xhr = new XMLHttpRequest();
1389
1390        try {
1391          xhr.open('POST', endpointUrl);
1392          xhr.setRequestHeader('Content-Type', 'text/plain');
1393          xhr.send(payload);
1394        } catch (e) {
1395          console.log(e);
1396        }
1397
1398        return false;
1399      },
1400      isIos12: function isIos12() {
1401        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1402      }
1403    };
1404    Monorail.produce('monorail-edge.shopifysvc.com',
1405      'trekkie_storefront_load_errors/1.1',
1406      {shop_id: 59803303997,
1407      theme_id: 141411516477,
1408      app_name: "storefront",
1409      context_url: window.location.href,
1410      source_url: "//spinning.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
1411
1412  };
1413  scriptFallback.async = true;
1414  scriptFallback.src = '//spinning.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
1415  first.parentNode.insertBefore(scriptFallback, first);
1416};
1417script.async = true;
1418script.src = '//spinning.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
1419first.parentNode.insertBefore(script, first);
1420
1421    };
1422    trekkie.load(
1423      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":59803303997,"isMerchantRequest":null,"themeId":141411516477,"themeCityHash":"3520414825164924074","contentLanguage":"en","currency":"USD","eventMetadataId":"17da0806-b697-455e-9539-613e74800aa9"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1424    );
1425
1426    var loaded = false;
1427    trekkie.ready(function() {
1428      if (loaded) return;
1429      loaded = true;
1430
1431      window.ShopifyAnalytics.lib = window.trekkie;
1432
1433      var originalDocumentWrite = document.write;
1434      document.write = customDocumentWrite;
1435      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1436      document.write = originalDocumentWrite;
1437
1438      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1439      var token = match? match[1]: undefined;
1440      if (!hasLoggedConversion(token)) {
1441        setCookieIfConversion(token);
1442        
1443      }
1444    });
1445
1446    window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":94483382333,"requestId":"296c91a9-8d2c-4903-9c9b-46a9fd01f571-1790241069","shopifyEmitted":true});
1447
1448    var eventsListenerScript = document.createElement('script');
1449    eventsListenerScript.async = true;
1450    eventsListenerScript.src = "//spinning.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1451    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1452})();</script>
vendor: 1 bytes, line 1452
1452
1453<script
1454  defer
1455  src="https://spinning.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1456  data-application="storefront-renderer"
1457  data-shop-id="59803303997"
1458  data-render-region="gcp-us-central1"
1459  data-page-type="page"
1460  data-theme-instance-id="141411516477"
1461  data-theme-name="Impact"
1462  data-theme-version="6.5.0"
1463  data-monorail-region="shop_domain"
1464  data-resource-timing-sampling-rate="10"
1465  data-shs="true"
1466  data-shs-beacon="true"
1467  data-shs-export-with-fetch="true"
1468  data-shs-logs-sample-rate="1"
1469  data-shs-beacon-endpoint="https://spinning.com/api/collect"
1470></script>
vendor: 1 bytes, line 1470
1470
1471<script id="shopify-chat-page-data" type="application/json">{"greetingMessage":"Welcome to Spinning. How can I help?","customerServiceEmail":"[email protected]","onlineStorePasswordProtected":false,"translations":[{"key":"agent_chat.panel.open_chat","value":"Open chat"},{"key":"agent_chat.panel.ask_anything","value":"Ask anything"},{"key":"agent_chat.panel.title","value":"Storekick"},{"key":"agent_chat.panel.unread_replies","value":"Unread replies"},{"key":"agent_chat.panel.back_to_chat","value":"Back to chat"},{"key":"agent_chat.panel.see_history","value":"See chat history"},{"key":"agent_chat.panel.new_chat","value":"Create a new chat"},{"key":"agent_chat.panel.close","value":"Close chat"},{"key":"agent_chat.panel.undock","value":"Undock chat"},{"key":"agent_chat.panel.dock","value":"Dock chat"},{"key":"agent_chat.panel.expand","value":"Expand chat"},{"key":"agent_chat.panel.contract","value":"Contract chat"},{"key":"agent_chat.panel.jump_to_latest","value":"Jump to latest"},{"key":"agent_chat.panel.loading_chat","value":"Loading chat"},{"key":"agent_chat.input.label","value":"Type your message"},{"key":"agent_chat.input.placeholder","value":"Ask anything..."},{"key":"agent_chat.input.send","value":"Send"},{"key":"agent_chat.input.stop","value":"Stop generating"},{"key":"agent_chat.thinking","value":"Thinking..."},{"key":"agent_chat.first_response_delayed","value":"Agent is taking longer to respond…"},{"key":"agent_chat.searching","value":"Searching..."},{"key":"agent_chat.message.sent_timestamp","value":"Sent · {{time}}"},{"key":"agent_chat.message.automated_label","value":"Automated"},{"key":"agent_chat.message.automated_timestamp","value":"Automated · {{time}}"},{"key":"agent_chat.liveAgentHandoff","value":"Someone from our team will be with you shortly"},{"key":"agent_chat.human_handoff.action","value":"Chat with our team"},{"key":"agent_chat.human_handoff.request","value":"I’d like to talk to someone from your team"},{"key":"agent_chat.human_handoff.ai_assistant","value":"AI assistant"},{"key":"agent_chat.greeting.default","value":"Hi there!"},{"key":"agent_chat.greeting.with_name","value":"Hi {{name}}!"},{"key":"agent_chat.greeting.welcome","value":"You can ask questions about shopping, sizing\/dimensions, shipping, returns, or order status."},{"key":"agent_chat.greeting.welcome_back","value":"Welcome back to %{shop_name}! How can I help?"},{"key":"agent_chat.greeting.welcome_back_no_shop","value":"Welcome back! How can I help?"},{"key":"agent_chat.greeting.welcome_to_shop","value":"Welcome to %{shop_name}. How can I help?"},{"key":"agent_chat.greeting.generic","value":"How can I help?"},{"key":"agent_chat.disclaimer.text","value":"This chat is powered by AI from Shopify and may make mistakes. Your messages are visible to {{shop_name}}. See"},{"key":"agent_chat.disclaimer.text_human","value":"Your messages are visible to {{shop_name}} and to Shopify for the provision and improvement of the services. See"},{"key":"agent_chat.disclaimer.link_text","value":"privacy policy"},{"key":"agent_chat.error.response_unavailable","value":"Response unavailable"},{"key":"agent_chat.error.generic","value":"Something went wrong."},{"key":"agent_chat.error.response_failed","value":"Couldn’t load this message"},{"key":"agent_chat.error.message_send_failed","value":"Your message couldn’t be sent"},{"key":"agent_chat.error.attachment_upload_failed","value":"Your attachment didn’t upload"},{"key":"agent_chat.error.first_response_stalled","value":"Agent couldn’t respond"},{"key":"agent_chat.error.try_again","value":"Try again"},{"key":"agent_chat.error.unavailable","value":"Chat isn't available right now - try again later"},{"key":"agent_chat.error.usage_limit","value":"Message limit reached — try again later or email us at {{email}}"},{"key":"agent_chat.error.usage_limit_no_email","value":"Message limit reached — try again later"},{"key":"agent_chat.error.cost_quota_unhandled","value":"Chat isn’t available right now—email us at {{email}}"},{"key":"agent_chat.error.cost_quota_unhandled_no_email","value":"Chat isn’t available right now"},{"key":"agent_chat.error.cost_quota_handover","value":"AI assistant isn’t available right now — our team will reply shortly"},{"key":"agent_chat.history.heading","value":"Chat history"},{"key":"agent_chat.history.loading","value":"Loading conversation history"},{"key":"agent_chat.history.aria_label","value":"Conversation history"},{"key":"agent_chat.history.no_conversations","value":"No conversations"},{"key":"agent_chat.history.conversation.one","value":"conversation"},{"key":"agent_chat.history.conversation.other","value":"conversations"},{"key":"agent_chat.history.error_message","value":"Something went wrong."},{"key":"agent_chat.history.try_again","value":"Try again"},{"key":"agent_chat.history.no_past","value":"No past conversations"},{"key":"agent_chat.history.start_new","value":"Start a new chat"},{"key":"agent_chat.history.untitled","value":"Untitled conversation"},{"key":"agent_chat.history.resume","value":"Resume: {{title}}"},{"key":"agent_chat.history.resume_with_time","value":"Resume: {{title}}, {{time}}"},{"key":"agent_chat.history.delete","value":"Delete conversation: {{title}}"},{"key":"agent_chat.history.delete_failed","value":"Could not delete conversation"},{"key":"agent_chat.feedback.group_label","value":"Message feedback"},{"key":"agent_chat.feedback.thumbs_up","value":"Thumbs up"},{"key":"agent_chat.feedback.thumbs_down","value":"Thumbs down"},{"key":"agent_chat.feedback.add_comment","value":"Add comment"},{"key":"agent_chat.feedback.thanks","value":"Thanks for your feedback"},{"key":"agent_chat.feedback.placeholder_up","value":"Tell us what went well"},{"key":"agent_chat.feedback.placeholder_down","value":"Tell us what could have been better"},{"key":"agent_chat.feedback.comment_label","value":"Feedback comment"},{"key":"agent_chat.feedback.cancel","value":"Cancel"},{"key":"agent_chat.feedback.submit","value":"Submit"},{"key":"agent_chat.feedback.character_count","value":"{{current}}\/{{max}}"},{"key":"agent_chat.feedback.character_limit_reached","value":"Maximum length reached. Feedback is limited to {{max}} characters."},{"key":"agent_chat.buyer_profile.button.open","value":"Buyer Profile"},{"key":"agent_chat.buyer_profile.title","value":"Buyer Profile"},{"key":"agent_chat.buyer_profile.empty","value":"No buyer profile available."},{"key":"agent_chat.buyer_profile.close","value":"Close"},{"key":"agent_chat.suggestions.empty_state_label","value":"Suggested questions"},{"key":"agent_chat.suggestions.quick_reply_label","value":"Suggested replies"},{"key":"agent_chat.auth.sign_in_to_continue","value":"Sign in to continue"},{"key":"agent_chat.auth.sign_in","value":"Sign in"},{"key":"agent_chat.auth.skip_and_chat","value":"Skip and start chatting"},{"key":"agent_chat.auth.pre_chat_title","value":"Sign in to personalize and save your chats"},{"key":"agent_chat.auth.pre_chat_subtitle","value":"Sign in or create an account"},{"key":"agent_chat.auth.staff_chat_required_title","value":"Don't miss a reply"},{"key":"agent_chat.auth.staff_chat_required_subtitle","value":"Sign in to chat with our team. We'll email you if you leave the chat."},{"key":"agent_chat.auth.share_disclaimer","value":"By continuing, Shop will share your name and email with this store. See their {{terms_link}} and {{privacy_link}}"},{"key":"agent_chat.auth.terms_link","value":"terms"},{"key":"agent_chat.auth.privacy_link","value":"privacy policy"},{"key":"agent_chat.auth.declined_pre_chat","value":"I can’t connect you with the store unless you sign in."},{"key":"agent_chat.reply_by_email.continuation_prompt","value":"If you leave the chat, we’ll email you when there’s a reply."},{"key":"agent_chat.reply_by_email.sign_in_prompt","value":"Sign in to get emailed when there’s a reply."},{"key":"agent_chat.order_lookup.track_order","value":"Track my order"},{"key":"agent_chat.order_lookup.track_another_order","value":"Track another order"},{"key":"agent_chat.order_lookup.new_conversation","value":"New conversation"},{"key":"agent_chat.order_lookup.follow_up_label","value":"Order lookup actions"},{"key":"agent_chat.order_lookup.enter_order_information","value":"Enter order information"},{"key":"agent_chat.order_lookup.prompt","value":"To see your order status, please provide your order details."},{"key":"agent_chat.order_lookup.form_title","value":"Track my order"},{"key":"agent_chat.order_lookup.form_subtitle","value":"Please provide your information."},{"key":"agent_chat.order_lookup.order_number_label","value":"Order number"},{"key":"agent_chat.order_lookup.email_label","value":"Email address"},{"key":"agent_chat.order_lookup.submit","value":"Track my order"},{"key":"agent_chat.order_lookup.cancel","value":"Cancel"},{"key":"agent_chat.order_lookup.invalid_order_number","value":"Please enter a valid order number with only numbers and letters, no spaces (e.g. 1006)."},{"key":"agent_chat.order_lookup.invalid_order_number_whitespace","value":"Please enter a valid order number with only numbers and letters, no spaces (e.g. 1006)."},{"key":"agent_chat.order_lookup.invalid_email","value":"Please enter a valid email address"},{"key":"agent_chat.order_lookup.generic_error","value":"There was a problem looking up your order. Please try again."},{"key":"agent_chat.order_lookup.rate_limited_error","value":"Too many attempts. Try again later."},{"key":"agent_chat.order_lookup.locked_composer_status","value":"Order lookup is in progress. Start a new conversation to ask something else."},{"key":"agent_chat.legacy_contact.form_title","value":"Before we get started"},{"key":"agent_chat.legacy_contact.form_subtitle","value":"Please provide your information so we can reply to you if you leave the chat."},{"key":"agent_chat.legacy_contact.first_name_label","value":"First name"},{"key":"agent_chat.legacy_contact.last_name_label","value":"Last name"},{"key":"agent_chat.legacy_contact.email_label","value":"Email"},{"key":"agent_chat.legacy_contact.marketing_opt_in","value":"Email me with news and offers"},{"key":"agent_chat.legacy_contact.submit","value":"Start chat"},{"key":"agent_chat.legacy_contact.cancel","value":"Cancel"}
1471,{"key":"agent_chat.legacy_contact.invalid_first_name","value":"Enter a valid first name."},{"key":"agent_chat.legacy_contact.invalid_last_name","value":"Enter a valid last name."},{"key":"agent_chat.legacy_contact.invalid_email","value":"Enter a valid email address."},{"key":"agent_chat.legacy_contact.invalid_email_length","value":"Email address is too long."},{"key":"agent_chat.legacy_contact.generic_error","value":"Something went wrong."},{"key":"agent_chat.legacy_contact.rate_limited_error","value":"Too many attempts. Try again later."},{"key":"agent_chat.discountCard.useDiscount","value":"Use discount"},{"key":"agent_chat.discountCard.discountApplicationContext","value":"Applies automatically at checkout"},{"key":"agent_chat.cart.checkout","value":"Checkout"},{"key":"agent_chat.product.add_to_cart","value":"Add to cart"},{"key":"agent_chat.product.view_details","value":"View details"},{"key":"agent_chat.product.out_of_stock","value":"Out of stock"},{"key":"agent_chat.product.compare_suggestions","value":"Compare suggestions"},{"key":"agent_chat.product.hide_suggestions","value":"Hide suggestions"},{"key":"agent_chat.product.sold_out","value":"Sold out"},{"key":"agent_chat.order.item.one","value":"item"},{"key":"agent_chat.order.item.other","value":"items"},{"key":"agent_chat.order.less_items.one","value":"- hide {{count}} item"},{"key":"agent_chat.order.less_items.other","value":"- hide {{count}} items"},{"key":"agent_chat.order.more_items.one","value":"+ {{count}} more item"},{"key":"agent_chat.order.more_items.other","value":"+ {{count}} more items"},{"key":"agent_chat.order.view_order","value":"View order {{orderId}}"},{"key":"agent_chat.order.track_shipment","value":"Track shipment"},{"key":"agent_chat.order.of_total","value":"{{index}} of {{total}}"},{"key":"agent_chat.order.label","value":"Order {{number}}"},{"key":"agent_chat.order.count.one","value":"{{count}} Order"},{"key":"agent_chat.order.count.other","value":"{{count}} Orders"},{"key":"agent_chat.order.ordered_on","value":"Ordered {{date}}"},{"key":"agent_chat.order.select","value":"Select order {{number}}"},{"key":"agent_chat.return.heading","value":"Select items to return"},{"key":"agent_chat.return.toggle_item","value":"Select {{name}}"},{"key":"agent_chat.return.select_item_non_returnable","value":"{{name}}, not returnable"},{"key":"agent_chat.return.quantity_label","value":"Return quantity"},{"key":"agent_chat.return.reason_label","value":"Reason for return"},{"key":"agent_chat.return.reason_placeholder","value":"Select a reason"},{"key":"agent_chat.return.confirm","value":"Request return"},{"key":"agent_chat.return.confirmed","value":"Return requested"},{"key":"agent_chat.return.reason.size_too_small","value":"Size too small"},{"key":"agent_chat.return.reason.size_too_large","value":"Size too large"},{"key":"agent_chat.return.reason.unwanted","value":"Unwanted"},{"key":"agent_chat.return.reason.not_as_described","value":"Not as described"},{"key":"agent_chat.return.reason.wrong_item","value":"Wrong item"},{"key":"agent_chat.return.reason.defective","value":"Defective"},{"key":"agent_chat.return.reason.style","value":"Style"},{"key":"agent_chat.return.reason.color","value":"Color"},{"key":"agent_chat.return.reason.other_reason","value":"Other"},{"key":"agent_chat.scroll.previous","value":"Previous"},{"key":"agent_chat.scroll.next","value":"Next"}]}</script>
vendor: 1 bytes, line 1471
1471
1472<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"59803303997","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":true,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":true},"visitor":{"country":"US","language":"en"}}</script>
1472
1473<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1821798669000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1790242869000"><meta name="new-cookie-storage-activated" content="t">
1474</head>
1475
1476  <body class="zoom-image--enabled"><!-- DRAWER -->
1477<template id="drawer-default-template">
1478  <style>
1479    [hidden] {
1480      display: none !important;
1481    }
1482  </style>
1483
1484  <button part="outside-close-button" is="close-button" aria-label="Close"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1485        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1486      </svg></button>
1487
1488  <div part="overlay"></div>
1489
1490  <div part="content">
1491    <header part="header">
1492      <slot name="header"></slot>
1493
1494      <button part="close-button" is="close-button" aria-label="Close"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1495        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1496      </svg></button>
1497    </header>
1498
1499    <div part="body">
1500      <slot></slot>
1501    </div>
1502
1503    <footer part="footer">
1504      <slot name="footer"></slot>
1505    </footer>
1506  </div>
1507</template>
1508
1509<!-- POPOVER -->
1510<template id="popover-default-template">
1511  <button part="outside-close-button" is="close-button" aria-label="Close"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1512        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1513      </svg></button>
1514
1515  <div part="overlay"></div>
1516
1517  <div part="content">
1518    <header part="title">
1519      <slot name="title"></slot>
1520    </header>
1521
1522    <div part="body">
1523      <slot></slot>
1524    </div>
1525  </div>
1526</template><a href="#main" class="skip-to-content sr-only">Skip to content</a><!-- BEGIN sections: header-group -->
1527<aside id="shopify-section-sections--19025767366717__announcement-bar" class="shopify-section shopify-section-group-header-group shopify-section--announcement-bar"><style>
1528    :root {
1529      --sticky-announcement-bar-enabled:1;
1530    }#shopify-section-sections--19025767366717__announcement-bar {
1531        position: sticky;
1532        top: 0;
1533        z-index: 20;
1534      }
1535
1536      .shopify-section--header ~ #shopify-section-sections--19025767366717__announcement-bar {
1537        top: calc(var(--sticky-header-enabled, 0) * var(--header-height, 0px));
1538      }</style><height-observer variable="announcement-bar">
1539    <div class="announcement-bar bg-gradient text-custom"style="--gradient: linear-gradient(180deg, rgba(196, 18, 46, 1), rgba(221, 39, 57, 1) 100%); --text-color: 255 255 255;"><div class="container">
1540          <div class="announcement-bar__wrapper justify-center"><announcement-bar swipeable autoplay="6" id="announcement-bar" class="announcement-bar__static-list"><p class="bold text-xs " ><a href="/order-faqs/#affirm">Buy Now, Pay Over Time with Affirm</a></p></announcement-bar></div>
1541        </div></div>
1542  </height-observer>
1543
1544  
1544<script>
1545    document.documentElement.style.setProperty('--announcement-bar-height', Math.round(document.getElementById('shopify-section-sections--19025767366717__announcement-bar').clientHeight) + 'px');
1546  </script>
1546</aside><header id="shopify-section-sections--19025767366717__header" class="shopify-section shopify-section-group-header-group shopify-section--header"><style>
1547  :root {
1548    --sticky-header-enabled:1;
1549  }
1550
1551  #shopify-section-sections--19025767366717__header {
1552    --header-grid-template: "main-nav logo secondary-nav" / minmax(0, 1fr) auto minmax(0, 1fr);
1553    --header-padding-block: var(--spacing-3);
1554    --header-background-opacity: 0.0;
1555    --header-background-blur-radius: 6px;
1556    --header-transparent-text-color: 0 0 0;--header-logo-width: 100px;
1557      --header-logo-height: 22px;position: sticky;
1558    top: 0;
1559    z-index: 10;
1560  }.shopify-section--announcement-bar ~ #shopify-section-sections--19025767366717__header {
1561      top: calc(var(--sticky-announcement-bar-enabled, 0) * var(--announcement-bar-height, 0px));
1562    }@media screen and (min-width: 700px) {
1563    #shopify-section-sections--19025767366717__header {--header-logo-width: 220px;
1564        --header-logo-height: 48px;--header-padding-block: var(--spacing-6);
1565    }
1566  }@media screen and (min-width: 1150px) {#shopify-section-sections--19025767366717__header {
1567        --header-grid-template: "logo main-nav secondary-nav" / minmax(0, 1fr) fit-content(70%) minmax(0, 1fr);
1568      }
1569    }</style>
1570
1571<height-observer variable="header">
1572  <store-header class="header"  sticky>
1573    <div class="header__wrapper"><div class="header__main-nav">
1574        <div class="header__icon-list">
1575          <button type="button" class="tap-area lg:hidden" aria-controls="header-sidebar-menu">
1576            <span class="sr-only">Menu</span><svg role="presentation" stroke-width="1.4" focusable="false" width="22" height="22" class="icon icon-hamburger" viewBox="0 0 22 22">
1577        <path d="M1 5h20M1 11h20M1 17h20" stroke="currentColor" stroke-linecap="round"></path>
1578      </svg></button>
1579
1580          <a href="/search" class="tap-area sm:hidden" aria-controls="search-drawer">
1581            <span class="sr-only">Search</span><svg role="presentation" stroke-width="1.4" focusable="false" width="22" height="22" class="icon icon-search" viewBox="0 0 22 22">
1582        <circle cx="11" cy="10" r="7" fill="none" stroke="currentColor"></circle>
1583        <path d="m16 15 3 3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1584      </svg></a><nav class="header__link-list justify-center wrap" role="navigation">
1585              <ul class="contents" role="list">
1586
1587                  <li><a href="/" class="bold link-faded-reverse" >Home</a></li>
1588
1589                  <li><a href="/pages/v-pagefly-ride-at-home" class="bold link-faded-reverse" >Ride at home</a></li>
1590
1591                  <li><details class="relative" is="dropdown-disclosure" trigger="hover">
1592                          <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/pages/instructors-1">Instructors<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
1593        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1594      </svg></summary>
1595
1596                          <div class="dropdown-menu ">
1597                            <ul class="contents" role="list"><li><details class="relative" is="dropdown-disclosure" trigger="hover">
1598                                      <summary class="dropdown-menu__item group" data-url="/pages/instructors-1">
1599                                        <span><span class="reversed-link">Education</span></span><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-right" viewBox="0 0 7 10">
1600        <path d="m1 9 4-4-4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1601      </svg></summary>
1602
1603                                      <div class="dropdown-menu">
1604                                        <ul class="contents" role="list"><li>
1605                                              <a href="/pages/become-an-instructor-2" class="dropdown-menu__item group" >
1606                                                <span><span class="reversed-link">Become a Spinning® Instructor</span></span>
1607                                              </a>
1608                                            </li><li>
1609                                              <a href="/pages/v-spinpower-certification" class="dropdown-menu__item group" >
1610                                                <span><span class="reversed-link">SPINPower® Certification</span></span>
1611                                              </a>
1612                                            </li><li>
1613                                              <a href="/pages/rockstar-certification" class="dropdown-menu__item group" >
1614                                                <span><span class="reversed-link">Rockstar Certification</span></span>
1615                                              </a>
1616                                            </li><li>
1617                                              <a href="/pages/v-continuing-education" class="dropdown-menu__item group" >
1618                                                <span><span class="reversed-link">Continuing Education</span></span>
1619                                              </a>
1620                                            </li></ul>
1621                                      </div>
1622                                    </details></li><li><details class="relative" is="dropdown-disclosure" trigger="hover">
1623                                      <summary class="dropdown-menu__item group" data-url="/pages/spin-membership">
1624                                        <span><span class="reversed-link">Join SPIN® Membership</span></span><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-right" viewBox="0 0 7 10">
1625        <path d="m1 9 4-4-4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1626      </svg></summary>
1627
1628                                      <div class="dropdown-menu">
1629                                        <ul class="contents" role="list"><li>
1630                                              <a href="/pages/spin-membership" class="dropdown-menu__item group" >
1631                                                <span><span class="reversed-link">Unbeatable value and discounts</span></span>
1632                                              </a>
1633                                            </li><li>
1634                                              <a href="/pages/v-spin-membership-benefits" class="dropdown-menu__item group" >
1635                                                <span><span class="reversed-link">Access your Benefits</span></span>
1636                                              </a>
1637                                            </li></ul>
1638                                      </div>
1639                                    </details></li><li><details class="relative" is="dropdown-disclosure" trigger="hover">
1640                                      <summary class="dropdown-menu__item group" data-url="/pages/v-spinning-instructor-resources">
1641                                        <span><span class="reversed-link">Instructor Resources</span></span><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-right" viewBox="0 0 7 10">
1642        <path d="m1 9 4-4-4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1643      </svg></summary>
1644
1645                                      <div class="dropdown-menu">
1646                                        <ul class="contents" role="list"><li>
1647                                              <a href="/pages/v-spinu-login" class="dropdown-menu__item group" >
1648                                                <span><span class="reversed-link">SpinU Instructor Login</span></span>
1649                                              </a>
1650                                            </li><li>
1651                                              <a href="/pages/v-continuing-education-petition" class="dropdown-menu__item group" >
1652                                                <span><span class="reversed-link">Continuing Education Petition</span></span>
1653                                              </a>
1654                                            </li></ul>
1655                                      </div>
1656                                    </details></li><li><details class="relative" is="dropdown-disclosure" trigger="hover">
1657                                      <summary class="dropdown-menu__item group" data-url="/p
1657ages/v-community">
1658                                        <span><span class="reversed-link">Community</span></span><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-right" viewBox="0 0 7 10">
1659        <path d="m1 9 4-4-4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1660      </svg></summary>
1661
1662                                      <div class="dropdown-menu">
1663                                        <ul class="contents" role="list"><li>
1664                                              <a href="/blogs/default-blog" class="dropdown-menu__item group" >
1665                                                <span><span class="reversed-link">SPIN® Life Blog</span></span>
1666                                              </a>
1667                                            </li><li>
1668                                              <a href="/pages/v-master-instructor-team" class="dropdown-menu__item group" >
1669                                                <span><span class="reversed-link">Master Instructor Team</span></span>
1670                                              </a>
1671                                            </li><li>
1672                                              <a href="/pages/v-spinning-ambassadors" class="dropdown-menu__item group" >
1673                                                <span><span class="reversed-link">Spinning® Ambassadors</span></span>
1674                                              </a>
1675                                            </li><li>
1676                                              <a href="/pages/v-spinning-events" class="dropdown-menu__item group" >
1677                                                <span><span class="reversed-link">Spinning® Events</span></span>
1678                                              </a>
1679                                            </li></ul>
1680                                      </div>
1681                                    </details></li></ul>
1682                          </div>
1683                        </details></li>
1684
1685                  <li><details class="relative" is="dropdown-disclosure" trigger="hover">
1686                          <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/pages/v-studios">Studios<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
1687        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1688      </svg></summary>
1689
1690                          <div class="dropdown-menu dropdown-menu--restrictable">
1691                            <ul class="contents" role="list"><li><a href="/pages/v-open-a-spinning-studio" class="dropdown-menu__item group" >
1692                                      <span><span class="reversed-link">Open a Spinning® Studio</span></span>
1693                                    </a></li><li><a href="/pages/v-host-a-training" class="dropdown-menu__item group" >
1694                                      <span><span class="reversed-link">Host a Training</span></span>
1695                                    </a></li></ul>
1696                          </div>
1697                        </details></li>
1698
1699                  <li><a href="/" class="bold link-faded-reverse" >Shop</a></li></ul>
1700            </nav></div>
1701      </div>
1702        <a href="/" class="header__logo"><span class="sr-only">Spinning</span><img src="//spinning.com/cdn/shop/files/980a76ddb6079d3906d4089b704bc7c9.w917.h917.png?v=1724340393&amp;width=917" alt="" srcset="//spinning.com/cdn/shop/files/980a76ddb6079d3906d4089b704bc7c9.w917.h917.png?v=1724340393&amp;width=440 440w, //spinning.com/cdn/shop/files/980a76ddb6079d3906d4089b704bc7c9.w917.h917.png?v=1724340393&amp;width=660 660w" width="917" height="199" sizes="220px" class="header__logo-image"><img src="//spinning.com/cdn/shop/files/SP_SpinMan_Wordmark_Wht_Low.png?v=1724340490&amp;width=701" alt="" srcset="//spinning.com/cdn/shop/files/SP_SpinMan_Wordmark_Wht_Low.png?v=1724340490&amp;width=440 440w, //spinning.com/cdn/shop/files/SP_SpinMan_Wordmark_Wht_Low.png?v=1724340490&amp;width=660 660w" width="701" height="199" sizes="220px" class="header__logo-image header__logo-image--transparent"></a>
1703      
1704<div class="header__secondary-nav"><ul class="header__icon-list"><li>
1705            <a href="/search" class="hidden tap-area sm:block" aria-controls="search-drawer">
1706              <span class="sr-only">Search</span><svg role="presentation" stroke-width="1.4" focusable="false" width="22" height="22" class="icon icon-search" viewBox="0 0 22 22">
1707        <circle cx="11" cy="10" r="7" fill="none" stroke="currentColor"></circle>
1708        <path d="m16 15 3 3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1709      </svg></a>
1710          </li><li>
1711              <a href="https://spinning.com/customer_authentication/redirect?locale=en&region_country=US" class="hidden tap-area sm:block">
1712                <span class="sr-only">Login</span><svg role="presentation" stroke-width="1.4" focusable="false" width="22" height="22" class="icon icon-account" viewBox="0 0 22 22">
1713        <circle cx="11" cy="7" r="4" fill="none" stroke="currentColor"></circle>
1714        <path d="M3.5 19c1.421-2.974 4.247-5 7.5-5s6.079 2.026 7.5 5" fill="none" stroke="currentColor" stroke-linecap="round"></path>
1715      </svg></a>
1716            </li><li>
1717            <a href="/cart" data-no-instant class="relative block tap-area" aria-controls="cart-drawer">
1718              <span class="sr-only">Cart</span><svg role="presentation" stroke-width="1.4" focusable="false" width="22" height="22" class="icon icon-cart" viewBox="0 0 22 22">
1719            <path d="M11 7H3.577A2 2 0 0 0 1.64 9.497l2.051 8A2 2 0 0 0 5.63 19H16.37a2 2 0 0 0 1.937-1.503l2.052-8A2 2 0 0 0 18.422 7H11Zm0 0V1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1720          </svg><div class="header__cart-count">
1721                <cart-count class="count-bubble opacity-0">
1722                  <span class="sr-only">0 items</span>
1723                  <span aria-hidden="true">0</span>
1724                </cart-count>
1725              </div>
1726            </a>
1727          </li>
1728        </ul>
1729      </div>
1730    </div>
1731  </store-header>
1732</height-observer><navigation-drawer mobile-opening="bottom" open-from="left" id="header-sidebar-menu" class="navigation-drawer drawer lg:hidden" >
1733    <button is="close-button" aria-label="Close"class="sm-max:hidden"><svg role="presentation" stroke-width="2" focusable="false" width="19" height="19" class="icon icon-close" viewBox="0 0 24 24">
1734        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1735      </svg></button><div class="panel-list__wrapper">
1736  <div class="panel">
1737    <div class="panel__wrapper" >
1738      <div class="panel__scroller v-stack gap-8"><ul class="v-stack gap-4">
1739<li class="h3 sm:h4"><a href="/" class="group block w-full">
1740                  <span><span class="reversed-link">Home</span></span>
1741                </a></li>
1742<li class="h3 sm:h4"><a href="/pages/v-pagefly-ride-at-home" class="group block w-full">
1743                  <span><span class="reversed-link">Ride at home</span></span>
1744                </a></li>
1745<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-0">
1746                  <span>Instructors</span>
1747                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
1748        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
1749      </svg></span>
1750                </button></li>
1751<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-1">
1752                  <span>Studios</span>
1753                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
1754        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
1755      </svg></span>
1756                </button></li>
1757<li class="h3 sm:h4"><a href="/" class="group block w-full">
1758                  <span><span class="reversed-link">Shop</span></span>
1759                </a></li></ul></div><div class="panel-footer v-stack gap-5"><ul class="social-media " role="list"><li>
1760      <a href="https://www.facebook.com/Spinning" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Facebook"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-facebook" viewB
1760ox="0 0 24 24">
1761        <path fill-rule="evenodd" clip-rule="evenodd" d="M10.183 21.85v-8.868H7.2V9.526h2.983V6.982a4.17 4.17 0 0 1 4.44-4.572 22.33 22.33 0 0 1 2.667.144v3.084h-1.83a1.44 1.44 0 0 0-1.713 1.68v2.208h3.423l-.447 3.456h-2.97v8.868h-3.57Z" fill="currentColor"/>
1762      </svg></a>
1763    </li><li>
1764      <a href="https://www.instagram.com/spinninghq/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Instagram"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-instagram" viewBox="0 0 24 24">
1765        <path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.4c-2.607 0-2.934.011-3.958.058-1.022.046-1.72.209-2.33.446a4.705 4.705 0 0 0-1.7 1.107 4.706 4.706 0 0 0-1.108 1.7c-.237.611-.4 1.31-.446 2.331C2.41 9.066 2.4 9.392 2.4 12c0 2.607.011 2.934.058 3.958.046 1.022.209 1.72.446 2.33a4.706 4.706 0 0 0 1.107 1.7c.534.535 1.07.863 1.7 1.108.611.237 1.309.4 2.33.446 1.025.047 1.352.058 3.959.058s2.934-.011 3.958-.058c1.022-.046 1.72-.209 2.33-.446a4.706 4.706 0 0 0 1.7-1.107 4.706 4.706 0 0 0 1.108-1.7c.237-.611.4-1.31.446-2.33.047-1.025.058-1.352.058-3.959s-.011-2.934-.058-3.958c-.047-1.022-.209-1.72-.446-2.33a4.706 4.706 0 0 0-1.107-1.7 4.705 4.705 0 0 0-1.7-1.108c-.611-.237-1.31-.4-2.331-.446C14.934 2.41 14.608 2.4 12 2.4Zm0 1.73c2.563 0 2.867.01 3.88.056.935.042 1.443.199 1.782.33.448.174.768.382 1.104.718.336.336.544.656.718 1.104.131.338.287.847.33 1.783.046 1.012.056 1.316.056 3.879 0 2.563-.01 2.867-.056 3.88-.043.935-.199 1.444-.33 1.782a2.974 2.974 0 0 1-.719 1.104 2.974 2.974 0 0 1-1.103.718c-.339.131-.847.288-1.783.33-1.012.046-1.316.056-3.88.056-2.563 0-2.866-.01-3.878-.056-.936-.042-1.445-.199-1.783-.33a2.974 2.974 0 0 1-1.104-.718 2.974 2.974 0 0 1-.718-1.104c-.131-.338-.288-.847-.33-1.783-.047-1.012-.056-1.316-.056-3.879 0-2.563.01-2.867.056-3.88.042-.935.199-1.443.33-1.782.174-.448.382-.768.718-1.104a2.974 2.974 0 0 1 1.104-.718c.338-.131.847-.288 1.783-.33C9.133 4.14 9.437 4.13 12 4.13Zm0 11.07a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4Zm0-8.13a4.93 4.93 0 1 0 0 9.86 4.93 4.93 0 0 0 0-9.86Zm6.276-.194a1.152 1.152 0 1 1-2.304 0 1.152 1.152 0 0 1 2.304 0Z" fill="currentColor"/>
1766      </svg></a>
1767    </li><li>
1768      <a href="https://www.youtube.com/@spinning" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on YouTube"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-youtube" viewBox="0 0 24 24">
1769        <path fill-rule="evenodd" clip-rule="evenodd" d="M20.44 5.243c.929.244 1.66.963 1.909 1.876.451 1.654.451 5.106.451 5.106s0 3.452-.451 5.106a2.681 2.681 0 0 1-1.91 1.876c-1.684.443-8.439.443-8.439.443s-6.754 0-8.439-.443a2.682 2.682 0 0 1-1.91-1.876c-.45-1.654-.45-5.106-.45-5.106s0-3.452.45-5.106a2.681 2.681 0 0 1 1.91-1.876c1.685-.443 8.44-.443 8.44-.443s6.754 0 8.438.443Zm-5.004 6.982L9.792 15.36V9.091l5.646 3.134Z" fill="currentColor"/>
1770      </svg></a>
1771    </li><li>
1772      <a href="https://www.linkedin.com/showcase/spinning%C2%AE/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on LinkedIn"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-linkedin" viewBox="0 0 24 24">
1773        <path fill-rule="evenodd" clip-rule="evenodd" d="M7.349 5.478a1.875 1.875 0 1 0-3.749 0 1.875 1.875 0 1 0 3.749 0ZM7.092 19.2H3.857V8.78h3.235V19.2ZM12.22 8.78H9.121V19.2h3.228v-5.154c0-1.36.257-2.676 1.94-2.676 1.658 0 1.68 1.554 1.68 2.763V19.2H19.2v-5.715c0-2.806-.605-4.963-3.877-4.963-1.573 0-2.629.863-3.06 1.683h-.044V8.78Z" fill="currentColor"/>
1774      </svg></a>
1775    </li></ul><div class="panel-footer__localization-wrapper h-stack gap-6 border-t md:hidden"><a href="/account" class="panel-footer__account-link bold text-sm">Account</a></div></div></div>
1776  </div><div class="panel gap-8">
1777      <div class="panel__wrapper"  hidden>
1778                  <ul class="v-stack gap-4">
1779                    <li class="lg:hidden">
1780                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewB
1780ox="0 0 7 10">
1781        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
1782      </svg>Instructors
1783                      </button>
1784                    </li><li class="h3 sm:h4"><button class="text-with-icon w-full justify-between" aria-expanded="false" data-panel="2-0">
1785                              <span>Education</span>
1786                              <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
1787        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
1788      </svg></span>
1789                            </button></li><li class="h3 sm:h4"><button class="text-with-icon w-full justify-between" aria-expanded="false" data-panel="2-1">
1790                              <span>Join SPIN® Membership</span>
1791                              <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
1792        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
1793      </svg></span>
1794                            </button></li><li class="h3 sm:h4"><button class="text-with-icon w-full justify-between" aria-expanded="false" data-panel="2-2">
1795                              <span>Instructor Resources</span>
1796                              <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
1797        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
1798      </svg></span>
1799                            </button></li><li class="h3 sm:h4"><button class="text-with-icon w-full justify-between" aria-expanded="false" data-panel="2-3">
1800                              <span>Community</span>
1801                              <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
1802        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
1803      </svg></span>
1804                            </button></li></ul></div><div class="panel__wrapper"  hidden>
1805                  <ul class="v-stack gap-4">
1806                    <li class="lg:hidden">
1807                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
1808        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
1809      </svg>Studios
1810                      </button>
1811                    </li><li class="h3 sm:h4"><a class="group block w-full" href="/pages/v-open-a-spinning-studio"><span><span class="reversed-link">Open a Spinning® Studio</span></span>
1812                            </a></li><li class="h3 sm:h4"><a class="group block w-full" href="/pages/v-host-a-training"><span><span class="reversed-link">Host a Training</span></span>
1813                            </a></li></ul></div>
1814    </div>
1815    <div class="panel">
1816      <div class="panel__wrapper" hidden>
1817                              <ul class="v-stack gap-4">
1818                                <li class="text-with-icon lg:hidden">
1819                                  <button class="text-with-icon h6 text-subdued" data-panel="1"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
1820        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
1821      </svg>Education
1822                                  </button>
1823                                </li><li class="h5 sm:h5">
1824                                    <a class="group block w-full"
1825                                       href="/pages/become-an-instructor-2"><span><span class="reversed-link">Become a Spinning® Instructor</span></span>
1826                                    </a>
1827                                  </li><li class="h5 sm:h5">
1828                                    <a class="group block w-full"
1829                                       href="/pages/v-spinpower-certification"><span><span class="reversed-link">SPINPower® Certification</span></span>
1830                                    </a>
1831                                  </li><li class="h5 sm:h5">
1832                                    <a class="group block w-full"
1833                                       href="/pages/rockstar-certification"><span><span class="reversed-link">Rockstar Certification</span></span>
1834                                    </a>
1835                                  </li><li class="h5 sm:h5">
1836                                    <a class="group block w-full"
1837                                       href="/pages/v-continuing-education"><span><span class="reversed-link">Continuing Education</span></span>
1838                                    </a>
1839                                  </li></ul>
1840                            </div><div class="panel__wrapper" hidden>
1841                              <ul class="v-stack gap-4">
1842                                <li class="text-with-icon lg:hidden">
1843                                  <button class="text-with-icon h6 text-subdued" data-panel="1"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewB
1843ox="0 0 7 10">
1844        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
1845      </svg>Join SPIN® Membership
1846                                  </button>
1847                                </li><li class="h5 sm:h5">
1848                                    <a class="group block w-full"
1849                                       href="/pages/spin-membership"><span><span class="reversed-link">Unbeatable value and discounts</span></span>
1850                                    </a>
1851                                  </li><li class="h5 sm:h5">
1852                                    <a class="group block w-full"
1853                                       href="/pages/v-spin-membership-benefits"><span><span class="reversed-link">Access your Benefits</span></span>
1854                                    </a>
1855                                  </li></ul>
1856                            </div><div class="panel__wrapper" hidden>
1857                              <ul class="v-stack gap-4">
1858                                <li class="text-with-icon lg:hidden">
1859                                  <button class="text-with-icon h6 text-subdued" data-panel="1"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
1860        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
1861      </svg>Instructor Resources
1862                                  </button>
1863                                </li><li class="h5 sm:h5">
1864                                    <a class="group block w-full"
1865                                       href="/pages/v-spinu-login"><span><span class="reversed-link">SpinU Instructor Login</span></span>
1866                                    </a>
1867                                  </li><li class="h5 sm:h5">
1868                                    <a class="group block w-full"
1869                                       href="/pages/v-continuing-education-petition"><span><span class="reversed-link">Continuing Education Petition</span></span>
1870                                    </a>
1871                                  </li></ul>
1872                            </div><div class="panel__wrapper" hidden>
1873                              <ul class="v-stack gap-4">
1874                                <li class="text-with-icon lg:hidden">
1875                                  <button class="text-with-icon h6 text-subdued" data-panel="1"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
1876        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
1877      </svg>Community
1878                                  </button>
1879                                </li><li class="h5 sm:h5">
1880                                    <a class="group block w-full"
1881                                       href="/blogs/default-blog"><span><span class="reversed-link">SPIN® Life Blog</span></span>
1882                                    </a>
1883                                  </li><li class="h5 sm:h5">
1884                                    <a class="group block w-full"
1885                                       href="/pages/v-master-instructor-team"><span><span class="reversed-link">Master Instructor Team</span></span>
1886                                    </a>
1887                                  </li><li class="h5 sm:h5">
1888                                    <a class="group block w-full"
1889                                       href="/pages/v-spinning-ambassadors"><span><span class="reversed-link">Spinning® Ambassadors</span></span>
1890                                    </a>
1891                                  </li><li class="h5 sm:h5">
1892                                    <a class="group block w-full"
1893                                       href="/pages/v-spinning-events"><span><span class="reversed-link">Spinning® Events</span></span>
1894                                    </a>
1895                                  </li></ul>
1896                            </div>
1897    </div></div></navigation-drawer>
1897<script>
1898  document.documentElement.style.setProperty('--header-height', Math.round(document.getElementById('shopify-section-sections--19025767366717__header').clientHeight) + 'px');
1899</script>
1899
1900
1901<style> #shopify-section-sections--19025767366717__header a {font-weight: 700 !important;} #shopify-section-sections--19025767366717__header .header {background-color: white;} </style></header>
1902<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->
1903<div id="shopify-section-sections--19025768415293__cart-drawer" class="shopify-section shopify-section-group-overlay-group"><cart-drawer  class="cart-drawer drawer drawer--lg" id="cart-drawer"><button is="close-button" aria-label="Close"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1904        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1905      </svg></button>
1906
1907    <div class="empty-state align-self-center">
1908      <div class="empty-state__icon-wrapper"><svg role="presentation" stroke-width="1" focusable="false" width="32" height="32" class="icon icon-cart" viewBox="0 0 22 22">
1909            <path d="M11 7H3.577A2 2 0 0 0 1.64 9.497l2.051 8A2 2 0 0 0 5.63 19H16.37a2 2 0 0 0 1.937-1.503l2.052-8A2 2 0 0 0 18.422 7H11Zm0 0V1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1910          </svg><span class="count-bubble count-bubble--lg">0</span>
1911      </div>
1912
1913      <div class="prose">
1914        <p class="h5">Your cart is empty</p>
1915<a class="button button--xl"
1916  
1917  
1918  
1919  
1920  
1921  href="/collections/all"
1922  
1923  
1924 >Continue shopping</a></div>
1925    </div></cart-drawer>
1926
1927
1928</div><div id="shopify-section-sections--19025768415293__search-drawer" class="shopify-section shopify-section-group-overlay-group"><search-drawer  class="search-drawer  drawer drawer--lg" id="search-drawer">
1929  <form action="/search" method="get" class="v-stack gap-5 sm:gap-8" role="search">
1930    <div class="search-input">
1931      <input type="search" name="q" placeholder="Search for..." autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" aria-label="Search">
1932      <button type="reset" class="text-subdued">Clear</button>
1933      <button type="button" is="close-button">
1934        <span class="sr-only">Close</span><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1935        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1936      </svg></button>
1937    </div>
1938
1939    <style>
1940      #shopify-section-sections--19025768415293__search-drawer {
1941        --predictive-search-column-count: 3;
1942      }
1943    </style>
1944
1945    <input type="hidden" name="type" value="product">
1946
1947    <predictive-search class="predictive-search" section-id="sections--19025768415293__search-drawer"><div slot="results"></div>
1948
1949      <div slot="loading">
1950        <div class="v-stack gap-5 sm:gap-6 ">
1951          <div class="h-stack gap-4 sm:gap-5"><span class="skeleton skeleton--tab"></span><span class="skeleton skeleton--tab"></span><span class="skeleton skeleton--tab"></span></div>
1952
1953          <div class="v-stack gap-4 sm:gap-6"><div class="h-stack align-center gap-5 sm:gap-6">
1954                <span class="skeleton skeleton--thumbnail"></span>
1955
1956                <div class="v-stack gap-3 w-full">
1957                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 20%"></span>
1958                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 80%"></span>
1959                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 40%"></span>
1960                </div>
1961              </div><div class="h-stack align-center gap-5 sm:gap-6">
1962                <span class="skeleton skeleton--thumbnail"></span>
1963
1964                <div class="v-stack gap-3 w-full">
1965                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 20%"></span>
1966                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 80%"></span>
1967                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 40%"></span>
1968                </div>
1969              </div><div class="h-stack align-center gap-5 sm:gap-6">
1970                <span class="skeleton skeleton--thumbnail"></span>
1971
1972                <div class="v-stack gap-3 w-full">
1973                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 20%"></span>
1974                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 80%"></span>
1975                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 40%"></span>
1976                </div>
1977              </div><div class="h-stack align-center gap-5 sm:gap-6">
1978                <span class="skeleton skeleton--thumbnail"></span>
1979
1980                <div class="v-stack gap-3 w-full">
1981                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 20%"></span>
1982                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 80%"></span>
1983                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 40%"></span>
1984                </div>
1985              </div></div>
1986        </div></div>
1987    </predictive-search>
1988  </form>
1989</search-drawer>
1990
1991</div>
1992<!-- END sections: overlay-group --><cart-notification-drawer open-from="bottom" class="quick-buy-drawer drawer"></cart-notification-drawer><main role="main" id="main" class="anchor" tabindex="-1">
1993      <section id="shopify-section-template--19025779490877__main" class="shopify-section shopify-section--main-page"><style>
1994  #shopify-section-template--19025779490877__main {
1995    --page-max-width: 80ch;
1996  }
1997</style>
1998
1999<div class="container">
2000  <div class="page-spacer">
2001    <div class="page">
2002      <h1 class="h1 text-center">Contact Us</h1><div class="prose">
2003          <div id="closure-notice">
2004  <strong>Our office will be closed on Monday, September 7, 2026, in observance of Labor Day. We will resume normal business hours on Tuesday, September 8, 2026.</strong>
2005</div>
2006
2007<script>
2008  if (new Date() >= new Date(2026, 8, 8)) document.getElementById('closure-notice').remove();
2009  else setTimeout(() => document.getElementById('closure-notice').remove(), new Date(2026, 8, 8) - new Date());
2010</script>
2010
2011
2012<div class="padded-content">
2013<p style="margin-bottom: 1rem !important;">Need help finding a Spinning® Instructor Training? Want to learn more about the Spinning program for your gym or club? Need to access your online account? The Spinning team is here to help.</p>
2014<h4>Customer Service Hours</h4>
2015<p>Mon-Fri: 7AM-4PM PT<br>Toll-free: (800) 847-7746<br>Dialing outside U.S.: 1 (310) 823-7008</p>
2016<h4>Technical Support Hours</h4>
2017<p>Mon-Fri: 7AM-4PM PT<br>Toll-free: (800) 847-7746<br>Dialing outside U.S.: 1 (310) 823-7008</p>
2018<h4>Helpful Links</h4>
2019<ul>
2020<li><a href="/pages/warranty">Warranty</a></li>
2021<li><a title="Spinning Technical Support Request Form" href="https://www.powr.io/form-builder/i/30018774#page">Equipment Technical Support Request Form</a></li>
2022<li><a href="/pages/warranty/#owners-manuals">Owners Manuals</a></li>
2023<li><a href="https://www.youtube.com/playlist?list=PLZwv65qs7XFRP_gw32Kh0WRkgpUTt1Atu" target="_blank">Spinning® Support Videos</a></li>
2024<li><a href="/pages/instructors-certification-faq" target="_blank">Certification FAQs</a></li>
2025</ul>
2026<br>
2026<script src="https://www.powr.io/powr.js?external-type=bigcommerce" type="text/javascript"></script>
2026
2027<div class="powr-form-builder" id="7541cce0_1485814226"> </div>
2028</div>
2029<p> </p>
2030        </div></div>
2031  </div>
2032</div>
2033
2034</section>
2035<!-- BEGIN sections: footer-group -->
2036<section id="shopify-section-sections--19025767301181__rich_text_X4tKd6" class="shopify-section shopify-section-group-footer-group shopify-section--rich-text"><style> #shopify-section-sections--19025767301181__rich_text_X4tKd6 .rich-text {margin-top: -1%;} #shopify-section-sections--19025767301181__rich_text_X4tKd6 .h2 {font-size: 24px;} #shopify-section-sections--19025767301181__rich_text_X4tKd6 h5 {font-size: 18px;} #shopify-section-sections--19025767301181__rich_text_X4tKd6 ul li {font-size: 14px;} </style></section><footer id="shopify-section-sections--19025767301181__footer" class="shopify-section shopify-section-group-footer-group shopify-section--footer"><style>
2037  @media screen and (min-width: 1000px) {
2038    #shopify-section-sections--19025767301181__footer {--footer-block-list-gap: var(--spacing-10);--footer-block-list-justify-content: space-between;
2039    }
2040  }
2041</style><div class="footer">
2042  <div class="container">
2043    <div class="footer__wrapper"><div class="footer__block-list empty:hidden"><div class="footer__block footer__block--newsletter" ><div class="v-stack gap-6"><p class="h6">Sign up for news updates and promos</p><div class="prose text-subdued"><p>Enter your email below.</p></div><form method="post" action="/contact#footer-newsletter" id="footer-newsletter" accept-charset="UTF-8" class="footer__newsletter-form form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="contact[tags]" value="newsletter"><div class="form-control" ><input id="input-sections--19025767301181__footer--contactemail" class="input is-floating" type="email" dir="ltr" name="contact[email]" placeholder=" " 
2044  
2045  
2046  
2047  
2048  autocomplete="email"
2049  
2050  enterkeyhint="send"
2051  required
2052  
2053><label for="input-sections--19025767301181__footer--contactemail" class="floating-label">E-mail</label><div class="self-submit-button">
2054        <button type="submit" class="circle-chevron hover:colors">
2055          <span class="sr-only">Subscribe</span><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2056        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2057      </svg></button>
2058      </div></div></form></div>
2059                </div><div class="footer__block footer__block--menu" ><p class="bold">EDUCATION</p><ul class="v-stack gap-3" role="list"><li>
2060                          <a href="https://spinning.com/pages/become-an-instructor-2" class="inline-block link-faded break-all">Become an Instructor</a>
2061                        </li><li>
2062                          <a href="https://spinu.spinning.com/workshops" class="inline-block link-faded break-all">Live and Virtual Workshops</a>
2063                        </li><li>
2064                          <a href="https://spinu.spinning.com/courses" class="inline-block link-faded break-all">Online Courses</a>
2065                        </li><li>
2066                          <a href="https://spinning.com/pages/spin-membership" class="inline-block link-faded break-all">SPIN® Membership</a>
2067                        </li><li>
2068                          <a href="https://spinu.spinning.com/" class="inline-block link-faded break-all">SpinU</a>
2069                        </li><li>
2070                          <a href="https://spinu.spinning.com/p/spinu-faq" class="inline-block link-faded break-all">Education FAQ</a>
2071                        </li></ul>
2072                  </div><div class="footer__block footer__block--menu" ><p class="bold">SUPPORT</p><ul class="v-stack gap-3" role="list"><li>
2073                          <a href="/pages/contact-us" class="inline-block link-faded break-all">Contact Us</a>
2074                        </li><li>
2075                          <a href="https://cdn.shopify.com/s/files/1/0598/0330/3997/files/commercial-bikes-comparison-chart-2026-v2.pdf?v=1778000409" class="inline-block link-faded break-all">Commercial Bike Comparison</a>
2076                        </li><li>
2077                          <a href="https://cdn.shopify.com/s/files/1/0598/0330/3997/files/home-bike-comparison-chart-2025.pdf?v=1775596176" class="inline-block link-faded break-all">Home Bike Comparison</a>
2078                        </li><li>
2079                          <a href="/pages/prepare-for-your-commercial-bikes" class="inline-block link-faded break-all">Prepare for Your Commercial Bikes</a>
2080                        </li><li>
2081                          <a href="/pages/get-ready-for-your-new-bike" class="inline-block link-faded break-all">Prepare for Your Home Bike</a>
2082                        </li><li>
2083                          <a href="/pages/order-faqs" class="inline-block link-faded break-all">FAQs</a>
2084                        </li><li>
2085                          <a href="/pages/warranty" class="inline-block link-faded break-all">Warranty and Manuals</a>
2086                        </li><li>
2087                          <a href="https://spinning.com/pages/equipment-service-technical-support" class="inline-block link-faded break-all">Equipment Support Request</a>
2088                        </li><li>
2089                          <a href="/pages/shipping-handling" class="inline-block link-faded break-all">Shipping and Handling</a>
2090                        </li><li>
2091                          <a href="https://spinning.com/pages/terms-and-conditions" class="inline-block link-faded break-all">Terms and Conditions</a>
2092                        </li><li>
2093                          <a href="https://spinning.com/pages/privacy-policy" class="inline-block link-faded break-all">Privacy Policy</a>
2094                        </li></ul>
2095                  </div><div class="footer__block footer__block--menu" ><p class="bold">BRANDS</p><ul class="v-stack gap-3" role="list"><li>
2096                          <a href="https://www.spinning.com" class="inline-block link-faded break-all">Spinning®</a>
2097                        </li><li>
2098                          <a href="https://peakpilates.com/" class="inline-block link-faded break-all">Peak Pilates®</a>
2099                        </li><li>
2100                          <a href="https://crosscore.com/" class="inline-block link-faded break-all">CrossCore®</a>
2101                        </li><li>
2102                          <a href="https://www.peakpilates.com/products/ugi-balls-a-la-carte?srsltid=AfmBOoqGfHHQl25sQIBJF2lQ3q1l40eGR8TLbdgbCN0HMzJKlAvFwLvJ" class="inline-block link-faded break-all">Ugi®</a>
2103                        </li></ul>
2104                  </div><div class="footer__block footer__block--menu" ><p class="bold">ABOUT US</p><ul class="v-stack gap-3" role="list"><li>
2105                          <a href="/pages/spinning-history" class="inline-block link-faded break-all">Spinning® History</a>
2106                        </li><li>
2107                          <a href="/pages/legal-trademark" class="inline-block link-faded break-all">Legal & Trademark</a>
2108                        </li><li>
2109                          <a href="/pages/patents" class="inline-block link-faded break-all">Patents</a>
2110                        </li><li>
2111                          <a href="/pages/press" class="inline-block link-faded break-all">Press</a>
2112                        </li><li>
2113                          <a href="https://e.issuu.com/embed.html?backgroundColor=%23000000&d=sp_catalog&u=spinning.com" class="inline-block link-faded break-all">Catalog</a>
2114                        </li><li>
2115                          <a href="https://www.youtube.com/watch?v=sZFrbD9Y36M" class="inline-block link-faded break-all">Brand Video</a>
2116                        </li><li>
2117                          <a href="/pages/newsletter" class="inline-block link-faded break-all">Newsletter</a>
2118                        </li><li>
2119                          <a href="https://spinning.com/apps/collective/retailer-referral" class="inline-block link-faded break-all">Referral Page</a>
2120                        </li></ul>
2121                  </div></div><div class="footer__aside empty:hidden"><div class="footer__aside-top"><ul class="social-media " role="list"><li>
2122      <a href="https://www.facebook.com/Spinning" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Facebook"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-facebook" viewB
2122ox="0 0 24 24">
2123        <path fill-rule="evenodd" clip-rule="evenodd" d="M10.183 21.85v-8.868H7.2V9.526h2.983V6.982a4.17 4.17 0 0 1 4.44-4.572 22.33 22.33 0 0 1 2.667.144v3.084h-1.83a1.44 1.44 0 0 0-1.713 1.68v2.208h3.423l-.447 3.456h-2.97v8.868h-3.57Z" fill="currentColor"/>
2124      </svg></a>
2125    </li><li>
2126      <a href="https://www.instagram.com/spinninghq/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Instagram"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-instagram" viewBox="0 0 24 24">
2127        <path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.4c-2.607 0-2.934.011-3.958.058-1.022.046-1.72.209-2.33.446a4.705 4.705 0 0 0-1.7 1.107 4.706 4.706 0 0 0-1.108 1.7c-.237.611-.4 1.31-.446 2.331C2.41 9.066 2.4 9.392 2.4 12c0 2.607.011 2.934.058 3.958.046 1.022.209 1.72.446 2.33a4.706 4.706 0 0 0 1.107 1.7c.534.535 1.07.863 1.7 1.108.611.237 1.309.4 2.33.446 1.025.047 1.352.058 3.959.058s2.934-.011 3.958-.058c1.022-.046 1.72-.209 2.33-.446a4.706 4.706 0 0 0 1.7-1.107 4.706 4.706 0 0 0 1.108-1.7c.237-.611.4-1.31.446-2.33.047-1.025.058-1.352.058-3.959s-.011-2.934-.058-3.958c-.047-1.022-.209-1.72-.446-2.33a4.706 4.706 0 0 0-1.107-1.7 4.705 4.705 0 0 0-1.7-1.108c-.611-.237-1.31-.4-2.331-.446C14.934 2.41 14.608 2.4 12 2.4Zm0 1.73c2.563 0 2.867.01 3.88.056.935.042 1.443.199 1.782.33.448.174.768.382 1.104.718.336.336.544.656.718 1.104.131.338.287.847.33 1.783.046 1.012.056 1.316.056 3.879 0 2.563-.01 2.867-.056 3.88-.043.935-.199 1.444-.33 1.782a2.974 2.974 0 0 1-.719 1.104 2.974 2.974 0 0 1-1.103.718c-.339.131-.847.288-1.783.33-1.012.046-1.316.056-3.88.056-2.563 0-2.866-.01-3.878-.056-.936-.042-1.445-.199-1.783-.33a2.974 2.974 0 0 1-1.104-.718 2.974 2.974 0 0 1-.718-1.104c-.131-.338-.288-.847-.33-1.783-.047-1.012-.056-1.316-.056-3.879 0-2.563.01-2.867.056-3.88.042-.935.199-1.443.33-1.782.174-.448.382-.768.718-1.104a2.974 2.974 0 0 1 1.104-.718c.338-.131.847-.288 1.783-.33C9.133 4.14 9.437 4.13 12 4.13Zm0 11.07a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4Zm0-8.13a4.93 4.93 0 1 0 0 9.86 4.93 4.93 0 0 0 0-9.86Zm6.276-.194a1.152 1.152 0 1 1-2.304 0 1.152 1.152 0 0 1 2.304 0Z" fill="currentColor"/>
2128      </svg></a>
2129    </li><li>
2130      <a href="https://www.youtube.com/@spinning" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on YouTube"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-youtube" viewBox="0 0 24 24">
2131        <path fill-rule="evenodd" clip-rule="evenodd" d="M20.44 5.243c.929.244 1.66.963 1.909 1.876.451 1.654.451 5.106.451 5.106s0 3.452-.451 5.106a2.681 2.681 0 0 1-1.91 1.876c-1.684.443-8.439.443-8.439.443s-6.754 0-8.439-.443a2.682 2.682 0 0 1-1.91-1.876c-.45-1.654-.45-5.106-.45-5.106s0-3.452.45-5.106a2.681 2.681 0 0 1 1.91-1.876c1.685-.443 8.44-.443 8.44-.443s6.754 0 8.438.443Zm-5.004 6.982L9.792 15.36V9.091l5.646 3.134Z" fill="currentColor"/>
2132      </svg></a>
2133    </li><li>
2134      <a href="https://www.linkedin.com/showcase/spinning%C2%AE/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on LinkedIn"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-linkedin" viewBox="0 0 24 24">
2135        <path fill-rule="evenodd" clip-rule="evenodd" d="M7.349 5.478a1.875 1.875 0 1 0-3.749 0 1.875 1.875 0 1 0 3.749 0ZM7.092 19.2H3.857V8.78h3.235V19.2ZM12.22 8.78H9.121V19.2h3.228v-5.154c0-1.36.257-2.676 1.94-2.676 1.658 0 1.68 1.554 1.68 2.763V19.2H19.2v-5.715c0-2.806-.605-4.963-3.877-4.963-1.573 0-2.629.863-3.06 1.683h-.044V8.78Z" fill="currentColor"/>
2136      </svg></a>
2137    </li></ul><div class="h-stack gap-6"><link rel="stylesheet" href="//spinning.com/cdn/shop/t/33/assets/country-flags.css?v=86795920012595762121788585868" media="print" onload="this.media='all'; this.onload = null"><div class="relative">
2138      <button type="button" class="text-with-icon gap-2.5 group" aria-label="Change country or currency" aria-controls="popover-localization-form-country--sections--19025767301181__footer" aria-expanded="false">
2139        <div class="h-stack gap-2"><span class="country-flags country-flags--US"></span><span class="bold text-sm">United States (USD $)</span>
2140        </div><svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
2141        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
2142      </svg></button>
2143
2144      <x-popover id="popover-localization-form-country--sections--19025767301181__footer" initial-focus="[aria-selected='true']" anchor-horizontal="end" anchor-vertical="start" class="popover">
2145        <p class="h5" slot="title">Country</p><form method="post" action="/localization" id="localization-form-country--sections--19025767301181__footer" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/pages/contact-us" /><x-listbox class="popover-listbox popover-listbox--sm" role="listbox"><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="AI" >
2146                <span class="country-flags country-flags--AI"></span>
2147                <span>Anguilla (USD $)</span>
2148              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="AG" >
2149                <span class="country-flags country-flags--AG"></span>
2150                <span>Antigua &amp; Barbuda (USD $)</span>
2151              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="AR" >
2152                <span class="country-flags country-flags--AR"></span>
2153                <span>Argentina (USD $)</span>
2154              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="AW" >
2155                <span class="country-flags country-flags--AW"></span>
2156                <span>Aruba (USD $)</span>
2157              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="AU" >
2158                <span class="country-flags country-flags--AU"></span>
2159                <span>Australia (USD $)</span>
2160              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="BS" >
2161                <span class="country-flags country-flags--BS"></span>
2162                <span>Bahamas (USD $)</span>
2163              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="BB" >
2164                <span class="country-flags country-flags--BB"></span>
2165                <span>Barbados (USD $)</span>
2166              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="BZ" >
2167                <span class="country-flags country-flags--BZ"></span>
2168                <span>Belize (USD $)</span>
2169              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="BM" >
2170                <span class="country-flags country-flags--BM"></span>
2171                <span>Bermuda (USD $)</span>
2172              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="BO" >
2173                <span class="country-flags country-flags--BO"></span>
2174                <span>Bolivia (USD $)</span>
2175              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="BR" >
2176                <span class="country-flags country-flags--BR"></span>
2177                <span>Brazil (USD $)</span>
2178              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="VG" >
2179                <span class="country-flags country-flags--VG"></span>
2180                <span>British Virgin Islands (USD $)</span>
2181              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CA" >
2182                <span class="country-flags country-flags--CA"></span>
2183                <span>Canada (USD $)</span>
2184              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="BQ" >
2185                <span class="country-flags country-flags--BQ"></span>
2186                <span>Caribbean Netherlands (USD $)</span>
2187              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="KY" >
2188                <span class="country-flags country-flags--KY"></span>
2189                <span>Cayman Islands (USD $)</span>
2190              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CL" >
2191                <span class="country-flags country-flags--CL"></span>
2192                <span>Chile (USD $)</span>
2193              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CX" >
2194                <span class="country-flags country-flags--CX"></span>
2195                <span>Christmas Island (USD $)</span>
2196              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CC" >
2197                <span class="country-flags country-flags--CC"></span>
2198                <span>Cocos (Keeling) Islands (USD $)</span>
2199              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CO" >
2200                <span class="country-flags country-flags--CO"></span>
2201                <span>Colombia (USD $)</span>
2202              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CK" >
2203                <span class="country-flags country-flags--CK"></span>
2204                <span>Cook Islands (USD $)</span>
2205              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CR" >
2206                <span class="country-flags country-flags--CR"></span>
2207                <span>Costa Rica (USD $)</span>
2208              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CW" >
2209                <span class="country-flags country-flags--CW"></span>
2210                <span>Curaçao (USD $)</span>
2211              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="DM" >
2212                <span class="country-flags country-flags--DM"></span>
2213                <span>Dominica (USD $)</span>
2214              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="DO" >
2215                <span class="country-flags country-flags--DO"></span>
2216                <span>Dominican Republic (USD $)</span>
2217              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="EC" >
2218                <span class="country-flags country-flags--EC"></span>
2219                <span>Ecuador (USD $)</span>
2220              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="SV" >
2221                <span class="country-flags country-flags--SV"></span>
2222                <span>El Salvador (USD $)</span>
2223              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="FK" >
2224                <span class="country-flags country-flags--FK"></span>
2225                <span>Falkland Islands (USD $)</span>
2226              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="FJ" >
2227                <span class="country-flags country-flags--FJ"></span>
2228                <span>Fiji (USD $)</span>
2229              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="GF" >
2230                <span class="country-flags country-flags--GF"></span>
2231                <span>French Guiana (USD $)</span>
2232              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="PF" >
2233                <span class="country-flags country-flags--PF"></span>
2234                <span>French Polynesia (USD $)</span>
2235              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="GL" >
2236                <span class="country-flags country-flags--GL"></span>
2237                <span>Greenland (USD $)</span>
2238              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="GD" >
2239                <span class="country-flags country-flags--GD"></span>
2240                <span>Grenada (USD $)</span>
2241              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="GP" >
2242                <span class="country-flags country-flags--GP"></span>
2243                <span>Guadeloupe (USD $)</span>
2244              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="GT" >
2245                <span class="country-flags country-flags--GT"></span>
2246                <span>Guatemala (USD $)</span>
2247              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="GY" >
2248                <span class="country-flags country-flags--GY"></span>
2249                <span>Guyana (USD $)</span>
2250              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="HT" >
2251                <span class="country-flags country-flags--HT"></span>
2252                <span>Haiti (USD $)</span>
2253              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="HN" >
2254                <span class="country-flags country-flags--HN"></span>
2255                <span>Honduras (USD $)</span>
2256              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="HK" >
2257                <span class="country-flags country-flags--HK"></span>
2258                <span>Hong Kong SAR (USD $)</span>
2259              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="JM" >
2260                <span class="country-flags country-flags--JM"></span>
2261                <span>Jamaica (USD $)</span>
2262              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="JP" >
2263                <span class="country-flags country-flags--JP"></span>
2264                <span>Japan (USD $)</span>
2265              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="KI" >
2266                <span class="country-flags country-flags--KI"></span>
2267                <span>Kiribati (USD $)</span>
2268              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="MY" >
2269                <span class="country-flags country-flags--MY"></span>
2270                <span>Malaysia (USD $)</span>
2271              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="MQ" >
2272                <span class="country-flags country-flags--MQ"></span>
2273                <span>Martinique (USD $)</span>
2274              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="MX" >
2275                <span class="country-flags country-flags--MX"></span>
2276                <span>Mexico (USD $)</span>
2277              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="MS" >
2278                <span class="country-flags country-flags--MS"></span>
2279                <span>Montserrat (USD $)</span>
2280              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="NR" >
2281                <span class="country-flags country-flags--NR"></span>
2282                <span>Nauru (USD $)</span>
2283              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="NC" >
2284                <span class="country-flags country-flags--NC"></span>
2285                <span>New Caledonia (USD $)</span>
2286              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="NZ" >
2287                <span class="country-flags country-flags--NZ"></span>
2288                <span>New Zealand (USD $)</span>
2289              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="NI" >
2290                <span class="country-flags country-flags--NI"></span>
2291                <span>Nicaragua (USD $)</span>
2292              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="NU" >
2293                <span class="country-flags country-flags--NU"></span>
2294                <span>Niue (USD $)</span>
2295              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="NF" >
2296                <span class="country-flags country-flags--NF"></span>
2297                <span>Norfolk Island (USD $)</span>
2298              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="PA" >
2299                <span class="country-flags country-flags--PA"></span>
2300                <span>Panama (USD $)</span>
2301              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="PG" >
2302                <span class="country-flags country-flags--PG"></span>
2303                <span>Papua New Guinea (USD $)</span>
2304              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="PY" >
2305                <span class="country-flags country-flags--PY"></span>
2306                <span>Paraguay (USD $)</span>
2307              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="PE" >
2308                <span class="country-flags country-flags--PE"></span>
2309                <span>Peru (USD $)</span>
2310              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="PH" >
2311                <span class="country-flags country-flags--PH"></span>
2312                <span>Philippines (USD $)</span>
2313              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="PN" >
2314                <span class="country-flags country-flags--PN"></span>
2315                <span>Pitcairn Islands (USD $)</span>
2316              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="WS" >
2317                <span class="country-flags country-flags--WS"></span>
2318                <span>Samoa (USD $)</span>
2319              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="SG" >
2320                <span class="country-flags country-flags--SG"></span>
2321                <span>Singapore (USD $)</span>
2322              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="SX" >
2323                <span class="country-flags country-flags--SX"></span>
2324                <span>Sint Maarten (USD $)</span>
2325              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="SB" >
2326                <span class="country-flags country-flags--SB"></span>
2327                <span>Solomon Islands (USD $)</span>
2328              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="GS" >
2329                <span class="country-flags country-flags--GS"></span>
2330                <span>South Georgia &amp; South Sandwich Islands (USD $)</span>
2331              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="KR" >
2332                <span class="country-flags country-flags--KR"></span>
2333                <span>South Korea (USD $)</span>
2334              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="BL" >
2335                <span class="country-flags country-flags--BL"></span>
2336                <span>St. Barthélemy (USD $)</span>
2337              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="KN" >
2338                <span class="country-flags country-flags--KN"></span>
2339                <span>St. Kitts &amp; Nevis (USD $)</span>
2340              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="LC" >
2341                <span class="country-flags country-flags--LC"></span>
2342                <span>St. Lucia (USD $)</span>
2343              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="MF" >
2344                <span class="country-flags country-flags--MF"></span>
2345                <span>St. Martin (USD $)</span>
2346              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="PM" >
2347                <span class="country-flags country-flags--PM"></span>
2348                <span>St. Pierre &amp; Miquelon (USD $)</span>
2349              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="VC" >
2350                <span class="country-flags country-flags--VC"></span>
2351                <span>St. Vincent &amp; Grenadines (USD $)</span>
2352              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="SR" >
2353                <span class="country-flags country-flags--SR"></span>
2354                <span>Suriname (USD $)</span>
2355              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="TW" >
2356                <span class="country-flags country-flags--TW"></span>
2357                <span>Taiwan (USD $)</span>
2358              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="TH" >
2359                <span class="country-flags country-flags--TH"></span>
2360                <span>Thailand (USD $)</span>
2361              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="TK" >
2362                <span class="country-flags country-flags--TK"></span>
2363                <span>Tokelau (USD $)</span>
2364              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="TO" >
2365                <span class="country-flags country-flags--TO"></span>
2366                <span>Tonga (USD $)</span>
2367              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="TT" >
2368                <span class="country-flags country-flags--TT"></span>
2369                <span>Trinidad &amp; Tobago (USD $)</span>
2370              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="TC" >
2371                <span class="country-flags country-flags--TC"></span>
2372                <span>Turks &amp; Caicos Islands (USD $)</span>
2373              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="TV" >
2374                <span class="country-flags country-flags--TV"></span>
2375                <span>Tuvalu (USD $)</span>
2376              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="UM" >
2377                <span class="country-flags country-flags--UM"></span>
2378                <span>U.S. Outlying Islands (USD $)</span>
2379              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="US" aria-selected="true">
2380                <span class="country-flags country-flags--US"></span>
2381                <span>United States (USD $)</span>
2382              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="UY" >
2383                <span class="country-flags country-flags--UY"></span>
2384                <span>Uruguay (USD $)</span>
2385              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="VU" >
2386                <span class="country-flags country-flags--VU"></span>
2387                <span>Vanuatu (USD $)</span>
2388              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="VE" >
2389                <span class="country-flags country-flags--VE"></span>
2390                <span>Venezuela (USD $)</span>
2391              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="VN" >
2392                <span class="country-flags country-flags--VN"></span>
2393                <span>Vietnam (USD $)</span>
2394              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="WF" >
2395                <span class="country-flags country-flags--WF"></span>
2396                <span>Wallis &amp; Futuna (USD $)</span>
2397              </button></x-listbox></form></x-popover>
2398    </div></div></div><div class="footer__aside-bottom"><div class="footer__copyright v-stack gap-1">
2399            <p class="text-sm text-subdued">© 2026, Spinning. <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=p
2399oweredby&amp;utm_medium=shopify&amp;utm_source=onlinestore">Powered by Shopify</a></p></div>
2400        </div>
2401      </div>
2402    </div>
2403  </div>
2404</div>
2405
2406<style> #shopify-section-sections--19025767301181__footer .footer {background-color: #000000;} #shopify-section-sections--19025767301181__footer a {font-weight: 500; font-size: 14px;} </style></footer>
2407<!-- END sections: footer-group --></main>
2408  <style> .button {background-color: #000000; color: #ffffff; letter-spacing: 2px; font-weight: 200; text-transform: capitalize !important;} .image-with-text-overlay {margin-top: 2px;} .product-info__sku {font-size: 14px; font-weight: 500;} </style>
2409<div id="shopify-block-AdEg4TnpCWURjL090R__13375078075628245689" class="shopify-block shopify-app-block">
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430</div><div id="shopify-block-AakNoTzR0N0NkN3Z2W__11532412952436166569" class="shopify-block shopify-app-block">
2431
2432
2433	<!-- __LXV: 1790125504380;__LXR: https://loox.io;__LXC: fzFCYOawr1; -->
2433<script>var loox_global_hash = '1790125504380';
2434var loox_bundle_reviews_enabled = false;</script>
2434<style>.loox-reviews-default { max-width: 1200px; margin: 0 auto; }.loox-rating .loox-icon { color:#C4122E; }
2435:root { --lxs-rating-icon-color: #C4122E; }</style>
2436
2437
2438
2439
2440
2441
2442
2443</div><div id="shopify-block-ASytkSGVQMWtUVHhhd__2102808784413787648" class="shopify-block shopify-app-block">
2443<script>
2444        window.cartbiteMainJsUrl="https://s1.staq-cdn.com/grow/api/js/59803303997/main.js?sId=59803303997&v=MZ8H93INWK11ZSETUV2KA2SM";
2445        window.cartBiteCollectionJsUrl="https://cdn.shopify.com/extensions/01a0acae-48ed-764e-9b04-878137b134ab/cartbite-83/assets/cartbite-collection.js"
2446        setTimeout(async ()=>{
2447          if(!window.growAppEmbedLoaded){
2448            !async function(){window.growAppEmbedLoaded=!0;let t=async()=>{if(window.growClient)return;window.cartbiteMainJsUrl||await new Promise(t=>{setTimeout(()=>{t()},1e3)}),window.cartbiteMainJsUrl||(window.cartbiteMainJsUrl=`https://s1.staq-cdn.com/grow/api/js/main.js?sId=${encodeURIComponent(Shopify.shop)}&v=${new Date().valueOf()}&cfs=skip`);let t=document.createElement("script");t.src=window.cartbiteMainJsUrl,t.async=!0,document.getElementsByTagName("head")[0].appendChild(t)};await t(),setTimeout(async()=>{let a=!1;try{a=window.growClient||(await (await fetch("https://s1.staq-cdn.com/api/status")).json()).isActive}catch(s){console.error("Error in getting script from cdn",s)}a||(window.cartbiteMainJsUrl=window.cartbiteMainJsUrl.replace("https://s1.staq-cdn.com","https://js-server.staqlab.com"),await t())},1e3)}();
2449          }
2450        },1500);
2451        window.gwProductInventoryPolicy={};window.gwProductInventoryQuantity={};window.grow_market="us";
2452
2453
2454</script>
2454
2455
2456</div><div id="shopify-block-AZFd6aGFnS21FS1hVa__13768625480086291342" class="shopify-block shopify-app-block">
2456<script>
2457  window['ShopifyForms'] = {
2458    ...window['ShopifyForms'],
2459    currentPageType: "page"
2460  };
2461</script>
2461
2462
2463
2464</div><div id="shopify-block-AaUY3TDlOK3J2UVAyQ__4015264832934714879" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: ecomsend-app -->
2464<script type="text/javascript">
2465  //SendWILL APPS COMMON JS CODE
2466  window.EcomSendApps = window.EcomSendApps || {}
2467
2468  window.EcomSendApps.design_mode = false
2469  
2470
2471  window.EcomSendApps.common = window.EcomSendApps.common || {}
2472  window.EcomSendApps.common.shop = {
2473    permanent_domain: '0e243e-e9.myshopify.com',
2474    currency: "USD",
2475    money_format: "${{amount}}",
2476    id: 59803303997,
2477  }
2478
2479  
2480  
2481    window.EcomSendApps.common.customer = {
2482      id: null,
2483      tags: null,
2484      email: null,
2485      accepts_marketing: null,
2486      first_name: null,
2487    }
2488  
2489
2490  
2491  window.EcomSendApps.common.template = 'page'
2492</script>
2492
2493<!-- END app snippet -->
2494
2495<script>
2496  window.EcomSendApps = window.EcomSendApps || {}
2497  /** @description shared localStorage key used by web-pixel sandbox to read storefront GDPR mode */
2498  const ECOMSEND_GDPR_ENABLED_STORAGE_KEY = "ECOMSEND:GDPR_ENABLED"
2499  /** @description storefront main bundle asset url */
2500  const ECOMSEND_MAIN_SCRIPT_URL = 'https://cdn.shopify.com/extensions/01a0d28e-b1b8-7cde-aaa7-5e10be7991d9/ecomsend-207/assets/ecomsend.js'
2501  /** @description storefront style asset url */
2502  const ECOMSEND_MAIN_STYLE_URL = 'https://cdn.shopify.com/extensions/01a0d28e-b1b8-7cde-aaa7-5e10be7991d9/ecomsend-207/assets/style.css'
2503  /** @description storefront wasm asset url for runtime signature module */
2504  const ECOMSEND_WASM_ASSET_URL = 'https://cdn.shopify.com/extensions/01a0d28e-b1b8-7cde-aaa7-5e10be7991d9/ecomsend-207/assets/client_safe.wasm'
2505  /** @description fallback delay when requestIdleCallback is unavailable */
2506  const ECOMSEND_IDLE_TIMEOUT_MS = 800
2507  /** @description user interaction events used to trigger lazy init earlier */
2508  const ECOMSEND_INTERACTION_EVENTS = ["pointerdown", "keydown", "touchstart"]
2509  /** @description global flag key for emergency immediate loading */
2510  const ECOMSEND_FORCE_IMMEDIATE_FLAG = window.EcomSendApps?.forceImmediateLoad === true
2511  /** @description default GDPR mode comes from block setting and can be overridden on window.EcomSendApps.GDPR */
2512  const ECOMSEND_DEFAULT_GDPR_FLAG = false
2513  /** @description default CWTracks mode comes from block setting and can be overridden on window.EcomSendApps.CWTracksEnabled */
2514  const ECOMSEND_DEFAULT_CWTRACKS_ENABLED = false
2515
2516  /** @description normalize merchant-provided GDPR switch into a strict boolean value */
2517  function normalizeEcomsendBooleanFlag(rawValue) {
2518    if (typeof rawValue === "boolean") {
2519      return rawValue
2520    }
2521    if (typeof rawValue === "number") {
2522      return rawValue === 1
2523    }
2524    if (typeof rawValue === "string") {
2525      const normalizedValue = rawValue.trim().toLowerCase()
2526      return normalizedValue === "true" || normalizedValue === "1" || normalizedValue === "yes"
2527    }
2528    return false
2529  }
2530
2531  /** @description lock runtime switch value on EcomSendApps to reduce accidental console overwrite. */
2532  function lockEcomsendReadonlyFlag(flagName, flagValue) {
2533    try {
2534      Object.defineProperty(window.EcomSendApps, flagName, {
2535        value: flagValue,
2536        writable: false,
2537        configurable: false,
2538        enumerable: true,
2539      })
2540      return
2541    } catch (error) {}
2542    window.EcomSendApps[flagName] = flagValue
2543  }
2544
2545  /** @description resolve storefront GDPR mode from merchant theme override */
2546  function resolveEcomsendGdprMode() {
2547    if (typeof window.EcomSendApps.GDPR === "undefined") {
2548      window.EcomSendApps.GDPR = ECOMSEND_DEFAULT_GDPR_FLAG
2549    }
2550    const gdprEnabled = normalizeEcomsendBooleanFlag(window.EcomSendApps.GDPR)
2551    window.EcomSendApps.GDPR = gdprEnabled
2552    return gdprEnabled
2553  }
2554
2555  /** @description resolve storefront CWTracks mode from merchant theme block setting and runtime override */
2556  function resolveEcomsendCwTracksMode() {
2557    if (typeof window.EcomSendApps.CWTracksEnabled === "undefined") {
2558      window.EcomSendApps.CWTracksEnabled = ECOMSEND_DEFAULT_CWTRACKS_ENABLED
2559    }
2560    const cwTracksEnabled = normalizeEcomsendBooleanFlag(window.EcomSendApps.CWTracksEnabled)
2561    window.EcomSendApps.CWTracksEnabled = cwTracksEnabled
2562    return cwTracksEnabled
2563  }
2564
2565  /** @description persist storefront GDPR mode so web-pixel sandbox can consume the same switch */
2566  function syncEcomsendGdprModeToStorage(gdprEnabled) {
2567    if (!window.localStorage) {
2568      return
2569    }
2570    if (gdprEnabled) {
2571      window.localStorage.setItem(ECOMSEND_GDPR_ENABLED_STORAGE_KEY, "true")
2572      return
2573    }
2574    window.localStorage.removeItem(ECOMSEND_GDPR_ENABLED_STORAGE_KEY)
2575  }
2576
2577  /** @description enable GDPR gating only when merchant explicitly turns on storefront GDPR mode */
2578  const ECOMSEND_GDPR_ENABLED = resolveEcomsendGdprMode()
2579  /** @description enable CWTracks callback/event emit only when merchant turns on CWTracks mode. */
2580  const ECOMSEND_CWTRACKS_ENABLED = resolveEcomsendCwTracksMode()
2581  lockEcomsendReadonlyFlag("GDPR", ECOMSEND_GDPR_ENABLED)
2582  lockEcomsendReadonlyFlag("CWTracksEnabled", ECOMSEND_CWTRACKS_ENABLED)
2583
2584  try {
2585    syncEcomsendGdprModeToStorage(ECOMSEND_GDPR_ENABLED)
2586  } catch (error) {}
2587
2588  /** @description create main stylesheet node for storefront runtime */
2589  function createEcomSendMainStyleEle() {
2590    const ecomsendMainStyleEle = document.createElement("link")
2591    ecomsendMainStyleEle.rel = "stylesheet"
2592    ecomsendMainStyleEle.href = ECOMSEND_MAIN_STYLE_URL
2593    ecomsendMainStyleEle.dataset.ecomsendTag = "main-style"
2594    return ecomsendMainStyleEle
2595  }
2596
2597  /** @description append runtime stylesheet exactly once */
2598  function ensureEcomSendMainStyleLoaded() {
2599    if (document.querySelector('link[data-ecomsend-tag="main-style"]')) {
2600      return
2601    }
2602    const ecomsendMainStyleEle = createEcomSendMainStyleEle()
2603    document.head.appendChild(ecomsendMainStyleEle)
2604  }
2605
2606  /** @description remove interaction listeners after first lazy-init trigger */
2607  function clearInteractionListeners() {
2608    ECOMSEND_INTERACTION_EVENTS.forEach((eventName) => {
2609      window.removeEventListener(eventName, scheduleMainBundleLoad)
2610    })
2611  }
2612
2613  /** @description run low-priority task via idle callback with timeout fallback */
2614  function scheduleLowPriorityTask(taskRunner, timeoutMs) {
2615    if (window.requestIdleCallback) {
2616      window.requestIdleCallback(() => {
2617        taskRunner()
2618      }, { timeout: timeoutMs })
2619      return
2620    }
2621    window.setTimeout(() => {
2622      taskRunner()
2623    }, timeoutMs)
2624  }
2625
2626  /** @description load main storefront bundle once and keep rollback override */
2627  function loadEcomsendMainBundle() {
2628    if (window.__ecomsendMainBundleLoaded) {
2629      return
2630    }
2631    window.__ecomsendMainBundleLoaded = true
2632    clearInteractionListeners()
2633    /** @description ensure storefront runtime css is loaded together with main bundle */
2634    ensureEcomSendMainStyleLoaded()
2635    const ecomsendMainScriptEle = document.createElement("script")
2636    ecomsendMainScriptEle.src = ECOMSEND_MAIN_SCRIPT_URL
2637    ecomsendMainScriptEle.async = true
2638    ecomsendMainScriptEle.dataset.ecomsendTag = "main-script"
2639    document.body.appendChild(ecomsendMainScriptEle)
2640  }
2641
2642  /** @description schedule heavy bundle with idle-first strategy to reduce main-thread contention */
2643  function scheduleMainBundleLoad() {
2644    if (window.__ecomsendMainBundleLoadScheduled) {
2645      return
2646    }
2647    /** @description dedupe idle scheduling from DOMContentLoaded and first interactions */
2648    window.__ecomsendMainBundleLoadScheduled = true
2649    if (ECOMSEND_FORCE_IMMEDIATE_FLAG) {
2650      loadEcomsendMainBundle()
2651      return
2652    }
2653    scheduleLowPriorityTask(loadEcomsendMainBundle, ECOMSEND_IDLE_TIMEOUT_MS)
2654  }
2655
2656  /** @description cache marketing params for pixel/report flows before heavy bundle starts */
2657  function cacheMarketingParams() {
2658    const urlParams = new URLSearchParams(window.location.search)
2659    const marketingId = urlParams.get("ec_marketing_id")
2660    const ecEmailId = urlParams.get("ec_email_id")
2661    const ecMarketingSign = urlParams.get("ec_marketing_sign")
2662
2663    if (marketingId && window.localStorage) {
2664      window.localStorage.setItem("ec_marketing_id", marketingId)
2665    }
2666    if (ecEmailId && window.localStorage) {
2667      window.localStorage.setItem("ec_email_id", ecEmailId)
2668    }
2669    if (ecMarketingSign && window.localStorage) {
2670      window.localStorage.setItem("ec_marketing_sign", ecMarketingSign)
2671    }
2672  }
2673
2674  /** @description check whether marketing storage is allowed under Shopify customer privacy state */
2675  function isMarketingStorageAllowedByCustomerPrivacy() {
2676    const customerPrivacy = window?.Shopify?.customerPrivacy
2677    if (!customerPrivacy) {
2678      return false
2679    }
2680    const marketingAllowed = typeof customerPrivacy.marketingAllowed === "function" && customerPrivacy.marketingAllowed()
2681    if (marketingAllowed) {
2682      return true
2683    }
2684    if (typeof customerPrivacy.currentVisitorConsent === "function") {
2685      const consent = customerPrivacy.currentVisitorConsent()
2686      return consent?.marketing === "yes"
2687    }
2688    return false
2689  }
2690
2691  /** @description check whether analytics storage is allowed under Shopify customer privacy state */
2692  function isAnalyticsStorageAllowedByCustomerPrivacy() {
2693    const customerPrivacy = window?.Shopify?.customerPrivacy
2694    if (!customerPrivacy) {
2695      return false
2696    }
2697    const analyticsAllowed = typeof customerPrivacy.analyticsProcessingAllowed === "function" && customerPrivacy.analyticsProcessingAllowed()
2698    if (analyticsAllowed) {
2699      return true
2700    }
2701    if (typeof customerPrivacy.currentVisitorConsent === "function") {
2702      const consent = customerPrivacy.currentVisitorConsent()
2703      return consent?.analytics === "yes"
2704    }
2705    return false
2706  }
2707
2708  /** @description execute marketing param caching with GDPR guard: functional off when GDPR disabled */
2709  function cacheMarketingParamsWithGdprGuard() {
2710    if (!ECOMSEND_GDPR_ENABLED) {
2711      cacheMarketingParams()
2712      return
2713    }
2714    if (isMarketingStorageAllowedByCustomerPrivacy()) {
2715      cacheMarketingParams()
2716    }
2717  }
2718
2719  /** @description cache shop id used by pixel report branches */
2720  function cacheShopIdForPixel() {
2721    if (!window.EcomSendApps?.common?.shop?.id || !window.localStorage) {
2722      return
2723    }
2724    window.localStorage.setItem("ECOMSEND:ES_SHOP_ID", window.EcomSendApps.common.shop.id)
2725  }
2726
2727  /**
2728   * Flow client config (e.g. browserStaySeconds) is fetched by the main ecomsend.js bundle:
2729   * bootstrapFlowClientConfig → POST /api/automation/v2/clientFlowConfig (API Sign)
2730   * → localStorage ECOMSEND:FLOW_CLIENT_CONFIG.byEventId → read by web-pixel.
2731   * Keep new C-end Flow config on this path; do not scatter fetches in liquid.
2732   */
2733
2734  /** @description execute shop id caching with GDPR guard and shared consent policy */
2735  function cacheShopIdWithGdprGuard() {
2736    if (!ECOMSEND_GDPR_ENABLED) {
2737      cacheShopIdForPixel()
2738      return
2739    }
2740    if (isAnalyticsStorageAllowedByCustomerPrivacy()) {
2741      cacheShopIdForPixel()
2742    }
2743  }
2744
2745  /** @description load Shopify consent-tracking API before GDPR-gated cache writes */
2746  function withCustomerPrivacyApiReady(onReady) {
2747    if (!ECOMSEND_GDPR_ENABLED) {
2748      onReady()
2749      return
2750    }
2751    if (window?.Shopify?.customerPrivacy) {
2752      onReady()
2753      return
2754    }
2755    if (typeof window?.Shopify?.loadFeatures !== "function") {
2756      return
2757    }
2758    window.Shopify.loadFeatures(
2759      [{ name: "consent-tracking-api", version: "0.1" }],
2760      (error) => {
2761        if (error) {
2762          return
2763        }
2764        onReady()
2765      }
2766    )
2767  }
2768
2769  try {
2770    withCustomerPrivacyApiReady(() => {
2771      cacheMarketingParamsWithGdprGuard()
2772      cacheShopIdWithGdprGuard()
2773    })
2774    if (ECOMSEND_GDPR_ENABLED) {
2775      document.addEventListener("visitorConsentCollected", () => {
2776        cacheMarketingParamsWithGdprGuard()
2777        cacheShopIdWithGdprGuard()
2778      })
2779    }
2780  } catch (e) {}
2781
2782  /** @description inject wasm asset url into shared namespace before main bundle executes */
2783  window.EcomSendApps.wasmURL = ECOMSEND_WASM_ASSET_URL
2784
2785  ECOMSEND_INTERACTION_EVENTS.forEach((eventName) => {
2786    window.addEventListener(eventName, scheduleMainBundleLoad, { once: true, passive: true })
2787  })
2788
2789  if (document.readyState === "loading") {
2790    document.addEventListener("DOMContentLoaded", scheduleMainBundleLoad, { once: true })
2791  } else {
2792    scheduleMainBundleLoad()
2793  }
2794</script>
2794
2795
2796<style id="ecomsend-custom-style"></style>
2797
2798<script>window.shopLocale = 'en'</script>
2798
2799
2800<script>
2801  /** @description timeout used for deferred discount request scheduling */
2802  const ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS = 1500
2803
2804  /** @description apply discount code from url query only when parameter exists */
2805  function applyWillDiscountCode() {
2806    const urlParams = new URLSearchParams(window.location.search)
2807    const willDiscountCode = urlParams.get("willDiscountCode")
2808    if (!willDiscountCode || /[\u0000-\u001F\u007F]/.test(willDiscountCode)) {
2809      return
2810    }
2811    fetch("/cart/update.js", {
2812      method: "POST",
2813      headers: {
2814        "Content-Type": "application/json",
2815      },
2816      body: JSON.stringify({
2817        discount: willDiscountCode,
2818      }),
2819    })
2820  }
2821
2822  try {
2823    if (!window.__ecomsendDeferredTasksScheduled) {
2824      /** @description global guard to avoid duplicate deferred task scheduling */
2825      window.__ecomsendDeferredTasksScheduled = true
2826      if (window.requestIdleCallback) {
2827        window.requestIdleCallback(() => {
2828          applyWillDiscountCode()
2829        }, { timeout: ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS })
2830      } else {
2831        window.setTimeout(() => {
2832          applyWillDiscountCode()
2833        }, ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS)
2834      }
2835    }
2836  } catch (error) {}
2837</script>
2837
2838
2839
2840
2841</div><div id="shopify-block-AcFN1M1hVN1RCVTB6Y__5057006142565981955" class="shopify-block shopify-app-block">
2841<script type="text/javascript">
2842  const promoConfig = {
2843    fontSize: '16',
2844    logoType: 'logo',
2845    logoColor: 'blue',
2846    pageType: 'cart',
2847    textAlign: 'left'
2848  };
2849  const drawerAppData = '{"theme_app_configuration"=>Metafields::MetafieldDrop}';
2850  const drawerPromoAppConfig = (drawerAppData == '{}') ? {} : JSON.parse('{"region_public_keys":{"us":"5RE551VO1DYI4LUL","ca":""}}') ;
2851  const drawerHasRegionKeys = drawerPromoAppConfig.hasOwnProperty('region_public_keys');
2852  let drawerPublicKey = null;
2853  if (Shopify.country == 'US') 
2854    drawerPublicKey = (drawerHasRegionKeys) ? drawerPromoAppConfig.region_public_keys.us : null;
2855  if (Shopify.country == 'CA') 
2856    drawerPublicKey = (drawerHasRegionKeys) ? drawerPromoAppConfig.region_public_keys.ca : null;      
2857  const affirmPublicApiKeyCartDrawer = ('') ? '' : drawerPublicKey;
2858  const customDrawerTotalSelector = ('') ? '' : null;
2859  const customAdjacentElementSelector = ('') ? '' : null;
2860  const customAddToCartSelector = ('') ? '' : null;
2861  const customCartDrawerSelector = ('') ? '' : null;
2862  const publicKeyEntered = ('') ? '' : null;
2863</script>
2863
2864
2865</div>
2865<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2865
2866<shopify-store store-domain="https://spinning.com" country="US" language="en"></shopify-store>
2867<shopify-chat></shopify-chat>
2868</body>
2869</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.