span class="visually-hidden">Hire Lazer Compact Helmet
<


£0.00Loft Go + 5i EQ Step-Thru 400 Wh – ProjektRide
span class="visually-hidden">Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable


Hope XC Stem
Silver
Orange



Blog
Insure Your BikeTerms of Service
ServicingSurly
Delivery & ReturnsUTO (ex Eovolt)Insure Your Bike
Early Rider
Terms of Service
Working Hours
Servicing
Sat: 9:00 - 16:00Shop All Second-HandDelivery & Returns
Custom Builds for sale
Working Hours
Sat: 9:00 - 16:00EH9 1QN
[email protected]
EH9 1QN
.
[email protected]Juan Borges Designs
.Juan Borges Designs

:1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/cz244021a.jpg?v=1744884020"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/cz244021a.jpg?v=1744884020","width":1800},{"alt":null,"id":65307619819903,"position":25,"preview_image":{"aspect_ratio":1.0,"height":1800,"width":1800,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/cz244021b.jpg?v=1744884020"},"aspect_ratio":1.0,"height":1800,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/cz244021b.jpg?v=1744884020","width":1800},{"alt":null,"id":65307619950975,"position":26,"preview_image":{"aspect_ratio":1.0,"height":3000,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/cz244301.jpg?v=1744884020"},"aspect_ratio":1.0,"height":3000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/cz244301.jpg?v=1744884020","width":3000},{"alt":null,"id":65307620016511,"position":27,"preview_image":{"aspect_ratio":1.0,"height":3000,"width":3000,"srcin 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() tures such as brow vents and an accessory mount, make this a trail rider's dream lid.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eEasy to operate magnetic buckle:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eNo more fumbling with your helmet buckle while wearing gloves ‐ Lazer's magnetic buckle can be quickly undone with one hand with gloves on\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBetter visibility on the trail:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eVisor is easy to move up and down while riding for improved visibility and to make space for your goggles\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEyewear friendly:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eGoggle grip reduces risk of goggle slip and blocking visibility\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFilm your adventures:\u003c\/strong\u003e\u003cspan\e?.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('ST
null,55333373116799 : null,55333373149567 : null,55333373182335 : null,55333373215103 : null,55333373247871 : null,55333373280639 : null,55333373313407 : null,55333373346175 : null,};
window._RestockRocketConfig.variantsShippingText = {55333372789119 : "",55333372821887 : "",55333372854655 : "",55333372887423 : "",55333372920191 : "",55333372952959 : "",55333372985727 : "",55333373018495 : "",55333373051263 : "",55333373084031 : "",55333373116799 : "",55333373149567 : "",55333373182335 : "",55333373215103 : "",55333373247871 : "",55333373280639 : "",55333373313407 : "",55333373346175 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {55333372789119 : null,55333372821887 : null,55333372854655 : null,55333372887423 : null,55333372920191 : null,55333372952959 : null,55333372985727 : null,55333373018495 : null,55333373051263 : null,55333373084031 : null,55333373116799 : null,55333373149567 : null,55333373182335 : null,55333373215103 : null,55333373247871 : null,55333373280639 : null,553 maxRetries) {
console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`);
setTimeout(() => attemptCartCheck(attempt + 1), retryDelay);
} else {
console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check');
}
}
attemptCartCheck();
}
!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
.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)}@
lingPlans() {
// Wait for the API to be available with retries
const maxRetries = 10;
const retryDelay = 500;
function attemptCartCheck(attempt = 1) {
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 - no cart selling plan updates needed');
}
})
.catch(error => {
console.error('STOQ - error updating cart selling plans:', error);
});
} else if (attempt -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%)}}

See More
Submit your search request
li class="result">
See More<div class="result__image-img product__media lazyload fade-in"
data-bgset="{{ it.product.image.thumb }}"
data-aspectratio="{{ it.product.image.aspectRatio }}"
data-sizes="auto">
{{@if(it.product.badgeText)}}
<
<
See More
All Products
/
Best selling
Apidura
Arcus
Features: backpack
Tubes> li class="result result--full"> p class="result__title">{{ it.item.text }}
>