• <
    img src="//projektride.co.uk/cdnCart /shop/files/ycb25asrcspru_2048x2048.webp?v=1741953555" alt="Yeti Cycles ASR C-Series C2 Ultimate 29" Bike" class="mfp-zoom-in-cur" id="64739620618623">
    6'1" - 6'7"Brands
    Cockpit

    img src="//projektride.co.uk/cdn/shop/files/ycb25asrcgreyh_98x.webp?v=1741953555" alt="" class="product-single__thumbnail-img"> 6'5" - 6'11"Handlebars
    .co.uk\/cdn\/shop\/files\/ycb2312029c2rt.webp?v=1741953520"},"aspect_ratio":0.837,"height":833,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb2312029c2rt.webp?v=1741953520","width":697},{"alt":null,"id":64739615867263,"position":4,"preview_image":{"aspect_ratio":0.837,"height":833,"width":697,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb2312029c2tu.webp?v=1741953520"},"aspect_ratio":0.837,"height":833,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb2312029c2tu.webp?v=1741953520","width":697}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cdiv data-content-type=\"row\" data-appearance=\"contained\" data-element=\"main\"\u003e\n\u003cdiv data-enable-parallax=\"0\" data-parallax-speed=\"0.5\" data-background-images=\"{}\" data-background-type=\"image\" data-video-loop=\"true\" data-video-play-only-visible=\"true\" data-video-lazy-load=\"true\" data-video-fallback-src=\"\" data-element=\"inner\" data-pb-style=\"M6VS5I5\"\u003e\n\u003c 5'5" - 5'11"div data-content-type=\"html\" data-appearance=\"default\" data-element=\"main\" data-decoded=\"true\"\u003e\n\u003cdiv class=\"Yeti-Text_Intro-BG\"\u003e\n\u003cdiv class=\"Yeti-Text_Intro-Text\"\u003e\n\u003cp\u003eForget the numbers. Mute the speculation. Let the other guys invent cute alternatives for \"Cross Country\". Steer clear of pigeon holes and limiting beliefs. Strap on your blinders and go get lost. Then decide what the sb120 means to you. And you alone.\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eDefinition ready\u003c\/span\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Feature-Box-BG\"\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e120\u003cspan\u003eMM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"feature-box_value-type\"\u003eFRAME TRAVEL\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cspan\u003e \u003c\/span\u003e\n\u003cdiv class=\"feature-box\"\u003e\n\u003cp class=\"feature-box_value\"\u003e11\u003cspan\u003cdiv class=\"Yeti-Text_Team-BG_120\"\u003e\n\u003cdiv class=\"Yeti-Text_Team-Text\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eTRAIL. CHECK MATE.\u003c\/p\u003e\n\u003cp\u003eCrushing souls on the descent is more than half the fun. And a hell of a lot more than half the point. The SB120 is wicked quick in your direction of choice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Size-Guide-BG\"\u003e\n\u003cdiv class=\"Yeti-Text_Size-Guide-Text\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eSIZE GUIDE\u003c\/p\u003e\n\u003cdiv id=\"sizechart\"\u003e\n\u003ctable id=\"sizechart\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eX-SMALL\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e4'10\" - 5'3\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd i d=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eSMALL\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e5'1\" - 5'7\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eMEDIUM\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e5'5\" - 5'11\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eLARGE\u003c\/strong\u003e\u003c\/t
    d\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e5'10\" - 6'3\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eX-LARGE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e6'1\" - 6'7\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eXX-LARGE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u00 [email protected] 3e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e6'5\" - 6'11\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-content-type=\"row\" data-appearance=\"contained\" data-element=\"main\"\u003e\n\u003cdiv data-enable-parallax=\"0\" data-parallax-speed=\"0.5\" data-background-images=\"{}\" data-background-type=\"image\" data-video-loop=\"true\" data-video-play-only-visible=\"true\" data-video-lazy-load=\"true\" data-video-fallback-src=\"\" data-element=\"inner\" data-pb-style=\"K6EV4HR\"\u003e\n\u003cdiv data-content-type=\"html\" data-appearance=\"default\" data-element=\"main\" data-decoded=\"true\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eSPECIFICATION\u003c\/p\u003e\n\u003cp class=\"Yeti-Spec_text\"\u003eC\/Series carbon fibre frame, Switch Infinity suspension technology,
    threaded bottom bracket, fully enclosed internal cable routing, 148mm x 12mm BOOST dropouts, sealed Enduro Max pivot bearings, integrated derailleur hanger, and axle.\u003c\/p\u003e\n\u003ctable class=\"YetiSpec\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eFORK\u003c\/td\u003e\n\u003ctd\u003eFOX PERFORMANCE 34\/130MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eSHOCK\u003c\/td\u003e\n\u003ctd\u003eFOX PERFORMANCE FLOAT DPS\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eTYRE (F)\u003c\/td\u003e\n\u003ctd\u003eMAXXIS MINION DHF 2.5 EXO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eTYRE (R)\u003c\/td\u003e\n\u003ctd\u003eMAXXIS AGGRESSOR 2.3 EXO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eROTOR (F)\u003c\/td\u003e\n\u003ctd\u003eSRAM CENTERLINE 180\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eROTOR (R)\u003c\/td\u003e\n\u003ctd\u00 3eSRAM CENTERLINE 180\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eHEADSET\u003c\/td\u003e\n\u003ctd\u003eCANE CREEK 40 INTEGRATED\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eWHEELSET\u003c\/td\u003e\n\u003ctd\u003eCRANK BROTHERS SYSTHESIS ENDURO 30MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eBB\u003c\/td\u003e\n\u003ctd\u003eSRAM DUB BSA 73\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eGRIPS\u003c\/td\u003e\n\u003ctd\u003eODI ELITE PRO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eBAR\u003c\/td\u003e\n\u003ctd\u003eBURGTEC RIDE WIDE ALLOY ENDURO 35X780MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eSTEM\u003c\/td\u003e\n\u003ctd\u003eBURGTEC ENDURO MK3 35X50MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eCRANK\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE 30T 170MM\u003c\/td\u003e\n\u003
    parseInt("10"),55196400779647 : parseInt("10"),55196400812415 : parseInt("0"),55196400845183 : parseInt("0"),55196400877951 : parseInt("0"),55196400910719 : parseInt("10"),55196400943487 : parseInt("10"),55196400976255 : parseInt("10"),55196401009023 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {55196400451967 : parseInt(""),55196400484735 : parseInt(""),55196400517503 : parseInt(""),55196400550271 : parseInt(""),55196400583039 : parseInt(""),55196400615807 : parseInt(""),55196400648575 : parseInt(""),55196400681343 : parseInt(""),55196400714111 : parseInt(""),55196400746879 : parseInt(""),55196400779647 : parseInt(""),55196400812415 : parseInt(""),55196400845183 : parseInt(""),55196400877951 : parseInt(""),55196400910719 : parseInt(""),55196400943487 : parseInt(""),55196400976255 : parseInt(""),55196401009023 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {55196400451967 : null,55196400484735 : null,55196400517503 : null,55196400550271 : null, LARGE55196400583039 : null,55196400615807 : null,55196400648575 : null,55196400681343 : null,55196400714111 : null,55196400746879 : null,55196400779647 : null,55196400812415 : null,55196400845183 : null,55196400877951 : null,55196400910719 : null,55196400943487 : null,55196400976255 : null,55196401009023 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {55196400451967 : parseInt(""),55196400484735 : parseInt(""),55196400517503 : parseInt(""),55196400550271 : parseInt(""),55196400583039 : parseInt(""),55196400615807 : parseInt(""),55196400648575 : parseInt(""),55196400681343 : parseInt(""),55196400714111 : parseInt(""),55196400746879 : parseInt(""),55196400779647 : parseInt(""),55196400812415 : parseInt(""),55196400845183 : parseInt(""),55196400877951 : parseInt(""),55196400910719 : parseInt(""),55196400943487 : parseInt(""),55196400976255 : parseInt(""),55196401009023 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {55196400451967 : null,55196400484735 : nu
    ll,55196400517503 : null,55196400550271 : null,55196400583039 : null,55196400615807 : null,55196400648575 : null,55196400681343 : null,55196400714111 : null,55196400746879 : null,55196400779647 : null,55196400812415 : null,55196400845183 : null,55196400877951 : null,55196400910719 : null,55196400943487 : null,55196400976255 : null,55196401009023 : null,}; window._RestockRocketConfig.variantsShippingText = {55196400451967 : "",55196400484735 : "",55196400517503 : "",55196400550271 : "",55196400583039 : "",55196400615807 : "",55196400648575 : "",55196400681343 : "",55196400714111 : "",55196400746879 : "",55196400779647 : "",55196400812415 : "",55196400845183 : "",55196400877951 : "",55196400910719 : "",55196400943487 : "",55196400976255 : "",55196401009023 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {55196400451967 : null,55196400484735 : null,55196400517503 : null,55196400550271 : null,55196400583039 : null,55196400615807 : null,55196400648575 : null,55196400681343 : null,551964   00714111 : null,55196400746879 : null,55196400779647 : null,55196400812415 : null,55196400845183 : null,55196400877951 : null,55196400910719 : null,55196400943487 : null,55196400976255 : null,55196401009023 : null,}; window._RestockRocketConfig.selected_variant_id = 55196400517503; 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/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/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 const LIQUID_CACHE_MAX_AGE = 2 * 60 * 60; // 2 hours in seconds // Calculate Liquid cache freshness once at initialization const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; // Validate timestamp and calculate cache age if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { const now = Math.floor(Date.now() / 1000); // Current time in seconds const liquidCacheAge = now - liquidRenderedAt; // Age in seconds // Handle client clock ahead of server if (liquidCacheAge <
    0) { console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fres h`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else if (liquidCacheAge Header Image< = LIQUID_CACHE_MAX_AGE) { console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); window._RestockRocketConfig.isLiquidCacheFresh = false; } } 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 - 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 {"id":7485182476514,"title":"700c Continental Ultra Sport Tyre in Black (Folding)","handle":"700c-continental-ultra-sport-tyre-in-black-folding","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eA coloured eye-catcher\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/strong\u003eThe Ultra Sport is a modern tyre for touring and competition which convinces5'10" - 6'3"age = Date.now() - updatedAt.getTime(); if (age < -mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eT- 01313745324\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","published_at":"2021-12-26T18:53:36+00:00","created_at":"2021-12-26T18:53:34+00:00","vendor":"Continental","type":"","tags":["Continental Ultra Sport","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":2495,"price_min":2495,"price_max":2495,"available":true,"price_varies":false,"compare_at_price":2495,"compare_at_price_min":2495,"compare_at_price_max":2495,"compare_at_price_varies":false,"variants":[{"id":42205177118946,"title":"700c \/ 23mm","option1":"700c \/ 23mm","option2":null,"option3":null,"sku":"4019238026641","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"700c Continental Ultra Sport Tyre in Black (Folding) - 700c \/ 23mm","public_title":"700c \/ 23mm","options":["700c \/ 23mm"],"price":2495,"weight":0,"compare_at_price":2495,"inventory_management":"shopify","barcode":"","requires_sel 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 (translatedFiel },{"id":42205177217250,"title":"700c \/ 32mm","option1":"700c \/ 32mm","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"700c Continental Ultra Sport Tyre in Black (Folding) - 700c \/ 32mm","public_title":"700c \/ 32mm","options":["700c \/ 32mm"],"price":2495,"weight":0,"compare_at_price":2495,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/p558c08154bf760.87457661.jpg?v=1640544817","\/\/projektride.co.uk\/cdn\/shop\/products\/p558c08823c9181.11837059.jpg?v=1640544816"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/p558c08154bf760.87457661.jpg?v=1640544817","options":["Size"],"media":[{"alt":null,"id":28913871552738,"position":1,"preview_image":{"aspect_ratio":1.5,"height":600,"width":900,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/p558c08154bf760.87457661.jpg?v=1640544817"},"aspect_ratio":1.5,"heig ds && 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; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { if (!settings || !settings.preorder_enabled) { return; } // Listen for stoq:preorder-api-ready event dispatched by preorder.js window.addEventListener('stoq:preorder-api-ready', function(event) { console.debug('STOQ - Preorder API read
    y, updating cart selling plans'); if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .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); }); } }); } // 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-S ead compound and very high mileage.\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eFolding version\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003ePerformance technology\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eTPI: 3\/180\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eIf any more information is needed, please don't hesitate to get in touch with one of the team:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eProjektRide Bike shop Edinburgh.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eedinburgh@projektride.co.uk\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eT- 01313745324\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e"} hopify-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 exp
    .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:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container { "@context": "http://schema.org/", "@type": "Product", "name": "700c Continental Ultra Sport Tyre in Black (Folding)", "url": "https:\/\/projektride.co.uk\/products\/700c-continental-ultra-sport-tyre-in-black-folding","image": [ "https:\/\/projektride.co.uk\/cdn\/shop\/products\/p558c08154bf760.87457661_900x.jpg?v=1640544817" ],"description": "\nA coloured eye-catcherThe Ultra Sport is a modern tyre for touring and competition which convinces with its excellent price-performance ratio. The coloured line on the tread stripe run suits Fi:zik and jazzes up every bicycle. This tyre scores with a lot of grip, the silica-based tread compound and very high mileage.\n\nFolding version\nPerformance technology\nTPI: 3\/180\n\nIf any more information is needed, please don't hesitate to get in touch with one of the team:\nProjektRide Bike shop Edinburgh.\nedinburgh@projektride.co.uk\nT- 01313745324\n ","sku": "4019238026641","brand": { "@type": "Thing", "name": "Continental" },"gtin8": "","offers": [{ "@type" : "Offer","sku": "4019238026641","availability" : "http://schema.org/InStock", "price" : 24.95, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/700c-continental-ultra-sport-tyre-in-black-folding?variant=42205177118946" }, { "@type" : "Offer","sku": "4019238026849","availability" : "http://schema.org/InStock", "price" : 24.95, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/700c-continental-ultra-sport-tyre-in-black-folding?variant=42205177151714" }, { "@type" : "Offer","sku": "4019238026917","availability" : "http://schema.org/InStock", "price" : 24.95, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/700c-continental-ultra-sport-tyre-in-black-folding?variant=42205177184482" }, { "@ {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-colo 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-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards sl
    ateX(100%)}}.restock-rocket-preorder-progress-bar{padding:12px 15px;margin-bottom:20px;font-family:inherit;}.restock-rocket-preorder-progress-bar .preorder-progress-text{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;}
    <

    Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cableC / Series carbon fibre frame, threaded bottom bracket, configurable cable ports, 148mm x 12mm BOOST dropouts, integrated derailleur hanger and axle.

    £0.00

    < a class="product__media product__media--featured" href="/collections/all-products/products/hire-ortlieb-40l-pannier-bags" title="Hire Ortlieb 40L Pannier Bags" aria-label="Hire Ortlieb 40L Pannier Bags" style="background-image: url(//projektride.co.uk/cdn/shop/files/resize_width_1000_600x.jpg?v=1741085512)">
    <     span class="visually-hidden">Hire Ortlieb 40L Pannier Bags

    ROCKSHOX SID ULTIMATE 3P REMOTE 120MM
    ROCKSHOX SID LUXE SELECT + 3P
    TYRE (R)
    div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.32_9d81277b-124e-4fdc-8a0f-fbfb40a9343d_600x.png?v=1691610357)"> Life Systems Pocket First Aid Kit - HIRE
    SRAM CENTERLINE 160
    Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable HEADSET a class="product__media product__media--featured" href="/collections/all-products/products/kryptolok-standard-u-lock-with-4-foot-kryptoflex-cable-hire" title="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable" aria-label="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable" style="background-image: url(//projektride.co.uk/cdn/shop/fil
    WHEELSET

    DT SWISS M1900 30MM

    BB

    SRAM DUB BSA73
    • GRIPS
    • ODI ELITE PRO
    • <
    • Includes 2 stainless steel keys, with ergonomic design to reduce the amount of torque, and keep them from bending or breaking
  • BAR
  • BURGTEC RIDE WIDE ALLOY ENDURO 35X760MM
  • [email protected] ProjektRide Bike Shop Edinburgh
    SRAM G2 R

    window._RestockRocketConfig = window._RestockRocketConfig || {} // Helper function to normalize locale format from hyphen to underscore (e.g., 'en-US' -> 'en_us') // This matches the backend's Mobility.normalize_locale behavior // Returns empty string if locale is empty or invalid (matches original behavior) function normalizeLocale(locale) { if (!locale || locale.trim() === '') { return ''; } return locale.toString().toLowerCase().replace(/-/g, '_'); } window._RestockRocketConfig.locale = 'en'; window._RestockRocketConfig.normalizedLocale = normalizeLocale('en'); window._RestockRocketConfig.shop = 'projektride.myshopify.com'; window._RestockRocketConfig.pageType = 'product'; window._RestockRocketConfig.liquidRenderedAt = 1771304831;window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom'; window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-12-28T14:44:23.508Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"collect_promotion_consent":false,"storefront_form_promotionn_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,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,43936152092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,4393633234966

    052907491554,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,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-02-17T05:06:55Z","market_locations_enabled":false,"market_id"

    led":true,"variant_ids":[55569712382335,55569712415103,55569712480639,55570017616255,55570017550719,55569712447871,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

    fied_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.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_ct","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":7485182476514,"title":"700c Continental Ultra Sport Tyre in Black (Folding)","handle":"700c-continental-ultra-sport-tyre-in-black-folding","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eA coloured eye-catcher\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/strong\u003eThe Ultra Sport is a modern tyre for touring and competition which convinces with its excellent price-performance ratio. The coloured line on the tread stripe run suits Fi:zik and jazzes up every bicycu003eFolding version\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003ePerformance technology\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eTPI: 3\/180\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eIf any more information is needed, please don't hesitate to get in touch with one of the team:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eProjektRide Bike shop Edinburgh.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eedinburgh@projektride.co.uk\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eT- 01313745324\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {42205177118946 : "deny",42205177151714 : "deny",42205177184482 : "deny",42205177217250 : "deny",};

    ckRocketConfig.variantsShippingTextForMarket = {42205177118946 : null,42205177151714 : null,42205177184482 : null,42205177217250 : null,}; window._RestockRocketConfig.selected_variant_id = 42205177118946; 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/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = 'https://app.restockrocket.io

    <

    <ons 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; estockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .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); }); } }); } // 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,

    } 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}`); // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions setupCartSellingPlanUpdater(settings); 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.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrl

    dow._RestockRocketConfig.pageType}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:preorder-api-ready event const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } }

    tom:20px;font-family:inherit;}.restock-rocket-preorder-progress-bar .preorder-progress-text{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;}

    • 335
    EVER TACKLED. YIELDING THE LIGHTEST FULL SUSPENSION BIKE IN OUR HISTORY, CONTEMPORISING OUR FLEX STAY DESIGN TO CHECK TODAY’S KINEMATICS STANDARDS, KILLER SMALL - BUMP SENSITIVITY, INSANE TRACTION AND 100% USABLE TRAVEL.\u003c\/p\u003e\n\u003cp\u003eTHE ASR IS BACK. WE’VE NEVER MADE A LIGHTER FULL - SUSPENSION BIKE, BUT THAT’S JUST HALF THE STORY. IT BRINGS PROPER SUSPENSION TO PROPER MOUNTAIN BIKE RACING. THE KIND THAT TAKES SKILL, NOT JUST LUNGS.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Tech-Box_WHT\"\u003e\n\u003cdiv class=\"Yeti-Text_Tech-Box_WHT_Inner\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eMADE FOR WINNING THE WORLD.\u003c\/p\u003e\n\u003cp\u003eThe ASR is back to win at today’s world cup level. Super light and radically responsive with all the pedaling efficiency? Check.\u003c\/p\u003e\n\u003cp\u003eBut that’s just XC table stakes. The bike for modern XC needs modern geometry that’s just as stable tipping it over at 4 5 km\/h as it excels on chest high drops and hugging the inside line on the steepest switchback climb.\u003c\/p\u003e\n\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cb\u003eOUR FASTEST CLIMBING POSITION\u003c\/b\u003e\u003cbr\u003ePuts riders in a power position to efficiently spin, evenly weight the wheels for traction, and transition more smoothly from saddle to full-throttle sprinting.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cb\u003eMORE RESPONSIVE, NO TWITCH\u003c\/b\u003e\u003cbr\u003eModern XC rewards brilliant passing, which takes brilliant cornering. The ASR’s forward-bias geometry delivers responsive steering and predictable characteristics to slash fast.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cb\u003e“JUST RIGHT” BB HEIGHT\u003c\/b\u003e\u003cbr\u003eA bottom-bracket positioned high enough to pedal through rock gardens, but low enough to sit below the axles for rail-like cornering thanks to that coveted, “in bike” feel.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Tech-Box_BLK\"\u003e\n\u003cdiv class=\"Yeti-Text_Tech-Box_BLK_Inner\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eSIZE SPECIFIC STIFFNESS.\u003cbr\u003eFINE-TUNED.\u003c\/p\u003e\n\u003cp\u003eAnother goal was to engineer each frame for the same ride\u003cbr\u003echaracteristics to give every rider the same feel, regardless of size.\u003cbr\u003eEvery ASR frame has size-specific carbon schedules tuning at a much more\u003cbr\u003esensitive level, and accurately matching torsional stiffness and\u003cbr\u003echassis-flex profiles too. Tedious? Yes. Worth it? Absolutely.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Tech-Box_WHT-2\"\u003e\n\u003cdiv class=\"Yeti-Text_Tech-Box_WHT-2_Inner\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eA LEGACY OF FLEX.\u003c\/p\u003e\n\u003cp\u003eThe year was 2003 – our flex stay design was a decades ahead approach to XC full suspension. Today, the reincarnated ASR considers the relationships between leverage rate, link size, material properties of the carbon layup and modern short stroke shocks to deliver responsive, efficient, and astonishingly light XC-specific suspension.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Tech-Box_BLK-2\"\u003e\n\u003cdiv class=\"Yeti-Text_Tech-Box_BLK-2_Inner\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eAMPLE TYRE CLEARANCE FOR\u003cbr\u003eMODERN FULL-VOLUME RUBBER.\u003c\/p\u003e\n\u003cp\u003eClearance for a 2.4 tyre with 30mm internal rims\u003cbr\u003eprovides maximum traction and ride quality.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Size-Guide-BG\"\u003e\n\u003cdiv class=\"Yeti-Text_Size-Guide-Text\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eSIZE GUIDE\u003c\/p\u003e\n\u003cdiv id=\"sizechart\"\u003e\n\u003ctable id=\"sizechart\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eX-SMALL\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e4'10\" - 5'3\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eSMALL\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e5'1\" - 5'7\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eMEDIUM\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e5'5\" - 5'11\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eLARGE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e5'10\" - 6'3\"\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd id=\"sizechart\"\u003e\u003cstrong\u003eX-LARGE\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e\u003c\/td\u003e\n\u003ctd id=\"sizechart\"\u003e6'1\" - 6'7\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Yeti-Text_Team-BG_ASR\"\u003e\n\u003cdiv class=\"Yeti-Text_Team-BG\"\u003e\n\u003cdiv class=\"Yeti-Text_Team-Text_ASR\"\u003e\n\u003cp class=\"Yeti-Title_ASR\"\u003eTHE REINCARNATED ASR\u003c\/p\u003e\n\u003cp\u003eA LOT\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003elike\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eNOTHING ELSE\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-content-type=\"html\" data-appearance=\"default\" data-element=\"main\" data-decoded=\"true\"\u003e\n\u003cp class=\"Yeti-Title\"\u003eSPECIFICATION\u003c\/p\u003e\n\u003cp class=\"Yeti-Spec_text\"\u003eC \/ Series carbon fibre frame, threaded bottom bracket, configurable cable ports, 148mm x 12mm BOOST dropouts, integrated derailleur hanger and axle.\u003c\/p\u003e\n\u003ctable class=\"YetiSpec\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eFORK\u003c\/td\u003e\n\u003ctd\u003eROCKSHOX SID ULTIMATE 3P REMOTE 120MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eSHOCK\u003c\/td\u003e\n\u003ctd\u003eROCKSHOX SID LUXE SELECT + 3P\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eTYRE (F)\u003c\/td\u003e\n\u003ctd\u003eMAXXIS REKON 2.4 EXO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eTYRE (R)\u003c\/td\u003e\n\u003ctd\u003eMAXXIS REKON RACE DUAL 2.4 EXO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eROTOR (F)\u003c\/td\u003e\n\u003ctd\u003eSRAM CENTERLINE 180\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eROTOR (R)\u003c\/td\u003e\n\u003ctd\u003eSRAM CENTERLINE 160\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eHEADSET\u003c\/td\u003e\n\u003ctd\u003eCANE CREEK 40 INTEGRATED\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eWHEELSET\u003c\/td\u003e\n\u003ctd\u003eDT SWISS M1900 30MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eBB\u003c\/td\u003e\n\u003ctd\u003eSRAM DUB BSA73\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eGRIPS\u003c\/td\u003e\n\u003ctd\u003eODI ELITE PRO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eBAR\u003c\/td\u003e\n\u003ctd\u003eBURGTEC RIDE WIDE ALLOY ENDURO 35X760MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eSTEM\u003c\/td\u003e\n\u003ctd\u003eBURGTEC ENDURO MK3 35X50MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eCRANK\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE 32T 170MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eSEAT\u003c\/td\u003e\n\u003ctd\u003eWTB SOLANO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eBRAKES\u003c\/td\u003e\n\u003ctd\u003eSRAM G2 R\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eDERAILLEUR\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u 003e\n\u003ctd\u003eCASSETTE\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE 1275 10-52\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eCHAIN\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"a\"\u003e\n\u003ctd\u003eSHIFTER\u003c\/td\u003e\n\u003ctd\u003eSRAM GX EAGLE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"b\"\u003e\n\u003ctd\u003eSEATPOST\u003c\/td\u003e\n\u003ctd\u003eFOX TRANSFER PERFORMANCE ELITE 31.6MM \/ 175MM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cbr\u003e\n\u003cp class=\"Yeti-Spec_text\"\u003e\u003ci\u003ePlease note: Specifications are subject to change without notice.\u003c\/i\u003e\u003c\/p\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003cp class=\"Yeti-Title\"\u003eGEOMETRY\u003c\/p\u003e\n\u003cp class=\"Yeti-Spec_text\"\u003eAll measurements are shown in millimetres.\u003c\/p\u003e\n\u003cdiv\u003e\u003cpicture\u003e\u003csource type=\"image\/webp\" srcset=\"https:\/\/wwweyhound \/ Large","option1":"Greyhound","option2":"Large","option3":null,"sku":"YCB25ASRCLGPGHSUC025200","requires_shipping":true,"taxable":true,"featured_image":{"id":74358274261375,"product_id":14979883237759,"position":1,"created_at":"2025-03-14T11:59:15+00:00","updated_at":"2025-03-14T11:59:15+00:00","alt":null,"width":697,"height":833,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcgreyh.webp?v=1741953555","variant_ids":[55196403401087,55196403433855,55196403466623,55196403532159,55196403564927]},"available":true,"name":"Yeti Cycles ASR C-Series C2 Ultimate 29\" Bike - Greyhound \/ Large","public_title":"Greyhound \/ Large","options":["Greyhound","Large"],"price":599900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":64739620585855,"position":1,"preview_image":{"aspect_ratio":0.837,"height":833,"width":697,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcgreyh.webp?v=1741953555"}},"requires_selling_plan":false,"selling_pl an_allocations":[]},{"id":55196403564927,"title":"Greyhound \/ Extra Large","option1":"Greyhound","option2":"Extra Large","option3":null,"sku":"YCB25ASRCXLPGHSUC025200","requires_shipping":true,"taxable":true,"featured_image":{"id":74358274261375,"product_id":14979883237759,"position":1,"created_at":"2025-03-14T11:59:15+00:00","updated_at":"2025-03-14T11:59:15+00:00","alt":null,"width":697,"height":833,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcgreyh.webp?v=1741953555","variant_ids":[55196403401087,55196403433855,55196403466623,55196403532159,55196403564927]},"available":true,"name":"Yeti Cycles ASR C-Series C2 Ultimate 29\" Bike - Greyhound \/ Extra Large","public_title":"Greyhound \/ Extra Large","options":["Greyhound","Extra Large"],"price":599900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":64739620585855,"position":1,"preview_image":{"aspect_ratio":0.837,"height":833,"width":697,"src":"\/\/projektride.co.uk\/cdn\/shop\/fi
    les\/ycb25asrcgreyh.webp?v=1741953555"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55196403597695,"title":"Spruce \/ Extra Small","option1":"Spruce","option2":"Extra Small","option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":{"id":74358274294143,"product_id":14979883237759,"position":2,"created_at":"2025-03-14T11:59:15+00:00","updated_at":"2025-03-14T11:59:15+00:00","alt":null,"width":697,"height":833,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcspru.webp?v=1741953555","variant_ids":[55196403597695,55196403630463,55196403663231,55196403695999,55196403728767]},"available":false,"name":"Yeti Cycles ASR C-Series C2 Ultimate 29\" Bike - Spruce \/ Extra Small","public_title":"Spruce \/ Extra Small","options":["Spruce","Extra Small"],"price":599900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":64739620618623,"position":2,"preview_image":{"aspect_ratio":0.837,"height":833,"width":697 ,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcspru.webp?v=1741953555"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55196403630463,"title":"Spruce \/ Small","option1":"Spruce","option2":"Small","option3":null,"sku":"YCB25ASRCSMPSUSUC025200","requires_shipping":true,"taxable":true,"featured_image":{"id":74358274294143,"product_id":14979883237759,"position":2,"created_at":"2025-03-14T11:59:15+00:00","updated_at":"2025-03-14T11:59:15+00:00","alt":null,"width":697,"height":833,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/ycb25asrcspru.webp?v=1741953555","variant_ids":[55196403597695,55196403630463,55196403663231,55196403695999,55196403728767]},"available":true,"name":"Yeti Cycles ASR C-Series C2 Ultimate 29\" Bike - Spruce \/ Small","public_title":"Spruce \/ Small","options":["Spruce","Small"],"price":599900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":64739620618623,"position":2,"preview_image":{"aspect_ra