10 +
Header Image
Quantity
Increase Quantity

Mountain Bicycles

  •  
  • window.appBlockPlacements ||= []; if (window.klarnaAppBlocksManager) { window.klarnaAppBlocksManager.push({ productVariants: [{"id":44462104314082,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"FKSUDF9K","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Surly Dinner Fork 29\"","public_title":null,"options":["Default Title"],"price":21000,"weight":0,"compare_at_price":22900,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], templateName: 'product', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopLocale: 'en', shopDomain: 'projektride.co.uk', variantPrice: '21000', cartPrice: '0', selector: 'shopify-osm-AZkxmY3VSTnFmNnNiW__klarna_on_site_messaging_app_block_k6rYHt', topPadding: '0', bottomPadding: '0', }); } else { window.appBlockPlacements.push({ productVariants: [{"id":44462104314082,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"FKSUDF9K","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Surly Dinner Fork 29\"","public_title":null,"options":["Default Title"],"price":21000,"weight":0,"compare_at_price":22900,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], templateName: 'product', shopLocale: 'en', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopDomain: 'projektride.co.uk', variantPrice: '21000', cartPrice: '0', selector: 'shopify-osm-AZkxmY3VSTnFmNnNiW__klarna_on_site_messaging_app_block_k6rYHt', topPadding: '0', bottomPadding: '0', }); }
  • The Dinner Fork can handle almost any task and terrain. Made from 100% Surly Chromoly steel and ready to accommodate both 27.5” and 29” wheel sizes, the fork offers impressive tyre clearance, fender and rack compatibility, and 3-pack mounts on each leg. Straight steerer tube
  • 3-pack mounts on each leg Rack mounts: Standard low-rider bosses. Upper crown mounts
  • Mudguard mounts 51mm IS disc brake tabs
  • Fits tyres up to 27.5 x 2.8” wide []
1280 products {"@context":"http:\/\/schema.org\/","@id":"\/products\/surly-dinner-fork#product","@type":"Product","brand":{"@type":"Brand","name":"ProjektRide"},"category":"","description":"\nThe Dinner Fork can handle almost any task and terrain. Made from 100% Surly Chromoly steel and ready to accommodate both 27.5” and 29” wheel sizes, the fork offers impressive tyre clearance, fender and rack compatibility, and 3-pack mounts on each leg.\n\nStraight steerer tube\n3-pack mounts on each leg\nRack mounts: Standard low-rider bosses. Upper crown mounts\nMudguard mounts\n51mm IS disc brake tabs\nFits tyres up to 27.5 x 2.8” wide\n","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-10-28at13.25.54.png?v=1698496036\u0026width=1920","name":"Surly Dinner Fork 29\"","offers":{"@id":"\/products\/surly-dinner-fork?variant=44462104314082#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"210.00","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/surly-dinner-fork?variant=44462104314082"},"sku":"FKSUDF9K","url":"https:\/\/projektride.co.uk\/products\/surly-dinner-fork"}
#Accordions--template--26482384994687__section_accordions_with_images_kprcYa { --PT: 60px; --PB: 60px; --border-opacity: 0; --border-width: 1px; --MB: 10px; --padding-left: 0; --bg-padded-line: var(--bg); } #Accordions--template--26482384994687__section_accordions_with_images_kprcYa .section__heading { --heading-size: calc(var(--adjust-heading) * 1.2); } #Accordions--template--26482384994687__section_accordions_with_images_kprcYa .accordion__item { --bg-item: #fafafa; }
  •   #SiteFooter { --PT: 100px; --PB: 10px; --bg-lighten-darken-shimmer-bg: #0d0d0d; --bg-lighten-darken-shimmer-effect: #121212; --text: #ffffff; --text-alpha-15: rgba(255, 255, 255, 0.15); --text-alpha-50: rgba(255, 255, 255, 0.6); --text-alpha-85: rgba(255, 255, 255, 0.85);--border: #ffffff;} #SiteFooter .footer-bottom { --grid-columns: 3; }
     #SiteFooter .footer-block--logo { min-width: calc(160px + calc(var(--gutter) / 2)); } #SiteFooter .footer-block__logo-image { width: 160px; }
    Eritrea (GBP£)
Eswatini (GBP£)
Faroe Islands (DKKkr.)
    • Guadeloupe (EUR€)
    • Guernsey (GBP£)
    • Guinea (GNFFr)
    • Guinea-Bissau (XOFFr)
    • Hungary (HUFFt)
    • Iceland (ISKkr)
    • Ireland (EUR€)
    • Isle of Man (GBP£)
    • Italy (EUR€)
    • Jersey (GBP£)
    • Kenya (KESKSh)
    • Kosovo (EUR€)
    • Latvia (EUR€)
    • Lesotho (GBP£)
    • Liberia (GBP£)
    • PayPal
    • Shop Pay
  • < = 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; } if (settings.multi_language_enabled) { if (!settings.translations) { console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } if (window._RestockRocketConfig.normalizedLocale &
  • } catch (err) { } }, true); } } catch (e) { } function applyTranslations(settings) { try { 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) { 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; } } function setupCartSellingPlanUpdater(settings) { window.addEventListener('stoq:inventory-data-loaded', function(event) { console.debug('STOQ - Inventory data loaded, updating cart selling plans'); if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ
  • html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}