Yeti Cycles SB120 C-Series C2 29" Bike£55.00

a class="product__media product__media--featured" href="/collections/all-products/products/yeti-cycles-sb120-c-series-c2-29-bike" title="Yeti Cycles SB120 C-Series C2 29" Bike" aria-label="Yeti Cycles SB120 C-Series C2 29" Bike" style="background-image: url(//projektride.co.uk/cdn/shop/files/ycb2312029c2du_600x.webp?v=1741953520)"> BACKCOUNTRY FOOD POUCH
GenesisRaw / TurquoiseBACKCOUNTRY FOOD POUCH
  • <
  • span class="visually-hidden">BACKCOUNTRY HANDLEBAR PACK> >
  • >
  • BACKCOUNTRY HIP PACK (2.5L) span class="visually-hidden">BACKCOUNTRY HIP PACK (2.5L)
    >
  • Finishing Kit Parts & Componentsdiv class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/ycf25149temr_1_600x.webp?v=1742310713)"> BACKCOUNTRY HYDRATION BACKPACK > Tyres Tubes
    Yeti Cycles SB140 T-Series 29" Frame
  • <<<ria < <Trek

    \"\" class=\"editorial-small__text text-weak\" qaid=\"editorial-component-body\"\u003eHow to measure: Stand barefoot with your back straight and against a wall. Tuck a ruler or something that extends to the floor between your legs. Using both hands, and keeping it level, pull the ruler up into your crotch as if you were sitting on the saddle. Measure the distance from the top edge of the ruler to the ground to find your inside leg measurement. Your inside leg is very important to your final bike size so please measure carefully.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection data-v-05762449=\"\" id=\"SizingComponent\" data-magellan-target=\"SizingComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\n\u003ch2 data-v-05762449=\"\" class=\"header--lg mb-1 cell small-12\"\u003eSizing\u003c\/h2\u003e\n\u003cdiv data-v-05762449=\"\" class=\"rider-sizing mb-2\"\u003e\n

    Ridgeback Advance 1 Sun: Closed

    £1,400.00Socks £2,999.00

    Location
    3e\n\u003c\/tr\u003e\n\u003ctr data-v-05762449=\"\" class=\"sizing-table__body-row\"\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003eL\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e700c\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e55.0\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e70.0°\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e20.0\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e68.5°\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e62.1\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e29.4\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e7.0\u003 c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e50.2\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e4.5\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e9.5\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e115.8\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e47.0\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e38.0\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e66.1\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\/section\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cfooter data-v-e224ae82=\"\" class=\"b2b-buying-zone__options cell medium-6
    large-12 lg:pt-2\"\u003e\n\u003cdiv data-v-e224ae82=\"\" class=\"pdp-product-attributes-container\"\u003e\n\u003cdiv selected-variant=\"[object Object]\"\u003e\n\u003cdiv class=\"attribute-color\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/footer\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {46034680414434 : "deny",46034699944162 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {46034680414434 : parseInt("0"),46034699944162 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {46034680414434 : parseInt(""),46034699944162 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {46034680414434 : null,46034699944162 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {46034680414434 : parseInt(""),46034699944162 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {46034680414434 : null,46034 699944162 : null,}; window._RestockRocketConfig.variantsShippingText = {46034680414434 : "",46034699944162 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {46034680414434 : null,46034699944162 : null,}; window._RestockRocketConfig.selected_variant_id = 46034680414434; 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/019bf9e0-3016-7510-aaea-4318e35b6645/restock-rocket-shopify-436/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019bf9e0-3016-7510-aaea-4318e35b6645/restock-rocket-shopify-436/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 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; } // Transla Hybrid / City Bikestions 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 se ttings; } 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; } } // 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 ready, 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 { cons Mountain Bikesole.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, '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; Electric Bikes
    Search text field .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-co-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;}







    Custom Builds for sale
    Custom Build Inspiration
    Services
    See More
    Workshop Alhonga AHJ-OD52048x2048.webp?v=1728388658" alt="Trek District+ 6 Lowstep" class="mfp-zoom-in-cur" id="34779449589986">
    Workshop Prices
      microSHIFT CS-H092 11-36 9-Speed Track Your Service
    < img src="//projektride.co.uk/cdn/shop/files/DistrictPlus6Lowstep_21_33014_A_Alt9_2048x2048.webp?v=1728388676" alt="Trek District+ 6 Lowstep" class="mfp-zoom-in-cur" id="34779450671330">
    Other
    See More   img src="//projektride.co.uk/cdn/shop/files/DistrictPlus6Lowstep_21_33014_A_Primary_98x.webp?v=1728388658" alt="" class="product-single__thumbnail-img">
    SKU: 1044700
    // Create "window.Shoppad.apps.infiniteoptions" object if it doesn't already exist 'Shoppad.apps.infiniteoptions'.split('.').reduce(function (o, x) { if (!o[x]) { o[x] = {}; } return o[x]; }, window); // Note we are using the theme app extension window.Shoppad.apps.infiniteoptions.themeAppExtensionActive = true;
    Looking to purchase with a cycle to work scheme? Click here to get in touch and get the ball rolling! .
    69 - 73 cm
    27" - 29"Essentials   Schwalbe G-One Bite 700x50c SCleaners, Degreasers and Lubrication
    155 - 165 cmAccessories
    Maintenance  Crossbar
    Finance
    Log in
    Create account
    Congratulations!
    um frame with a lowstep geometry that fully encases a 400 Wh battery, a Bosch Active Line Plus (250 W, 50 Nm) motor for speeds of up to 25 km\/h and an Intuvia controller. A dependable and low-maintenance Shimano Nexus 7-speed internal drivetrain, a suspension fork and seatpost, powerful hydraulic disc brakes, integrated front and rear lights, a rear rack with secure, easy-to-use MIK mounting system, mudguards, ergonomic grips and a one-key solution for your battery and the included U-lock.\nThe final word\nThe District+ 6 Lowstep is a dependable, low-maintenance city e-bike built with Trek's sleek and easy-to-use Removable Integrated Battery (RIB) system, thoughtful details that make daily riding stress-free, and a high-quality Bosch motor and controller.\n \nHow tall are you?To measure your height, stand up straight, barefoot, with your back, heels, shoulders and head all touching a wall. While looking straight ahead, place a book or straight edge on your head and slowly push it against the wall. Your stra
    #FeaturedImage--template--24610452406655__1645734801adfd4c07 { --overlay-opacity: 0.2; }

    I'm looking to find out more information about a product, where can I find this?
    t_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":null,"insert_button_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"This item needs to be purchased separately. Please check out or clear
    utton_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[
    rend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2026-01-08T16:1