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 = 1775347536;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,43981392806114,43981392838882,43981392904418,43981392937186,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140279791842,44140279824610,44140279857378,44140279890146,44140279922914,44140292047074,44140292079842,44140292112610,44140293685474,44140302336226,44140302434530,44140302500066,44140302532834,44140302565602,44140302598370,44140302631138,44140302827746,44140302893282,44140302926050,44140306301154,44140315050210,44140317016290,44140321636578,44140335792354,44140335825122,44140335857890,44140339953890,44140339986658,44140340150498,44140340248802,44140340281570,44140340543714,44140340707554,44140340740322,44140340773090,44140345065698,44140352438498,44140388155618,44140388188386,44140397756642,44140404441314,44140404474082,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,55569712415103,55569712447871,55569712480639,55570017616255,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814967167,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-04-04T23:47:50Z","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-04-04T23:36:46Z","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-04-04T23:36:36Z","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.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};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":15093106246015,"title":"Frame - Gloria Titanium All Road - Brushed Frame Finish","handle":"frame-gloria-titanium-all-road-brushed-frame-finish","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.9kg +\/- 50g\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/geometrygeeks.bike\/bike\/gloria-all-road-2023\/\" title=\"Geometry geeks\"\u003eCompare the geometry with your existing bike\u003c\/a\u003e:\u003c\/p\u003e\n\u003ch3\u003e\u003cspan\u003e\u003cstrong\u003eGeometry: \u003cbr\u003e\u003c\/strong\u003e\u003c\/span\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\u003e\n\u003cp\u003e395\u003c\/p\u003e\n\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\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 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.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e5. Gravel Rides\u003c\/strong\u003e: With its impressive capabilities, this bike also tackles off-road adventures. It accommodates up to 45c tires, taking you anywhere you wish to explore.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePlus, there are customisation options available!\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eDive into the joy of cycling with our expertly crafted bike, designed with passion to enhance your riding experiences.\u003c\/p\u003e\n\u003cp\u003eNo 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.\u003c\/p\u003e\n\u003cp\u003eEmbrace the freedom to ride your way, at your pace, and discover the full potential of your cycling journey with this exceptional bike.\u003c\/p\u003e\n\u003ch2 class=\"product-about__accordion-title active\"\u003e\u003cspan class=\"h5\"\u003eOther relevant information\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\u003eThe Gloria Titanium All-Road is a highly versatile bike designed with drop bars. While we won’t claim it can do everything and take you everywhere, it’s built to push the boundaries as much as possible. With clearance for 700x45c tires, this bike accommodates chunky tires that not only enhance comfort but also perform well both on and off the road. It’s designed to be efficient on the road without being twitchy off-road.\u003cbr\u003e\u003cbr\u003eWe’re proud of the compatibility we've achieved across multiple modern groupsets. For example, it’s compatible with externally routed mechanical setups for both 2x and 1x drivetrains. It also supports 1x mechanical internally routed through a full outer cable inside the frame and is fully compatible with Di2 2x and 1x. Moreover, it can be routed through the headset, making it SMR or DCR compatible. And don’t worry, the coolest thing is that if you don’t run external cables, the frame will look neat and without any cable guides or stops, because they are designed to be removed when not in use.\u003cbr\u003e\u003cbr\u003eIn a nutshell, you can fit almost anything, go almost anywhere, and the Gloria Titanium All-Road will suit most riding styles out there.\u003c\/p\u003e\n\u003cp\u003eWe have multiple fork options available, including fully internally routed forks, cage mounts, dynamo compatible and other options. If you have any special requirements, please let us know—I’m sure we can help.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","published_at":"2025-05-20T16:57:08+01:00","created_at":"2025-05-20T16:57:08+01:00","vendor":"Gloria","type":"frames","tags":["All Road","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":109900,"price_min":109900,"price_max":109900,"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":55482589643135,"title":"50","option1":"50","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Frame - Gloria Titanium All Road - Brushed Frame Finish - 50","public_title":"50","options":["50"],"price":109900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482589675903,"title":"52","option1":"52","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Frame - Gloria Titanium All Road - Brushed Frame Finish - 52","public_title":"52","options":["52"],"price":109900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482589708671,"title":"54","option1":"54","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Frame - Gloria Titanium All Road - Brushed Frame Finish - 54","public_title":"54","options":["54"],"price":109900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482589741439,"title":"56","option1":"56","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Frame - Gloria Titanium All Road - Brushed Frame Finish - 56","public_title":"56","options":["56"],"price":109900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482589774207,"title":"58","option1":"58","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Frame - Gloria Titanium All Road - Brushed Frame Finish - 58","public_title":"58","options":["58"],"price":109900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":55482589806975,"title":"60","option1":"60","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Frame - Gloria Titanium All Road - Brushed Frame Finish - 60","public_title":"60","options":["60"],"price":109900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--129.webp?v=1747756506","\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--126.webp?v=1747756517","\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--120.webp?v=1747756523","\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--119.webp?v=1747756530","\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--123.webp?v=1747756536","\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--121.webp?v=1747756543","\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--125.webp?v=1747756551"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--129.webp?v=1747756506","options":["Size"],"media":[{"alt":null,"id":65913475629439,"position":1,"preview_image":{"aspect_ratio":1.5,"height":1365,"width":2048,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--129.webp?v=1747756506"},"aspect_ratio":1.5,"height":1365,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--129.webp?v=1747756506","width":2048},{"alt":null,"id":65913479692671,"position":2,"preview_image":{"aspect_ratio":1.5,"height":1365,"width":2048,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--126.webp?v=1747756517"},"aspect_ratio":1.5,"height":1365,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--126.webp?v=1747756517","width":2048},{"alt":null,"id":65913483198847,"position":3,"preview_image":{"aspect_ratio":1.5,"height":1365,"width":2048,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--120.webp?v=1747756523"},"aspect_ratio":1.5,"height":1365,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--120.webp?v=1747756523","width":2048},{"alt":null,"id":65913486016895,"position":4,"preview_image":{"aspect_ratio":1.5,"height":1365,"width":2048,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--119.webp?v=1747756530"},"aspect_ratio":1.5,"height":1365,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--119.webp?v=1747756530","width":2048},{"alt":null,"id":65913489195391,"position":5,"preview_image":{"aspect_ratio":1.5,"height":1365,"width":2048,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--123.webp?v=1747756536"},"aspect_ratio":1.5,"height":1365,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--123.webp?v=1747756536","width":2048},{"alt":null,"id":65913491259775,"position":6,"preview_image":{"aspect_ratio":1.5,"height":1365,"width":2048,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--121.webp?v=1747756543"},"aspect_ratio":1.5,"height":1365,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--121.webp?v=1747756543","width":2048},{"alt":null,"id":65913494864255,"position":7,"preview_image":{"aspect_ratio":1.5,"height":1365,"width":2048,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--125.webp?v=1747756551"},"aspect_ratio":1.5,"height":1365,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Gloria-Low--125.webp?v=1747756551","width":2048}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\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.9kg +\/- 50g\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/geometrygeeks.bike\/bike\/gloria-all-road-2023\/\" title=\"Geometry geeks\"\u003eCompare the geometry with your existing bike\u003c\/a\u003e:\u003c\/p\u003e\n\u003ch3\u003e\u003cspan\u003e\u003cstrong\u003eGeometry: \u003cbr\u003e\u003c\/strong\u003e\u003c\/span\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\u003e\n\u003cp\u003e395\u003c\/p\u003e\n\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\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 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.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e5. Gravel Rides\u003c\/strong\u003e: With its impressive capabilities, this bike also tackles off-road adventures. It accommodates up to 45c tires, taking you anywhere you wish to explore.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePlus, there are customisation options available!\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eDive into the joy of cycling with our expertly crafted bike, designed with passion to enhance your riding experiences.\u003c\/p\u003e\n\u003cp\u003eNo 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.\u003c\/p\u003e\n\u003cp\u003eEmbrace the freedom to ride your way, at your pace, and discover the full potential of your cycling journey with this exceptional bike.\u003c\/p\u003e\n\u003ch2 class=\"product-about__accordion-title active\"\u003e\u003cspan class=\"h5\"\u003eOther relevant information\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\u003eThe Gloria Titanium All-Road is a highly versatile bike designed with drop bars. While we won’t claim it can do everything and take you everywhere, it’s built to push the boundaries as much as possible. With clearance for 700x45c tires, this bike accommodates chunky tires that not only enhance comfort but also perform well both on and off the road. It’s designed to be efficient on the road without being twitchy off-road.\u003cbr\u003e\u003cbr\u003eWe’re proud of the compatibility we've achieved across multiple modern groupsets. For example, it’s compatible with externally routed mechanical setups for both 2x and 1x drivetrains. It also supports 1x mechanical internally routed through a full outer cable inside the frame and is fully compatible with Di2 2x and 1x. Moreover, it can be routed through the headset, making it SMR or DCR compatible. And don’t worry, the coolest thing is that if you don’t run external cables, the frame will look neat and without any cable guides or stops, because they are designed to be removed when not in use.\u003cbr\u003e\u003cbr\u003eIn a nutshell, you can fit almost anything, go almost anywhere, and the Gloria Titanium All-Road will suit most riding styles out there.\u003c\/p\u003e\n\u003cp\u003eWe have multiple fork options available, including fully internally routed forks, cage mounts, dynamo compatible and other options. If you have any special requirements, please let us know—I’m sure we can help.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"};
window._RestockRocketConfig.variantsInventoryPolicy = {55482589643135 : "deny",55482589675903 : "deny",55482589708671 : "deny",55482589741439 : "deny",55482589774207 : "deny",55482589806975 : "deny",};
window._RestockRocketConfig.variantsInventoryQuantity = {55482589643135 : parseInt("1"),55482589675903 : parseInt("1"),55482589708671 : parseInt("1"),55482589741439 : parseInt("1"),55482589774207 : parseInt("1"),55482589806975 : parseInt("1"),};
window._RestockRocketConfig.variantsPreorderCount = {55482589643135 : parseInt(""),55482589675903 : parseInt(""),55482589708671 : parseInt(""),55482589741439 : parseInt(""),55482589774207 : parseInt(""),55482589806975 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderCountForMarket = {55482589643135 : null,55482589675903 : null,55482589708671 : null,55482589741439 : null,55482589774207 : null,55482589806975 : null,};
window._RestockRocketConfig.variantsPreorderMaxCount = {55482589643135 : parseInt(""),55482589675903 : parseInt(""),55482589708671 : parseInt(""),55482589741439 : parseInt(""),55482589774207 : parseInt(""),55482589806975 : parseInt(""),};
window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {55482589643135 : null,55482589675903 : null,55482589708671 : null,55482589741439 : null,55482589774207 : null,55482589806975 : null,};
window._RestockRocketConfig.variantsShippingText = {55482589643135 : "",55482589675903 : "",55482589708671 : "",55482589741439 : "",55482589774207 : "",55482589806975 : "",};
window._RestockRocketConfig.variantsShippingTextForMarket = {55482589643135 : null,55482589675903 : null,55482589708671 : null,55482589741439 : null,55482589774207 : null,55482589806975 : null,};
window._RestockRocketConfig.selected_variant_id = 55482589643135;
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/019d4564-8f2b-76f2-bacb-5853de1a7cf8/restockrocket-1-475/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019d4564-8f2b-76f2-bacb-5853de1a7cf8/restockrocket-1-475/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
<
0) {
console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else if (liquidCacheAge
<
= LIQUID_CACHE_MAX_AGE) {
console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`);
window._RestockRocketConfig.isLiquidCacheFresh = false;
}
}
function checkSettingsExpiry(settings) {
try {
if (!settings || !settings.updated_at) {
console.debug('STOQ - Invalid settings data structure');
return null;
}
if (!settings.cache) {
console.debug('STOQ - settings caching disabled');
return null;
}
// Check if translations are enabled but missing from cache
// This handles the backfill period where DB has translations but metafield doesn't
if (settings.multi_language_enabled) {
if (!settings.translations) {
// Translations enabled but no
translation 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
age = Date.now() - updatedAt.getTime();
if (age <
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 ||