Parts & Components

My AccountSee More

Blue

Kids BikesBrake Spares < Insure Your Bike
Frames
Gears & DrivetrainEssentials  AccessoriesBottles and Cages
Mudguards
Header Image
Bike Packing
    Sell Your Bike

What is your inside leg?
How 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.
size-table Open cart
Size
Inseam Front Suspension
Close search bar Rear Suspension
Search text field
27" - 29"TubelessBrother
Bags and Transportation Bells

UTO (ex Eovolt)

Wheel size

Cockpit
Early Rider
A — Handlebars
 
Seat tube
Second-Hand BikesStems
See More

B — © 2025,

  Grips & Bar-TapeProjektRide

Front SuspensionRear Suspension.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-i 700cComplete Wheels Drives out excess moisture Essentials  11.5 a href="{{ it.product.url }}" class="result__image-link" aria-label='{{ it.product.title }}'> Quick and easy to use div class="result__image-img product__media lazyload fade-in" data-bgset="{{ it.product.image.thumb }}" data-aspectratio="{{ it.product.image.aspectRatio }}" data-sizes="auto"> {{@if(it.product.badgeText)}} 70.0°div class="product__tag{{ it.product.badgeClasses }}">500ml Aerosol Spray See More52.8>
Forks

Finishing Kit

sform: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-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}

.

.High performance formula leaves dry, non-sticky protective film

Brands.

See More Safe on frame, metal parts, plastics, rubber, paint and carbon fibre

77 - 83 cm35.6 Hope Prevents dirt adhesion

30" - 33" 75.0° li class="result"> Light lubricant coats moving parts

Envediv class="result__image" data-aspectratio="{{ it.product.image.aspectRatio }}" data-product-image>
L Cockpit span>{{ it.product.badgeText | safe }} > {{/if}}

175 - 186 cm Accessories28.5 > ing action! It’s a perfect ‘all over’, after-wash corrosion inhibitor due to its extremely high oil content. This increased oil content creates the finest bike protection spray on the market.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eIt drives out moisture and leaves a sparkling, non-sticky protective layer on your frame, drive chain, metal parts and paintwork. It’s ideal to spray onto your chain to drive out moisture before you apply any of our brilliant Muc-Off chain lubes.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eBike Protect doesn’t just disperse water after you’ve given your bike a good clean. It also prevents dirt adhesion between washes and reduces future maintenance time as well as helping reduce friction, wear and energy consumption.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e*Just remember not to apply Bike Protect to your tyre treads and braking surfaces!\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eHigh performance formula leaves dry, non-sticky protec5'9" - 6'1"HandlebarsBottles and Cages6.5> -Off Bike Protect","public_title":null,"options":["Default Title"],"price":999,"weight":200,"compare_at_price":null,"inventory_management":"shopify","barcode":"5037835909005","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/975447ebcfc5b246d6c12d08fa9598c9f4ccedc0.jpg?v=1638900511"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/975447ebcfc5b246d6c12d08fa9598c9f4ccedc0.jpg?v=1638900511","options":["Title"],"media":[{"alt":null,"id":28806882263266,"position":1,"preview_image":{"aspect_ratio":1.057,"height":1029,"width":1088,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/975447ebcfc5b246d6c12d08fa9598c9f4ccedc0.jpg?v=1638900511"},"aspect_ratio":1.057,"height":1029,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/975447ebcfc5b246d6c12d08fa9598c9f4ccedc0.jpg?v=1638900511","width":1088}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cp data-mce-f


<

<<ProjektRide a class="product__media product__media--featured" href="/collections/new-collection/products/life-systems-pocket-first-aid-kit-hire" title="Life Systems Pocket First Aid Kit - HIRE" aria-label="Life Systems Pocket First Aid Kit - HIRE" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6_600x.png?v=1691610357)"> > Questions and answers 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)"> Hire bel":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default_country":"us","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 your cart before adding this item.","storefront_error_heading":"Error","default_locale":"ePlease get in touch with a member of the team either by phone ( nd","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,"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,439) or email ( < rderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2025-12-13T21:55:38Z","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_desc) where on of the team will be more than happy to help. :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":7468034785506,"title":"Muc-Off Bike Protect","handle":"muc-off-bike-protect","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eBike Protect is the ultimate liquid bicycle protection. Preserve and freshen your bike with Bike Protect’s incredible water dispersing action! It’s a perfect ‘all over’, after-wash corrosion inhibitor due to its extremely high oil content. This increased oil content creates the finest bike protection spray on the market.\u003c\/p\u003e\n\u003cp data r due to its extremely high oil content. This increased oil content creates the finest bike protection spray on the market.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eIt drives out moisture and leaves a sparkling, non-sticky protective layer on your frame, drive chain, metal parts and paintwork. It’s ideal to spray onto your chain to drive out moisture before you apply any of our brilliant Muc-Off chain lubes.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eBike Protect doesn’t just disperse water after you’ve given your bike a good clean. It also prevents dirt adhesion between washes and reduces future maintenance time as well as helping reduce friction, wear and energy consumption.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e*Just remember not to apply Bike Protect to your tyre treads and braking surfaces!\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eHigh performance formula leaves dry, non-sticky protective film\u003c\/li\u003e\n\u003cli\u003eSafe on frame, metal parts, plast ShippingTextForMarket = {42134186557666 : null,}; window._RestockRocketConfig.selected_variant_id = 42134186557666; 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._RestockRocketConfig.host = 'https://app.restockrocket.io' const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds funI'm looking to buy this product, when will it arrive and how much does postage cost? ndow._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 < If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. We also have a physical store, if you are local please pop in -< 82 Newington Road, EH91QN, Edinburgh. Mountain Bikes {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: Kids Bikes#FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; } img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer"> > Shop by Brand Contact Us GloriaProjektRideTrack Service Progress Insure Your Bike Cookie Policy AmflowQuestions and answersRefund policy Genesis ) where on of the team will be more than happy to help.Enigma If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. We also have a physical store, if you are local please pop in - Kona 82 Newington Road, EH91QN, Edinburgh.
<
dramatically reduce brake squeal, prolong the disc pad life and restore braking performance.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eMuc-Off Disc Brake Cleaner air-dries rapidly without leaving any residue, and it’s perfectly safe on rubber, plastic, anodized metals, carbon fibre and painted surfaces.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproves braking performance\u003c\/li\u003e\n\u003cli\u003eTreats pads and rotors to reduce brake squeal\u003c\/li\u003e\n\u003cli\u003eProlongs disc pad and rotor life\u003c\/li\u003e\n\u003cli\u003eRapidly removes oil, grease, brake fluid and grime\u003c\/li\u003e\n\u003cli\u003eRehydrating formula to preserve braking components\u003c\/li\u003e\n\u003c\/ul\u003e"} []
Buy Sell Ride Confident span class="visually-hidden">Life Systems Pocket First Aid Kit - HIREFAQ> > I'm looking to find out more information about a product, where can I find this? ale('en'); window._RestockRocketConfig.shop = 'projektride.myshopify.com'; window._RestockRocketConfig.pageType = 'product';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-11-11T14:27:02.312Z","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 Life Systems Pocket First Aid Kit - HIREpps/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[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/01313745324Bikes  £0.008817122,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,45069750730[email protected] 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_descripProjektRide Bike Shop EdinburghHire Kryptolok Standard U-Lock & 4 foot Kryptoflex cablec\/li\u003e\n\u003cli\u003eLight lubricant coats moving parts\u003c\/li\u003e\n\u003cli\u003eQuick and easy to use\u003c\/li\u003e\n\u003cli\u003e500ml Aerosol Spray\u003c\/li\u003e\n\u003c\/ul\u003e","published_at":"2021-12-14T19:17:50+00:00","created_at":"2021-12-07T18:08:29+00:00","vendor":"Muc-Off","type":"","tags":["spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":999,"price_min":999,"price_max":999,"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":42134186557666,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"909","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Muc-Off Bike Protect","public_title":null,"options":["Default Title"],"price":999,"weight":200,"compare_at_price":null,"inventory_management":"shopify","barcode":"5037835909005","requires_selling_plan":false,"selling_plan_allocat
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.ProjektRide Bike Shop Edinburgh 71.5° rm: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-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}} <58.3Electric Bikes .site-footer { --bg: #1f2324; --text: #ffffff; --text-alpha-15: rgba(255, 255, 255, 0.15); --text-alpha-60: rgba(255, 255, 255, 0.6); --text-alpha-85: rgba(255, 255, 255, 0.85); } .footer-content__logo__image { width: 170px; }img src="//projektride.co.uk/cdn/shop/files/DualSport3-24-40826-B-Alt8_2048x2048.webp?v=1728639458" alt="Trek Dual Sport 3 Gen 5" class="mfp-zoom-in-cur" id="34798492287202"> 28.5 6.5 <44.2Frames img src="//projektride.co.uk/cdn/shop/files/DualSport3-24-40826-A-Primary_1_98x.webp?v=1728639468" alt="" class="product-single__thumbnail-img"> 5.0 div class="featured-image__bg bg-pos-center-center" style="background-image: url('//projektride.co.uk/cdn/shop/files/2571D9FF-E9AE-4004-9A55-C7FD4DD999D6_2048x.jpg?v=1640941114');">QUICK LINKS 6.4 About Us <107.5 Blogimg src="//projektride.co.uk/cdn/shop/files/DualSport3-24-40826-B-Primary_1_98x.webp?v=1728639414" alt="" class="product-single__thumbnail-img"> 81.2 Buy Sell Ride ConfidentBuilding Your Bike From the Box 40.0Trek Privacy Policy <62.0 FAQTerms of Serviceimg src="//projektride.co.uk/cdn/shop/files/DualSport3-24-40826-B-Alt2_98x.webp?v=1728639422" alt="" class="product-single__thumbnail-img">
img src="//projektride.co.uk/cdn/shop/files/DualSport3-24-40826-B-Alt3_98x.webp?v=1728639428" alt="" class="product-single__thumbnail-img"> img src="//projektride.co.uk/cdn/shop/files/DualSport3-24-40826-B-Alt4_1_98x.webp?v=1728639436" alt="" class="product-single__thumbnail-img"> 160;protected] ProjektRide Bike Shop Edinburgh Singular I'm looking to buy this product, when will it arrive and how much does postage cost?img src="//projektride.co.uk/cdn/shop/files/DualSport3-24-40826-B-Alt5_98x.webp?v=1728639442" alt="" class="product-single__thumbnail-img"> FrogPostage is free on orders over £50. Orders under £50, our postage charge is £3.99. ProjektRide Bike Shop Edinburghimg src="//projektride.co.uk/cdn/shop/files/DualSport3-24-40826-B-Alt7_98x.webp?v=1728639451" alt="" class="product-single__thumbnail-img">
ng it perfect for everything from solo workouts to speedy group rides.\u003c\/p\u003e\n\u003cdiv class=\"kf-block--intro cell small-12 large-4 mb-4\" qaid=\"product-overview-1\"\u003e\n\u003ch3 class=\"header--md mb-1\"\u003eIt's right for you if...\u003c\/h3\u003e\n\u003cp\u003eYou're ready to log big miles, and you prefer the feel of a flat handlebar to the drop bars that come stock on most road bikes. You prioritise comfort and performance equally, and expect your bike to grow with you as you advance in speed and distance.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kf-block--intro cell small-12 large-4 mb-4\" qaid=\"product-overview-2\"\u003e\n\u003ch3 class=\"header--md mb-1\"\u003eThe tech you get\u003c\/h3\u003e\n\u003cp\u003eA lightweight 400 Series OCLV Carbon frame and fork, a 1x SRAM Apex drivetrain with a wide range of gearing, hydraulic disc brakes, hidden mudguard mounts, a lightweight tubeless-ready Bontrager Paradigm alloy wheel set, wide, fast-rolling Bontrager GR1 Expert gravel tyre ngComponent\" 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\u003cdiv data-v-4052fbf6=\"\" data-v-05762449=\"\"\u003e\n\u003cdiv data-v-4052fbf6=\"\" class=\"size-table\"\u003e\n\u003ctable data-v-3ac87600=\"\" data-v-4052fbf6=\"\" class=\"trek-table trek-table--hstripe trek-table--borderless trek-table--centered trek-table--small trek-table--sticky-headers trek-table--row-headers\" qaid=\"size-table\"\u003e\n\u003ccaption data-v-3ac87600=\"\" class=\"sr-only\"\u003esize-table\u003c\/caption\u003e\n\u003cthead data-v-3ac87600=\"\"\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qaid=\"size-table-column-header-Size\"\u003eSize\u003c\/th\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qa
Tellass=\"m-0\"\u003e5'1\" - 5'5\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e72 - 78 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e28\" - 31\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-M\"\u003eM\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e165 - 175 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'5\" - 5'9\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e77 - 83 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e30\" - 33\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-L\"\u003eL\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e175 - 186 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'9\" - 6'1\"\u003c\/p\u003e\ncolour
old\"\u003e\n\u003cspan class=\"sizing-table__alias\"\u003eL —\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003eStandover\u003c\/th\u003e\n\u003cth class=\"sizing-table__header px-2 py-25 text-xs font-semibold\"\u003e\n\u003cspan class=\"sizing-table__alias\"\u003eM —\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003eFrame reach\u003c\/th\u003e\n\u003cth class=\"sizing-table__header px-2 py-25 text-xs font-semibold\"\u003e\n\u003cspan class=\"sizing-table__alias\"\u003eN —\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003eFrame stack\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody class=\"sizing-table__body\"\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\"\u003eXS\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\"\u003e35.
a px-2 py-25 text-xs\"\u003e78.7\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e39.3\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e59.4\u003c\/td\u003e\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\"\u003e50.8\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e73.5°\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e19.0\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e71.5°\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-
03ctr data-v-05762449=\"\" class=\"sizing-table__body-row\"\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003eXL\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.9\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e72.5°\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e21.5\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e72.5°\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e61.3\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e28.5\u003c\/td\u003e\n\u003ctd data-v-05762449=\"\" class=\"sizing-table__data px-2 py-25 text-xs\"\u003e6.5\u003c\/td\u003e\n\u003ctd da

eny",46025438626018 : "deny",46025438658786 : "deny",46025438691554 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {46025438560482 : parseInt("0"),46025438593250 : parseInt("8"),46025438626018 : parseInt("51"),46025438658786 : parseInt("0"),46025438691554 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {46025438560482 : parseInt(""),46025438593250 : parseInt(""),46025438626018 : parseInt(""),46025438658786 : parseInt(""),46025438691554 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {46025438560482 : null,46025438593250 : null,46025438626018 : null,46025438658786 : null,46025438691554 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {46025438560482 : parseInt(""),46025438593250 : parseInt(""),46025438626018 : parseInt(""),46025438658786 : parseInt(""),46025438691554 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {46025438560482 : null,46025438593250 : null,460254386Large

ckrocket-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 r

<
!settings.multi_language_enabled) © 2025,
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') { headerProjektRideExtra Large
  • on(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.preorder_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 . < Website by Select variant dropdownOrange / Medium - Sold Out 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.page
  • Orange / Large - £975.00 GBPlease 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":{},"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_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default ,"preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder
ocketScript(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._Restock