X\/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\u003e\u003cstrong data-mce-fragment=\"1\"\u003eMaterials\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe Expedition Top Tube Pack is cut from a three-layer laminate fabric that was developed specifically for Apidura. The material is lightweight, and is highly resistant to tears and abrasion. Notably, it’s welded together at the seams, creating a watertight seal that ensures the top tube bag remains completely waterproof.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eCare\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eWash the top tube bag by hand, using a mild diluted soap if necessary. Afterwards, let it air dry.\u003cbr data-mce-fragment=\"1\"\u003eDo not machine wash, machine dry, or iron.\u003cbr data-mce-fragment=\"1\"\u003eExcess strain can cause stress to the zipper mechanism and negate the waterproof nature of the closure. Do not overpack.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","pub
003c\/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\ompare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":null,"id":31960243732706,"position":1,"preview_image":{"aspect_ratio":1.304,"height":934,"width":1218,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at10.25.43.png?v=1687685169"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":44140297388258,"title":"1L","option1":"1L","option2":null,"option3":null,"sku":"TWL","requires_shipping":true,"taxable":true,"featured_image":{"id":39357243162850,"product_id":8108872663266,"position":2,"created_at":"2023-06-25T10:26:06+01:00","updated_at":"2023-06-25T10:26:08+01:00","alt":null,"width":1218,"height":934,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at10.25.56.png?v=1687685168","variant_ids":[44140297388258]},"available":false,"name":"EXPEDITION TOP TUBE PACK - 1L","public_title":"1L","options":["1L"],"price":4900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","featured_media":{"alt":nu003e\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\:{"aspect_ratio":1.304,"height":934,"width":1218,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at10.25.56.png?v=1687685168"},"aspect_ratio":1.304,"height":934,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2023-06-25at10.25.56.png?v=1687685168","width":1218}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"wrap-details read-more\" data-mce-fragment=\"1\"\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eDESCRIPTION\u003ci class=\"tab-arrow\" data-mce-fragment=\"1\"\u003e\u003c\/i\u003e\n\u003c\/h3\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eA useful standalone bag for daily riding or as part of a larger bikepacking setup, the Expedition Top Tube Pack is a lightweight, secure storage space that’s ideal for stashing frequently used items on the road. The top tube bag is waterproof with welded seams and a pioneering waterproof zipper.\u003c\/p\u003e\n
wiss 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_sel ling_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":["\/\/projektride.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":"\/\/pro
jektride.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":{"aspect_ratio":1.5,"height":2000,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/3bfb7acaf943b4144a2abd302bf53906_951d700f-c345-40f2-90bd-59d0e154d945.webp?v=1747755186"},"aspect_ratio":1.5,"height":2000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/3bfb7acaf943b4144a2abd302bf53906_951d700f-c345-40f2-90bd-59d0e154d945.webp?v=1747755186","width":3000},{"alt":null,"id":65912868700543,"position":3,"preview_image":{"aspect_ratio":0.667,"height":3864,"width":2576,"src":"\/\/projektride.Product Detailsco.uk\/cdn\/shop\/files\/190325_-_-139_1.webp?v=1747755194"},"aspect_ratio":0.667,"height":3864,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-139_1.webp?v=1747755194","width":2576},{"alt":null,"id":65912872141183,"position":4,"preview_image":{"aspect_ratio":0.667,"height":3864,"width":2576,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-102.webp?v=1747755200"},"aspect_ratio":0.667,"height":3864,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-102.webp?v=1747755200","width":2576},{"alt":null,"id":65912886264191,"position":5,"preview_image":{"aspect_ratio":1.5,"height":2000,"width":3000,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-093.webp?v=1747755227"},"aspect_ratio":1.5,"height":2000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-093.webp?v=1747755227","width":3000},{"alt":null,"id":65912888689023,"position":6,"preview_image":{"aspect_ratio":1.5,"height":2000,"width":3000,"src":"\/\/projektri
de.co.uk\/cdn\/shop\/files\/190325_-_-065.webp?v=1747755235"},"aspect_ratio":1.5,"height":2000,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/190325_-_-065.webp?v=1747755235","width":3000}],"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\u003eUD750mlH 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:\/\/geome trygeeks.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 Zipp Service Course finishing kit, Shimano 105 Di2 groupset and DT Swiss Alloy Wheelset. For tyres you can choose options such as Continental for road cycling or WTB for gravel.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eSample build:\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 \"}'\u003eZipp Service Course\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheetHis-value='{\"1\":2,\"2\":\"Saddle\"}'\u003eSaddle\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Selle Itallia\"}'\u003eSelle Italia X1\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\"}'\u003eZipp Service Course Stem\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 Exposure 700x30c Slick Tyre - Black\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\":\"Gloria Carbon Wheels - 45mm depth \/ 30mm external \/ 24mm internal\"}'\u003eDT Swiss 540 Alloy Wheelset (DT 370)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sgh-Performance Hydration Sport Bottleheets-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\"}'\u003eZipp Service Course\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 Disc Groupset\"}'\u003e105 Di2 12 Speed Disc 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 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\"}'\u003eGloria ZS44\/EC44\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 Alloy Spacer \/ (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-R7170 105 Di2 hydraulic disc STI set, flat mount calliper,\"}'\u003eST-R7170 105 Di2 hydraulic disc STI set, flat mount calliper,\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"Right Levers\"}'\u003eRight Levers\u003c\/td\u003e\n\u003ctd data-sheets-value='{\"1\":2,\"2\":\"ST-R7170 105 Di2 hydraulic disc STI set, flat mount calliper,\"}'\u003eST-R7170 105 Di2 hydraulic disc STI set, flat mount calliper,\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-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 140 \"}'\u003e\n\u003cp\u003eFront 160 \/ Rear 140\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\u003ch3\u003e\u003cspan\u003e\u003cstrong\u003eGeometrySelf-Sealing Silicone Stream Valve : \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\u00
3e636.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 acEasy to squeeze and lightweight tive\"\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\u0 03e: 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\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {55482526794111 : "deny",55482526826879 : "deny",55482526859647 : "deny",55482526892415 : "deny",55482526925183 : "deny",55482526957951 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {55482526794111 : parseInt("1"),55482526826879 : parseInt("1"),55482526859647 : parseInt("1"),55482526892415 : parseInt("1"),55482526925183 : parseInt("1"),55482526957951 : parseInt("1"),}; window._RestockRocketConfig.variantsPreorderCount = {55482526794111 : parseInt(""),55482526826879 : parseInt(""),55482526859647 : parseInt(""),55482526892415 : parseInt(""),55482526925183 : parseInt(""),55482526957951 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {55482526794111 : null,55482526826879 : null,55482526859647 : null,55482526892415 : null,55482526925183 : null,55482526957951 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {55482526794111 : parseInt(""),55482526826879 : parseInt(""),55482526859647 : parseInt(""),55482526892415 : parseInt(""),55482526925183 : parseInt(""),55482526957951 : parseInt(""),100% taste-neutral Polypropylene}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {55482526794111 : null,55482526826879 : null,55482526859647 : null,55482526892415 : null,55482526925183 : null,55482526957951 : null,}; window._RestockRocketConfig.variantsShippingText = {55482526794111 : "",55482526826879 : "",55482526859647 : "",55482526892415 : "",55482526925183 : "",55482526957951 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {55482526794111 : null,55482526826879 : null,55482526859647 : null,55482526892415 : null,55482526925183 : null,55482526957951 : null,}; window._RestockRocketConfig.selected_variant_id = 55482526794111; 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/019af0d1-c518-7a22-bdbf-9ceff49063ad/restockrocket-1-402/assets/restockr
ocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019af0d1-c518-7a22-bdbf-9ceff49063ad/restockrocket-1-402/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 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_enab led) { 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 100% Free of PVC, BPA, and BPS <
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 || !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]; 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; } } // 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?.themPerfect for bike packing, touring and gravel bike adventures! Available online or from our bike shop in Edinburghe?.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 sett
ings as fallback'); initializeScripts(cachedSettings); } 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}`); 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 === 'in dex' && (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 enabled for ${window._RestockRocketConfig.pageType}`); } // Check and update
\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\u003eideal 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, e
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.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-11-11T14:27:02.312Z","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":{},"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_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