Services
See More
Workshop
See More

Book a Service
3e\n\u003cp\u003eQuickly access potable water on the move or in the saddle while in the backcountry. The Breakaway®+ offers an ideal hydration system for bicyclists heading out on longer rides on routes with limited access to water. The integrated filter removes bacteria and protozoa from approximately 1,500 litres of water at a rate of \u0026gt;1L per minute. Riders can simply squeeze or sip from the nozzle for freshly filtered water. \u003c\/p\u003e\n\u003cp\u003e- FAST \u0026amp; SAFE FILTRATION - The integrated filter removes Escherichia coli bacteria, Cryptosporidium parvum cysts, and Giardia Lamblia from approximately 1,500 liters of water at a rate of \u0026gt;1L per minute\u003c\/p\u003e\n\u003cp\u003e- SOFT, HIGH-FLOW NOZZLE - Delivers potable water in a bike friendly format that is fast and easy to use.\u003c\/p\u003e\n\u003cp\u003e- TWIST CAP- Unique drink through cap for easy drinking and twist to close for leak-proof seal. \u003c\/p\u003e\n\u003cp\u003e- MUCKGUARD™ - Protects the valve from
Track Your Serviceprice_varies":false,"variants":[{"id":45694288822498,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hydrapak Breakaway + 880ml","public_title":null,"options":["Default Title"],"price":4650,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/16993.png?v=1720880299"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/16993.png?v=1720880299","options":["Title"],"media":[{"alt":null,"id":34242076672226,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/16993.png?v=1720880299"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/16993.png?v=1720880299","width":1080}],"requires_selling_plan":false,"selling_plan_grou
id":43974777798882,"title":"Medium","option1":"Medium","option2":null,"option3":null,"sku":"FMSUOG222G","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Surly Ogre 29'' Frameset - Champagne Supernova - Medium","public_title":"Medium","options":["Medium"],"price":95000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43974777831650,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"FMSUOG223G","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Surly Ogre 29'' Frameset - Champagne Supernova - Large","public_title":"Large","options":["Large"],"price":95000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43974777864418,"title":"Extra Large","option1":"Extra Large","option2":null,"option3":null,"sku":"FMSUOG224G","requires_sups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"experiential\"\u003e\n\u003ch2\u003eA Versatile All-Season Commuter Bike\u003c\/h2\u003e\n\u003cp\u003eIf you’re like us, your bike needs likely change by the day, week, month or year. Quite the adaptable little beast, Ogre can get you to your job during the week, then way out of town on the weekend. It’s not sluggish on pavement or gravel and can also hold its own on singletrack.\u003c\/p\u003e\n\u003cp\u003eOgre is designed to be the ultimate steel utility vehicle. It relishes in those “take-the-long-way-home-and-find-some-beverages-along-the-way” sort of commutes. Snow, sleet or sweltering humidity, this is an ideal year-round commuter bike. You can also haul enough crap on it that you don’t even have to go home if you don’t want to.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"highlights\"\u003e\n\u003cul\u003e\n\u003cli\u003eAll the barnacles you could ever possibly ask for including rack and fender, multiple thr
input type="number" name="quantity" id="quantity--template--16831240536290__main" value="1" min="1">
<
Header Image
Product Details
12.7mm hardened performance steel shackle
> <

Open search barEH9 1QN

Email

[email protected]
Open cart
1. Choose Bikeice_max":0,"compare_at_price_varies":false,"variants":[{"id":44210950570210,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"requires_shipping":false,"taxable":true,"featured_image":null,"available":true,"name":"Life Systems Pocket First Aid Kit - HIRE","public_title":null,"options":["Default Title"],"price":0,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2022-02-24at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6.png?v=1691610357","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2022-02-24at21.18.32_9d81277b-124e-4fdc-8a0f-fbfb40a9343d.png?v=1691610357"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2022-02-24at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6.png?v=1691610357","options":["Title"],"media":[{"alt":null,"id":32068916281570,"position":1,"preview_image":{"aspect_ratio":0.98,"heighSearch text fieldJuan Borges Designs < e.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // 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.Submit your search request tConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${window._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); } } "storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_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_ .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-rocke _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_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_p 3. Pay Online or In-Store 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 = 1770939841;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_buttot-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}];window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":8677892718818,"title":"Ortlieb Back-Roller Pannier","handle":"ortlieb-back-roller-pannier","description":"\u003cp\u003e Durable polyester fabric make this pannier a long lasting touring companion. The waterproof roll closure ensures safe and waterproof storage of food and <9049314,43981374914786,43981374947554,43981374980322,43981392773346,43981392838882,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,43981989085410,43981989118178,43981989150946,43981990887650,43981990920418,43981990953186,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480 equipment. With its QL2.1 fixing it is quickly mounted and taken off the bike rack. A shoulder strap provides carrying comfort when taken off the rack.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFabric: PD620\/PS490\u003c\/li\u003e\n\u003cli\u003eFeatures: QL2.1\u003c\/li\u003e\n\u003cli\u003eHeight: 42cm\u003c\/li\u003e\n\u003cli\u003eWidth: 23 \/ 32cm\u003c\/li\u003e\n\u003cli\u003eDepth: 17cm\u003c\/li\u003e\n\u003cli\u003eVolume: 40L\u003c\/li\u003e\n\u003cli\u003eWeight: 1900g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!----\u003e","published_at":"2024-08-16T10:10:22+01:00","created_at":"2024-08-16T10:10:22+01:00","vendor":"ortlieb","type":"Apparel \u0026 Accessories","tags":["Bike Packing","pannier","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":13000,"price_min":13000,"price_max":13000,"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":45820457779426,"title":img src="//projektride.co.uk/cdn/shop/files/confirmation_512x512.png?v=1690612532" alt="" class="icons-row__image"> 639,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-02-12T23:42:02Z","market_locations_enabled":false,"market_id":382140642,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-02-12T23:20:01Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTe
xts = {"variant_shipping_texts":{},"updated_at":"2026-02-12T23:20:01Z","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":[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_butt c_title":"Yellow","options":["Yellow"],"price":13000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":45820457877730,"title":"Gray","option1":"Gray","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Ortlieb Back-Roller Pannier - Gray","public_title":"Gray","options":["Gray"],"price":13000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":45820457910498,"title":"Blue","option1":"Blue","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Ortlieb Back-Roller Pannier - Blue","public_title":"Blue","options":["Blue"],"price":13000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"i on_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discoun
:null,"option3":null,"sku":"FMSUOG224G","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Surly Ogre 29'' Frameset - Champagne Supernova - Extra Large","public_title":"Extra Large","options":["Extra Large"],"price":95000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-22at21.54.41.png?v=1679522087"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-22at21.54.41.png?v=1679522087","options":["Color"],"media":[{"alt":null,"id":31709246882018,"position":1,"preview_image":{"aspect_ratio":1.154,"height":1196,"width":1380,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-22at21.54.41.png?v=1679522087"},"aspect_ratio":1.154,"height":1196,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot2023-03-22at21.54.41.png?v=1679522087","width":138 .h":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6102.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6102.jpg?v=1723799294","width":768},{"alt":null,"id":34467726360802,"position":9,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6103.jpg?v=1723799293"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6103.jpg?v=1723799293","width":768},{"alt":null,"id":34467726393570,"position":10,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6104.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6104.jpg?v=1723799294","width":768},{"alt":null,"id":34467726426338,"position":11,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6105.jpg?v=1723799294" 0}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"experiential\"\u003e\n\u003ch2\u003eA Versatile All-Season Commuter Bike\u003c\/h2\u003e\n\u003cp\u003eIf you’re like us, your bike needs likely change by the day, week, month or year. Quite the adaptable little beast, Ogre can get you to your job during the week, then way out of town on the weekend. It’s not sluggish on pavement or gravel and can also hold its own on singletrack.\u003c\/p\u003e\n\u003cp\u003eOgre is designed to be the ultimate steel utility vehicle. It relishes in those “take-the-long-way-home-and-find-some-beverages-along-the-way” sort of commutes. Snow, sleet or sweltering humidity, this is an ideal year-round commuter bike. You can also haul enough crap on it that you don’t even have to go home if you don’t want to.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"highlights\"\u003e\n\u003cul\u003e\n\u003cli\u003eAll the barnacles you could ever possi
bly ask for including rack and fender, multiple three-pack mounts and mid-blade.\u003c\/li\u003e\n\u003cli\u003eGnot-Boost rear spacing with Rohloff torque arm slot and Bill\/Ted trailer mount\u003c\/li\u003e\n\u003cli\u003eClearance for 29” x 2.5” or 27.5\" x 2.8\" tyres with mudguards\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {43974777766114 : "deny",43974777798882 : "deny",43974777831650 : "deny",43974777864418 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {43974777766114 : parseInt("2"),43974777798882 : parseInt("0"),43974777831650 : parseInt("0"),43974777864418 : parseInt("2"),}; window._RestockRocketConfig.variantsPreorderCount = {43974777766114 : parseInt(""),43974777798882 : parseInt(""),43974777831650 : parseInt(""),43974777864418 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {43974777766114 : null,43974777798882 : null,43974777831650 : null,43974777864418 : n e.co.uk\/cdn\/shop\/files\/6108.jpg?v=1723799294","width":768},{"alt":null,"id":34467726557410,"position":15,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6109.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6109.jpg?v=1723799294","width":768},{"alt":null,"id":34467726590178,"position":16,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6110.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6110.jpg?v=1723799294","width":768},{"alt":null,"id":34467726622946,"position":17,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6111.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6111.jpg?v=1723799294","width":768},{"alt":null," ull,}; window._RestockRocketConfig.variantsPreorderMaxCount = {43974777766114 : parseInt(""),43974777798882 : parseInt(""),43974777831650 : parseInt(""),43974777864418 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {43974777766114 : null,43974777798882 : null,43974777831650 : null,43974777864418 : null,}; window._RestockRocketConfig.variantsShippingText = {43974777766114 : "",43974777798882 : "",43974777831650 : "",43974777864418 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {43974777766114 : null,43974777798882 : null,43974777831650 : null,43974777864418 : null,}; window._RestockRocketConfig.selected_variant_id = 43974777831650; 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-280fid":34467726655714,"position":18,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6112.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6112.jpg?v=1723799294","width":768},{"alt":null,"id":34467726688482,"position":19,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6113.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6113.jpg?v=1723799294","width":768},{"alt":null,"id":34467726721250,"position":20,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6114.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6114.jpg?v=1723799294","width":768},{"alt":null,"id":34467726754018,"position":21,"preview_image":{"aspect_ratio":1.0,"height<-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'); ":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6115.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6115.jpg?v=1723799294","width":768},{"alt":null,"id":34467726786786,"position":22,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6116.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6116.jpg?v=1723799294","width":768},{"alt":null,"id":34467726819554,"position":23,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6117.jpg?v=1723799295"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6117.jpg?v=1723799295","width":768},{"alt":null,"id":34467726852322,"position":24,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6118.jpg?vimg src="//projektride.co.uk/cdn/shop/files/collection_512x512.png?v=1690612759" alt="" class="icons-row__image"> 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 < \/projektride.co.uk\/cdn\/shop\/files\/6121.jpg?v=1723799294","width":768},{"alt":null,"id":34467726983394,"position":28,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6122.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6122.jpg?v=1723799294","width":768},{"alt":null,"id":34467727016162,"position":29,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6123.jpg?v=1723799295"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6123.jpg?v=1723799295","width":768},{"alt":null,"id":34467727048930,"position":30,"preview_image":{"aspect_ratio":1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6124.jpg?v=1723799295"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6124.jpg?v=1723799295","width":768},{ 0) { console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else if (liquidCacheAge < :1.0,"height":768,"width":768,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6282.jpg?v=1723799294"},"aspect_ratio":1.0,"height":768,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/6282.jpg?v=1723799294","width":768},{"alt":null,"id":34467727245538,"position":35,"preview_image":{"aspect_ratio":1.0,"height":1200,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/9971.jpg?v=1723799294"},"aspect_ratio":1.0,"height":1200,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/9971.jpg?v=1723799294","width":1200},{"alt":null,"id":34467727278306,"position":36,"preview_image":{"aspect_ratio":1.0,"height":1200,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/9972.jpg?v=1723799294"},"aspect_ratio":1.0,"height":1200,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/9972.jpg?v=1723799294","width":1200},{"alt":null,"id":34467727311074,"position":37,"preview_image":{"aspect_ratio":1.0,"height":1200,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/s5. Collect In Store= 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 && !Obje eight":1200,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15702.jpg?v=1723799294","width":1200},{"alt":null,"id":34467727442146,"position":41,"preview_image":{"aspect_ratio":1.0,"height":1200,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15703.jpg?v=1723799294"},"aspect_ratio":1.0,"height":1200,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15703.jpg?v=1723799294","width":1200},{"alt":null,"id":34467727474914,"position":42,"preview_image":{"aspect_ratio":1.0,"height":1200,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15704.jpg?v=1723799294"},"aspect_ratio":1.0,"height":1200,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15704.jpg?v=1723799294","width":1200},{"alt":null,"id":34467727507682,"position":43,"preview_image":{"aspect_ratio":1.0,"height":1200,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15705.jpg?v=1723799294"},"aspect_ratio":1.0,"height":1200,"media_type":"image","src":"\/\/projektride.coCollect your bike in store alongside all optional equipment. Please bring a form of identification (Driver's licence or Passport) to complete the booking.ct.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 er 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 { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } // First try to div class="result__image" data-aspectratio="{{ it.product.image.aspectRatio }}" data-product-image> null,45820457976034 : null,45820458008802 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {45820457779426 : parseInt(""),45820457812194 : parseInt(""),45820457844962 : parseInt(""),45820457877730 : parseInt(""),45820457910498 : parseInt(""),45820457943266 : parseInt(""),45820457976034 : parseInt(""),45820458008802 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {45820457779426 : null,45820457812194 : null,45820457844962 : null,45820457877730 : null,45820457910498 : null,45820457943266 : null,45820457976034 : null,45820458008802 : null,}; window._RestockRocketConfig.variantsShippingText = {45820457779426 : "",45820457812194 : "",45820457844962 : "",45820457877730 : "",45820457910498 : "",45820457943266 : "",45820457976034 : "",45820458008802 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {45820457779426 : null,45820457812194 : null,45820457844962 : null,45820457877730 : null,45820457910498 : null,45820457943266 : null,4582 get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } <0457976034 : null,45820458008802 : null,}; window._RestockRocketConfig.selected_variant_id = 45820457812194; 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 LIQUI< ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions setupCartSellingPlanUpdater(setting a href="{{ it.product.url }}" class="result__image-link" aria-label='{{ it.product.title }}'> img src="//projektride.co.uk/cdn/shop/files/ride_confident_512x512.png?v=1690612532" alt="" class="icons-row__image"> D_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 s); 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 if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === '
!settings.multi_langua0px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-coun
!== 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() ing: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 slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes
') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) t-weight:500;min-width:35px;text-align:right;}
button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`); } // Dispatch custom event when app is loaded

<: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{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0

auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;p > -toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}.restock-rocket-preorder-progress-bar{padding:12px 15px;margin-bottom:20px;font-family:inherit;}.restock-rocket-preorder-progress-bar .preorder-progress-text{marg
  • Mon - Fri: 09:00 - 18:30
    82 Newington Road
    Edinburgh

    FAQimg src="//projektride.co.uk/cdn/shop/files/8895_2048x2048.jpg?v=1720880858" alt="Hydrapak Recon 1L" class="mfp-zoom-in-cur" id="34242095743202"> EH9 1QN

    Questions and answers

    Email
    • © 2026,
    • ProjektRide
    ning 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":"D id 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_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_dupli<
    <