Shimano Hydraulic Disc, Rotor 180mm
Sell Your Bike
Hire Lazer Compact HelmetThe Expedition Downtube Pack is designed for storing items underneath the downtube on bikes without accessory mounts.
Rear Brake:
Contact Us
£0.00The downtube bag securely fastens to the downtube and similar diameter tubes to provide a versatile and compressible storage space for spares and long-distance essentials. It has enough capacity for a 710ml water bottle, allowing it to be used as a bottle holder bag for bikes with limited bottle storage space within the main triangle.
Shimano Hydraulic Disc, Rotor 160mm
BlackDowntube bags for bikepacking bring the benefits of accessory mounts, with the freedom to mount the bag wherever it is needed. The single motion velcro attachment and stability system means the pack mounts securely and easily to tubes of varying diameters. The waterproof, seam-welded construction ensures the contents remain clean and dry.Finance
Brake Levers:
We do not reco
img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer">
Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
Working Hours
<
Website by
Juan Borges Designs
<
ap if necessary. Afterwards, let it air dry.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eDo not machine wash, machine dry, or iron.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {44140302336226 : "continue",};
window._RestockRocketConfig.variantsInventoryQuantity = {44140302336226 : parseInt("98"),};
window._RestockRocketConfig.variantsPreorderCount = {44140302336226 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {44140302336226 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {44140302336226 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {44140302336226 : null,};
window._RestockRocketConfig.variantsShippingText = {44140302336226 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {44140302336226 : null,};
window._RestockRocketConfig.selected_variant_id = 44140302336226;
window._RestockRocketConfig.se
lected_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 = windo<
w._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 div class="rich-text__image-bg bg-pos-center-center no-js-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/cab9e91794fb5ffb9ece43293806d009_2048x.webp?v=1749545731);">
<