\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSPOKES\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eStainless 14g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eRIMS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eWTB SX19\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFRONT TIRE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eWTB Horizon Comp Puncture Protect 650x47c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eREAR TIRE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eWTB Horizon Comp Puncture Protect 650x47c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"alt
ragment=\"1\"\u003eBATTERYLOCK\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eAbus\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003ePAINT COLOR\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eSatin Black w\/ Metallic Mint \u0026amp; Metallic Silver Decals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eEXTRAS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eFenders, Front \u0026amp; Rear Light, Kickstand\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"specs_notice\" data-mce-fragment=\"1\"\u003eAll specifications are subject to change without notice\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"kro_geo\" data-mce-fragment=\"1\"\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\u00
-fragment=\"1\"\u003e1\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eST LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e420\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e470\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e520\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e580\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e2\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eTT LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e548\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e594\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e633\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e683\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class
e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e5\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSTANDOVER\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e692\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e736\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e782\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e832\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e6\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eHT ANGLE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e9\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCS LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e460\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e460\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e460\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e460\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e10\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eBB DROP\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e60\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e60\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e60\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e60\u003c\/td\u003e\n
1\"\u003e1197\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e13\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFRONT CENTER\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e635\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e674\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e704\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e743\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e14\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFORK LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e410\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e410\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e410\u003c\/td\u003e\n\u003ctd cla Dew-E - Extra Large","public_title":"Extra Large","options":["Extra Large"],"price":219900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/my23_dew_e_1066x_f2f0a43b-77bd-4d35-82c5-b920356f72de.jpg?v=1720109291","\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0033-Dew-EDetails_400x_2x_7fb8d046-8a04-45c6-890b-e9afb789577e.jpg?v=1720109299","\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0035-Dew-EDetails_1066x_4b2b52b2-14ad-441e-99eb-5f0257301bd0.jpg?v=1720109312","\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0062-Dew-EDetails_1066x_9d12bf05-9b14-49a6-a70a-e6be28459425.jpg?v=1720109324","\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0059-Dew-EDetails_1066x_39c5fbcb-d30c-4c6d-a706-82eae0afc633.jpg?v=1720109335","\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona1118-Dew-EDetails_1066x_e7d5a893-fd3d-496c-bd39-8a5a0a55d2c7.jpg?v=17
20109352"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/my23_dew_e_1066x_f2f0a43b-77bd-4d35-82c5-b920356f72de.jpg?v=1720109291","options":["Size"],"media":[{"alt":null,"id":34188753141986,"position":1,"preview_image":{"aspect_ratio":1.333,"height":800,"width":1066,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/my23_dew_e_1066x_f2f0a43b-77bd-4d35-82c5-b920356f72de.jpg?v=1720109291"},"aspect_ratio":1.333,"height":800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/my23_dew_e_1066x_f2f0a43b-77bd-4d35-82c5-b920356f72de.jpg?v=1720109291","width":1066},{"alt":null,"id":34188753797346,"position":2,"preview_image":{"aspect_ratio":1.333,"height":600,"width":800,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0033-Dew-EDetails_400x_2x_7fb8d046-8a04-45c6-890b-e9afb789577e.jpg?v=1720109299"},"aspect_ratio":1.333,"height":600,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0033-Dew-EDetails_400x_2x_7fb8d046-8a04-45c6-890b-e9afb789577e.jpg?v <=1720109299","width":800},{"alt":null,"id":34188755206370,"position":3,"preview_image":{"aspect_ratio":1.333,"height":800,"width":1066,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0035-Dew-EDetails_1066x_4b2b52b2-14ad-441e-99eb-5f0257301bd0.jpg?v=1720109312"},"aspect_ratio":1.333,"height":800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0035-Dew-EDetails_1066x_4b2b52b2-14ad-441e-99eb-5f0257301bd0.jpg?v=1720109312","width":1066},{"alt":null,"id":34188756287714,"position":4,"preview_image":{"aspect_ratio":1.333,"height":800,"width":1066,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0062-Dew-EDetails_1066x_9d12bf05-9b14-49a6-a70a-e6be28459425.jpg?v=1720109324"},"aspect_ratio":1.333,"height":800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona0062-Dew-EDetails_1066x_9d12bf05-9b14-49a6-a70a-e6be28459425.jpg?v=1720109324","width":1066},{"alt":null,"id":34188758089954,"position":5,"preview_image":{"aspect_ratio":1.3| 9269090 : "",45664159301858 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {45664159203554 : null,45664159236322 : null,45664159269090 : null,45664159301858 : null,}; window._RestockRocketConfig.selected_variant_id = 45664159236322; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._ResFrame tockRocketConfig.host = 'https://app.restockrocket.io' const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds function checkSettingsExpiry(settings) { try { if (!settings || !settings.updated_at) { console.debug('STOQ - Invalid settings data structure'); return null; } if (!settings.cache) { console.debug('STOQ - settings caching disabled'); return null; } // Check if translations are enabled but missing from cache // This handles the backfill period where DB has translations but metafield doesn't if (settings.multi_language_enabled) { if (!settings.translations) { // Translations enabled but no translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cach | e is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const age = Date.now() - updatedAt.getTime(); if (age Life Systems Pocket First Aid Kit - HIRE<SETTINGS_CACHE_DURATION) { console.debug('STOQ - settings changed recently, skipping cache'); return null; } return settings; } catch (error) { console.debug('STOQ - Error checking settings cache:', error); return null; } } function createRestockRocketContainer() { const restockRocketContainer = document.createElement('div'); restockRocketContainer.id = 'restock-rocket'; document.body.appendChild(restockRocketContainer); } function createRestockRocketScript(scriptUrl) { const restockRocketScriptElement = document.createElement('script'); restockRocketScriptElement.setAttribute('defer', 'defer'); restockRocketScriptElement.src = scriptUrl; document.body.appendChild(restockRocketScriptElement); } createRestockRocketContainer() console.debug('STOQ - extension activated') function applyTranslations(settings) { try { // Skip translation logic entirely if multi-language is not enabled if (!settings || High-performance hydroformed alloy, Removable Integrated Battery, internal cable routing, Motor Armour, post-mount disc !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalized | Locale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[key]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedLocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = windo
|---|---|
| < |
>
SR Suntour Mobie 34, air spring, rebound and compression adjust, tapered alloy steerer, 100x15 mm thru axle, 60 mm travel> | .restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20
| Saddle | Selle Royal ON relaxedLocation |
|---|---|
| SeatpostEH9 1QN | Ergotec PM705-N suspension |
| Handlebar[email protected] | Alloy, 31.8 mm clamp, 25 mm rise, 630 mm width |
| Grips | Bontrager Satellite Elite, alloy lock-on |
| Stem. | Alloy adjustable stem, 110 mm length Website by | Juan Borges Designs
| *Brake |
Size: |
| "inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"market_setup_type":"single_market","shopify_app_id":5940125,"cache":true,"cached_at":"2025-11-11T14:27:02.333Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43590980075746,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,43936124141794,43936124174562,43936129941730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,439361
52092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936333103330,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439Size:,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2025-12-14T23:16:45Z","market_locations_enabled":false,"market_id":382140642,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2025-12-14T23:16:44Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2025-12-14T23:16:44Z","shopify_market_id":382140642,"market_locations_enabled":false};
window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z"," delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","preorder_min_quantity":null,"preorder_L, XL, XXLmax_quantity":null,"countdown_timer_enabled":false,"countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true}];window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":8055067017442,"title":"Brooks Brick Lane Panniers","handle":"brooks-brick-lane-panniers","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"col\"\u003e\n\u003cdiv class=\"description\"\u003e\n\u003cp\u003eInspired by the Cyclists’ Holdalls first featured in the 1890’s catalogue and made from water resistant cotton with leather finishing.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCrossed elastic straps allow additional items to be loaded\u003c\/li\u003e\n\u003cli\u003eSingle piece pannier set with leather carrying handle\u003c\/li\u003e\n\u003cli\u003eSelf-closing magnets hold flaps in place\u003c\/li\u003e\n\u003cli\u003eEasy-to-use roll up design\u003c\/li\u003e\n\u003cli\u003eWater resistant canvas \u0026amp; vegetable tanned leather\u003c\/li\u003e\n\u003cli\u003eHandmade in Italy\u003c\/li\u003e\n\u003cli\u003 eW:34cm, H:36cm, D:10cm\u003c\/li\u003e\n\u003cli\u003eVol:15L per side Weight: 950g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col\"\u003e\n\u003cdiv class=\"features\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2023-03-18T11:58:31+00:00","created_at":"2023-03-18T11:58:31+00:00","vendor":"ProjektRide","type":"Apparel \u0026 Accessories","tags":["Bags and Transportation","Bike Packing","brooks","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":18000,"price_min":18000,"price_max":18000,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":43936078037218,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"BB001A07200","requires_shipping":true,"taxable":true,"featured_image":{"id":39096276386018,"product_id":8055067017442,"position":1,"created_at":"2023-03-18T11:58:31+00:00","updated_at":"2023-Shimano MT401 / MT420 hydraulic disc03-18T11:58:34+00:00","alt":null,"width":776,"height":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714","variant_ids":[43936078037218]},"available":true,"name":"Brooks Brick Lane Panniers - Black","public_title":"Black","options":["Black"],"price":18000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31694684127458,"position":1,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43936078069986,"title":"Grey","option1":"Grey","option2":null,"option3":null,"sku":"BB001A07201","requires_shipping":true,"taxable":true,"featured_image":{"id":39096276451554,"product_id":8055067017442,"position":5,"created_at":"2023-03-18T11:58:31+00:00","updated_at":"2023-03-18T11:58:34+00:00","alt":null,"width":776,"height":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/333 | 71-pm.png?v=1679140714","variant_ids":[43936078069986]},"available":true,"name":"Brooks Brick Lane Panniers - Grey","public_title":"Grey","options":["Grey"],"price":18000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31694684258530,"position":5,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714","\/\/projektride.co.uk\/cdn\/shop\/products\/20806-pm.png?v=1679140714","\/\/projektride.co.uk\/cdn\/shop\/products\/20807-pm.png?v=1679140715","\/\/projektride.co.uk\/cdn\/shop\/products\/20805-pm.png?v=1679140713","\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714","\/\/projektride.co.uk\/cdn\/shop\/products\/20809-pm.png?v=1679140713","\/\/projektride.co.uk\/cdn\/shop\/products\/33370-pm.png?v=16791
40714","\/\/projektride.co.uk\/cdn\/shop\/products\/33372-pm.png?v=1679140713"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714","options":["Color"],"media":[{"alt":null,"id":31694684127458,"position":1,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714","width":776},{"alt":null,"id":31694684160226,"position":2,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20806-pm.png?v=1679140714"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20806-pm.png?v=1679140714","width":776},{"alt":null,"id":31694684192994,"position":3,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20807-pm.pn|
| le;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = 'https://app.restockrocket.io' const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds function checkSettingsExpiry(settings) { try { if (!settings || !settings.updated_at) { console.debug('STOQ - Invalid settings data structure'); return null; } if (!settings.cache) { console.debug('STOQ - settings caching disabled'); return null; } // Check if tran*Brake rotorslations are enabled but missing from cache // This handles the backfill period where DB has translations but metafield doesn't if (settings.multi_language_enabled) { if (!settings.translations) { // Translations enabled but no translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using | cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const age = Date.now() - updatedAt.getTime(); if (age < SETTINGS_CACHE_DURATION) {
console.debug('STOQ - settings changed recently, skipping cache');
return null;
}
return settings;
} catch (error) {
console.debug('STOQ - Error checking settings cache:', error);
return null;
}
}
function createRestockRocketContainer() {
const restockRocketContainer = document.createElement('div');
restockRocketContainer.id = 'restock-rocket';
document.body.appendChild(restockRocketContainer);
}
function createRestockRocketScript(scriptUrl) {
const restockRocketScriptElement = document.createElement('script');
restockRocketScriptElement.setAttribute('defer', 'defer');
restockRocketScriptElement.src = scriptUrl;
document.body.appendChild(restockRocketScriptElement);
}
createRestockRocketContainer()
console.debug('STOQ - extension activated')
function applyTranslations(settings) {
try {
// Skip translation logic entirely if multi-language is not enabled
if (!settings ||
!settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debug('STOQ - No translations found, skipping translation');
return settings;
}
const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
const translations = settings.translations;
if (!normalizedLocale) {
// No matching locale has translations; drop payload to save memory
console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
delete settings.translations;
return settings;
}
console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
const translatedFields = translations[normalizedLocale];
if (translatedFields && typeof translatedFields === 'object') {
Object.keys(translatedFields).forEach(function(key) {
const value = translatedFields[key];
if (value !== null && value !== undefined && value !== '') {
settings[key] = value;
}
});
} else {
console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
}
delete settings.translations;
return settings;
} catch (e) {
console.debug('STOQ - error applying translations:', e);
return settings;
}
}
// First try to get settings from metafields with expiry check
const cachedSettings = window._RestockRocketConfig.cachedSettings;
const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null;
if (validCachedSettings) {
console.debug('STOQ - using cacSize:hed settings');
initializeScripts(validCachedSettings);
} else {
console.debug('STOQ - fetching fresh settings');
const headers = {
'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
'ngrok-skip-browser-warning': 'skip'
};
if (window.Shopify?.theme?.role === 'main') {
headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name;
headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version;
headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id;
}
fetch(
`${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`,
{ headers }
)
.then(function(response) {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(function(settings) {
initializeScripts(settings);
})
.catch(function(error) {
// If request failed and we have cached settings (even if expired), use them as fallback
if (cachedSettings) {
console.debug('STOQ - using expired cached settings as fallback');
initializeScripts(cachedSettings);
} else {
console.error('STOQ - failed to load settings:', error);
}
})
.catch(function(e) {
console.error(e)
})
}
function initializeScripts(settings) {
settings = applyTranslations(settings);
window._RestockRocketConfig.settings = settings;
console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
if(settings.enable_app) {
const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) {
return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType);
})
if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preo rder_collection_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(window._RestockRocketConfig.pageType === 'product') {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct);
} else if(hijackIntegration) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else {
console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`);
}
// Check and update cart selling plans after scripts are loaded
if (settings.preorder_enabled) {
updateCartSellingPlans();
}
// Dispatch custom event when app is loaded
const appLoadedEvent = new CustomEvent('stoq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
function updateCartSellingPlans() {
// Wait for the API to be available with retries
const maxRetries = 10;
const retryDelay = 500;
function attemptCartCheck(attempt = 1) {
if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
window._RestockRocket.updateCartSellingPlans()
L, XL, XXL .then(hasUpdates => {
if (hasUpdates) {
console.debug('STOQ - cart selling plans updated successfully');
} else {
console.debug('STOQ - no cart selling plan updates needed');
}
})
.catch(error => {
console.error('STOQ - error updating cart selling plans:', error);
});
} else if (attempt |
| border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:
18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:14px;font-weight:500;text-align:center;text-transform:capitalize;opacity:.7}@media (max-width:768px){.restock-rocket-preorder-countdown-timer{padding:14px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:55px;padding:14px 10px;font-size:26px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:100%;gap:10px}.restock-rocket-preorder-countdown-timer .countdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-Size:toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-ou
L, XL, XXL Shimano RT30, CentreLock, 180 mm |
| *Light |
Size: L, XL, XXL Spanninga SOLO for e-bike |
|---|---|
|
Size: L, XL, XXL Herrmans H-Black MR8-E, 180 Lumen, 60 Lux, LED, headlight |
|
| Kickstand | Pletscher Comp Flex 18 |
| Cargo rack | Alloy rear rack, 25 kg max weight |
| *Mudguard |
Size: L, XL, XXL SKS plastic, rear |
|
Size: L, XL, XXL SKS plastic, front |
| Weight | L - 27.10 kg / 59.75 lbs (excluding battery) |
|---|---|
| Weight limit | This bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 160 kg (352 lb). |
We reserve the right to make changes to the product information contained on this site at any time without notice, including with respect to equipment, specifications, models, colours, materials and pricing. Due to supply chain issues, compatible parts may be substituted at any time without notice. The prices shown are the manufacturer's suggested retail prices.
Bike and frame weights are based on pre-production painted frames at time of publication. Weights may vary in final production.
<
<
color\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e11\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eBB HEIGHT\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e282\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e282\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e282\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e282\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e12\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eWHEELBASE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e1089\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e1127\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e1157\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e1197\u003c\/td\u003e\n\u003c\/t
>