Cart
Spend

{ "@context": "http://schema.org", "@type": "Organization", "name": "ProjektRide","sameAs": [ null, null, null, null, null, null, null ], "url": "https:\/\/projektride.co.uk" }
console.log("pr-product-page");
console.log("pr-product-page");
Header Image
<
BUY
#ProductTemplate--template--15326745395426__main { background: #ffffff; } .shop-pay-terms { --payment-terms-background-color: #ffffff }

← Older Post

Newer Post →

{ "@context": "http://schema.org", "@type": "Article", "articleBody": "\nSell your bike to us!\nLooking to sell your bicycle safely, hassle-free and at a competitive price? The team at ProjektRide Bike shop in Edinburgh has over 10 years of experience in the second-hand bicycle market and understands the unique value of each individual bike. With our passion for cycling in mind, we only buy bikes from widely recognized brands in order to guarantee a quality product every time to our clients.\nHere's how it works\nHere's how it works:\nStage 1 - Submit a sell form below providing as much detail as possible, try to include information such as: any mechanical parts that may need replacing, frame defects such as chips, dents, or cracks and any other information you feel may be pertinent to the sale. If possible, please provide a photo of the frame number or any documentation for the bike.\nStage 2 - Once we have received your submission, one of our team members will be in touch to provide an estimated purchase price. We will aim to get back to you within 24 hours. \nStage 3 - If agreed, ProjektRide will require proof of valid identification and a utility bill with a current address dated within the last 3 months. Once this has been provided, here are the options to get your bike to ProjektRi

  • Seatpost: 31.6 mm (dropper post ready)<
  • Bottom bracket: 73mm BSA <
  • <
  • <

<

<


<<<Font Mechtranslation 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 < && 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._RestockRocketConfig.shop || window.SRotorsled for ${window._RestockRocketConfig.pageType}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:inventory-data-loaded 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); } } Front 160 / Rear 140 SMRT64
<
<
<
Apex
!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 hedSettings); } 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(window._RestockRocketCon
.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-rocket-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{-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}.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-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;}

 


Geometry: 

orefront_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 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_arue,"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":"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*=\"/clse,"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_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,4392612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392773346,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,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,45069750730RocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2026-03-05T22:02:58Z","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,"prege_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":"Sader 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_percentage":false}];(function() { const cachedData = {"plans":[{"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,"preor _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 r 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_percentage":false}],"disabled_plan_ids":[713813721471,713176482175],"cached_at":"2026-02-18T08:36:42Z"}; if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { // Find the maximum updated_at from all items in old array const oldPlans = window._RestockRocketConfig.sellingPlans; const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 ? oldPlans.reduce(function(max, plan) { // Parse dates for proper comparison (handles mixed ISO formats) if (plan.updated_at) { const planDate = new Date(plan.updated_at); const maxDa ngPlans (cached_at: ' + cachedData.cached_at + ')'); } } else { // When using old format (stale cache), don't trust disabled_plan_ids window._RestockRocketConfig.disabledSellingPlanIds = []; console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); } } })();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":15355241070975,"title":"Surly Straggler 650b S 003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFrame\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSurly proprietary 4130 CroMoly tubing\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFork\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e4130 CroMoly, disc only\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear Dropout\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e135mm QR\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHeadset\u003c\/span\u003e \u003cspan class=\"ui-list-info\"\u003eDia Compe\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHandlebar\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eGenetic Drove\u003c\/span\u003e se,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":56279629922687,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Surly Straggler 650b Sora Bike - Cold Steel Blue","public_title":null,"options":["Default Title"],"price":0,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/5su-25-strag-650-temp_d15382c4-dcd3-4572-bffa-eaa9aa0fbaa3.jpg?v=1761321159"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/5su-25-strag-650-temp_d15382c4-dcd3-4572-bffa-eaa9aa0fbaa3.jpg?v=1761321159","options":["Title"],"media":[{"alt":null,"id":68324583604607,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/5 \u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eChainset\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Sora R3000 50\/34\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFront Mech\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Sora R3000\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear Mech\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Sora R3000\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSTI Levers\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Sora R3000\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eBrakes\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eTRP Spyre\u003c\/span\u003e\n\u003c\/li\u003e\n\u003 t 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 = 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 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 || hopify.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(cac fig.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(`STOQ - no scripts enab Sat: 9:00 - 16:00 Tel Edinburgh [email protected] ProjektRide Juan Borges Designs . 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 = 1772748990;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_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_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_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 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_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,"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_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,43981374980322,43981392773346,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,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,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-03-05T22:08:52Z","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-03-05T22:03:59Z","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-03-05T22:02:58Z","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 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_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_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}];(function() { const cachedData = {"plans":[{"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 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_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_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}],"disabled_plan_ids":[713813721471,713176482175],"cached_at":"2026-02-18T08:36:42Z"}; if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { // Find the maximum updated_at from all items in old array const oldPlans = window._RestockRocketConfig.sellingPlans; const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 ? oldPlans.reduce(function(max, plan) { // Parse dates for proper comparison (handles mixed ISO formats) if (plan.updated_at) { const planDate = new Date(plan.updated_at); const maxDate = max ? new Date(max) : null; return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; } return max; }, '') : null; // Use cached if old array is empty/has no timestamps, or cached is newer // Parse dates for comparison to handle format differences (+00:00 vs .000Z) const cachedDate = new Date(cachedData.cached_at); const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); if (useCached) { if (Array.isArray(cachedData.plans)) { window._RestockRocketConfig.sellingPlans = cachedData.plans; // Only use disabled_plan_ids when using cached plans window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); } } else { // When using old format (stale cache), don't trust disabled_plan_ids window._RestockRocketConfig.disabledSellingPlanIds = []; console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); } } })();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":15354376159615,"title":"Surly Bridge Club 27.5 - Trevor's Closet Black","handle":"surly-bridge-club-27-5-trevors-closet-black","description":"\u003cdiv class=\"col-md-8\"\u003e\n\u003cdiv\u003e\n\u003cp\u003eBridge Club is for those multi-surface outings — planned or unplanned. We've all run out the clock on a dirt tour and had to add in some paved shortcuts. Conversely, when you’re feeling a little zesty on your next road tour, Bridge Club is ready for reroutes through the woods.\u003c\/p\u003e\n\u003cp\u003eSome people hear \"bike touring\" and immediately think of long-forgotten stretches of highway, small-town oddities, and roadside attractions. Some instantly recall desolate stretches of desert dirt roads or lush green forest trails. With Bridge Club, you can have your dessert and eat it too!\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cul\u003e\n\u003cli\u003eUltra-focused on simplicity, it only has the barnacles that matter most to the discerning bike tourist\u003c\/li\u003e\n\u003cli\u003eRun racks and panniers, framebags, or all of the above\u003c\/li\u003e\n\u003cli\u003eDisc brake-specific, single position vertical rear dropout makes it less intimidating than other bikes in the category\u003c\/li\u003e\n\u003cli\u003eClearance for 700 x 47mm tyres (with or without mudguards), 27.5 x 2.8” tyres (27.5 x 2.6” with mudguards), and 26 x 3” tyres (26 x 2.8” with mudguards)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003ch4\u003eSpecifications\u003c\/h4\u003e\n\u003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFork\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e100% Surly Chromoly Stee\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHeadset\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eCane Creek 40 Series\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHandlebar\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSalsa Bend\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eStem\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003ePromax, 31.8mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eGrips\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eVelo\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSaddle\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eWTB Volt\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSeatpost\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003ePromax 27.2 x 350mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFront Derailleur\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e\u003ci class=\"fa fa-times fa-lg\"\u003e\u003c\/i\u003e\u003cspan\u003e \u003c\/span\u003eN\/A\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear Derailleur\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Cues\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eGear Levers\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Cues\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eChain\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eKMC eGlide EPT\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eCrankset\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Cues, 32t\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eCassette\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Cues, 11-50t, 11-speed\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eBrakes\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eTektro Hydraulic M275\/276\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRims\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eWTB ST i30 TCS 2.0, 27.5\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHubs\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eNovatec\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eTyres\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eWTB Trail Boss 27.5 x 2.4\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eColour\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eTrevor's Closet Black\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cdiv class=\"logo-brand\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2025-10-24T10:41:38+01:00","created_at":"2025-10-24T10:41:36+01:00","vendor":"Surly","type":"Bicycles","tags":["Bridge Club","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled","surly"],"price":179900,"price_min":179900,"price_max":179900,"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":56277214986623,"title":"Extra Small","option1":"Extra Small","option2":null,"option3":null,"sku":"5SUBC250K","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Surly Bridge Club 27.5 - Trevor's Closet Black - Extra Small","public_title":"Extra Small","options":["Extra Small"],"price":179900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56277215019391,"title":"Small","option1":"Small","option2":null,"option3":null,"sku":"5SUBC251K","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Surly Bridge Club 27.5 - Trevor's Closet Black - Small","public_title":"Small","options":["Small"],"price":179900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56277215052159,"title":"Medium","option1":"Medium","option2":null,"option3":null,"sku":"5SUBC252K","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Surly Bridge Club 27.5 - Trevor's Closet Black - Medium","public_title":"Medium","options":["Medium"],"price":179900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56277215084927,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"5SUBC253K","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Surly Bridge Club 27.5 - Trevor's Closet Black - Large","public_title":"Large","options":["Large"],"price":179900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56277215117695,"title":"Extra Large","option1":"Extra Large","option2":null,"option3":null,"sku":"5SUBC254K","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Surly Bridge Club 27.5 - Trevor's Closet Black - Extra Large","public_title":"Extra Large","options":["Extra Large"],"price":179900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/5su-25-bridgeclub27-bk.jpg?v=1761298914","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot_2025-10-24_at_10.42.54.png?v=1761298983","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot_2025-10-24_at_10.43.09.png?v=1761299000"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/5su-25-bridgeclub27-bk.jpg?v=1761298914","options":["Size"],"media":[{"alt":null,"id":68319991857535,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/5su-25-bridgeclub27-bk.jpg?v=1761298914"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/5su-25-bridgeclub27-bk.jpg?v=1761298914","width":1000},{"alt":null,"id":68320007258495,"position":2,"preview_image":{"aspect_ratio":0.998,"height":1790,"width":1786,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot_2025-10-24_at_10.42.54.png?v=1761298983"},"aspect_ratio":0.998,"height":1790,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot_2025-10-24_at_10.42.54.png?v=1761298983","width":1786},{"alt":null,"id":68320011420031,"position":3,"preview_image":{"aspect_ratio":1.017,"height":1690,"width":1718,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot_2025-10-24_at_10.43.09.png?v=1761299000"},"aspect_ratio":1.017,"height":1690,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot_2025-10-24_at_10.43.09.png?v=1761299000","width":1718}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cdiv class=\"col-md-8\"\u003e\n\u003cdiv\u003e\n\u003cp\u003eBridge Club is for those multi-surface outings — planned or unplanned. We've all run out the clock on a dirt tour and had to add in some paved shortcuts. Conversely, when you’re feeling a little zesty on your next road tour, Bridge Club is ready for reroutes through the woods.\u003c\/p\u003e\n\u003cp\u003eSome people hear \"bike touring\" and immediately think of long-forgotten stretches of highway, small-town oddities, and roadside attractions. Some instantly recall desolate stretches of desert dirt roads or lush green forest trails. With Bridge Club, you can have your dessert and eat it too!\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cul\u003e\n\u003cli\u003eUltra-focused on simplicity, it only has the barnacles that matter most to the discerning bike tourist\u003c\/li\u003e\n\u003cli\u003eRun racks and panniers, framebags, or all of the above\u003c\/li\u003e\n\u003cli\u003eDisc brake-specific, single position vertical rear dropout makes it less intimidating than other bikes in the category\u003c\/li\u003e\n\u003cli\u003eClearance for 700 x 47mm tyres (with or without mudguards), 27.5 x 2.8” tyres (27.5 x 2.6” with mudguards), and 26 x 3” tyres (26 x 2.8” with mudguards)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003ch4\u003eSpecifications\u003c\/h4\u003e\n\u003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFork\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e100% Surly Chromoly Stee\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHeadset\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eCane Creek 40 Series\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHandlebar\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSalsa Bend\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eStem\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003ePromax, 31.8mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eGrips\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eVelo\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSaddle\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eWTB Volt\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSeatpost\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003ePromax 27.2 x 350mm\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFront Derailleur\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e\u003ci class=\"fa fa-times fa-lg\"\u003e\u003c\/i\u003e\u003cspan\u003e \u003c\/span\u003eN\/A\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear Derailleur\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Cues\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eGear Levers\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Cues\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eChain\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eKMC eGlide EPT\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eCrankset\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Cues, 32t\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eCassette\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Cues, 11-50t, 11-speed\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eBrakes\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eTektro Hydraulic M275\/276\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRims\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eWTB ST i30 TCS 2.0, 27.5\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHubs\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eNovatec\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eTyres\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eWTB Trail Boss 27.5 x 2.4\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eColour\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eTrevor's Closet Black\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"col-md-4\"\u003e\n\u003cdiv class=\"logo-brand\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {56277214986623 : "deny",56277215019391 : "deny",56277215052159 : "deny",56277215084927 : "deny",56277215117695 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {56277214986623 : parseInt("0"),56277215019391 : parseInt("0"),56277215052159 : parseInt("0"),56277215084927 : parseInt("1"),56277215117695 : parseInt("1"),}; window._RestockRocketConfig.variantsPreorderCount = {56277214986623 : parseInt(""),56277215019391 : parseInt(""),56277215052159 : parseInt(""),56277215084927 : parseInt(""),56277215117695 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {56277214986623 : null,56277215019391 : null,56277215052159 : null,56277215084927 : null,56277215117695 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {56277214986623 : parseInt(""),56277215019391 : parseInt(""),56277215052159 : parseInt(""),56277215084927 : parseInt(""),56277215117695 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {56277214986623 : null,56277215019391 : null,56277215052159 : null,56277215084927 : null,56277215117695 : null,}; window._RestockRocketConfig.variantsShippingText = {56277214986623 : "",56277215019391 : "",56277215052159 : "",56277215084927 : "",56277215117695 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {56277214986623 : null,56277215019391 : null,56277215052159 : null,56277215084927 : null,56277215117695 : null,}; window._RestockRocketConfig.selected_variant_id = 56277215084927; 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/019cb0b4-f8c1-740a-9811-1284dd89b0c8/restock-rocket-shopify-464/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019cb0b4-f8c1-740a-9811-1284dd89b0c8/restock-rocket-shopify-464/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 < = 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 - 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/ d: settings.preorder_enabled } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } 5881984251046.5
50ass=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFront Mech\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Sora R3000\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear Mech\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Sora R3000\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eSTI Levers\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eShimano Sora R3000\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eBrakes\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eTRP Spyre\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eWheels\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eHalo Drove Line\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cs52seat bags, and \"credit card touring\" rather than full-blown touring. Straggler also handles our 8- and 24-Pack Racks well, so you have some heavier-duty loading options.\u003c\/p\u003e\n\u003ch4\u003eSpecifications\u003c\/h4\u003e\n\u003cul class=\"ui-list ui-list-main\"\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFrame\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003eSurly proprietary 4130 CroMoly tubing\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eFork\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e4130 CroMoly, disc only\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eRear Dropout\u003c\/span\u003e\u003cspan class=\"ui-list-info\"\u003e135mm QR\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"ui-list_item\"\u003e\n\u003cspan class=\"ui-list-title\"\u003eHeadset\u003c\/span\u003e \u003cspan class=\"ui-list54ventoryPolicy = {56279629922687 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {56279629922687 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {56279629922687 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {56279629922687 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {56279629922687 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {56279629922687 : null,}; window._RestockRocketConfig.variantsShippingText = {56279629922687 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {56279629922687 : null,}; window._RestockRocketConfig.selected_variant_id = 56279629922687; 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.shopi56 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 58age = Date.now() - updatedAt.getTime(); if (age 60]; 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) { // Setup listener regardless - updateCartSellingPlans has its own guards // This ensures cleanup happens even when preorders are disabled globally // Listen for stoq:inventory-data-loaded event dispatched by api.js window.addEventListener('stoq:inventory-data-loaded', function(event) { console.debug('STOQ - Inventory data loaded, updating cart selling plans'); if (window._RestockRocket
562 580.9Working Hours 600 Mon - Fri: 09:00 - 18:30619 Sun: Closed 636.6
Reach0131 374 5324 358.1 366.5Location 380.982 Newington Road382.3EH9 1QN 390 399.5Email
Head Tube Angle 70 71 72 72.5© 2026, 72.5. 72.5 Website by
Seat Tube Angle 73.5 73.5 73.5 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 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 || 73.5]; 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) { // Setup listener regardless - updateCartSellingPlans has its own guards // This ensures cleanup happens even when preorders are disabled globally // Listen for stoq:inventory-data-loaded event dispatched by api.js window.addEventListener('stoq:inventory-data-loaded', function(event) { console.debug('STOQ - Inventory data loaded, updating cart selling plans'); if (window._RestockRocket73.5 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(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._
Effective Top Tube .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-rocket-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{-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}.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-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;} 519 533 547 560 574 588
Seat Tube C-T 456 484 518 544 558 588
Head Tube 110 126 425<142 160518 180544 198558
425Chain stay 425Head Tube 425110 425126 425142 425160 425180
Chain stay 425 425 425 425 425
Wheelbase 998 1003 1008 1017 1031
DT Length 618.1 628.6 639

: Its lightweight frame and aerodynamic design make this bike a speed demon. Ready to challenge the open road, it offers precision and agility, letting you stretch your limits.

2. Cruise & Endurance RidesSo if you're in the mood for a weekly club ride, an adventure or the thrill of a racing experience, this bike is your ideal partner. It seamlessly adapts to your riding preferences, making it versatile for a variety of uses:3. Club Rides
1. Fast-Paced Riding: Join in on group rides and stay in step with your fellow cyclists. This bike's responsive handling and efficient power transfer are ideal for keeping pace with the pack, all while enjoying the camaraderie.

: Its lightweight frame and aerodynamic design make this bike a speed demon. Ready to challenge the open road, it offers precision and agility, letting you stretch your limits.

4. Racing Thrills2. Cruise & Endurance Rides: If competitive racing gets your heart racing, this bike is up for the challenge. Equipped with advanced features, it helps you navigate tough terrains and smash personal records.

: For those who enjoy a more laid-back cycling experience, this bike promises a comfortable, smooth ride. Perfect for scenic explorations or neighbourhood cruising, it guarantees an enjoyable journey every time.

5. Gravel Rides3. Club Rides: With its impressive capabilities, this bike also tackles off-road adventures. It accommodates up to 45c tires, taking you anywhere you wish to explore.

: Join in on group rides and stay in step with your fellow cyclists. This bike's responsive handling and efficient power transfer are ideal for keeping pace with the pack, all while enjoying the camaraderie.

Plus, there are customisation options available!4. Racing Thrills

: If competitive racing gets your heart racing, this bike is up for the challenge. Equipped with advanced features, it helps you navigate tough terrains and smash personal records.Dive into the joy of cycling with our expertly crafted bike, designed with passion to enhance your riding experiences.

5. Gravel RidesNo matter your cycling style or goals, this bike promises to surpass your expectations. It strikes the perfect balance of speed, comfort, and performance, empowering you to tackle every adventure with confidence and joy.

: With its impressive capabilities, this bike also tackles off-road adventures. It accommodates up to 45c tires, taking you anywhere you wish to explore.

Plus, there are customisation options available!

Dive into the joy of cycling with our expertly crafted bike, designed with passion to enhance your riding experiences.

No matter your cycling style or goals, this bike promises to surpass your expectations. It strikes the perfect balance of speed, comfort, and performance, empowering you to tackle every adventure with confidence and joy.

Embrace the freedom to ride your way, at your pace, and discover the full potential of your cycling journey with this exceptional bike.

{"id":15083523637631,"title":"Gloria All Road - Shimano 105 - DT Swiss Wheelset","handle":"gloria-all-road-shimano-105-dt-swiss-wheelset","description":"\u003ch2 class=\"product-about__accordion-title active\"\u003e\u003cspan class=\"h5\"\u003eAll Road Frame details\u003c\/span\u003e\u003c\/h2\u003e\n\u003cdiv class=\"product-about__more-link-wrapper\"\u003e\n\u003cdiv class=\"product-about__more-link\"\u003e\u003csvg class=\"icon icon-filter-two\" width=\"12\" height=\"7\" viewbox=\"0 0 12 7\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003cpath d=\"M10 1.5L6 5.5L2 1.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"square\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"product-about__accordion-description\"\u003e\n\u003cul\u003e\n\u003cli\u003eZS44\/EC44 headset included\u003c\/li\u003e\n\u003cli\u003eUDH Hanger included\u003c\/li\u003e\n\u003cli\u003eAlloy seatpost collar included\u003c\/li\u003e\n\u003cli\u003eTitanium seatpost collar (optional extra)\u003c\/li\u003e\n\u003cli\u003e3AL-2.5V grade 9\u003c\/li\u003e\n\u003cli\u003eButted tubes\u003c\/li\u003e\n\u003cli\u003eThru-axles front \u0026amp; rear and all appropriate cable guides included\u003c\/li\u003e\n\u003cli\u003eLifetime Frame Warranty\u003c\/li\u003e\n\u003cli\u003eFrameset weight: ~ 2.2k g\u003c\/li\u003e\n\u003cli\u003eFrame weight: ~1.8 kg\u003c\/li\u003e\n\u003cli\u003eFrame finish - Sandblasted (Standard)\u003c\/li\u003e\n\u003cli\u003eAxles 12mm x 100mm front and 12mm x 142mm The Robert Axle Project bolt thru\u003c\/li\u003e\n\u003cli\u003eBottom bracket Standard BSA\u003c\/li\u003e\n\u003cli\u003eMudguards and rack mounts compatible\u003c\/li\u003e\n\u003cli\u003eBrake mount: Flat mount 140mm or 160mm rotors\u003c\/li\u003e\n\u003cli\u003eSeat tube internal 27.2mm \u0026amp; Seat tube external 31.8\u003c\/li\u003e\n\u003cli\u003eFrame Tyre clearance 700 x 45c\u003c\/li\u003e\n\u003cli\u003eFront mech clamp 31.8 \u003c\/li\u003e\n\u003cli\u003eAxle size 166XM12 - TP1.0\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2 class=\"h5 product-about__accordion-title active\"\u003e\u003cspan\u003eGeometry, Weight \u0026amp; Specs\u003c\/span\u003e\u003c\/h2\u003e\n\u003cdiv class=\"product-about__more-link-wrapper\"\u003e\n\u003cdiv class=\"product-about__more-link\"\u003e\u003csvg class=\"icon icon-filter-two\" width=\"12\" height=\"7\" viewbox=\"0 0 12 7\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003cpath d=\"M10 1.5L6 5.5L2 1.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"square\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"product-about__accordion-description main-product-description\"\u003e\n\u003cp\u003eWeight and specs:\u003c\/p\u003e\n\u003cp\u003eFrame weight 1.8kg Frameset 2.3kg\u003c\/p\u003e\n\u003cp\u003e\u003ca rel=\"noopener\" href=\"https:\/\/geometrygeeks.bike\/bike\/gloria-all-road-2025\/\" target=\"_blank\"\u003eCompare the geometry with your existing bike:\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eThe build includes Deda (Now a Free upgrade to Zipp) finishing kit and DT Swiss wheels. Optional add-ons include titanium spacers, titanium seat post, titanium stem, and\/or titanium cages.\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" border=\"1\" data-sheets-root=\"1\"\u003e\n\u003ccolgroup\u003e\n\u003ccol width=\"210\"\u003e\n\u003ccol width=\"710\"\u003e\n\u003c\/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Product Type\"}'\u003e\u003cstrong\u003eProduct Type\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Component\"}'\u003e\u003cstrong\u003eComponent\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Bar Tape \/ Grips\"}'\u003eBar Tape \/ Grips\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"BBB\"}'\u003eBBB\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Frame\"}'\u003eFrame\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Gloria - Titanium All- road\"}'\u003eGloria - Titanium All-Road\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Fork\"}'\u003eFork\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Gloria Cabon - (no- cage mounts)\"}'\u003eGloria Carbon - No cage mounts (45mm Tyre Max)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Handle Bar\"}'\u003eHandle Bar\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Zero RHM \"}'\u003eZero RHM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Saddle\"}'\u003eSaddle\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Selle Itallia\"}'\u003eSelle Itallia\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Stem\"}'\u003eStem\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Deda zero\"}'\u003eDeda Zero\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Tyre\"}'\u003eTyre\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Vittoria Zaffiro V 700x32c Rigid Full Black Clincher Tyre\"}'\u003eVittoria Zaffiro V 700x32c Rigid Full Black Clincher Tyre\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Wheel Pair\"}'\u003eWheel Pair\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"DT Swiss370 CL Hub G 540 Rim TLR\"}'\u003eDT Swiss 540 Alloy Wheelset (DT 370)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Bottom Bracket\"}'\u003eBottom Bracket\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Shimano Ultegra SM-BBR60 Bottom Bracket\"}'\u003eShimano Ultegra SM-BBR60 Bottom Bracket\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Seat Post\"}'\u003eSeat Post\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Deda Zero\"}'\u003eDeda Zero\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Groupset\"}'\u003eGroupset\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"105 12 Speed Mechanical Groupset\"}'\u003e105 12 Speed Mechanical Groupset\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Cassette\"}'\u003eCassette\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"CS-R7101 105 12-speed cassette, 11 - 34T\"}'\u003eCS-R7101 105 12-speed cassette, 11 - 34T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Chain\"}'\u003eChain\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"CN-M7100 SLX\/105 HG+ chain with quick link, 12-speed, 126L\"}'\u003eCN-M7100 SLX\/105 HG+ chain with quick link, 12-speed, 126L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Crank Set\"}'\u003eCrank Set\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"FC-R7100 105 double 12-speed chainset, HollowTech II\"}'\u003eFC-R7100 105 double 12-speed chainset, HollowTech II\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Head Set\"}'\u003eHead Set\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Gloria ZS44\/EC44\"}'\u003eGloria ZS44\/EC44 External\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Head Set spacer\"}'\u003eHead Set spacer\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\" Headset Spacer Set \/ 1 1\/8\\\" \/ 3 x 10mm \/ Black\"}'\u003e3x Gloria Titanium Spacer Set \/ 1 1\/8\" \/ 10mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Left Lever\"}'\u003eLeft Lever\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"ST-R7120 105 hydraulic disc STI set, flat mount calliper, left rear\"}'\u003eST-R7120 105 hydraulic disc STI set, flat mount calliper, left rear\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Levers\"}'\u003eLevers\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"ST-R7120 105 hydraulic disc STI set, flat mount calliper, right front, black\"}'\u003eST-R7120 105 hydraulic disc STI set, flat mount calliper, right front, black\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Rear Mech\"}'\u003eRear Mech\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"RD-R7100 105 12-speed rear derailleur\"}'\u003eRD-R7100 105 12-speed rear derailleur\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Font Mech\"}'\u003eFont Mech\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"FD-R7100 105 12-speed toggle front derailleur, double 31.8 mm\"}'\u003eFD-R7100 105 12-speed toggle front derailleur, double 31.8 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Seat Clamp\"}'\u003eSeat Clamp\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Gloria Forged Alloy Bolt Up\"}'\u003eGloria Forged Alloy Bolt Up\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Rotors\"}'\u003eRotors\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Front 160 \/ Rear 140 SMRT64 \"}'\u003eFront 160 \/ Rear 140 SMRT64\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003e\u003ca href=\"https:\/\/geometrygeeks.bike\/bike\/gloria-all-road-2025\/\"\u003e\u003cspan\u003e\u003cstrong\u003eGeometry: \u003cbr\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/h3\u003e\n\u003ctable xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" cellspacing=\"0\" cellpadding=\"0\" dir=\"ltr\" border=\"1\" data-sheets-root=\"1\" data-sheets-baot=\"1\"\u003e\n\u003ccolgroup\u003e\n\u003ccol width=\"100\"\u003e\n\u003ccol width=\"100\"\u003e\n\u003ccol width=\"100\"\u003e\n\u003ccol width=\"100\"\u003e\n\u003ccol width=\"116\"\u003e\n\u003ccol width=\"100\"\u003e\n\u003ccol width=\"100\"\u003e\n\u003c\/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003e50\u003c\/td\u003e\n\u003ctd\u003e52\u003c\/td\u003e\n\u003ctd\u003e54\u003c\/td\u003e\n\u003ctd\u003e56\u003c\/td\u003e\n\u003ctd\u003e58\u003c\/td\u003e\n\u003ctd\u003e60\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStack\u003c\/td\u003e\n\u003ctd\u003e543.1\u003c\/td\u003e\n\u003ctd\u003e562\u003c\/td\u003e\n\u003ctd\u003e580.9\u003c\/td\u003e\n\u003ctd\u003e600\u003c\/td\u003e\n\u003ctd\u003e619\u003c\/td\u003e\n\u003ctd\u003e636.6\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eReach\u003c\/td\u003e\n\u003ctd\u003e358.1\u003c\/td\u003e\n\u003ctd\u003e366.5\u003c\/td\u003e\n\u003ctd\u003e380.9\u003c\/td\u003e\n\u003ctd\u003e382.3\u003c\/td\u003e\n\u003ctd\u003e390\u003c\/td\u003e\n\u003ctd\u003e399.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHead Tube Angle\u003c\/td\u003e\n\u003ctd\u003e70\u003c\/td\u003e\n\u003ctd\u003e71\u003c\/td\u003e\n\u003ctd\u003e72\u003c\/td\u003e\n\u003ctd\u003e72.5\u003c\/td\u003e\n\u003ctd\u003e72.5\u003c\/td\u003e\n\u003ctd\u003e72.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSeat Tube Angle\u003c\/td\u003e\n\u003ctd\u003e73.5\u003c\/td\u003e\n\u003ctd\u003e73.5\u003c\/td\u003e\n\u003ctd\u003e73.5\u003c\/td\u003e\n\u003ctd\u003e73.5\u003c\/td\u003e\n\u003ctd\u003e73.5\u003c\/td\u003e\n\u003ctd\u003e73.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEffective Top Tube\u003c\/td\u003e\n\u003ctd\u003e519\u003c\/td\u003e\n\u003ctd\u003e533\u003c\/td\u003e\n\u003ctd\u003e547\u003c\/td\u003e\n\u003ctd\u003e560\u003c\/td\u003e\n\u003ctd\u003e574\u003c\/td\u003e\n\u003ctd\u003e588\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSeat Tube C-T\u003c\/td\u003e\n\u003ctd\u003e456\u003c\/td\u003e\n\u003ctd\u003e484\u003c\/td\u003e\n\u003ctd\u003e518\u003c\/td\u003e\n\u003ctd\u003e544\u003c\/td\u003e\n\u003ctd\u003e558\u003c\/td\u003e\n\u003ctd\u003e588\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHead Tube\u003c\/td\u003e\n\u003ctd\u003e110\u003c\/td\u003e\n\u003ctd\u003e126\u003c\/td\u003e\n\u003ctd\u003e142\u003c\/td\u003e\n\u003ctd\u003e160\u003c\/td\u003e\n\u003ctd\u003e180\u003c\/td\u003e\n\u003ctd\u003e198\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eChain stay\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWheelbase\u003c\/td\u003e\n\u003ctd\u003e998\u003c\/td\u003e\n\u003ctd\u003e1003\u003c\/td\u003e\n\u003ctd\u003e1008\u003c\/td\u003e\n\u003ctd\u003e1017\u003c\/td\u003e\n\u003ctd\u003e1031\u003c\/td\u003e\n\u003ctd\u003e1046.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDT Length\u003c\/td\u003e\n\u003ctd\u003e618.1\u003c\/td\u003e\n\u003ctd\u003e628.6\u003c\/td\u003e\n\u003ctd\u003e639\u003c\/td\u003e\n\u003ctd\u003e647.3\u003c\/td\u003e\n\u003ctd\u003e656\u003c\/td\u003e\n\u003ctd\u003e665.7\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFork length\u003c\/td\u003e\n\u003ctd\u003e395\u003c\/td\u003e\n\u003ctd\u003e395\u003c\/td\u003e\n\u003ctd\u003e395\u003c\/td\u003e\n\u003ctd\u003e395\u003c\/td\u003e\n\u003ctd\u003e395\u003c\/td\u003e\n\u003ctd\u003e395\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2 class=\"product-about__accordion-title active\"\u003e\u003cspan class=\"h5\"\u003eAbout the All-Road\u003c\/span\u003e\u003c\/h2\u003e\n\u003cdiv class=\"product-about__more-link-wrapper\"\u003e\n\u003cdiv class=\"product-about__more-link\"\u003e\u003csvg class=\"icon icon-filter-two\" width=\"12\" height=\"7\" viewbox=\"0 0 12 7\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003cpath d=\"M10 1.5L6 5.5L2 1.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"square\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"product-about__accordion-description\"\u003e\n\u003cp\u003eSo if you're in the mood for a weekly club ride, an adventure or the thrill of a racing experience, this bike is your ideal partner. It seamlessly adapts to your riding preferences, making it versatile for a variety of uses:\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003e1. Fast-Paced Riding\u003c\/strong\u003e: Its lightweight frame and aerodynamic design make this bike a speed demon. Ready to challenge the open road, it offers precision and agility, letting you stretch your limits.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Cruise \u0026amp; Endurance Rides\u00
00,"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":55482489176447,"title":"50","option1":"50","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Gloria All Road - SRAM Apex AXS (Electronic Shifting) - Zipp Carbon Wheelset - 50","public_title":"50","options":["50"],"price":319900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482489209215,"title":"52","option1":"52","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Gloria All Road - SRAM Apex AXS (Electronic Shifting) - Zipp Carbon Wheelset - 52","public_title":"52","options":["52"],"price":319900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan [] h":3000},{"alt":null,"id":65912573198719,"position":3,"preview_image":{"aspect_ratio":1.5,"height":2000,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/GloriaSram--39_37cc0c82-e51b-4110-b8d9-1d0468f2bfa6.webp?v=1747754482"},"aspect_ratio":1.5,"height":2000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/GloriaSram--39_37cc0c82-e51b-4110-b8d9-1d0468f2bfa6.webp?v=1747754482","width":3000},{"alt":null,"id":65912577458559,"position":4,"preview_image":{"aspect_ratio":1.5,"height":2000,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/GloriaSram--35_1.webp?v=1747754489"},"aspect_ratio":1.5,"height":2000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/GloriaSram--35_1.webp?v=1747754489","width":3000},{"alt":null,"id":65912583029119,"position":5,"preview_image":{"aspect_ratio":1.5,"height":2000,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/GloriaSram--53.webp?v=1747754504"},"aspect_ratio":1.5,"height":2000,"media_type":"image","src":"\/\
ost collar (optional extra)\u003c\/li\u003e\n\u003cli\u003e3AL-2.5V grade 9\u003c\/li\u003e\n\u003cli\u003eButted tubes\u003c\/li\u003e\n\u003cli\u003eThru-axles front \u0026amp; rear and all appropriate cable guides included\u003c\/li\u003e\n\u003cli\u003eLifetime Frame Warranty\u003c\/li\u003e\n\u003cli\u003eFrameset weight: ~ 2.2k g\u003c\/li\u003e\n\u003cli\u003eFrame weight: ~1.8 kg\u003c\/li\u003e\n\u003cli\u003eFrame finish - Sandblasted (Standard)\u003c\/li\u003e\n\u003cli\u003eAxles 12mm x 100mm front and 12mm x 142mm The Robert Axle Project bolt thru\u003c\/li\u003e\n\u003cli\u003eBottom bracket Standard BSA\u003c\/li\u003e\n\u003cli\u003eMudguards and rack mounts compatible\u003c\/li\u003e\n\u003cli\u003eBrake mount: Flat mount 140mm or 160mm rotors\u003c\/li\u003e\n\u003cli\u003eSeat tube internal 27.2mm \u0026amp; Seat tube external 31.8\u003c\/li\u003e\n\u003cli\u003eFrame Tyre clearance 700 x 45c\u003c\/li\u003e\n\u003cli\u003eFront mech clamp 31.8 \u003c\/li\u003e\n\u003cli\u003eAxle size 166 { "@context": "http://schema.org/", "@type": "Product", "name": "Gloria All Road - Shimano 105 - DT Swiss Wheelset", "url": "https:\/\/projektride.co.uk\/products\/gloria-all-road-shimano-105-dt-swiss-wheelset","image": [ "https:\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--173_2048x.webp?v=1747405637" ],"description": "All Road Frame details\n\n\n\n\n\nZS44\/EC44 headset included\nUDH Hanger included\nAlloy seatpost collar included\nTitanium seatpost collar (optional extra)\n3AL-2.5V grade 9\nButted tubes\nThru-axles front \u0026amp; rear and all appropriate cable guides included\nLifetime Frame Warranty\nFrameset weight: ~ 2.2k g\nFrame weight: ~1.8 kg\nFrame finish - Sandblasted (Standard)\nAxles 12mm x 100mm front and 12mm x 142mm The Robert Axle Project bolt thru\nBottom bracket Standard BSA\nMudguards and rack mounts compatible\nBrake mount: Flat mount 140mm or 160mm rotors\nSeat tube internal 27.2mm \u0026amp; Seat tube external 31.8\nFrame Tyre clearance 700 x 45c\nFront mech clamp 31.8 \nAxle size 166XM12 - TP1.0\n\nGeometry, Weight \u0026amp; Specs\n\n\n\n\nWeight and specs:\nFrame weight 1.8kg Frameset 2.3kg\nCompare the geometry with your existing bike:\nThe build includes Deda (Now a Free upgrade to Zipp) finishing kit and DT Swiss wheels. Optional add-ons include titanium spacers, titanium seat post, titanium stem, and\/or titanium cages.\n\n\n\n\n\n\n\nProduct Type\nComponent\n\n\nBar Tape \/ Grips\nBBB\n\n\nFrame\nGloria - Titanium All-Road\n\n\nFork\nGloria Carbon - No cage mounts (45mm Tyre Max)\n\n\nHandle Bar\nZero RHM\n\n\nSaddle\nSelle Itallia\n\n\nStem\nDeda Zero\n\n\nTyre\nVittoria Zaffiro V 700x32c Rigid Full Black Clincher Tyre\n\n\nWheel Pair\nDT Swiss 540 Alloy Wheelset (DT 370)\n\n\nBottom Bracket\nShimano Ultegra SM-BBR60 Bottom Bracket\n\n\nSeat Post\nDeda Zero\n\n\nGroupset\n105 12 Speed Mechanical Groupset\n\n\nCassette\nCS-R7101 105 12-speed cassette, 11 - 34T\n\n\nChain\nCN-M7100 SLX\/105 HG+ chain with quick link, 12-speed, 126L\n\n\nCrank Set\nFC-R7100 105 double 12-speed chainset, HollowTech II\n\n\nHead Set\nGloria ZS44\/EC44 External\n\n\nHead Set spacer\n3x Gloria Titanium Spacer Set \/ 1 1\/8\" \/ 10mm\n\n\nLeft Lever\nST-R7120 105 hydraulic disc STI set, flat mount calliper, left rear\n\n\nLevers\nST-R7120 105 hydraulic disc STI set, flat mount calliper, right front, black\n\n\nRear Mech\nRD-R7100 105 12-speed rear derailleur\n\n\nFont Mech\nFD-R7100 105 12-speed toggle front derailleur, double 31.8 mm\n\n\nSeat Clamp\nGloria Forged Alloy Bolt Up\n\n\nRotors\nFront 160 \/ Rear 140 SMRT64\n\n\n\n \nGeometry: \n\n\n\n\n\n\n\n\n\n\n\n\n\n50\n52\n54\n56\n58\n60\n\n\nStack\n543.1\n562\n580.9\n600\n619\n636.6\n\n\nReach\n358.1\n366.5\n380.9\n382.3\n390\n399.5\n\n\nHead Tube Angle\n70\n71\n72\n72.5\n72.5\n72.5\n\n\nSeat Tube Angle\n73.5\n73.5\n73.5\n73.5\n73.5\n73.5\n\n\nEffective Top Tube\n519\n533\n547\n560\n574\n588\n\n\nSeat Tube C-T\n456\n484\n518\n544\n558\n588\n\n\nHead Tube\n110\n126\n142\n160\n180\n198\n\n\nChain stay\n425\n425\n425\n425\n425\n425\n\n\nWheelbase\n998\n1003\n1008\n1017\n1031\n1046.5\n\n\nDT Length\n618.1\n628.6\n639\n647.3\n656\n665.7\n\n\nFork length\n395\n395\n395\n395\n395\n395\n\n\n\n \nAbout the All-Road\n\n\n\n\nSo if you're in the mood for a weekly club ride, an adventure or the thrill of a racing experience, this bike is your ideal partner. It seamlessly adapts to your riding preferences, making it versatile for a variety of uses:1. Fast-Paced Riding: Its lightweight frame and aerodynamic design make this bike a speed demon. Ready to challenge the open road, it offers precision and agility, letting you stretch your limits.\n2. Cruise \u0026amp; Endurance Rides: For those who enjoy a more laid-back cycling experience, this bike promises a comfortable, smooth ride. Perfect for scenic explorations or neighbourhood cruising, it guarantees an enjoyable journey every time.\n3. Club Rides: Join in on group rides and stay in step with your fellow cyclists. This bike's responsive handling and efficient power transfer are ideal for keeping pace with the pack, all while enjoying the camaraderie.\n4. Racing Thrills: If competitive racing gets your heart racing, this bike is up for the challenge. Equipped with advanced features, it helps you navigate tough terrains and smash personal records.\n5. Gravel Rides: With its impressive capabilities, this bike also tackles off-road adventures. It accommodates up to 45c tires, taking you anywhere you wish to explore.\nPlus, there are customisation options available!\nDive into the joy of cycling with our expertly crafted bike, designed with passion to enhance your riding experiences.\nNo matter your cycling style or goals, this bike promises to surpass your expectations. It strikes the perfect balance of speed, comfort, and performance, empowering you to tackle every adventure with confidence and joy.\nEmbrace the freedom to ride your way, at your pace, and discover the full potential of your cycling journey with this exceptional bike.\n\n\n","brand": { "@type": "Thing", "name": "Gloria" },"gtin8": "","offers": [{ "@type" : "Offer","availability" : "http://schema.org/InStock", "price" : 2699.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/gloria-all-road-shimano-105-dt-swiss-wheelset?variant=55464786264447" }, { "@type" : "Offer","availability" : "http://schema.org/InStock", "price" : 2699.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/gloria-all-road-shimano-105-dt-swiss-wheelset?variant=55464786297215" }, { "@type" : "Offer","availability" : "http://schema.org/InStock", "price" : 2699.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/gloria-all-road-shimano-105-dt-swiss-wheelset?variant=55464786329983" }, { "@type" : "Offer","availability" : "http://schema.org/InStock", "price" : 2699.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/gloria-all-road-shimano-105-dt-swiss-wheelset?variant=55464786362751" }, { "@type" : "Offer","availability" : "http://schema.org/InStock", "price" : 2699.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/gloria-all-road-shimano-105-dt-swiss-wheelset?variant=55464786395519" }, { "@type" : "Offer","availability" : "http://schema.org/InStock", "price" : 2699.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/gloria-all-road-shimano-105-dt-swiss-wheelset?variant=55464786428287" } ] }
3c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2025-05-20T16:35:38+01:00","created_at":"2025-05-20T16:35:38+01:00","vendor":"Gloria","type":"Bicycles","tags":["All Road","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":349900,"price_min":349900,"price_max":349900,"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":55482526794111,"title":"50","option1":"50","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Gloria All Road - Shimano 105 Di2 - DT Swiss Wheelset - 50","public_title":"50","options":["50"],"price":349900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482526826879,"title":"52","option1":"52","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable \n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Stem\"}'\u003eStem\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Deda zero\"}'\u003eZipp Service Course\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Tyre\"}'\u003eTyre\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Vittoria Zaffiro V 700x32c Rigid Full Black Clincher Tyre\"}'\u003eWTB Vulpine 45mm black\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Wheel Pair\"}'\u003eWheelset\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Gloria Carbon Wheels - 45mm depth \/ 30mm external \/ 24mm internal\"}'\u003e\n\u003ctable data-sheets-root=\"1\" border=\"1\" dir=\"ltr\" cellpadding=\"0\" cellspacing=\"0\" xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"DT Swiss370 CL Hub G 540 Rim TLR\"}'\u003eZipp 303s Carbon Wheel ":true,"featured_image":null,"available":true,"name":"Gloria All Road - Shimano 105 Di2 - DT Swiss Wheelset - 52","public_title":"52","options":["52"],"price":349900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482526859647,"title":"54","option1":"54","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Gloria All Road - Shimano 105 Di2 - DT Swiss Wheelset - 54","public_title":"54","options":["54"],"price":349900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482526892415,"title":"56","option1":"56","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Gloria All Road - Shimano 105 Di2 - DT Swiss Wheelset - 56","public_title":"56","options":["56"],"price":349900,
"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482526925183,"title":"58","option1":"58","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Gloria All Road - Shimano 105 Di2 - DT Swiss Wheelset - 58","public_title":"58","options":["58"],"price":349900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482526957951,"title":"60","option1":"60","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Gloria All Road - Shimano 105 Di2 - DT Swiss Wheelset - 60","public_title":"60","options":["60"],"price":349900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektr 6T\"}'\u003eApex 12spd 11-44\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Chain\"}'\u003eChain\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"CN-M7100 SLX\/105 HG+ chain with quick link, 12-speed, 126L\"}'\u003eSRAM AXS \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Crank Set\"}'\u003eCrankSet\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"FC-R7100 105 double 12-speed chainset, HollowTech II\"}'\u003eApex 1x 40t\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Head Set\"}'\u003eHead Set\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Gloria ZS44\/EC44\"}'\u003eGloria EC44 Integrated\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Head Set spacer\"}'\u003eHead Set spacer\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\" Headset Spacer Set \/ 1 1\/8\\\" \/ 3 x 1 ide.co.uk\/cdn\/shop\/files\/190325_-_-140_1.webp?v=1747755179","\/\/projektride.co.uk\/cdn\/shop\/files\/3bfb7acaf943b4144a2abd302bf53906_951d700f-c345-40f2-90bd-59d0e154d945.webp?v=1747755186","\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-139_1.webp?v=1747755194","\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-102.webp?v=1747755200","\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-093.webp?v=1747755227","\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-065.webp?v=1747755235"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-140_1.webp?v=1747755179","options":["Size"],"media":[{"alt":null,"id":65912862703999,"position":1,"preview_image":{"aspect_ratio":1.5,"height":2000,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-140_1.webp?v=1747755179"},"aspect_ratio":1.5,"height":2000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-140_1.webp?v=1747755179","width":3000},{"alt":null,"id":65912865915263,"position":2,"preview_image":
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/resize_width_1000_1296x_d1ffd242-63bc-4a9f-85e2-400f274532d7_600x.jpg?v=1747481423)">#FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; }
#FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; }
FAQ

Questions and answers

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');">
>
  • I'm looking to find out more information about a product, where can I find this?
ProjektRidePlease get in touch with a member of the team either by phone (

Buy Sell Ride Confident01313745324 ) or email ( [email protected] ) where on of the team will be more than happy to help.FAQProjektRide Bike Shop Edinburgh

Questions and answers

  • I'm looking to buy this product, when will it arrive and how much does postage cost? I'm looking to find out more information about a product, where can I find this?ProjektRide Bike Shop Edinburgh
  • I'm looking to buy this product, when will it arrive and how much does postage cost?.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; }
    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 Mobil ":\"Cassette\"}'\u003eCassette\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"CS-R7101 105 12-speed cassette, 11 - 34T or 36T\"}'\u003eCS-R7101 105 12-speed cassette, 11 - 34T or 36T\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Chain\"}'\u003eChain\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"CN-M7100 SLX\/105 HG+ chain with quick link, 12-speed, 126L\"}'\u003eCN-M7100 SLX\/105 HG+ chain with quick link, 12-speed, 126L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Crank Set\"}'\u003eCrank Set\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"FC-R7100 105 double 12-speed chainset, HollowTech II\"}'\u003eFC-R7100 105 double 12-speed chainset, HollowTech II\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Head Set\"}'\u003eHead Set\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Gloria ZS44\/EC44\"}'\u003eGlorctd data-sheets-value='{\"1\":2,\"2\":\"Rear Mech\"}'\u003eRear Mech\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"RD-R7150 105 Di2 12-speed rear derailleur, E-tube\"}'\u003eRD-R7150 105 Di2 12-speed rear derailleur, E-tube\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Font Mech\"}'\u003eFont Mech\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"FD-R7150 105 Di2 12-speed front derailleur E-tube, braze-on, double\"}'\u003eFD-R7150 105 Di2 12-speed front derailleur E-tube, braze-on, double\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Seat Clamp\"}'\u003eSeat Clamp\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Gloria Forged Alloy Bolt Up\"}'\u003eGloria Alloy 31.8mm Bolt up\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Rotors\"}'\u003eRotors\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Front 160 \/ Rear\u003eChain stay\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003ctd\u003e425\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWheelbase\u003c\/td\u003e\n\u003ctd\u003e998\u003c\/td\u003e\n\u003ctd\u003e1003\u003c\/td\u003e\n\u003ctd\u003e1008\u003c\/td\u003e\n\u003ctd\u003e1017\u003c\/td\u003e\n\u003ctd\u003e1031\u003c\/td\u003e\n\u003ctd\u003e1046.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDT Length\u003c\/td\u003e\n\u003ctd\u003e618.1\u003c\/td\u003e\n\u003ctd\u003e628.6\u003c\/td\u003e\n\u003ctd\u003e639\u003c\/td\u003e\n\u003ctd\u003e647.3\u003c\/td\u003e\n\u003ctd\u003e656\u003c\/td\u003e\n\u003ctd\u003e665.7\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFork length\u003c\/td\u003e\n\u003ctd\u003e395\u003c\/td\u003e\n\u003ctd\u003e395\u003c\/td\u003e\n\u003ctd\u003e395\u003c\/td\u003e\n\u003ctd\u003
    nces, making it versatile for a variety of uses:\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003e1. Fast-Paced Riding\u003c\/strong\u003e: Its lightweight frame and aerodynamic design make this bike a speed demon. Ready to challenge the open road, it offers precision and agility, letting you stretch your limits.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Cruise \u0026amp; Endurance Rides\u003c\/strong\u003e: For those who enjoy a more laid-back cycling experience, this bike promises a comfortable, smooth ride. Perfect for scenic explorations or neighbourhood cruising, it guarantees an enjoyable journey every time.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. Club Rides\u003c\/strong\u003e: Join in on group rides and stay in step with your fellow cyclists. This bike's responsive handling and efficient power transfer are ideal for keeping pace with the pack, all while enjoying the camaraderie.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e4. Racing Thrills\u003c\/strong\u003e: If competitive racing ge