Surly

This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.HopeUTO (ex Eovolt)

UTO (ex Eovolt)

< < div class="result__image" data-aspectratio="{{ it.product.image.aspectRatio }}" data-product-image> {{ it.product.badgeText | safe }} console.log("pr-product-page");
<
< RIDE CONFIDENTBUY
< RIDE CONFIDENT
#ProductTemplate--template--15326745395426__main { background: #ffffff; } .shop-pay-terms { --payment-terms-background-color: #ffffff }
Header Image
Quantity:
1
ColorForget about your gear and focus on your ride < Weight - 233g (0.5lbs)input type="number" name="quantity" id="quantity--template--15326745395426__main" value="1" min="1">
  Quantity: {"id":8743111262434,"title":"Aeroe Spider Handlebar Cradle","handle":"aeroe-spider-handlebar-cradle","description":"\u003cp\u003eStore anything and everything you need on your ride in this heavy-duty, 8L capacity, waterproof drybag. With no extra straps or annoying cables, you'll enjoy securing or accessing your stuff as much as your ride, thanks to the quick release system\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eForget about your gear and focus on your ride\u003c\/li\u003e\n\u003cli\u003eCompatible with the Spider Rear Rack or Handlebar\/Front Fork Cradle\u003c\/li\u003e\n\u003cli\u003eWeight - 233g (0.5lbs)\u003c\/li\u003e\n\u003cli\u003eLoad Capacity - 4kgs recommended (9lbs)\u003c\/li\u003e\n\u003cli\u003eMaterials - Heavy duty TPU fully welded. Fully waterproof\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003ciframe title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/45ST0lDvSH8?si=erXEYsJgou9kw2vg\" height=\"315\" width=\"560\" allowfullscreen=\"\" referrerpolicy=\"strict-origin-when-cross-origin\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\u003c\/p\u003e","published_at":"2024-10-26T10:15:34+01:00","created_at":"2024-10-26T10:15:34+01:00","vendor":"Aeore","type":"Apparel \u0026 Accessories","tags":["Dry Bag","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":4999,"price_min":4999,"price_max":4999,"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":46081927971042,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"AER020","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Aeroe Spider Handlebar Cradle","public_title":null,"options":["Default Title"],"price":4999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":f

Black","Extra Large"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624841599,"title":"Swamp Thing \/ Small","option1":"Swamp Thing","option2":"Small","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":79285978792319,"product_id":15312313287039,"position":1,"created_at":"2025-09-30T13:33:40+01:00","updated_at":"2025-09-30T15:01:25+01:00","alt":null,"width":2114,"height":1460,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.25.png?v=1759240885","variant_ids":[56139624841599]},"available":true,"name":"-Brother Big Bro 2025 - Swamp Thing \/ Small","public_title":"Swamp Thing \/ Small","options":["Swamp Thing","Small"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":67934824956287,"position":1,"preview_image":{"aspect_ratio":1.448,"height":1460,"widthKona El Kahuna { "@context": "http://schema.org/", "@type": "Product", "name": "Aeroe Spider Handlebar Cradle", "url": "https:\/\/projektride.co.uk\/products\/aeroe-spider-handlebar-cradle","image": [ "https:\/\/projektride.co.uk\/cdn\/shop\/files\/aer019_12_a18ed2d2-8e4f-4aa2-a0d6-ad208a13bf5e_1800":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.25.png?v=1759240885"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624874367,"title":"Swamp Thing \/ Medium","option1":"Swamp Thing","option2":"Medium","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Swamp Thing \/ Medium","public_title":"Swamp Thing \/ Medium","options":["Swamp Thing","Medium"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624907135,"title":"Swamp Thing \/ Large","option1":"Swamp Thing","option2":"Large","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Swamp Thing \/ Large","public_title":"Swamp Thing \/ Large","options":["Swamp Thing","Large"],"price":94900,"weight":0,"compare_at_price":nu

topPadding: '0', bottomPadding: '0', }); } else { window.appBlockPlacements.push({ productVariants: [{"id":56139624710527,"title":"Black \/ Small","option1":"Black","option2":"Small","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":79285978628479,"product_id":15312313287039,"position":5,"created_at":"2025-09-30T13:33:40+01:00","updated_at":"2025-09-30T15:01:25+01:00","alt":null,"width":2114,"height":1460,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.04.png?v=1759240885","variant_ids":[56139624710527]},"available":true,"name":"-Brother Big Bro 2025 - Black \/ Small","public_title":"Black \/ Small","options":["Black","Small"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":67934824792447,"position":5,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-

1,"title":"Black \/ Extra Large","option1":"Black","option2":"Extra Large","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Black \/ Extra Large","public_title":"Black \/ Extra Large","options":["Black","Extra Large"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624841599,"title":"Swamp Thing \/ Small","option1":"Swamp Thing","option2":"Small","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":79285978792319,"product_id":15312313287039,"position":1,"created_at":"2025-09-30T13:33:40+01:00","updated_at":"2025-09-30T15:01:25+01:00","alt":null,"width":2114,"height":1460,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.25.png?v=1759240885","variant_ids":[56139624841599]},"available":true,"name":"-Brother Big Bro 2025 - Swamp Thing \/ Small","pu

Large","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Swamp Thing \/ Large","public_title":"Swamp Thing \/ Large","options":["Swamp Thing","Large"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624939903,"title":"Swamp Thing \/ Extra Large","option1":"Swamp Thing","option2":"Extra Large","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Swamp Thing \/ Extra Large","public_title":"Swamp Thing \/ Extra Large","options":["Swamp Thing","Extra Large"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', shopLocale: 'en', dataKey: 'top-strip-promotion-badge', stor

Submit
window.appBlockPlacements ||= []; if (window.klarnaAppBlocksManager) { window.klarnaAppBlocksManager.push({ productVariants: [{"id":43936078037218,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"BB001A07200","requires_shipping":true,"taxable":true,"featured_image":{"id":39096276386018,"product_id":8055067017442,"position":1,"created_at":"2023-03-18T11:58:31+00:00","updated_at":"2023-03-18T11:58:34+00:00","alt":null,"width":776,"height":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714","variant_ids":[43936078037218]},"available":true,"name":"Brooks Brick Lane Panniers - Black","public_title":"Black","options":["Black"],"price":18000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31694684127458,"position":1,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43936078069986,"title":"Grey","option1":"Grey","option2":null,"option3":null,"sku":"BB001A07201","requires_shipping":true,"taxable":true,"featured_image":{"id":39096276451554,"product_id":8055067017442,"position":5,"created_at":"2023-03-18T11:58:31+00:00","updated_at":"2023-03-18T11:58:34+00:00","alt":null,"width":776,"height":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714","variant_ids":[43936078069986]},"available":true,"name":"Brooks Brick Lane Panniers - Grey","public_title":"Grey","options":["Grey"],"price":18000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31694684258530,"position":5,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714"}},"requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopLocale: 'en', shopDomain: 'projektride.co.uk', variantPrice: '18000', cartPrice: '0', selector: 'shopify-osm-ASUorQUNvQS9uckFQO__klarna_on_site_messaging_app_block_8gNReH', topPadding: '0', bottomPadding: '0', }); } else { window.appBlockPlacements.push({ productVariants: [{"id":43936078037218,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"BB001A07200","requires_shipping":true,"taxable":true,"featured_image":{"id":39096276386018,"product_id":8055067017442,"position":1,"created_at":"2023-03-18T11:58:31+00:00","updated_at":"2023-03-18T11:58:34+00:00","alt":null,"width":776,"height":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714","variant_ids":[43936078037218]},"available":true,"name":"Brooks Brick Lane Panniers - Black","public_title":"Black","options":["Black"],"price":18000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31694684127458,"position":1,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43936078069986,"title":"Grey","option1":"Grey","option2":null,"option3":null,"sku":"BB001A07201","requires_shipping":true,"taxable":true,"featured_image":{"id":39096276451554,"product_id":8055067017442,"position":5,"created_at":"2023-03-18T11:58:31+00:00","updated_at":"2023-03-18T11:58:34+00:00","alt":null,"width":776,"height":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714","variant_ids":[43936078069986]},"available":true,"name":"Brooks Brick Lane Panniers - Grey","public_title":"Grey","options":["Grey"],"price":18000,"weight":0,"compare_
> Life Systems Pocket First Aid Kit - HIRE
g?v=1679140714","width":776},{"alt":null,"id":31694684356834,"position":8,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33372-pm.png?v=1679140713"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33372-pm.png?v=1679140713","width":776}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"col\"\u003e\n\u003cdiv class=\"description\"\u003e\n\u003cp\u003eInspired by the Cyclists’ Holdalls first featured in the 1890’s catalogue and made from water resistant cotton with leather finishing.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCrossed elastic straps allow additional items to be loaded\u003c\/li\u003e\n\u003cli\u003eSingle piece pannier set with leather carrying handle\u003c\/li\u003e\n\u003cli\u003eSelf-closing magnets hold flaps in place\u003c\/li\u003e\n\u003cli\u003eEasy-to-use roll up design\u003c\/li\u003e\Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
<
Hire Ortlieb 40L Pannier Bags a class="product__media product__media--featured" href="/products/hire-ortlieb-40l-pannier-bags" title="Hire Ortlieb 40L Pannier Bags" aria-label="Hire Ortlieb 40L Pannier Bags" style="background-image: url(//projektride.co.uk/cdn/shop/files/resize_width_1000_600x.jpg?v=1741085512)">
span class="visually-hidden">Hire Ortlieb 40L Pannier Bags

<
et 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)">
span class="visually-hidden">Life Systems Pocket First Aid Kit - HIRE>

>

div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.32_9d81277b-124e-4fdc-8a0f-fbfb40a9343d_600x.png?v=1691610357)">
>

Life Systems Pocket First Aid Kit - HIRE
£0.00a class="product__media product__media--featured" href="/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)"> a class="product__media product__media--featured" span class="visually-hidden">Life Systems Pocket First Aid Kit - HIRE<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');"> a class="product__media product__media--featured" href="/products/kryptolok-standard-u-lock-with-4-foot-kryptoflex-cable-hire" title="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable" aria-label="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-03-09at20.04.46_560e2033-8232-4bd3-a423-3ce8c9f11849_600x.png?v=1691610428)"> span class="visually-hidden">Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cableAbout Us > Contact Us Track Service ProgressBuy Sell Ride Confident Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cableInsure Your Bike Privacy Policy £0.00Cookie PolicyFAQ Refund policy SERVICES I'm looking to find out more information about a product, where can I find this? Workshop Prices Delivery & Returns01313745324 ) or email ( 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');"> [email protected] INFORMATIONProjektRide Bike Shop Edinburgh ProjektRide Buy Sell Ride Confident I'm looking to buy this product, when will it arrive and how much does postage cost? FAQ Sat: 9:00 - 16:00Postage is free on orders over £50. Orders under £50, our postage charge is £3.99. Questions and answers Sun: Closed We also have a physical store, if you are local please pop in - ProjektRide Bike Shop Edinburgh I'm looking to find out more information about a product, where can I find this? 0131 374 5324 01313745324 .site-footer { --bg: #1f2324; --text: #ffffff; Track Service ProgressProjektRide Bike Shop Edinburgh Building Your Bike From the Box 82 Newington Road, EH91QN, Edinburgh. Insure Your Bike Cookie Policy Refund policy © 2026, .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; }ProjektRide Workshop Prices Juan Borges Designs Cycle to Workimg src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer"> . Delivery & ReturnsINFORMATION 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 = 1770945516;window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom'; window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-12-28T14:44:23.508Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_c Blog ustomer_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_duplicate_error":"You've already subscribed for alerts to this producm[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","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" Building Your Bike From the Box ,"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_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_se8178,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,55569712480639,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207 Privacy Policy ,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-02-13T00:58:34Z","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-13T01:06:03Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2026-02-13T01:06:03Z","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_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available Cookie Policy Mon - Fri: 09:00 - 18:30 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_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_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_tim Terms of Serv Sat: 9:00 - 16:00er_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_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_per \/aer020_10.jpg?v=1729934027","\/\/projektride.co.uk\/cdn\/shop\/files\/aer020_12_56b05c10-d77b-4385-a730-fd7101bb98d3.jpg?v=1729934027"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/aer019_12_a18ed2d2-8e4f-4aa2-a0d6-ad208a13bf5e.jpg?v=1729934027","options":["Title"],"media":[{"alt":null,"id":34865380917474,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/aer019_12_a18ed2d2-8e4f-4aa2-a0d6-ad208a13bf5e.jpg?v=1729934027"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/aer019_12_a18ed2d2-8e4f-4aa2-a0d6-ad208a13bf5e.jpg?v=1729934027","width":1800},{"alt":null,"id":34865380983010,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/aer020.jpg?v=1729934027"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/aer020.jpg?v=1729934027","width":1800},{"alt": 71042; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = 'https://app.restockrocket.io' const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds const LIQUID_CACHE_MAX_AGE = 2 * 60 * 60; // 2 hours in seconds // Calculate Liquid cache freshness once at initiaTel< <Kona XC/BC Riser } return settings; } catch (error) { console.debug('STOQ - Error checking settings cache:', error); return null; } } function createRestockRocketContainer() { const restockRocketContainer = document.createElement('div'); restockRocketContainer.id = 'restock-rocket'; document.body.appendChild(restockRocketContainer); } function createRestockRocketScript(scriptUrl) { const restockRocketScriptElement = document.createElement('script'); restockRocketScriptElement.setAttribute('defer', 'defer'); restockRocketScriptElement.src = scriptUrl; document.body.appendChild(restockRocketScriptElement); } createRestockRocketContainer() console.debug('STOQ - extension activated') function applyTranslations(settings) { try { // Skip translation logic entirely if multi-language is not enabled if (!settings || !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug(Delivery & Returns }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedLocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { if (!settings || !settings.preorder_enabled) { return; } // Listen for stoq:preorder-api-ready event dispatched by preorder.js window.addEventListener('stoq:preorder-api-ready', function(event) { console.debug('STOQ - Preorder API ready, updating cart selling plans'); if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selli Locationpify-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); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { s cketConfig.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 // Cart selling plan updates will be triggered by stoq:preorder-api-ready event const appLoad .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:. 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;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{f untdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards 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}Working Hours Mon - Fri: 09:00 - 18:30 Sun: Closed Tel 0131 374 5324 ProjektRideLocation 82 Newington Road Website by Edinburgh Juan Borges DesignsEH9 1QN Email [email protected] 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 = 1770945516;window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom'; window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-12-28T14:44:23.508Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_namr_selector_collection_type":"afterend","show_channel_selector":false,"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_ad d_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*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","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_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,"ma rket_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2026-01-08T16:12:13.364Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,43936124141794,43936124174562,43936129941730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,43936152092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936333103330,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43 981374980322,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,55569712480639,55570550194559,55570550227327,556040hloff-dropouts\/\"\u003eSee here for details.\u003c\/a\u003e\u003c\/em\u003e\u003c\/p\u003e\n\u003cp\u003eLike all Brother products the Big Bro has been rigorously tested out in the real world – we took prototypes across the South Downs, through Snowdonia National Park and up to the Scottish Highlands. The Big Bro has since completed many of the world’s toughest bikepacking endurance races – including the 4,418km Tour Divide from Canada to Mexico and the 1,710km\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.brothercycles.com\/2019\/09\/the-brotherhood-stefan-dave-from-pannier-cc-complete-the-silk-road-mountain-race\/\"\u003eSilk Road Mountain Race\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003ein Kyrgyzstan.\u003c\/p\u003e","published_at":"2025-09-30T15:00:46+01:00","created_at":"2025-09-30T13:49:24+01:00","vendor":"Brother Cycles","type":"Bicycles","tags":["brothers","Frame","frames","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":94900,"price_min": ProjektRide94900,"price_max":94900,"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":56139624710527,"title":"Black \/ Small","option1":"Black","option2":"Small","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":79285978628479,"product_id":15312313287039,"position":5,"created_at":"2025-09-30T13:33:40+01:00","updated_at":"2025-09-30T15:01:25+01:00","alt":null,"width":2114,"height":1460,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.04.png?v=1759240885","variant_ids":[56139624710527]},"available":true,"name":"-Brother Big Bro 2025 - Black \/ Small","public_title":"Black \/ Small","options":["Black","Small"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":67934824792447,"position":5,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.04.png?v=1759240885"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624743295,"title":"Black \/ Medium","option1":"Black","option2":"Medium","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"-Brother Big Bro 2025 - Black \/ Medium","public_title":"Black \/ Medium","options":["Black","Medium"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624776063,"title":"Black \/ Large","option1":"Black","option2":"Large","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Black \/ Large","public_title":"Black \/ Large","options":["Black","Large"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling ._plan_allocations":[]},{"id":56139624808831,"title":"Black \/ Extra Large","option1":"Black","option2":"Extra Large","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Black \/ Extra Large","public_title":"Black \/ Extra Large","options":["Black","Extra Large"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624841599,"title":"Swamp Thing \/ Small","option1":"Swamp Thing","option2":"Small","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":79285978792319,"product_id":15312313287039,"position":1,"created_at":"2025-09-30T13:33:40+01:00","updated_at":"2025-09-30T15:01:25+01:00","alt":null,"width":2114,"height":1460,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.25.png?v=1759240885","variant_ids":[56139624841599]},"available":true,"name":"-Brothe.32.25.png?v=1759240885","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.33.png?v=1759240885","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.41.png?v=1759240885","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.37.png?v=1759240885","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.04.png?v=1759240885","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.11.png?v=1759235624","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.09.png?v=1759235626","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.06.png?v=1759235624","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.01.png?v=1759235624"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.25.png?v=1759240885","options":["Colour","Size"],"media":[{"alt":null,"id":67934824956287,"position":1,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/proj Website by ektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.25.png?v=1759240885"},"aspect_ratio":1.448,"height":1460,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.25.png?v=1759240885","width":2114},{"alt":null,"id":67934824923519,"position":2,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.33.png?v=1759240885"},"aspect_ratio":1.448,"height":1460,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.33.png?v=1759240885","width":2114},{"alt":null,"id":67934824857983,"position":3,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.41.png?v=1759240885"},"aspect_ratio":1.448,"height":1460,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.41.png?v=1759240885","width":2114},{"alt":null,"id":679348259235624"},"aspect_ratio":1.448,"height":1460,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.01.png?v=1759235624","width":2114}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e\u003cem\u003e(Price for non-UK customers £790.83 excluding any local import taxes)\u003c\/em\u003e\u003c\/p\u003e\n\u003cp\u003eOur all purpose, tough as nails 29er\/27.5+ adventure frame; designed to take you well off the beaten track and beyond. Whether you’re running a lightweight bikepacking setup, front and rear panniers for a fully loaded ’round-the-world’ tour or just stripped back to thrash some forest trails the Big Bro can handle it.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eNew for 2025 \/\/ with the following updates the Big Bro is now an even more capable adventure frame –\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e\u003cem\u003eheat treated\u003c\/em\u003e\u003cspan\u003e \u003c\/span\u003e4130 chromoly main triang .le, new configuration sliding dropouts for a stronger and more reliable rear end, UDH full mount compatible rear mech hanger, top tube bag mounts and additional front rack mounts.\u003c\/p\u003e\n\u003cp\u003eThe frame is now constructed out of extra tough ‘heat treated’ 4130 double butted cro-mo tubing and comes with a 100mm suspension corrected fork, both with corrosion resistant ED coating applied. The Big Bro features Boost spacing which means there’s clearance for big 27.5 x 3″ tyres or 29 x 2.6″ tyres if you’d prefer to go with a 29er setup. It features stealth dropper routing, multiple rack and bag mounts, a bottle mount on the seat tube and triple mounts on and under the down tube for extra bottles and storage. The Big Bro fork also features triple mounts to fit further bottle cages or Anything Cages.\u003c\/p\u003e\n\u003cp\u003eThe rear triangle features S-bend chainstays with replaceable alloy thru axle sliding dropouts for geared or singlespeed setups. These have been re-designed for 2025 to now feature a rail system for extra strength and reliability.\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003eWe now offer a Rohloff specific dropout set which makes the Big Bro compatible with the Rohloff 135mm Speedhub with OEM axle plate.\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.brothercycles.com\/shop\/accessories\/big-bro-rohloff-dropouts\/\"\u003eSee here for details.\u003c\/a\u003e\u003c\/em\u003e\u003c\/p\u003e\n\u003cp\u003eLike all Brother products the Big Bro has been rigorously tested out in the real world – we took prototypes across the South Downs, through Snowdonia National Park and up to the Scottish Highlands. The Big Bro has since completed many of the world’s toughest bikepacking endurance races – including the 4,418km Tour Divide from Canada to Mexico and the 1,710km\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.brothercycles.com\/2019\/09\/the-brotherhood-stefan-dave-from-pannier-cc-complete-the-silk-road-mountain-race\/\"\u003eSilk Road Mo untain Race\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003ein Kyrgyzstan.\u003c\/p\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {56139624710527 : "deny",56139624743295 : "deny",56139624776063 : "deny",56139624808831 : "deny",56139624841599 : "deny",56139624874367 : "deny",56139624907135 : "deny",56139624939903 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {56139624710527 : parseInt("4"),56139624743295 : parseInt("0"),56139624776063 : parseInt("4"),56139624808831 : parseInt("4"),56139624841599 : parseInt("4"),56139624874367 : parseInt("4"),56139624907135 : parseInt("4"),56139624939903 : parseInt("4"),}; window._RestockRocketConfig.variantsPreorderCount = {56139624710527 : parseInt(""),56139624743295 : parseInt(""),56139624776063 : parseInt(""),56139624808831 : parseInt(""),56139624841599 : parseInt(""),56139624874367 : parseInt(""),56139624907135 : parseInt(""),56139624939903 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {56139624710527 : null,56139624743295 : null,56139624776063 : null,56139624808831 : null,56139624841599 : null,56139624874367 : null,56139624907135 : null,56139624939903 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {56139624710527 : parseInt(""),56139624743295 : parseInt(""),56139624776063 : parseInt(""),56139624808831 : parseInt(""),56139624841599 : parseInt(""),56139624874367 : parseInt(""),56139624907135 : parseInt(""),56139624939903 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {56139624710527 : null,56139624743295 : null,56139624776063 : null,56139624808831 : null,56139624841599 : null,56139624874367 : null,56139624907135 : null,56139624939903 : null,}; window._RestockRocketConfig.variantsShippingText = {56139624710527 : "",56139624743295 : "",56139624776063 : "",56139624808831 : "",56139624841599 : "",56139624874367 : "",56139624907135 : "",56139624939903 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {5613962 4710527 : null,56139624743295 : null,56139624776063 : null,56139624808831 : null,56139624841599 : null,56139624874367 : null,56139624907135 : null,56139624939903 : null,}; window._RestockRocketConfig.selected_variant_id = 56139624710527; 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.hos 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 <age = Date.now() - updatedAt.getTime(); if (age 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 = 1770945516;window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom'; window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-12-28T14:44:23.508Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signin SETTINGS_CACHE_DURATION) { console.debug('STOQ - settings changed recently, skipping cache'); return null; } return settings; } catch (error) { console.debug('STOQ - Error checking settings cache:', error); return null; } } function createRestockRocketContainer() { const restockRocketContainer = document.createElement('div'); restockRocketContainer.id = 'restock-rocket'; document.body.appendChild(restockRocketContainer); } function createRestockRocketScript(scriptUrl) { const restockRocketScriptElement = document.createElement('script'); restockRocketScriptElement.setAttribute('defer', 'defer'); restockRocketScriptElement.src = scriptUrl; document.body.appendChild(restockRocketScriptElement); } createRestockRocketContainer() console.debug('STOQ - extension activated') function applyTranslations(settings) { g up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did try { // Skip translation logic entirely if multi-language is not enabled if (!settings || !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') {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_duplicat Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[key]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedLocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { if (!settings || !settings.preorder_enabled) { return; } // Listen for stoq:preorder-api-ready event dispatched by preorder.js window.addEventListener('stoq:preorder-api-ready', function(event) { console.debug('STOQ - Preorder API ready, updating cart selling plans'); if (w e_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":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more indow._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConctor_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_progress_bar_insert_selector":null,"preorder_progress_bar_iow._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 === '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(`ST nsert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2026-01-08T16:12:13.364Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,43936124141794,43936124174562,43936129941730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,43936152092898,43936152125666,43936193118434,43936250429666,43936OQ - 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); } } .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_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type" xt_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_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_m .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:13pin_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_x;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-pr 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":8055067017442,"title":"Brooks Brick Lane Panniers","handle":"brooks-brick-lane-panniers","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"col\"\u003e\n\u003cdiv class=\"description\"\u003e\n\u003cp\u003eInspired by the Cyclists’ Holdalls first featured in the 1890’s catalogue and made from water resistanteorder-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-check\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":43936078069986,"title":"Grey","option1":"Grey","option2":null,"option3":null,"sku":"BB001A07201","requires_shipping":true,"taxable":true,"featured_image":{"id":39096276451554,"product_id":8055067017442,"position":5,"created_at":"2023-03-18T11:58:31+00:00","updated_at":"2023-03-18T11:58:34+00:00","alt":null,"width":776,"height":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714","variant_ids":[43936078069986]},"available":true,"name":"Brooks Brick Lane Panniers - Grey","public_title":"Grey","options":["Grey"],"price":18000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31694684258530,"position":5,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714"}},"requires_selling_plan":false,"selling_plan_ket-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 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 allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714","\/\/projektride.co.uk\/cdn\/shop\/products\/20806-pm.png?v=1679140714","\/\/projektride.co.uk\/cdn\/shop\/products\/20807-pm.png?v=1679140715","\/\/projektride.co.uk\/cdn\/shop\/products\/20805-pm.png?v=1679140713","\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714","\/\/projektride.co.uk\/cdn\/shop\/products\/20809-pm.png?v=1679140713","\/\/projektride.co.uk\/cdn\/shop\/products\/33370-pm.png?v=1679140714","\/\/projektride.co.uk\/cdn\/shop\/products\/33372-pm.png?v=1679140713"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714","options":["Color"],"media":[{"alt":null,"id":31694684127458,"position":1,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png-bar{padding:12px 15px;margin-bottom:20px;font-family:inherit;}.restock-rocket-preorder-progress-bar .preorder-progress-text{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;} u003c\/li\u003e\n\u003cli\u003eHandmade in Italy\u003c\/li\u003e\n\u003cli\u003eW:34cm, H:36cm, D:10cm\u003c\/li\u003e\n\u003cli\u003eVol:15L per side Weight: 950g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col\"\u003e\n\u003cdiv class=\"features\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {43936078037218 : "continue",43936078069986 : "continue",}; window._RestockRocketConfig.variantsInventoryQuantity = {43936078037218 : parseInt("0"),43936078069986 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {43936078037218 : parseInt(""),43936078069986 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {43936078037218 : null,43936078069986 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {43936078037218 : parseInt(""),43936078069986 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {43936078037218 : null,43936078069986 : null,}; window._RestockRocketConfig.variantsShippingText = {43936078037218 : "",43936078069986 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {43936078037218 : null,43936078069986 : null,}; window._RestockRocketConfig.selected_variant_id = 43936078037218; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig .scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = 'https://app.restockrocket.io' const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds const LIQUID_CACHE_MAX_AGE = 2 * 60 * 60; // 2 hours in seconds // Calculate Liquid cache freshness once at initialization const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; // Validate timestamp and calculate cache age if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { const now = Math.floor(Date.now() / 1000); // Current time in seconds const liquidCacheAge = now - liquidRenderedAt; // Age in seconds // Handle client clock ahead of server if (liquidCacheAge < 0) { console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else if (liquidCacheAge eCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, '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(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 || settin gs.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 === '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._RestockRo .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-ro cket-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;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-countdown-timer .countdown-box{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: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{-webk
Life Systems Pocket First Aid Kit - HIREHire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
> >
CRANKARMS <
CHAINRINGS> BlogProjektRide36t Building Your Bike From the Box
B/B Terms of ServiceQuestions and answersn/a
PEDALS#FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; }Servicing n/a Cycle to WorkPlease get in touch with a member of the team either by phone (
CHAIN> ) where on of the team will be more than happy to help.Shimano HG54
CASSETTE Working Hours Shimano Deore 11-46t 10spd Mon - Fri: 09:00 - 18:30If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item.
CHAINGUIDE 82 Newington Road, EH91QN, Edinburgh. n/a Tel
F/DPlease get in touch with a member of the team either by phone (
R/D EH9 1QN<
BRAKE CALIPERSPrivacy Policy Shimano MT410Terms of Service
FRONT BRAKE ROTORSERVICES . Shimano RT10 180mm (centerlock)Servicing Website by
t.","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":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notiBRAKE LEVERSTrack Service Progress fication 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_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"forlector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2026-01-08T16:12:13.364Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,43936124141794,43936124174562,43936129941730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,43936152092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,439362Shimano MT401Insure Your BikeWorking Hours94011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936333103330,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392773346,43981392838882,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,43981989085410,4398198911
Sun: Closed p\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eForget about your gear and focus on your ride\u003c\/li\u003e\n\u003cli\u003eCompatible with the Spider Rear Rack or Handlebar\/Front Fork Cradle\u003c\/li\u003e\n\u003cli\u003eWeight - 233g (0.5lbs)\u003c\/li\u003e\n\u003cli\u003eLoad Capacity - 4kgs recommended (9lbs)\u003c\/li\u003e\n\u003cli\u003eMaterials - Heavy duty TPU fully welded. Fully waterproof\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003ciframe title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/45ST0lDvSH8?si=erXEYsJgou9kw2vg\" height=\"315\" width=\"560\" allowfullscreen=\"\" referrerpolicy=\"strict-origin-when-cross-origin\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\u003c\/p\u003e","published_at":"2024-10-26T10:15:34+01:00","created_at":"2024-10-26T10:15:34+01:00","vendor":"Aeore","type":"Apparel \u0026 Accessories","t g?v=1729934027","width":1800}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eStore anything and everything you need on your ride in this heavy-duty, 8L capacity, waterproof drybag. With no extra straps or annoying cables, you'll enjoy securing or accessing your stuff as much as your ride, thanks to the quick release system\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eForget about your gear and focus on your ride\u003c\/li\u003e\n\u003cli\u003eCompatible with the Spider Rear Rack or Handlebar\/Front Fork Cradle\u003c\/li\u003e\n\u003cli\u003eWeight - 233g (0.5lbs)\u003c\/li\u003e\n\u003cli\u003eLoad Capacity - 4kgs recommended (9lbs)\u003c\/li\u003e\n\u003cli\u003eMaterials - Heavy duty TPU fully welded. Fully waterproof\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003ciframe title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/45ST0lDvSH8?si=erXEYsJgou9kw2vg\" height=\"315\" width=\"560\" a
0131 374 5324translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const Workshop Prices
INFORMATION
SEATPOSTEmailenter;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;} Kona Thumb w/Offset 31.6mm[email protected] Sat: 9:00 - 16:00
SEAT CLAMP Kona QR
GRIPS© 2026, Kona Key Grip.
SADDLE. WTB Volt
FRONT HUB e_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_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_selectorShimano 110x15mm ":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":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_afte
08976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-02-13T00:58:34Z","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-13T01:06:03Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updaREAR HUB ted_at":"2026-02-13T01:06:03Z","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_button_description_shipping_text_prefix":"Sh
r Big Bro 2025 - Swamp Thing \/ Small","public_title":"Swamp Thing \/ Small","options":["Swamp Thing","Small"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":67934824956287,"position":1,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.25.png?v=1759240885"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624874367,"title":"Swamp Thing \/ Medium","option1":"Swamp Thing","option2":"Medium","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Swamp Thing \/ Medium","public_title":"Swamp Thing \/ Medium","options":["Swamp Thing","Medium"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624907135,"title":"Swamp Thing \/ SPOKES Large","option1":"Swamp Thing","option2":"Large","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Swamp Thing \/ Large","public_title":"Swamp Thing \/ Large","options":["Swamp Thing","Large"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56139624939903,"title":"Swamp Thing \/ Extra Large","option1":"Swamp Thing","option2":"Extra Large","option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"-Brother Big Bro 2025 - Swamp Thing \/ Extra Large","public_title":"Swamp Thing \/ Extra Large","options":["Swamp Thing","Extra Large"],"price":94900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at134890751,"position":4,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.37.png?v=1759240885"},"aspect_ratio":1.448,"height":1460,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.32.37.png?v=1759240885","width":2114},{"alt":null,"id":67934824792447,"position":5,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.04.png?v=1759240885"},"aspect_ratio":1.448,"height":1460,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.04.png?v=1759240885","width":2114},{"alt":null,"id":67934824694143,"position":6,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.11.png?v=1759235624"},"aspect_ratio":1.448,"height":1460,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\Stainless 14gJuan Borges Designs/shop\/files\/Screenshot2025-09-30at13.33.11.png?v=1759235624","width":2114},{"alt":null,"id":67934824726911,"position":7,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.09.png?v=1759235626"},"aspect_ratio":1.448,"height":1460,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.09.png?v=1759235626","width":2114},{"alt":null,"id":67934824759679,"position":8,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.06.png?v=1759235624"},"aspect_ratio":1.448,"height":1460,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.06.png?v=1759235624","width":2114},{"alt":null,"id":67934824825215,"position":9,"preview_image":{"aspect_ratio":1.448,"height":1460,"width":2114,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-09-30at13.33.01.png?v=17
t = 'https://app.restockrocket.io' const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds const LIQUID_CACHE_MAX_AGE = 2 * 60 * 60; // 2 hours in seconds // Calculate Liquid cache freshness once at initialization const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; // Validate timestamp and calculate cache age if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { const now = Math.floor(Date.now() / 1000); // Current time in seconds const liquidCacheAge = now - liquidRenderedAt; // Age in seconds // Handle client clock ahead of server if (liquidCacheAge RIMS <= 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 WTB ST i27 TCS 2.0 translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const
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_button_out_of_stock_text":"Out of stock","preorder_button_fig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); iFRONT TIREadd_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*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","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_selenitializeScripts(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.preorder_collection_enabled)) { createRestockRocketScript(windWTB Trail Boss 29x2.25"70754,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,55569712480639,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,5627027967219
cotton with leather finishing.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCrossed elastic straps allow additional items to be loaded\u003c\/li\u003e\n\u003cli\u003eSingle piece pannier set with leather carrying handle\u003c\/li\u003e\n\u003cli\u003eSelf-closing magnets hold flaps in place\u003c\/li\u003e\n\u003cli\u003eEasy-to-use roll up design\u003c\/li\u003e\n\u003cli\u003eWater resistant canvas \u0026amp; vegetable tanned leather\u003c\/li\u003e\n\u003cli\u003eHandmade in Italy\u003c\/li\u003e\n\u003cli\u003eW:34cm, H:36cm, D:10cm\u003c\/li\u003e\n\u003cli\u003eVol:15L per side Weight: 950g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col\"\u003e\n\u003cdiv class=\"features\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2023-03-18T11:58:31+00:00","created_at":"2023-03-18T11:58:31+00:00","vendor":"ProjektRide","type":"Apparel \u0026 Accessories","tags":["Bags and Transportation","Bike Packing","brooks","spo-cs-disabled","spo-default","spo-box-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-countdown-timer .countdown-box{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-timerREAR TIREdisabled","spo-notify-me-disabled"],"price":18000,"price_min":18000,"price_max":18000,"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":43936078037218,"title":"Black","option1":"Black","option2":null,"option3":null,"sku":"BB001A07200","requires_shipping":true,"taxable":true,"featured_image":{"id":39096276386018,"product_id":8055067017442,"position":1,"created_at":"2023-03-18T11:58:31+00:00","updated_at":"2023-03-18T11:58:34+00:00","alt":null,"width":776,"height":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20808-pm.png?v=1679140714","variant_ids":[43936078037218]},"available":true,"name":"Brooks Brick Lane Panniers - Black","public_title":"Black","options":["Black"],"price":18000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31694684127458,"position":1,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/ .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:100%;gap:10px}.restock-rocket-preorder-countdown-timer .countdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocWTB Trail Boss 29x2.25"ll,"id":31694684258530,"position":5,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33371-pm.png?v=1679140714","width":776},{"alt":null,"id":31694684291298,"position":6,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20809-pm.png?v=1679140713"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/20809-pm.png?v=1679140713","width":776},{"alt":null,"id":31694684324066,"position":7,"preview_image":{"aspect_ratio":1.0,"height":776,"width":776,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33370-pm.png?v=1679140714"},"aspect_ratio":1.0,"height":776,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/33370-pm.png?v=1679140714","width":776},{"alt":null,"id":31694684356834,"position":8,"
translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime ())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const age = Date.now() - updatedAt.getTime(); if (age !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[key ]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedLocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { if (!settings || !settings.preorder_enabled) { return; } // Listen for stoq:preorder-api-ready event dispatched by preorder.js window.addEventListener('stoq:preorder-api-ready', function(event) { console.debug('STOQ - Preorder API ready, updating cart selling plans'); if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updat
it-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 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)}1DISPLAY00%{-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{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;} Shimano SC-E7000 Display
CHARGER Shimano STEPS 2A
BATTERYLOCK Abus
PAINT COLOR Gloss Plum w/ Metallic Brass & Matte Ink Decals
EXTRAS n/a
All specifications are subject to change without notice



GEOMETRY

  SIZE S M L XL
1 ST LENGTH 370 420 470 530
2 TT LENGTH 581 607 633 665
3 REACH 404 428 453 484
4 STACK 619 623 628 633
5 STANDOVER 738 742 747 766
6 HT ANGLE 69.0 69.0 69.0 69.0
7 HT LENGTH 110 115 120 125
8 ST ANGLE 74.0 74.0 74.0 74.0
9 CS LENGTH 465 465 465 465
10 BB DROP 60 60 60 60
11 BB HEIGHT 315 315 315 315
12 WHEELBASE 1134 1160 1187 1220
13 FRONT CENTER 676 701 728 761
14 FORK LENGTH 506 506 506 506
15 FORK OFFSET 51 51 51 51
Bike Geometry

 

FAQ

Questions and answers