# of Pins: 
10 per side

Axle Material:
 Black chromoly steel

<<
x;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;} 2
4
5+Header Image
Decrease quantityIncrease quantity
    label for="quantity--template--15326745395426__main">Quantity
  • >
  • input type="number" name="quantity" id="quantity--template--15326745395426__main" value="1" min="1">
  • Add to cart
Notify me when this product is available:

>
Hire Lazer Compact Helmet £0.00
Hire Ortlieb 40L Pannier Bags

    a class="product__media pro
  • <
  • Parts & Components  
  • Brands
  • Hope
  • <
  • Weight: 180g<
  • Dimensions: 125 x 80 x 45mm
  • Cockpit
  • <

Stems

Grips & Bar-Tape

Clothing
SERVICES

Bike Hire With ProjektRideServicingSocks

Workshop Prices
Cycle to Work

Here at ProjektRide, we rent out our in-house built Surly and Brothers bike packing bikes. These have been custom-built with care and attention to ensure you have an awesome and hassle-free time on your bike trip!Delivery & Returns

Essentials
INFORMATIONCleaners, Degreasers and Lubrication
Accessories
Working Hours Maintenance Sun: Closed

1. Choose Bike

Choose your preferred bike from our collection of in-house custom-builds and add to your basket. Bikes can also be hired in store.

Sell Your Bike Tel

2. Choose Equipment (Optional)

Choose any optional free equipment - shown in the hire section - and add it to your basket so it's ready for you when you pick up your bike. This can also be done in store. Finance

Location EH9 1QNOpen search bar

3. Pay Online or In-Store

op:\u003c\/strong\u003e 94mm\u003cbr data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eSweep Angle:\u003c\/strong\u003e 65.2 degrees\u003cbr data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eColour:\u003c\/strong\u003e E.D. coated black\u003c\/p\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {43067668627682 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {43067668627682 : parseInt("5"),}; window._RestockRocketConfig.variantsPreorderCount = {43067668627682 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {43067668627682 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {43067668627682 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {43067668627682 : null,}; window._RestockRocketConfig.variantsShippingText = {43067668627682 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {43067668627682 : null,}; wi
nds // 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
  • = 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 Close search bar 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) { try { // Skip translation logic entirely if multi-language is not enabled if (!settings ||
  • Submit your search request stock-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:1 00%;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-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 forwa
  • Loading more
  • < a href="{{ it.product.url }}" class="result__image-link" aria-label='{{ it.product.title }}'>
    {{@if(it.product.badgeText)}}
    <
  • span>{{ it.product.badgeText | safe }} >Can I hire a custom-build bike?> {{/if}} >

    > If you are looking for a custom bike for your tour, > please get in touch<p class="result__title"> . We can do full custom-builds at a higher rental rate.<

a href="{{ it.product.url }}">{{ it.product.title }} >
  • >