rogress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}],"disabled_plan_ids":[713813721471,713176482175],"cached_at":"2026-02-18T08:36:42Z"}; if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { // Find the maximum updated_at from all items in old array const oldPlans = window._RestockRocketConfig.sellingPlans; const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 ? oldPlans.reduce(function(max, plan) { // Parse dates for proper comparison (handles mixed ISO formats) if (plan.updated_at) { const planDate = new Date(plan.updated_at); const maxDate = max ? new Date(max) : null; return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; }
dow._RestockRocketConfig.disabledSellingPlanIds = []; console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); } } })();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":15354407485823,"title":"Surly Straggler 1x - Chlorine Dream","handle":"surly-straggler-1x-chlorine-dream","description":"\u003cdiv class=\"col-md-8\"\u003e\n\u003ch2\u003eBorn on Gravel. Raised on Pavement\u003c\/h2\u003e
d by Ison and will differ from the complete bikes as shown on the US Surly site\u003c\/em\u003e\u003c\/sub\u003e\u003c\/p\u003e\n\u003ch4\u003eSpecifications\u003c\/h4\u003e\n\u003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFrame\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eFrame 100% Surly proprietary 4130 CroMoly tubing\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFork\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e4130 CroMoly, disc only\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHeadset\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eDia Compe\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHandlebar\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eGenetic Flare Road Bar\u003c\/span\u00
cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSTI Levers\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSRAM Rival1x\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eChain\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSRAM X1 11s\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eCrankset\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSRAM Rival 1x 42T\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eCassette\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSRAM 11 Speed\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eBottom Bracket\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSRAM GXP\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan cla
,"spo-disabled","spo-notify-me-disabled","Straggler","surly"],"price":184999,"price_min":184999,"price_max":184999,"available":false,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":56277316043135,"title":"54cm","option1":"54cm","option2":null,"option3":null,"sku":"5SUGR154L","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Surly Straggler 1x - Chlorine Dream - 54cm","public_title":"54cm","options":["54cm"],"price":184999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/5su-21-strag-1x.jpg?v=1761300572"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/5su-21-strag-1x.jpg?v=1761300572","options":["Size"],"media":[{"alt":null,"id":68320388350335,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src\u003cspan class=\"ui-list-info\"\u003eChlorine Dream\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cdiv class=\"logo-brand\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {56277316043135 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {56277316043135 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {56277316043135 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {56277316043135 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {56277316043135 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {56277316043135 : null,}; window._RestockRocketConfig.variantsShippingText = {56277316043135 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {56277316043135 : null,}; window._RestockRocketConfig.selected_variant_id = 562773160431
ation 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
hopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cac

fig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enab
Header Image

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

span class="visually-hidden">Hire Ortlieb 40L Pannier BagsHire Ortlieb 40L Pannier Bags – ProjektRide
> Skip to content

#shopify-section-announcement-bar { background: #f14d38; color: #ccbebe; }
This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.CloseHire Bikes
Enigma
Road / Gravel / Touring Bikes
Hybrid / City Bikes Electric Bikes
Kids Bikes
Frames

Shop by Brand

See More

Gloria
Amflow
Yeti
Rear Suspension

Saddles

Seat Posts & Clamps
  • E-bike Batteries and chargers