1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19<!doctype html> 20<html lang="en" class="no-js customers-login"> 21 22
22<script> 23 window.UTK_themeConfig = {"_id":"d73f7299-2baa-4fd3-9b06-f9a1eb9e9c2e","_type":"theme","bottomOfPageContent":[{"_key":"cff4894223fa","_type":"grid","columns":[{"_key":"25612f9f5988","_type":"grid-column","blocks":[{"_key":"0fbc4a501e58","_type":"text-block","copy":[{"_key":"d4f62a85f011","_type":"block","children":[{"_key":"c78675e850f6","_type":"span","marks":[],"text":"More To Shop"}],"markDefs":[],"style":"h3"}],"textAlignment":"center","copyHTML":"\u003ch3\u003eMore To Shop\u003c\/h3\u003e"}],"sizes":[{"_key":"0f9f3edc8b2a","_type":"grid-size","breakpoint":" ","isHidden":false,"width":12}],"title":"More to Shop Title"},{"_key":"232551faecfb","_type":"grid-column","blocks":[{"_createdAt":"2026-05-05T15:02:15Z","_id":"b40b05d5-2a53-4acf-9e9a-0667d193161c","_rev":"UVzdGoX4GGkgF7RicCcsFT","_type":"media-content","_updatedAt":"2026-08-12T16:28:10Z","behavior":"link","componentType":"more-to-shop","ctaText":"Shop Now","deviceConfigs":[{"_createdAt":"2026-05-05T15:02:15Z","_id":"b40b05d5-2a53-4acf-9e9a-0667d193161c","_rev":"UVzdGoX4GGkgF7RicCcsFT","_type":"media-content","_updatedAt":"2026-08-12T16:28:10Z","behavior":"link","componentType":"more-to-shop","ctaText":"Shop Now","heading":"PERFORMANCE","isLive":true,"mediaType":"image","title":"5.6.26 - Performance B","url":"\/collections\/world-of-performance","_key":"2740ffb5a2f080f67a2600a1418a3e3f","breakpoint":" ","copyInsideImage":true,"ctaStyling":"primary--inverted","fontColor":{"title":"Default","value":"#FFF"},"headingStyling":"h2","image":{"_type":"shopify.image","accessibleAlternativeConfig":{"additionalText":"Collection of UNTUCKit performance shirts in various colors. "},"altText":"Collection of UNTUCKit performance shirts in various colors. ","height":438,"needsAccessibleAlternative":true,"shopifyUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/0129\/1072\/files\/More_To_Shop_6.jpg?v=1777993319","width":438},"innerTextConfig":{"_type":"inner-text-config","horizontalPosition":"center","verticalPosition":"flex-end"},"textAlignment":"center","hiddenBreakpoint":"md"},{"_createdAt":"2026-05-05T15:02:15Z","_id":"b40b05d5-2a53-4acf-9e9a-0667d193161c","_rev":"UVzdGoX4GGkgF7RicCcsFT","_type":"media-content","_updatedAt":"2026-08-12T16:28:10Z","behavior":"link","componentType":"more-to-shop","ctaText":"Shop Now","heading":"PERFORMANCE","isLive":true,"mediaType":"image","title":"5.6.26 - Performance B","url":"\/collections\/world-of-performance","_key":"8f7a995bd58bcae5855fadd6e849efef","breakpoint":"md","copyInsideImage":true,"ctaStyling":"primary--inverted","fontColor":{"title":"Default","value":"#FFF"},"headingStyling":"h4","image":{"_type":"shopify.image","accessibleAlternativeConfig":{"additionalText":"Collection of UNTUCKit performance shirts in various colors. "},"altText":"Collection of UNTUCKit performance shirts in various colors. ","height":438,"needsAccessibleAlternative":true,"shopifyUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/0129\/1072\/files\/More_To_Shop_6.jpg?v=1777993319","width":438},"innerTextConfig":{"_type":"inner-text-config","horizontalPosition":"center","verticalPosition":"flex-end"},"textAlignment":"center"}],"heading":"PERFORMANCE","isLive":true,"mediaType":"image","title":"5.6.26 - Performance B","url":"\/collections\/world-of-performance"}],"sizes":[{"_key":"294b77a81cb2","_type":"grid-size","breakpoint":" ","isHidden":false,"width":12},{"_key":"64890d709cb4","_type":"grid-size","breakpoint":"md","isHidden":false,"width":4}],"title":"Shop More 1"},{"_key":"6e43a2f2cee6c898cd714fd480c51db1","_type":"grid-column","blocks":[{"_createdAt":"2026-05-05T14:58:25Z","_id":"67320c1e-3400-4a0f-92cb-356bad4a23e0","_rev":"UVzdGoX4GGkgF7RicCcsFT","_type":"media-content","_updatedAt":"2026-08-12T16:28:10Z","behavior":"link","componentType":"more-to-shop","ctaText":"Shop Now","deviceConfigs":[{"_createdAt":"2026-05-05T14:58:25Z","_id":"67320c1e-3400-4a0f-92cb-356bad4a23e0","_rev":"UVzdGoX4GGkgF7RicCcsFT","_type":"media-content","_updatedAt":"2026-08-12T16:28:10Z","behavior":"link","componentType":"more-to-shop","ctaText":"Shop Now","heading":"WRINKLE FREE","isLive":true,"mediaType":"image","t
23itle":"5.6.26 - Wrinkle Free A","url":"\/collections\/our-wrinkle-free-collection","_key":"2740ffb5a2f080f67a2600a1418a3e3f","breakpoint":" ","copyInsideImage":true,"ctaStyling":"primary--inverted","fontColor":{"title":"Default","value":"#FFF"},"headingStyling":"h2","image":{"_type":"shopify.image","accessibleAlternativeConfig":{"additionalText":"Collection of UNTUCKit performance button-downs shirts. "},"altText":"Model is wearing UNTCKit button down.","height":438,"needsAccessibleAlternative":false,"shopifyUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/0129\/1072\/files\/More_To_Shop_3.jpg?v=1777993150","width":438},"innerTextConfig":{"_type":"inner-text-config","horizontalPosition":"center","verticalPosition":"flex-end"},"textAlignment":"center","hiddenBreakpoint":"md"},{"_createdAt":"2026-05-05T14:58:25Z","_id":"67320c1e-3400-4a0f-92cb-356bad4a23e0","_rev":"UVzdGoX4GGkgF7RicCcsFT","_type":"media-content","_updatedAt":"2026-08-12T16:28:10Z","behavior":"link","componentType":"more-to-shop","ctaText":"Shop Now","heading":"WRINKLE FREE","isLive":true,"mediaType":"image","title":"5.6.26 - Wrinkle Free A","url":"\/collections\/our-wrinkle-free-collection","_key":"8f7a995bd58bcae5855fadd6e849efef","breakpoint":"md","copyInsideImage":true,"ctaStyling":"primary--inverted","fontColor":{"title":"Default","value":"#FFF"},"headingStyling":"h4","image":{"_type":"shopify.image","accessibleAlternativeConfig":{"additionalText":"Collection of UNTUCKit performance button-downs shirts. "},"altText":"Model is wearing UNTCKit button down.","height":438,"needsAccessibleAlternative":false,"shopifyUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/0129\/1072\/files\/More_To_Shop_3.jpg?v=1777993150","width":438},"innerTextConfig":{"_type":"inner-text-config","horizontalPosition":"center","verticalPosition":"flex-end"},"textAlignment":"center"}],"heading":"WRINKLE FREE","isLive":true,"mediaType":"image","title":"5.6.26 - Wrinkle Free A","url":"\/collections\/our-wrinkle-free-collection"}],"sizes":[{"_key":"294b77a81cb2","_type":"grid-size","breakpoint":" ","isHidden":false,"width":12},{"_key":"64890d709cb4","_type":"grid-size","breakpoint":"md","isHidden":false,"width":4}],"title":"Shop More 2"},{"_key":"1a53fe9abbd26d6ec8e8969a0a14ce4c","_type":"grid-column","blocks":[{"_createdAt":"2026-05-05T15:13:42Z","_id":"d45584ea-e23d-459e-a5d3-07b7e6ab35e2","_rev":"UVzdGoX4GGkgF7RicCcsFT","_type":"media-content","_updatedAt":"2026-08-12T16:28:10Z","behavior":"link","componentType":"more-to-shop","ctaText":"Shop Now","deviceConfigs":[{"_createdAt":"2026-05-05T15:13:42Z","_id":"d45584ea-e23d-459e-a5d3-07b7e6ab35e2","_rev":"UVzdGoX4GGkgF7RicCcsFT","_type":"media-content","_updatedAt":"2026-08-12T16:28:10Z","behavior":"link","componentType":"more-to-shop","ctaText":"Shop Now","heading":"CLOSET ESSENTIALS","isLive":true,"mediaType":"image","title":"5.6.26 - Closet Essentials B","url":"\/collections\/closet-essentials","_key":"2740ffb5a2f080f67a2600a1418a3e3f","breakpoint":" ","copyInsideImage":true,"ctaStyling":"primary--inverted","fontColor":{"title":"Default","value":"#FFF"},"headingStyling":"h2","image":{"_type":"shopify.image","altText":"Model is wearing UNTUCKit white tee. ","height":438,"shopifyUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/0129\/1072\/files\/More_To_Shop_15.jpg?v=1777993971","width":438},"innerTextConfig":{"_type":"inner-text-config","horizontalPosition":"center","verticalPosition":"flex-end"},"textAlignment":"center","hiddenBreakpoint":"md"},{"_createdAt":"2026-05-05T15:13:42Z","_id":"d45584ea-e23d-459e-a5d3-07b7e6ab35e2","_rev":"UVzdGoX4GGkgF7RicCcsFT","_type":"media-content","_updatedAt":"2026-08-12T16:28:10Z","behavior":"link","componentType":"more-to-shop","ctaText":"Shop Now","heading":"CLOSET ESSENTIALS","isLive":true,"mediaType":"image","title":"5.6.26 - Closet Essentials B","url":"\/collections\/closet-essentials","_key":"8f7a995bd58bcae5855fadd6e849efef","breakpoint":"md","copyInsideImage":true,"ctaStyling":"primary--inverted","fontColor":{"title":"Default","value":"#FFF"},"headingStyling":"h4","image":{"_type":"shopify.image","altText":"Model is wearing UNTUCKit white tee. ","height":438,"shopifyUrl":"https:\/\/cdn.shopify.com\/s\/files\/1\/0129\/1072\/files\/More_To_Shop_15.jpg?v=1777993971","width":438},"innerTextConfig":{"_type":"inner-text-config","horizontalPosition":"center","verticalPosition":"flex-end"},"textAlignment":"center"}],"heading":"CLOSET ESSENTIALS","isLive":true,"mediaType":"image","t
23itle":"5.6.26 - Closet Essentials B","url":"\/collections\/closet-essentials"}],"sizes":[{"_key":"294b77a81cb2","_type":"grid-size","breakpoint":" ","isHidden":false,"width":12},{"_key":"64890d709cb4","_type":"grid-size","breakpoint":"md","isHidden":false,"width":4}],"title":"Shop More 3"}],"displayOptions":[{"_key":"653ab99b976b","_type":"grid-display-options","breakpoint":" ","rowGap":4},{"_key":"05eda0864f62","_type":"grid-display-options","breakpoint":"md","columnGap":3,"rowGap":4},{"_key":"ea1f20a77b05","_type":"grid-display-options","breakpoint":"lg","columnGap":6,"rowGap":4}],"size":12}],"collectionNavs":{"category":{"links":[{"externalUrl":"\/collections\/shirts","title":"Button-Down Shirts"},{"externalUrl":"\/collections\/polos","title":"Polos"},{"externalUrl":"\/collections\/tees-henleys","title":"Tees \u0026 Henleys"},{"externalUrl":"\/collections\/sweaters","title":"Sweaters"},{"externalUrl":"\/collections\/jackets-sport-coats","title":"Jackets \u0026 Sport Coats"},{"externalUrl":"\/collections\/trousers","title":"Trousers"},{"externalUrl":"\/collections\/accessories","title":"Accessories"}],"title":"Shop By Category"},"other":{"links":[{"externalUrl":"\/collections\/our-wrinkle-free-collection","title":"Wrinkle-Free Collection"},{"externalUrl":"\/collections\/world-of-performance","title":"Performance Collection"},{"externalUrl":"\/collections\/our-most-iconic-button-downs","title":"Bestselling Styles"}],"title":"Shop By Collection"}},"collections":{"150721888308":"bc3c6580-7b06-4d29-b53c-74527be6d2a9","150783230004":"0529b2a6-90fb-47d4-8368-97c702b49326","675615048059":"ff160cbe-3875-4c89-9e8e-54eddd78b472","150783164468":"f0386957-fa2f-49ef-b16a-9445867b7c36","164267687988":"79f0fafe-3a67-4597-b35f-8916a3a39f32","277518975028":"d6bca9ca-6f16-4df7-b50a-f933b9b6986a","281010274356":"f7f5976f-4724-4cf0-b2f4-cc7000ec1423","150717169716":"c07263b9-e4c7-487f-aa8f-64ca3e2943b9","669540581755":"608034d4-d971-44a4-9c27-0f9e98d865f9","150722478132":"40ec8d6b-bf66-4053-9e9c-db3cd1333c8d","173874118708":"ff7da6fe-ee8b-49f9-9858-127a4a9d20be","155002044468":"7dd1009e-9908-4bc3-a23c-603e349eef91","283217690676":"dcd8ba50-f77d-4bac-a651-a135e5abf583","675615179131":"0289eb19-ed52-4136-aedf-6ae6e231dff0","281010307124":"605278a4-dbb6-46c6-9f57-03483f85de90","284114747444":"bd108c3e-40d3-4081-aa26-5638d8ec2338","153621659700":"16f5098b-21b6-4c2e-afb7-8cc330de3e86","281010241588":"2cee01d7-178c-4610-8844-deaf5977b403"},"desktopGlobalBanners":{"_type":"global-banner-config","banners":[{"_createdAt":"2024-08-26T17:35:38Z","_id":"fb106ad9-ec0e-436c-a209-a7b3105610ab","_rev":"pVrINdYJi4tI85zho4jqe0","_type":"global-banner","_updatedAt":"2025-06-04T20:10:11Z","backgroundColor":{"title":"Grey 200","value":"#EAEAEA"},"fontColor":{"title":"Grey 700","value":"#4A4A4A"},"fontType":"proxima","headerUrl":"\/pages\/shipping-information","isLive":true,"message":"Free shipping for orders £75+. Free returns within the UK.","name":"Free Shipping - Desktop","promotionOfferDelimiter":"|","shownDynamically":false,"type":"simple"}],"rotation":0,"showHomepage":true,"showSubpages":true},"evergreenNavigationMobile":{"_createdAt":"2025-05-15T13:37:08Z","_id":"38d1c8b4-5a8a-4f79-9dca-7f0369c945ee","_rev":"hLev5EgLETNBXefT4MrgL7","_type":"navigation-v2","_updatedAt":"2025-05-15T14:07:19Z","isLive":true,"sections":[{"_key":"4c8e71765afb","_type":"section","title":"FAQ","url":"https:\/\/support.untuckit.com\/"},{"_key":"b075a410b8e6","_type":"section","title":"Return \u0026 Exchange","url":"\/pages\/returns-exchanges"},{"_key":"5511db8e8a74","_type":"section","title":"My Account","url":"\/account\/login?return_url=%2Faccount%23%2Forders"},{"_key":"eff3dc37d0ea","_type":"section","title":"Gift Cards","url":"\/pages\/gift-cards"},{"_key":"021f933381c1","_type":"section","title":"About Us","url":"\/pages\/about-us"},{"_key":"ad37224daf26","_type":"section","title":"Customer Service","url":"\/pages\/contact-us"},{"_key":"8e4b80f18997","_type":"section","title":"Our Policies","url":"\/pages\/privacy-policy"}],"title":"[5.15.2025] Mobile Evergreen"}
23,"filterBannerCopy":"Our inventory is low. Use filters to shop in-stock styles by size, fit, color.","id":"51126UKSp2Launch","mainNavigationDesktop":{"_createdAt":"2026-03-10T00:33:06Z","_id":"24f5697c-9ddd-4677-b7c6-23faad02dd86","_rev":"moNFyNiy05pwRGQwL6bOI6","_system":{"base":{"id":"24f5697c-9ddd-4677-b7c6-23faad02dd86","rev":"7Dn2W63XT5eeSZOVKoMyqn"}},"_type":"navigation-v2","_updatedAt":"2026-08-12T16:28:34Z","isLive":true,"sections":[{"_key":"2dde10ee1d65","_type":"section","categories":[{"_key":"0466b0e9d67c","_type":"category","title":"Button-Down Shirts","url":"\/collections\/shirts"},{"_key":"5683ecde8c4b","_type":"category","title":"Polos","url":"\/collections\/polos"},{"_key":"7a8bd8136973","_type":"category","title":"Tees \u0026 Henleys","url":"\/collections\/tees-henleys"},{"_key":"7d4901ed577f","_type":"category","title":"Trousers","url":"\/collections\/trousers"},{"_key":"471021d9751a","_type":"category","title":"Sweaters","url":"\/collections\/sweaters"},{"_key":"9a6454537443","_type":"category","title":"Jackets \u0026 Sport Coats","url":"\/collections\/jackets-sport-coats"},{"_key":"736edb9775d9","_type":"category","title":"Accessories","url":"\/collections\/accessories"}],"title":"Men","url":"\/collections\/shirts"},{"_key":"1c931aae2573","_type":"section","categories":[{"_key":"53b8f74b0cd2b0ab168a59235fff8c88","_type":"category","title":"New Arrivals","url":"\/collections\/new-arrivals"},{"_key":"0d48f059d4b0","_type":"category","title":"Performance Collection","url":"\/collections\/world-of-performance"},{"_key":"6b7ab31fda21","_type":"category","title":"Wrinkle-Free Collection","url":"\/collections\/our-wrinkle-free-collection"},{"_key":"b1ff4a4da227","_type":"category","title":"Closet Essentials","url":"\/collections\/closet-essentials"},{"_key":"78af5703419f","_type":"category","title":"Bestselling Styles","url":"\/collections\/our-most-iconic-button-downs"}],"title":"Shop By Collection","url":"\/collections\/shirts"},{"_key":"e2caa968c907","_type":"section","categories":[{"_key":"7f761e762184","_type":"category","title":"All Men's Sale","url":"\/collections\/sale"},{"_key":"0c08482182b3","_type":"category","title":"Button-Downs","url":"\/collections\/sale?pf_t_shop_by_category=category%3Ashirts#collection-results"},{"_key":"a9ac37cfd49f","_type":"category","title":"Polos","url":"\/collections\/sale?pf_t_shop_by_category=category%3Apolos#collection-results"},{"_key":"0c91f112295e","_type":"category","title":"Tees \u0026 Henleys","url":"\/collections\/sale?pf_t_shop_by_category=category%3Atees+%26+henleys#collection-results"},{"_key":"bda1e8f5502e","_type":"category","title":"Sweaters","url":"\/collections\/sale?pf_t_shop_by_category=category%3Asweaters+%26+sweatshirts#collection-results"},{"_key":"6bf13e9052a5","_type":"category","title":"Jackets \u0026 Sport Coats","url":"\/collections\/sale?pf_t_shop_by_category=category%3Ajackets#collection-results"}],"color":{"title":"Primary Red","value":"#8E2231"},"title":"Sale","url":"\/collections\/sale"}],"title":"[3.12.2026] Spring 1"},"mainNavigationMobile":{"_createdAt":"2026-03-10T00:33:06Z","_id":"24f5697c-9ddd-4677-b7c6-23faad02dd86","_rev":"moNFyNiy05pwRGQwL6bOI6","_system":{"base":{"id":"24f5697c-9ddd-4677-b7c6-23faad02dd86","rev":"7Dn2W63XT5eeSZOVKoMyqn"}},"_type":"navigation-v2","_updatedAt":"2026-08-12T16:28:34Z","isLive":true,"sections":[{"_key":"2dde10ee1d65","_type":"section","categories":[{"_key":"0466b0e9d67c","_type":"category","title":"Button-Down Shirts","url":"\/collections\/shirts"},{"_key":"5683ecde8c4b","_type":"category","title":"Polos","url":"\/collections\/polos"},{"_key":"7a8bd8136973","_type":"category","title":"Tees \u0026 Henleys","url":"\/collections\/tees-henleys"},{"_key":"7d4901ed577f","_type":"category","title":"Trousers","url":"\/collections\/trousers"},{"_key":"471021d9751a","_type":"category","title":"Sweaters","url":"\/collections\/sweaters"},{"_key":"9a6454537443","_type":"category","title":"Jackets \u0026 Sport Coats","url":"\/collections\/jackets-sport-coats"},{"_key":"736edb9775d9","_type":"category","title":"Accessories","url":"\/collections\/accessories"}],"title":"Men","url":"\/collections\/shirts"},{"_key":"1c931aae2573","_type":"section","categories":[{"_key":"53b8f74b0cd2b0ab168a59235fff8c88","_type":"category","title":"New Arrivals","url":"\/collections\/new-arrivals"},{"_key":"0d48f059d4b0","_type":"category","title":"Performance Collection","url":"\/collections\/world-of-performance"},{"_key":"6b7ab31fda21","_type":"category","title":"Wrinkle-Free Collection","url":"\/collections\/our-wrinkle-free-collection"},{"_key":"b1ff4a4da227","_type":"category","title":"Closet Essentials","url":"\/collections\/closet-essentials"},{"_key":"78af5703419f","_type":"category","title":"Bestselling Styles","url":"\/collections\/our-most-iconic-button-downs"}],"title":"Shop By Collection","url":"\/collections\/shirts"},{"_key":"e2caa968c907","_type":"section","categories":[{"_key":"7f761e762184","_type":"category","title":"All Men's Sale","url":"\/collections\/sale"},{"_key":"0c08482182b3","_type":"category","title":"Button-Downs","url":"\/collections\/sale?pf_t_shop_by_category=category%3Ashirts#collection-results"},{"_key":"a9ac37cfd49f","_type":"category","title":"Polos","url":"\/collections\/sale?pf_t_shop_by_category=category%3Apolos#collection-results"},{"_key":"0c91f112295e","_type":"category","title":"Tees \u0026 Henleys","url":"\/collections\/sale?pf_t_shop_by_category=category%3Atees+%26+henleys#collection-results"},{"_key":"bda1e8f5502e","_type":"category","title":"Sweaters","url":"\/collections\/sale?pf_t_shop_by_category=category%3Asweaters+%26+sweatshirts#collection-results"},{"_key":"6bf13e9052a5","_type":"category","title":"Jackets \u0026 Sport Coats","url":"\/collections\/sale?pf_t_shop_by_category=category%3Ajackets#collection-results"}],"color":{"title":"Primary Red","value":"#8E2231"},"title":"Sale","url":"\/collections\/sale"}
23],"title":"[3.12.2026] Spring 1"},"mainNavigationPersonalizationDesktop":null,"mainNavigationPersonalizationMobile":null,"mobileGlobalBanners":{"_type":"global-banner-config","banners":[{"_createdAt":"2022-11-09T21:47:25Z","_id":"e6364cf8-ac1e-4bc2-86ee-f95665cc6031","_rev":"i0wYcxN3xqgMlM9JCDmzSe","_system":{"base":{"id":"e6364cf8-ac1e-4bc2-86ee-f95665cc6031","rev":"3hGA3SWC5orEP060FuxPwV"}},"_type":"global-banner","_updatedAt":"2025-12-23T20:53:53Z","backgroundColor":{"title":"Grey 200","value":"#EAEAEA"},"fontColor":{"title":"Grey 700","value":"#4A4A4A"},"fontType":"proxima","isLive":true,"message":"\u003ca href=\"\/pages\/shipping-information\"\u003eFree shipping for orders £75+.\u003cbr\/\u003eFree returns within the UK.\u003c\/a\u003e","name":"Free Shipping - Mobile","promotionOfferDelimiter":"|","shownDynamically":false,"type":"simple"}],"rotation":0,"showHomepage":true,"showSubpages":true},"name":"5.11.26 UTK | SP 2 Launch","pages":{},"collectionDocIds":{"150721888308":"bc3c6580-7b06-4d29-b53c-74527be6d2a9","150783230004":"0529b2a6-90fb-47d4-8368-97c702b49326","675615048059":"ff160cbe-3875-4c89-9e8e-54eddd78b472","150783164468":"f0386957-fa2f-49ef-b16a-9445867b7c36","164267687988":"79f0fafe-3a67-4597-b35f-8916a3a39f32","277518975028":"d6bca9ca-6f16-4df7-b50a-f933b9b6986a","281010274356":"f7f5976f-4724-4cf0-b2f4-cc7000ec1423","150717169716":"c07263b9-e4c7-487f-aa8f-64ca3e2943b9","669540581755":"608034d4-d971-44a4-9c27-0f9e98d865f9","150722478132":"40ec8d6b-bf66-4053-9e9c-db3cd1333c8d","173874118708":"ff7da6fe-ee8b-49f9-9858-127a4a9d20be","155002044468":"7dd1009e-9908-4bc3-a23c-603e349eef91","283217690676":"dcd8ba50-f77d-4bac-a651-a135e5abf583","675615179131":"0289eb19-ed52-4136-aedf-6ae6e231dff0","281010307124":"605278a4-dbb6-46c6-9f57-03483f85de90","284114747444":"bd108c3e-40d3-4081-aa26-5638d8ec2338","153621659700":"16f5098b-21b6-4c2e-afb7-8cc330de3e86","281010241588":"2cee01d7-178c-4610-8844-deaf5977b403"}}; 24 </script>
24 25 <head> 26<!--LOOMI SDK--> 27<!--DO NOT EDIT--> 28<link rel="preconnect" href="https://live.visually-io.com" crossorigin data-em-disable> 29<link rel="dns-prefetch" href="https://live.visually-io.com" data-em-disable>
30<script type="text/javascript" data-em-disable data-vsly> 31 (()=> { 32 const env = 2; 33 var store = "untuckituk.myshopify.com"; 34 var alias = store.replace(".myshopify.com", "").replaceAll("-", "_").toUpperCase(); 35 var jitsuKey = "js.24649957428"; 36 var themeId = 181560770939; 37 var role = "main"; 38 window.loomi_ctx = {...(window.loomi_ctx || {}),storeAlias:alias,jitsuKey,env,themeId,role}; 39 (()=>{window.loomi_ctx.cc=1})() 40 41 42 43 44 window.loomi_ctx.blockingConcent = false; 45 loomi_ctx.ttl=1793971388; 46 47 loomi_ctx.embedded_flags=["allow-embed-redirect-tests"]; 48 })() 49</script>
vendor: 1 bytes, line 49
49
50<script type="text/javascript" data-em-disable> 51 !function(){var e,t,n;!function(e){e.JSCondition="jsCondition",e.JSFunction="jsFunction",e.JSEvent="jsEvent",e.Selector="selector",e.ElementEvent="elementEvent",e.PageLoad="pageLoad",e.Timeout="timeout",e.Inactivity="inactivity",e.ExitIntent="exitIntent",e.Conjunction="conjunction"}(e||(e={})),function(e){e[e.PAUSED=4]="PAUSED"}(t||(t={})),function(e){e[e.LOCAL=0]="LOCAL",e[e.STAGE=1]="STAGE",e[e.PROD=2]="PROD",e[e.TEST=3]="TEST"}(n||(n={}));const r="lmi_preview";var o;!function(e){e.USE_CASE="USE_CASE",e.ADD_TO_CART="ADD_TO_CART"}(o||(o={}));const i=function(e){void 0===e&&(e=()=>window);try{return Promise.resolve(y(()=>void 0!==E(()=>e().removeEventListener),100,100)).then(function(){return Promise.resolve()})}catch(e){return Promise.reject(e)}},s=function(e,t){void 0===e&&(e=()=>window),void 0===t&&(t=!1);try{function n(){return Promise.resolve()}const r=t&&a()?Promise.resolve(y(()=>c,1e3,10)).then(function(){}):Promise.resolve(y(()=>void 0!==E(()=>e().addEventListener),10,1e3)).then(function(){});return Promise.resolve(r&&r.then?r.then(n):n())}catch(o){return Promise.reject(o)}};let c=!1;function a(){return!0===E(()=>window.vslyDeferResources)}function u(e,t){void 0===t&&(t=20);let n=0;return function(){clearTimeout(n),n=setTimeout(()=>e(...[].slice.call(arguments)),t)}}window.addEventListener("load",()=>{setTimeout(()=>{c=!0},2e3)});const l="vsly-hide-theme-preview",d="vslyCtags",m=()=>{E(()=>{const e=window.loomi_ctx.ctags||[];0===e.length?window.loomi_ctx.ctags=JSON.parse(localStorage.getItem(d)||"[]"):localStorage.setItem(d,JSON.stringify(e)),E(()=>{const e=JSON.parse(localStorage.getItem("vslyCustomCtags")||"[]");e&&e.length>0&&(window.loomi_ctx.ctags=[...window.loomi_ctx.ctags||[],...e])})})},f=()=>new Date(1e3*Math.floor(Date.now()/1e3)),h=e=>window.loomi_ctx?.embedded_flags?.includes(e),p=()=>h("allow-embed-redirect-tests");function v(e,t){void 0===t&&(t={async:!1,defer:!1});const n=E(()=>window.visually.flags["bunny-cdn"]),r=b();return w(`vsly-lib-${e}`,`https://${n?"assets.visually.io":r}/vsly/lib/${e}.js`,t)}function w(e,t,n){return void 0===n&&(n={async:!1,defer:!1}),new Promise((r,o)=>{let i=document.getElementById(e);i?r(document.getElementById(e)):(i=document.createElement("script"),i.id=e,i.src=t,i.async=n.async||!1,i.defer=n.defer||!1,i.setAttribute("data-em-disable",""),i.onload=()=>r(i),i.onerror=()=>o(new Error(`Failed to load ${t}`)),document.head.appendChild(i))})}function y(e,t,n,r){return void 0===t&&(t=500),void 0===n&&(n=4),new Promise((o,i)=>{e()?o(0):0!==n?setTimeout(()=>{r&&r()&&i(`condition rejected ${E(()=>e.toString())}`),y(e,t,n-1).then(o).catch(i)},t):i(`condition rejected ${E(()=>e.toString())}`)})}function g(e,t){void 0===t&&(t=500);const n=E(()=>window.visually_io_editor)?Date.now()+1e4:Infinity;function r(o){try{const i=e();i?o(i):Date.now()>=n?o(void 0):setTimeout(()=>r(o),t)}catch(e){console.error("vsly-when",e),Date.now()>=n?o(void 0):setTimeout(()=>r(o),t)}}return new Promise(e=>{r(e)})}function _(e){return!Array.isArray(e)||0===e.length}function S(e){return btoa(unescape(encodeURIComponent(JSON.stringify(e))))}function E(e,t){void 0===t&&(t=void 0);try{return e()}catch{return t}}const P=e=>e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null;function A(){const e=window.loomi_ctx?.clientId;return e?(window.localStorage.setItem("vsly__st",String(e)),String(e)):window.localStorage.getItem("vsly__st")}function I(e,t,n){void 0===t&&(t=5),void 0===n&&(n=500),t>=0&&!E(e)&&setTimeout(()=>{E(e)||I(e,t-1)},n)}const b=function(e){return void 0===e&&(e=window.loomi_ctx.env),e===n.STAGE?"sdk.loomi-stg.xyz":"live.visually-io.com"};function x(e){return e.replace(/[^a-z_A-Z0-9]/gi,"_")}const C=()=>!!E(()=>k()()),k=()=>E(()=>window.Shopify.customerPrivacy.analyticsProcessingAllowed)||E(()=>window.Shopify.customerPrivacy.userCanBeTracked)||E(()=>window.visually.analyticsProcessingAllowed);function T(){const e=function(){try{return Promise.resolve(y(()=>!!E(()=>window.loomi.jitsu),a()?1e3:500,120)).then(function(){return E(()=>window.loomi.jitsu)})}catch(e){return Promise.reject(e)}}();return{register(t,n,r,o){e.then(e=>E(()=>e.register(t,n,r,o)))},track:function(t,n,r){return Promise.resolve(e).then(function(e){return Promise.resolve(E(()=>e.track(t,n,r))).then(function(){})})},trackExt:function(t,n){return Promise.resolve(e).then(function(e){return Promise.resolve(E(()=>e.trackExt(t,n))).then(function(){})})}}}let N=!1,O=!1;function j(e,t,n){return{id:O?"lmi-000":"lmi-"+ ++L,isApplied:!1,kind:e,selector:t,value:n}}function $(e,t){let n,r=!1;return null!==e.previousElementSibling?n=e.previousElementSibling:(n=e.parentElement,r=!0),n?(e.outerHTML=t,r?n.firstElementChild:n.nextElementSibling):e}let L=Math.round(1e4*Math.random()),R=[],D=new Map;const U="lmid",M="lmwv";function q(){return!!E(()=>window.vsly_fbs)}function F(){return window.location.search.includes("lmi_debug")||q()}function B(){F()&&console.debug("loomi-editor",...[].slice.call(arguments))}function J(){F()&&console.error("loomi-editor",...[].slice.call(arguments))}let V=!0,H={};class G{constructor(e,t){this._value=void 0,this._addedAt=void 0,this._value=e,this._addedAt=t||(new Date).getTime()}value(){return this._value}addedAt(){return this._addedAt}}class z{constructor(e,t){this.backend=void 0,this.ttlMillis=void 0,this.backend=e,this.ttlMillis=t}isValid(e){return!!e&&(new Date).getTime()-e.addedAt()<=this.ttlMillis}get(e){const t=this.backend.get(e),n=this.isValid(t);if(t&&n)return t.value();n||this.backend.remove(e)}set(e,t,n){const r=new G(t,n);this.backend.set(e,r)}}class K{constructor(e){this.namespace=void 0,this.namespace=`vsly_cache_${e}`,window[this.namespace]={}}get(e){return E(()=>window[this.namespace][e])}remove(e){E(()=>delete window[this.namespace][e])}set(e,t){window[this.namespace][e]=t}}class W{constructor(e){this.namespace=void 0,this.namespace=`vsly_cache_${e}`}get(e){return E(()=>{const t=sessionStorage.getItem(`${this.namespace}_${e}`);if(!t)return;const n=JSON.parse(t);return new G(n._value,n._addedAt)})}remove(e){sessionStorage.removeItem(`${this.namespace}_${e}`)}set(e,t){sessionStorage.setItem(`${this.namespace}_${e}`,JSON.stringify(t))}}class Q extends z{constructor(e,t){super(new K(e),t)}}const Y=function(e,t){void 0===t&&(t=8397271938200529);let n=3735928559^t,r=1103547991^t;for(let t,o=0;o<e.length;
51o++)t=e.charCodeAt(o),n=Math.imul(n^t,2654435761),r=Math.imul(r^t,1597334677);return n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),`${4294967296*(2097151&r)+(n>>>0)}`},Z="targeting-changed",X="vslyThemeTest",ee="0891c521a9aa47c6a9fd965198b7ed44",te="_203";function ne(e,t,n,r,o){void 0===n&&(n=10),void 0===r&&(r=!1),void 0===o&&(o="none");const{_USE_CASE:i,_USE_CASE_VARIANT:s,_USE_CASE_AUDIENCES:c,_USE_CASE_VERSION:a,_USE_CASE_GA_VARIANT:u,_USE_CASE_GA:l}=e;if(q()||ce())return;if(!function(e){try{const t=location.pathname,n=new URL(e);if(location.search.includes("vsly-redirected-from"))return!1;if(!0===E(()=>window.visually.flags["sdk-kill-advanced-redirect-checks"]))return!0;{let e=!1;const r=decodeURIComponent(location.search);return n.searchParams.forEach((t,n)=>{const o=decodeURIComponent(`${n}=${t}`);r.includes(o)||(e=!0)}),!!((E(()=>Array.from(n.searchParams.values()).length)||0)>0&&e)||t!==n.pathname}}catch(e){return!1}}(t))return;if(!function(e,t,n){const r=`vsly-redirect-${Y(`${n._USE_CASE}-${n._USE_CASE_VARIANT}-${n._USE_CASE_VERSION}-${e}`)}`;return"session"===t?"true"!==sessionStorage.getItem(r)&&(sessionStorage.setItem(r,"true"),!0):"user"!==t||"true"!==localStorage.getItem(r)&&(localStorage.setItem(r,"true"),!0)}(t,o,e))return;h();const d=`${i}-${s}`,m={type:"USE_CASE",ts:f().valueOf(),payload:{sid:E(()=>window.loomi_ctx.session.id),user:{anonymous_id:E(()=>window.loomi_ctx.userId)},use_case:i,use_case_variant:s,...a?{version:a}:{},...c?{audiences:c}:{}},options:{gaName:E(()=>x(l)),gaVariant:E(()=>x(u))}};function h(){document.body&&(document.body.style.opacity=0)}E(()=>{ue(i)&&(m.payload.clickId="redirect",m.options.isRedirect=!0)}),window.vsly_redirecting=!0,setTimeout(function(){try{h();const e=JSON.stringify(m),n=S(m),o=!d.includes(ie);let i=t;try{new URLSearchParams(location.search).forEach((e,t)=>{(r||se(t))&&(i=re(i,t,e))})}catch(t){B("e87",{redirectUrl:i,key:d,event:e,ex:t})}return i=re(i,"vsly-redirected-from",d),o&&(i=re(i,"vsly-redirected-event",n)),location.replace&&location.replace(i),Promise.resolve()}catch(e){return Promise.reject(e)}},n)}function re(e,t,n){try{const r=new URL(e);return r.searchParams.append(t,n),r.href}catch(t){return`${e}${e.includes("?")?"&":"?"}key=${n}`}}function oe(e){return{_USE_CASE:e.experienceId,_USE_CASE_VARIANT:e.variantId,_USE_CASE_VERSION:e.version,_USE_CASE_AUDIENCES:E(()=>window.loomi_ctx.audiences.join("|"),""),_USE_CASE_GA:e.gaExperienceName,_USE_CASE_GA_VARIANT:e.gaVariantName}}const ie="theme_test_redirect_back_to_main",se=e=>e.toLowerCase().startsWith("utm");function ce(){return E(()=>window.Shopify.designMode,!1)}function ae(){return E(()=>window.Shopify.country)||E(()=>window.visually.country)}const ue=e=>window.loomi.conf.experiments.find(t=>t.name===e).isRedirect,le=(e,t)=>{E(()=>!0===window.visually.flags["sdk-disable-dynamic-height-strategy"],!1)||e&&function(e,t,n){let r=e,o=0;for(;r.parentElement&&o<10;)n(r.parentElement),r=r.parentElement,o+=1}(e,0,e=>{const t=e.style.height;var n;(n=t)&&""!==n&&(e.style.removeProperty("height"),e.style.minHeight=t)})};function de(e,t,n,r){if(!document.body.contains(r)){const r=document.querySelector(n);return r?(t(),e(),{element:r,isDetached:!0}):{isDetached:!1}}return{isDetached:!1}}function me(e){if(!E(()=>window.visually.flags["visibility-redo"]))return document.querySelector(e);const t=document.querySelectorAll(e);for(let e=0;e<t.length;e++){const n=t.item(e);if(fe(n))return n}return E(()=>t[0])}function fe(e){try{if(!E(()=>window.visually.flags["visibility-redo"]))return!0;if(!e)return!1;const t=e.getBoundingClientRect(),n=getComputedStyle(e);return!E(()=>"none"==n.display||"0"==n.opacity||"hidden"==n.visibility||t.width<=5&&t.height<=5||"none"==e.style.display||"0"==e.style.opacity||"hidden"==e.style.visibility)}catch(e){return!0}}function he(e){return E(()=>window.visually.flags[e],!1)}function pe(){return E(()=>!0===window.vslyDeferWidgets||he("sdk-defer-widgets"),!1)}const ve="visually",we="widgets";let ye;function ge(e,t){const n=e+t,r=`vslyw-${n}`;if(!document.getElementById(r)){const e=document.createElement("script");e.id=r,e.type="text/javascript";
51const t=E(()=>window.visually.flags["bunny-cdn"]),o=b();e.src=`https://${t?"assets.visually.io":o}/widgets/${n}.js`,document.head.appendChild(e)}}window.IntersectionObserver&&(ye=new IntersectionObserver((e,t)=>{e.forEach(e=>{if(e.isIntersecting){const n=e.target;(function(e){const t=e.getAttribute("lmw"),n=e.getAttribute(M);if(t&&n){const r=t+n;return y(()=>E(()=>!!window[ve][we][r])&&E(()=>!!window.preact),50,500).then(()=>{E(()=>window[ve][we][r](`#${e.id}`))}),!0}return!1})(n)&&t.unobserve(n)}})},{root:null,rootMargin:window.vslyDeferWidgetsMargin||"100px",threshold:.1}));const _e="vsly-orig-sel";function Se(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}const Ee=function(e){try{return Promise.resolve(Se(function(){return Promise.resolve(y(()=>!!E(()=>document.querySelector(e)),250,100)).then(function(){return Promise.resolve(document.querySelector(e))})},function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}};function Pe(e,t,n){const r=t.extra;return n&&n>=3?void 0!==r&&!!E(()=>e.childNodes[r]):!!r&&!!E(()=>e.childNodes[r])}function Ae(e,t,n){void 0===n&&(n=10),he("kill-theme-testing")||Ie(t)||(be(e,t),ne(e,xe(t).href,n,!0,"session"))}const Ie=e=>{if(ke())return!0;E(function(){try{return Promise.resolve(y(()=>!!document&&!!document.head,10,2e3)).then(function(){const e=document.head||document.getElementsByTagName("head")[0];if(!e.querySelector(`#${l}`)){const t=document.createElement("style");t.id=l,t.appendChild(document.createTextNode("#preview-bar-iframe,#PBarNextFrameWrapper,#PBarNextFrame { display: none !important;}")),e.appendChild(t)}})}catch(e){return Promise.reject(e)}});const t=window.loomi_ctx.themeId||E(()=>window.Shopify.theme.id),n=window.loomi_ctx.role||E(()=>window.Shopify.theme.role),r=!je({id:t,role:n}),o=E(()=>!window.loomi_ctx.testedThemes.includes(t));return!(!r||!o)||Oe({id:t,role:n},e)},be=(e,t)=>{const n=e._USE_CASE!==ie;Re(t)&&n&&[sessionStorage,localStorage].forEach(e=>$e(e))},xe=e=>{let t=Ue();return E(()=>!!window.loomi_api.vslyResolveThemeTestUrl)&&(t=E(()=>window.loomi_api.vslyResolveThemeTestUrl(t),t)),t.searchParams.append("preview_theme_id",`${e||""}`),t},Ce=()=>{const e="vsly-tts";if(De(e)||Me(e))return;Ne();const t=xe("");t.searchParams.append(e,"1"),sessionStorage.setItem(e,`${f().valueOf()}`),document.body.style.opacity=0,location.replace(t.href)},ke=()=>
51{const e="vsly_disableThemeTest",t=De("disableThemeTest")||!!sessionStorage.getItem(e);return t&&sessionStorage.setItem(e,"1"),ce()||t},Te=()=>0===(window.loomi_ctx.embeddedTests||[]).filter(e=>e.experiment.isThemeTest).length,Ne=()=>[sessionStorage,localStorage].forEach(e=>e.removeItem(X)),Oe=(e,t)=>e.id===t||je(e)&&!t,je=e=>"main"===e.role,$e=e=>e.setItem(X,"1"),Le=e=>e.getItem(X),Re=e=>!!e,De=e=>E(()=>Ue().searchParams.has(e)),Ue=()=>E(()=>new URL(window.location.href)),Me=e=>{const t=sessionStorage.getItem(e);if(t){const e=f().valueOf()-Number(t);return Number.isFinite(e)&&e<864e5}return t},qe="data-rid",Fe="data-alchemy-element-root";let Be,Je=0;function Ve(e){return e.hasAttribute(qe)||e.hasAttribute(Fe)}const He=function(e,t){try{return Promise.resolve(y(()=>!!document&&!!document.body&&!!document.querySelector,50,200)).then(function(){!function(){if("undefined"==typeof document)return;Ge||(Ge=new MutationObserver(ze)),ze();const e="spa"===E(()=>window.vslyIntegrationType,"static")?document:document.body;Ge.observe(e,{childList:!0,subtree:!0,characterData:!0,attributes:!1})}(),e&&(N=e),t&&(O=t)})}catch(e){return Promise.reject(e)}};let Ge;function ze(){R.filter(e=>!e.isApplied).forEach(e=>{try{const t=E(()=>document.body.querySelector(e.selector));if(!t)return void function(e,t,n,r,o){void 0===r&&(r=100),void 0===o&&(o=10);const i=!!t,s=E(()=>H[e])||0;!i&&V&&s<o&&(V=!1,H[e]=(E(()=>H[e])||0)+1,setTimeout(()=>{try{n()}catch(t){J("failed to run setTimeout on refreshAllElementsSets",e,t)}V=!0},r+50*s))}(e.selector,t,ze,100,10);if(D.has(e.id))return;if(function(e,t){if(e&&(void 0===Be&&(Be=!!document.querySelector(`[${Fe}],[${qe}]`)),Be)&&function(e){return["replace","appendBefore","appendAfter","compound","widget","moveElem"].includes(e.kind)}(t))for(let t=e;t;t=t.parentElement)if(Ve(t))return!0;return!1}(t,e)&&!function(){if(q())return!0;const e=window.vslyHydrationSize||1,t=!!window.elementIdToRuntimeInitialized&&Object.values(window.elementIdToRuntimeInitialized).length>=e;t&&0===Je&&(Je=Date.now());const n=Date.now()-Je,r=window.vslyHydrationGrace||500;return t&&n>r}())return;const n=Ke(e,t);n&&(D.set(e.id,n),e.isApplied=!0)}catch(t){!function(){F()&&console.warn("loomi-editor",...[].slice.call(arguments))}("failed to resolve command from mutation request with exception.",t,e)}}),Qe()}function Ke(e,t){if("replace"===e.kind)return function(e,t,n,r,o){let i=o||e,s=!1;const c=n.outerHTML;return{id:e,isApplied:()=>s,kind:"replace",do:()=>{s||(N&&n.setAttribute(U,i),n.outerHTML!==r&&(n=$(n,r),le(n),N&&n.setAttribute(U,i),s=!0))},undo:()=>{s&&n.outerHTML!==c&&(n=$(n,c),s=!1)},redoIfNeeded:()=>!1,setDebugId:e=>i=e}}(e.id,0,t,e.value,e.id);if("appendBefore"===e.kind||"appendAfter"===e.kind)return function(e,t,n,r,o){let i=o||e,s=!1,c=document.querySelector(t),a=document.createElement("div");const u=()=>{s||("appendBefore"===r&&(c=document.querySelector(t),E(()=>c.parentNode.insertBefore(a,c)),le(c),a=$(a,n),N&&a.setAttribute(U,i),s=!0),"appendAfter"===r&&(s||(c=document.querySelector(t),c.nextSibling?(E(()=>c.parentNode.insertBefore(a,c.nextSibling)),le(c)):(E(()=>c.parentNode.appendChild(a)),le(c)),a=$(a,n),N&&a.setAttribute(U,i),s=!0)),s=!0)},l=()=>{s&&(a.remove(),s=!1)};return{id:e,isApplied:()=>s,kind:r,do:u,undo:l,redoIfNeeded:()=>{const e=de(u,l,t,c);return e.element&&(c=e.element),e.isDetached},setDebugId:e=>i=e}}(e.id,e.selector,e.value,e.kind,e.id);if("appendCss"===e.kind)return function(e,t,n,r){let o=r||e,i=!1,s=document.querySelector(t);const c=document.createElement("style"),a=()=>{i||(c.innerHTML=n,N&&c.setAttribute(U,o),document.head.appendChild(c),i=!0)},u=()=>{i&&(c.remove(),i=!1)};return{id:e,kind:"appendCss",isApplied:()=>i,do:a,undo:u,redoIfNeeded:()=>{const e=de(a,u,t,s);return e.element&&(s=e.element),e.isDetached},setDebugId:e=>o=e}}(e.id,e.selector,e.value,e.id);if("appendJs"===e.kind)return function(e,t,n,r,o){let i=r||e,s=!1,c=document.querySelector(t),a=null;const u=()=>{s||(a||(a=document.createElement("script")),a.setAttribute("type","application/javascript"),a.innerHTML=function(e,t){return e&&t?`(async () => {\n const _USE_CASE = "${t.experienceId}";
51\n const _USE_CASE_VARIANT = "${t.variantId}";\n const _USE_CASE_VERSION = ${E(()=>t.version||0,0)};\n const _USE_CASE_AUDIENCES = "${E(()=>window.loomi_ctx.audiences.join("|"),"")}";\n const _USE_CASE_GA = "${E(()=>t.gaExperienceName.replace(/"/g,'\\"'),t.gaExperienceName)}";\n const _USE_CASE_GA_VARIANT = "${E(()=>t.gaVariantName.replace(/"/g,'\\"'),t.gaVariantName)}";\n const _USE_CASE_CTX = {_USE_CASE,_USE_CASE_VARIANT,_USE_CASE_VERSION,_USE_CASE_AUDIENCES,_USE_CASE_GA,_USE_CASE_GA_VARIANT};\n const __currentScriptElement = document.currentScript;\n ${e}\n if (typeof vslyCleanup !== 'undefined') { \n if (__currentScriptElement) {\n __currentScriptElement.__vslyCleanup = vslyCleanup;\n }\n }\n })()`:!t&&e?`\n(async () => {\n const __currentScriptElement = document.currentScript;\n ${e}\n if (typeof vslyCleanup !== 'undefined') { \n if (__currentScriptElement) {\n __currentScriptElement.__vslyCleanup = vslyCleanup;\n }\n }\n})();\n`:e}(n,o),N&&(a.id=i),document.body.appendChild(a),s=!0)},l=()=>{if(!s)return;const e=(()=>{try{const e=a.__vslyCleanup;if(e)return e(),!0}catch(e){N&&console.error("vslyCleanup error:",e)}return!1})();a&&a.remove(),e&&(a=null),s=!1};return{id:e,kind:"appendJs",isApplied:()=>s,do:u,undo:l,redoIfNeeded:()=>{const e=de(u,l,t,c);return e.element&&(c=e.element),e.isDetached},setDebugId:e=>i=e}}(e.id,e.selector,e.value,e.id,e.options);if("appendFont"===e.kind){const t=JSON.parse(e.value);if(t&&t.family&&t.weights)return function(e,t,n){n=n||e;let r=!1;const o=document.createElement("link"),i=(c=t.weights,(s=t.family).toLowerCase().includes("jetbrains")&&(s="JetBrains Mono"),`https://fonts.googleapis.com/css2?family=${encodeURIComponent(s)}:wght@${E(()=>c.join(";"))}&display=block`);var s,c;return o.setAttribute("href",i),o.setAttribute("rel","stylesheet"),{id:e,isApplied:()=>r,kind:"appendFont",do:()=>{r||(N&&o.setAttribute(U,n),document.head.appendChild(o),r=!0)},undo:()=>{r&&(o.remove(),r=!1)},redoIfNeeded:()=>!1}}(e.id,t,e.id)}else{if("compound"===e.kind){const n=e.value.map(n=>(n.options=e.options,Ke(n,t))).filter(e=>e);return function(e,t,n){let r=!1;return{id:e,isApplied:()=>r,kind:"compound",do:()=>{r||(t.filter(e=>!e.isApplied()).forEach(e=>{e.setDebugId&&e.setDebugId(n),e.do()}),r=!0)},undo:()=>{r&&(t.filter(e=>e.isApplied()).reverse().forEach(e=>e.undo()),r=!1)},redoIfNeeded:()=>t.map(e=>e.redoIfNeeded()).filter(e=>e).length>0}}(e.id,n,e.id)}if("widget"===e.kind){const t=E(()=>e.block.value),n=E(()=>t.env.sectionId.substring(1),e.id);return function(e,t,n,r,o,i,s){void 0===s&&(s="");const c=i||t;let a=!1;const u=`vslyp-${t}`;let l=null,d=null,m=[];const f=()=>{a||(ge(r,s),"replace"===e?v():w(),pe()&&ye||h(),a=!0)},h=()=>{const e=r+s;y(()=>E(()=>!!window[ve][we][e])&&E(()=>!!window.preact),50,500).then(()=>{le(l),E(()=>window[ve][we][e](`#${t}`))})},p=()=>{if(!a)return;d&&d.remove();const t=document.getElementById(u);if(t&&t.remove(),"replace"===e&&l&&l.children&&l.children.length>0){let e=0;for(const t of l.children)t.style.display=m[e],e+=1}a=!1},v=()=>{if(l=me(n),l){if(m=[],l.children&&l.children.length>0)for(const e of l.children){const t=e;t&&!t.getAttribute("preact")&&(m.push(t.style.display),t.style.display="none")}g(),l.appendChild(d),pe()&&ye&&ye.observe(d)}else J("vsly",`failed to find element with selector: ${n} when trying to replace with widget`)},w=()=>{l=me(n),l?(g(),l.insertAdjacentElement("appendBefore"===e?"beforebegin":"afterend",d),pe()&&ye&&ye.observe(d)):J("vsly",`failed to find element with selector: ${n} when trying to append widget`)},g=()=>{if(d=document.getElementById(t),!d){d=document.createElement("section"),d.style.all="unset",d.style.width="100%",d.setAttribute("preact","1"),N&&d.setAttribute(U,c),d.setAttribute("lmw",r),d.setAttribute(M,s),d.id=t;const e=document.createElement("script");e.id=u,e.setAttribute("type","text/props"),e.innerHTML=JSON.stringify(o),E(()=>document.body.appendChild(e))}};return{id:t,isApplied:()=>a,kind:"widget",do:f,undo:p,redoIfNeeded:()=>{const e=de(f,p,n,l);return e.element&&(l=e.element),e.isDetached}}}(t.htmlKind,n,e.selector,t.widgetId,t.env,n,t.version)}if("moveElem"===e.kind){const t=E(()=>e.block.value);return function(e,t,n,r){let o=!1,i={display:""},s=null,c=null;const a=()=>{o||y(()=>(s=document.querySelector(t),c=document.querySelector(n),!!s&&!!c),50,500).then(()=>{s=document.querySelector(t),c=document.querySelector(n),u()})},u=()=>{c&&s&&(i={display:c.style.display,parentNode:s.parentElement,nextSib:s.nextElementSibling,prevSib:s.previousElementSibling},"appendBefore"===r?c.insertAdjacentElement("beforebegin",s):"appendAfter"===r?c.insertAdjacentElement("afterend",s):"replace"===r&&(c.style.display="none!important",c.insertAdjacentElement("afterend",s)),s.setAttribute(_e,t),o=!0)};return{id:e,isApplied:()=>o,kind:"moveElem",do:a,undo:()=>{o&&c&&s&&(i&&i.prevSib?i.prevSib.insertAdjacentElement("afterend",s):i&&i.nextSib?i.nextSib.insertAdjacentElement("beforebegin",s):i&&i.parentNode&&i.parentNode.appendChild(s),"replace"===r&&(c.style.display=i.display),s.removeAttribute(_e),o=!1)},redoIfNeeded:()=>!(E(()=>s.hasAttribute(_e))&&document.body.contains(s)||(o=!1,a(),0))}}(e.id,e.selector,t.destSelector,E(()=>t.htmlKind))}if("automation"===e.kind)return function(e){let t=!1;return{id:`automation-${(new Date).getDate()}`,kind:"automation",isApplied:()=>t,do:()=>
51{if(!t){t=!0;try{e.sort((e,t)=>e.order-t.order).map(e=>{switch(e.kind){case"click":return()=>function(e){try{return Promise.resolve(Se(function(){return B("fake-click","about to click on:",e.selector),Promise.resolve(Ee(e.selector)).then(function(e){return e&&e.click(),Promise.resolve()})},function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}}(e);case"type":return()=>function(e){try{return Promise.resolve(Se(function(){return B("fake-click","about to type on:",e.selector,"with text: ",e.data),Promise.resolve(Ee(e.selector)).then(function(t){const n=E(()=>Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set);E(()=>n.call(t,e.data||""));const r=new Event("input",{bubbles:!0});return t.dispatchEvent(r),Promise.resolve()})},function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}}(e);case"scroll":return()=>function(e){try{return Promise.resolve(Se(function(){return B("fake-click","about to scroll to:",e.selector),Promise.resolve(Ee(e.selector)).then(function(e){return e.scrollIntoView(!0),Promise.resolve()})},function(e){return Promise.reject(e)}))}catch(e){return Promise.reject(e)}}(e);case"wait":return()=>function(e){try{try{return B("fake-click",`about to wait for: ${e.data}ms`),Promise.resolve(new Promise(t=>{setTimeout(()=>t(),E(()=>e.data)||1e3)}))}catch(e){return Promise.reject(e)}}catch(e){return Promise.reject(e)}}(e);default:return()=>Promise.resolve()}}).reduce((e,t)=>e.then(e=>t()),Promise.resolve()).then()}catch(e){J("failed to run automation with exception:",e)}}},undo:()=>{},redoIfNeeded:()=>!1}}(E(()=>e.block.value).steps);if("visualEdit"===e.kind){const t=E(()=>e.block.value);return function(e,t){let n=!1,r={};const o=function(e,t,n){void 0===n&&(n=!0);const o=t.subChanges.map(n=>{switch(n.kind){case"text":return((e,t,n)=>{if(!e)return()=>{};const r=t.extra;if(Pe(e,t,n)){const n=e.childNodes[r].textContent;return e.childNodes[r].textContent=t.value,()=>e.childNodes[r].textContent=n}{const n=e.textContent;return e.textContent=t.value,()=>e.textContent=n}})(e,n,t.version);case"style":return((e,t)=>{if(!e)return()=>{};const n=E(()=>e.style[t.key],null);return e.style.setProperty(t.key,t.value,"important"),()=>e.style.setProperty(t.key,n)})(e,n);case"image":return((e,t)=>{if(!e||!e.removeAttribute||!e.getAttribute)return()=>{};const n=e.getAttribute("srcset")||"";e.removeAttribute("srcset");const r=E(()=>e.src,void 0);e.src=t.value;const o=e.parentElement,i=o&&"PICTURE"===o.nodeName,s=[];return i&&o.querySelectorAll("source").forEach(e=>{s.push(e.getAttribute("srcset")||""),e.removeAttribute("srcset")}),()=>{e.setAttribute("srcset",n),e.src=r,i&&o.querySelectorAll("source").forEach((e,t)=>{e.setAttribute("srcset",s[t])})}})(e,n);case"video":return((e,t)=>{if(!e||!e.setAttribute)return()=>{};const n=e.innerHTML;e.innerHTML="";const r=e.getAttribute("src")||"";return e.setAttribute("src",t.value),()=>{e.innerHTML=n,e.setAttribute("src",r)}})(e,n);case"attr":return((e,t)=>{if(!e||!e.setAttribute||!e.getAttribute)return()=>{};const n=e.getAttribute(t.key);return e.setAttribute(t.key,t.value),()=>n?e.setAttribute(t.key,n):e.removeAttribute(t.key)})(e,n)}});n&&(r[t.selector]={ve:t,elem:e,reverts:o})};return{id:e,kind:"visualEdit",isApplied:()=>n,do:()=>{n||(n=!0,t.forEach(e=>{y(()=>!!document.querySelector(e.selector),250,300).then(()=>{const t=document.querySelector(e.selector);o(t,e)})}))},undo:()=>{n&&(n=!1,Object.values(r).forEach(e=>e.reverts.forEach(e=>e())),r={})},redoIfNeeded:()=>{if(!n)return!1;let e=!1;return Object.values(r).forEach(t=>{e=document.body.contains(t.elem)?function(e,t){return e.ve.subChanges.forEac
51h((n,r)=>{n.value!==((e,t,n)=>{switch(t.kind){case"text":return((e,t,n)=>{const r=t.extra;return Pe(e,t,n)?e.childNodes[r].textContent:e.textContent})(e,t,n);case"attr":return((e,t)=>e.getAttribute(t.key))(e,t);case"style":return((e,t)=>E(()=>e.style[t.key],null))(e,t);case"image":case"video":return(e=>e.src)(e)}})(e.elem,n,e.ve.version)&&(E(()=>e.reverts[r]()),o(e.elem,{selector:e.ve.selector,subChanges:[n]},!1),t=!0)}),t}(t,e):function(e){e.reverts.forEach(e=>e());const t=document.querySelector(e.ve.selector);return t&&o(t,e.ve),!0}(t)}),e}}}(e.id,t.changes)}if("pageRedirect"===e.kind){const t=E(()=>e.block.value);if(t)return n=t,r=e.options,{id:e.id,kind:"pageRedirect",isApplied:()=>!1,do:()=>{ne(oe(r),n.destUrl,n.redirectAfter,!0===n.retainQueryParams,n.stickinessMode)},undo:()=>{},redoIfNeeded:()=>!1,setDebugId:e=>""}}else if("themeTest"===e.kind){const t=E(()=>e.block.value);if(t)return function(e,t,n){const r=()=>!1;return{id:e,kind:"themeTest",isApplied:r,do:()=>Ae(oe(n),t.targetThemeId),undo:r,redoIfNeeded:r,setDebugId:r}}(e.id,t,e.options)}}var n,r}let We=!1;function Qe(){We||(We=!0,requestAnimationFrame(Ye))}function Ye(){D.forEach(e=>{try{e.isApplied()?e.redoIfNeeded():e.do()}catch(t){J("failed to apply mutation command with exception:",t,e)}}),We=!1}function Ze(e){try{const n=D.get(e),r=n&&n.undo();D.delete(e);const o=R.findIndex(t=>t.id==e);return(t=E(()=>R[o].selector))&&E(()=>H[t])&&delete H[t],R.splice(o,1),Qe(),r}catch(e){return}var t}function Xe(e){return"div"===e.selector&&(e.selector="body div"),R.push(e),ze(),{revert:()=>Ze(e.id),mutationId:e.id}}function et(){const e=E(()=>window.loomi_ctx.cart);if(e)return e;const t=localStorage.getItem("loomi-cart");if(t)try{return JSON.parse(t)}catch(e){}}var tt;!function(e){e.CART_CHANGE="CART_CHANGE",e.LOYALTY_CHANGE="LOYALTY_CHANGE"}(tt||(tt={}));const nt=u((e,t)=>{const n=function(e,t){const n=new Event(Z);return n.key=e,n.value=t,n}(e,t);document.dispatchEvent(n),console.debug("Targeting has changed:",n)},80),rt=()=>window.loomi_ctx.session.id;function ot(e){return E(()=>e.items.map(e=>E(()=>e.selling_plan_allocation.selling_plan.name.toLowerCase())).filter(e=>!!e),[])}function it(){return JSON.parse(localStorage.getItem("loomi-cart-history")||"[]")}function st(){const e=E(()=>window.loomi_ctx.sessionProducts);if(e)return e;const t=localStorage.getItem("loomi_session_products"),n=t?JSON.parse(t):[];return E(()=>n.filter(e=>""!=e.handle).reverse().slice(0,20))}function ct(e){return JSON.parse(localStorage.getItem(e)||"[]")}function at(e,t,n,r){e=e||[],t=t||[];const o=E(()=>t.filter(t=>!e.find(n(t))))||[],i=[...e,...o].slice(0,25);return i.length>0&&localStorage.setItem(r,JSON.stringify(i)),i}function ut(){return JSON.parse(localStorage.getItem("loomi_purchased_products")||"[]")}const lt="vsly_params_history",dt="vsly_visited_pages",mt=function(e){try{const t=e.matches?vt.MOBILE:vt.DESKTOP,n=function(){if(ft!=t){B("device-listener",`device changed to ${t} from ${ft}`),window.loomi_ctx.deviceOverride=t===vt.MOBILE?"m":"d",ft=t;const e=E(()=>window.visually.reload),n=function(){if(e)return Promise.resolve(e()).then(function(){});J("device-listener","can't find reload function")}();if(n&&n.then)return n.then(function(){})}}();return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}};let ft;function ht(){a()?function(){try{return Promise.resolve(y(()=>c,1e3,10)).then(function(){return pt(),Promise.resolve()})}catch(e){return Promise.reject(e)}}().catch(console.error):pt()}function pt(){let e=E(()=>window.vslyDesktopBreakpoint)||960;e<=0&&(e=960);const t=window.matchMedia(`(max-width: ${e}px)`);t.removeEventListener("change",mt),t.addEventListener("change",mt)}var vt;!function(e){e.MOBILE="MOBILE",e.DESKTOP="DESKTOP"}(vt||(vt={}));const wt=()=>edgetag("getUserId");function yt(){const e="vsly_edgetag";return I(()=>(wt()&&localStorage.setItem(e,wt()),!0)),E(wt)||localStorage.getItem(e)}const gt="lmi_type",_t="lmi_from",St="lmi_class",Et="lmi_utm_data",Pt={utm_source:"source",utm_medium:"medium",utm_campaign:"campaign",utm_term:"term",utm_content:"content"},At=function(e,t){void 0===t&&(t=3);let n=e;for(let e=0;e<t;e++)try{const e=decodeURIComponent(n);if(e===n)break;n=e}catch{break}return n},It=function(e){void 0===e&&(e=window.location.search);const t={utm:{},lmi_params:{}};return E(()=>
51new URLSearchParams(e)).forEach((e,n)=>{if(e){const r=Pt[n],o=At(e);r?t.utm[r]=o:function(e){return E(()=>[St,_t,gt].includes(e))}(n)&&(t.lmi_params[n]=o)}}),t};function bt(){const e=function(e){let t=[];const n=localStorage.getItem(Et);return null!=n&&(t=[...JSON.parse(n)].slice(0,20)),e&&(e.ts=f(),t=[e,...t]),t}(function(e){if(function(e){return!e||"{}"===JSON.stringify(e)}(e))return null;const t={};return e.campaign&&(t.campaign=e.campaign),e.medium&&(t.medium=e.medium),e.source&&(t.source=e.source),e.term&&(t.term=e.term),e.content&&(t.content=e.content),t}(E(()=>It().utm)));return localStorage.setItem(Et,JSON.stringify(e)),e}function xt(){const e=E(()=>bt(),[]);if(!Array.isArray(e)||0===e.length)return"";const t=e.filter(e=>e.campaign);return 0===t.length?"":E(()=>t.reduce((e,t)=>t.ts>e.ts?t:e,t[0]).campaign,"")||""}const Ct=function(e){return Promise.resolve(kt()).then(function(t){return new Promise((n,r)=>{const o=t.transaction([Nt],"readonly").objectStore(Nt).get(e);o.onerror=e=>{r("IDB e:r"+e.target.error)},o.onsuccess=e=>{n(e.target.result)}})})},kt=function(){try{const e=function(){if(!Ot)return Promise.resolve(new Promise((e,t)=>{const n=indexedDB.open(Tt,1);n.onerror=e=>{t("IDB e:o"+e.target.error)},n.onsuccess=t=>{Ot=t.target.result,e(Ot)},n.onupgradeneeded=e=>{e.target.result.createObjectStore(Nt,{keyPath:"id"}).createIndex("id","id",{unique:!0})}})).then(function(){})}();return Promise.resolve(e&&e.then?e.then(function(){return Ot}):Ot)}catch(e){return Promise.reject(e)}},Tt="VISUALLY_IO",Nt=Tt;let Ot=null;function jt(){const e={},t=window.loomi_ctx||{};t.productId&&(e.productId=t.productId);const n=E(()=>{const e=new URL(location.href).searchParams,t="variant";return e.has(t)&&function(e){const t=Number(e),n=isNaN(t)?Number(`${e}`.replace(/[^\d.]+/g,""))||void 0:t;if(void 0!==n&&0!==n)return`${n}`}(e.get(t))})||t.variantId;return n&&(e.variantId=n),e}function $t(){return E(()=>et().items.map(e=>({variantId:e.variant_id||0,quantity:e.quantity||0,productId:e.product_id||0,price:e.price||0})))||[]}const Lt=function(e){return void 0===e&&(e=et()),E(()=>(("spa"==window.vslyIntegrationType?E(()=>e.attributes.map(e=>e.key)):E(()=>Object.keys(e.attributes)))||[]).filter(e=>!e.startsWith("vsly")&&e.length<20).slice(0,50))||[]};function Rt(){const e=new URL(window.location.href);return e.protocol+"//"+e.hostname+e.pathname}const Dt=function(e,t){try{let n;const r=this.cart;if(!r)return Promise.resolve(0);const o=function(){try{var o=r.currency===e?(n=1,r.total_price/100):function(){if(t)return Promise.resolve(y(()=>!!window.loomi_ctx.Currency,100,10)).then(function(){const t=(window.loomi_ctx.Currency.convert(r.total_price,r.currency,e)||0)/100;return n=1,t})}()}catch(e){return}return o&&o.then?o.then(void 0,function(){}):o}();return Promise.resolve(o&&o.then?o.then(function(e){return n?e:0}):n?o:0)}catch(e){return Promise.reject(e)}};function Ut(){const e=E(()=>this.cart.items);if(e&&e.length>0){const t=rt(),n=localStorage.getItem("vsly-last-atc-sid");if(!n)return!1;if(n!==t)return!0;const r=e.map(e=>`${e.variant_id}`);return!!E(()=>it().find(e=>!!e.sid&&r.includes(`${e.variant_id}`)&&`${e.sid}`!=t))}return!1}function Mt(e){return Lt(this.cart).includes(e)}function qt(e,t){function n(e){return e.toLowerCase()}const r={"==":t=>n(t)==n(e),"!=":t=>n(t)!=n(e),contains:t=>n(t).includes(n(e)),matches:t=>new RegExp(e).test(t)};return!!this.CartSubs().find(e=>r[t](e))}function Ft(){return ot(this.cart)}function Bt(e){const t=this.cart;return!!E(()=>t.items.find(t=>t.handle===e))}function Jt(e,t){return"contains"!==t?Bt.call(this,e):this.cart?.items?.some(t=>t.handle?.includes(e))??!1}function Vt(e){const t=this.cart;return!!E(()=>t.items.find(t=>!!t.tags&&t.tags.includes(e)))}function Ht(e,t){return"contains"!==t?Vt.call(this,e):this.cart?.items?.some(t=>t.tags?.some(t=>t.includes(e)))??!1}function Gt(e){const t=this.cart;if(t.items.length<=0)return!1;const n=E(()=>t.items.filter(t=>!!t.tags&&t.tags.includes(e)));return E(()=>n.length===t.items.length,!1)}function zt(e,t){const n=this.cart?.items;return!!n?.length&&n.every(n=>(n.tags||[]).some(n=>"contains"===t?n.includes(e):n===e))}function Kt(e){const t=this.cart;return!!E(()=>t.items.find(t=>!!t.collections&&t.collections.includes(e)))}function Wt(){return!0===E(()=>window.loomi_ctx.loyalty.isMember,!1)}function Qt(){return E(()=>
51window.loomi_ctx.loyalty.pointsBalance,0)}function Yt(){return E(()=>window.loomi_ctx.loyalty.earnedPoints,0)}const Zt="__eventn_id";function Xt(){const{id:e,firstSeen:t}=function(e){const t=function(e){try{const t=P(e),{firstSeen:n,id:r}=nn(t);if(t)return{id:r,firstSeen:n||on()}}catch(e){}}(e),n=function(e){const t=window.localStorage.getItem(e),{id:n,firstSeen:r}=nn(t);if(t)return{id:n,firstSeen:r||on()}}(e);if(!t&&!n){const{newId:t,newEpoch:n}=function(){const e=Math.random().toString(36).substring(2,12),t=on();return{newId:e,newEpoch:t,value:rn(e,t)}}();return en(t,n,e),{id:t,firstSeen:n}}if(!n&&t)return en(t.id,t.firstSeen,e),t;if(!t&&n)return en(n.id,n.firstSeen,e),n;const r=Math.min(t.firstSeen,n.firstSeen);let o=t.firstSeen<=n.firstSeen?t.id:n.id;return tn(t,n)&&(o=t.id<=n.id?t.id:n.id),n.id==t.id&&n.firstSeen==t.firstSeen||en(o,r,e),{id:o,firstSeen:r}}(Zt);return{id:e,firstSession:sn(t),firstSeen:t}}function en(e,t,n){void 0===n&&(n=Zt);const r=rn(e,t);E(()=>localStorage.setItem(n,r)),((e,t,n,r)=>{E(()=>window.loomi_ctx.cc)&&!C()||(document.cookie=encodeURIComponent(e)+"="+t+"; path=/; expires=Fri, 31 Dec 9999 23:59:59 GMT"+(n?"; domain="+n:"")+(r?"; secure":""))})(n,r,document.location.hostname.replace("www.","").replace("checkout.",""),"http:"!==document.location.protocol)}const tn=(e,t)=>e.firstSeen===t.firstSeen&&e.id!==t.id;function nn(e){return{firstSeen:E(()=>parseInt(e.split(".")[1]),null),id:E(()=>e.split(".")[0])}}function rn(e,t){return`${e}.${t}`}function on(){return Math.trunc((new Date).getTime()/1e3)}const sn=e=>(new Date).getTime()/1e3-e<=7200,cn="vsly_vid",an="lmi_debug";function un(e){return E(()=>new URL(window.location.href).searchParams.get(e)||void 0)}const ln=["Roboto","Open Sans","Fredoka","Fredoka","Smooch Sans","Rubik","Lato","Poppins","Oswald","League Spartan","Noto Sans","Raleway","Merriweather","Playfair Display","Inter","JetBrains Mono","Jetbrains Mono"];function dn(e){try{(function(e){const t=e.flatMap(e=>E(()=>e.code)).filter(e=>!!e).filter(e=>"widget"===e.kind).map(e=>mn(e.value.env)),n=new Map;return function(e,t){e.forEach(e=>{!function(e,t){const n=new Map;e.forEach(e=>{let[t,r]=e;const o=".font.";if(t.includes(o)){const e=t.split(o)[0]+o;n.has(e)||n.set(e,{families:new Set,weights:new Set});const i=n.get(e);if(t.endsWith(".fontFamily"))i.families.add(r);else if(t.endsWith(".fontWeight")){const e=parseInt(r,10)||500;i.weights.add(e)}}}),function(e,t){e.forEach(e=>{if(e.families.size>0){const n=e.weights.size>0?e.weights:new Set([500]);e.families.forEach(e=>{fn(t,e,n)})}})}(n,t)}(Object.entries(e),t),function(e,t){const n=function(e){const t=".text.isRichText",n=new Set;return e.forEach(e=>{let[r,o]=e;if(r.endsWith(t)&&!0===o){const e=`${r.split(t)[0]}.text.value`;n.add(e)}}),n}(e);0!==n.size&&e.filter(e=>{let[t]=e;return n.has(t)}).forEach(e=>{let[n,r]=e;return function(e,t){var n;if(e)try{!function(e,t){e.querySelectorAll("[style]").forEach(e=>{const n=e.style;if(n.fontFamily){const e=n.fontFamily,r=parseInt(n.fontWeight,10)||500;fn(t,e,new Set([r]))}})}((n=decodeURIComponent(e),(new DOMParser).parseFromString(n,"text/html")),t)}catch(e){console.error("Failed to parse rich text HTML",e)}}(r,t)})}(Object.entries(e),t)})}(t,n),function(e){return Array.from(e.entries()).map(e=>{let[t,n]=e;return{family:t,weights:Array.from(n).sort()}})}(n)})(e).forEach(e=>{let{family:t,weights:n}=e;return function(e,t){return Xe(j("appendFont","div",JSON.stringify({family:e,weights:t})))}(t,n)})}catch(e){J("failed to install custom fonts",e)}}function mn(e){const t={};for(const n in e)if("object"!=typeof e[n]||Array.isArray(e[n]))t[n]=e[n];else{const r=mn(e[n]);for(const e in r)t[`${n}.${e}`]=r[e]}return t}function fn(e,t,n){if(!t)return;const r=t.replaceAll("'","").replaceAll('"',"");if(!function(e){return ln.includes(e)}(r))return;e.has(r)||e.set(r,new Set);const o=e.get(r);
51o.add(400),n.forEach(e=>{o.add(e)})}const hn=function(e,t,n,r){void 0===n&&(n=!0),void 0===r&&(r=void 0);try{const o=E(()=>window.loomi_api.addToCart),i=function(){if(o)return Promise.resolve(window.loomi_api.addToCart(e,t,n,r)).then(function(){})}();return Promise.resolve(i&&i.then?i.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},pn=function(e){try{let n;function t(t){return n?t:e.map(e=>{const t=String(e.id),n=wn.get(Sn(e.id))||r[t];return n?{...e,variants:Array.isArray(e.variants)?e.variants.map(e=>{const t=En(e,n);return t?{...e,fixed_price_currency:t.price.currencyCode,price:parseFloat(t.price.amount),compare_at_price:t.compareAtPrice?parseFloat(t.compareAtPrice.amount):e.compare_at_price}:e}):e.variants}:e})}if(!e||0===e.length)return Promise.resolve(e);let r={};const{productIdsToFetch:o}=Pn(e),i=function(){if(o.length>0)return function(t,n){try{var o=Promise.resolve(vn(e)).then(function(e){r=e,Object.entries(r).forEach(e=>{let[t,n]=e;return wn.set(Sn(t),n)})})}catch(e){return n(e)}return o&&o.then?o.then(void 0,n):o}(0,function(t){return console.error("vsly",t),n=1,e})}();return Promise.resolve(i&&i.then?i.then(t):t(i))}catch(s){return Promise.reject(s)}},vn=function(e){try{return Promise.resolve(fetch(`https://${gn()}/api/2025-10/graphql.json`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:yn(e)})})).then(function(e){if(!e.ok)throw new Error(`Shopify API error: ${e.status}`);return Promise.resolve(e.json()).then(function(e){if(e.errors)throw new Error(`GraphQL errors: ${JSON.stringify(e.errors)}`);const t={};for(const n in e.data){const r=e.data[n];if(!r)continue;const o=_n(r.id);t[o]={variants:{}}
51,r.variants.edges.forEach(e=>{const n=_n(e.node.id);t[o].variants[n]={price:e.node.price,compareAtPrice:e.node.compareAtPrice}})}return t})})}catch(e){return Promise.reject(e)}},wn=new class extends z{constructor(e,t){super(new W(e),t)}}("p",18e5);function yn(e){const{productIdsToFetch:t,maxVariantsPerProduct:n}=Pn(e),r=ae();return`\n query GetProductPrices ${r?`@inContext(country: ${r})`:""} {\n ${t.map(e=>`\n product_${e}: product(id: "gid://shopify/Product/${e}") {\n id\n variants(first: ${n}) {\n edges {\n node {\n id\n price {\n amount\n currencyCode\n }\n compareAtPrice {\n amount\n currencyCode\n }\n }\n }\n }\n }\n `).join("\n")}\n }\n `}const gn=()=>window.loomi_ctx.storeAlias.toLowerCase().replaceAll("_","-")+".myshopify.com";function _n(e){const t=e.match(/\/(\d+)$/);return t?t[1]:e}const Sn=e=>String(e)+ae(),En=(e,t)=>{let n=String(e.variant_id);const r=Object.keys(t.variants);return 1==r.length&&(n=r[0]),t.variants[n]},Pn=e=>{let t=1,n=!0;return{productIdsToFetch:e.map(e=>{if(!Array.isArray(e.variants))return{id:String(e.id),needsFetch:!1};const r=new Set(e.variants.map(e=>e.price)).size>1;r&&(n=!1),e.variants.length>t&&(t=e.variants.length);const o=((e,t,n)=>{if(!e)return!0;if(!n)return!1;const r=e.variants||{};return t.some(e=>void 0===r[e])})(wn.get(Sn(e.id)),e.variants.map(e=>String(e.variant_id)),r);return{id:String(e.id),needsFetch:o}}).filter(e=>e.needsFetch).map(e=>e.id),maxVariantsPerProduct:n?1:t}},An=new Q("recs_cache",300001),In=function(e,t){try{const n=Promise.resolve([]);return Promise.resolve(function(r,o){try{var i=function(){if(!e)return n;let r=E(()=>e.recommendationOptions);if(!r)return n;var o;!function(e){const{productId:t,variantId:n}=jt();(t||n)&&(e.productId={productId:t,variantId:n})}(r),r.cartItems=(o=$t(),E(()=>o.filter(e=>!!e.productId).map(e=>({productId:`${e.productId}`,variantId:`${e.variantId}`,quantity:e.quantity||1})))),r.currency=E(()=>et().currency||"USD","USD"),r.cart_total=E(()=>et().total_price,0),E(()=>+Date.now()-window.loomi_ctx.last_vid_atc.ts<5e3)&&(r.last_vid_atc=window.loomi_ctx.last_vid_atc),r.respSize=E(()=>window.visually.recsPerVariant[t.variantId]),["RECENTLY_VIEWED","VIEWED_WITH_RECENTLY_VIEWED"].find(e=>bn(r,e))&&(r.recentlyViewed=st().filter(e=>!!e.productId).map(e=>({productId:`${e.productId}`,variantId:`${e.variantId||""}`,...e.ts?{ts:e.ts}:{}})));const i=ut();return i.length>0&&(r.pastPurchases=i),(bn(r,"CART_ITEMS")||function(e){return E(()=>!!e.layeredRuling.find(e=>"latest_added"==e.ruleCond.itemSelection))}(r))&&(r.cartHistory=Nn()),r.userId=E(()=>window.loomi_ctx.userId,""),t&&(r.widgetContext=t),E(()=>!!window.loomi_ctx.storeAlias)&&(r.storeAlias=window.loomi_ctx.storeAlias),r.locale=E(()=>window.Shopify.locale)||E(()=>window.visually.locale),A()&&(r.clientId=A()),r.country=ae(),Promise.resolve(function(e,t){const n=E(()=>window.loomi_api.updateRecsOpts),r=E(()=>n.get(function(e){return e.widgetId+e.experienceId+e.variantId+e.sectionId}(e))(t),t);return E(()=>n.get(window.loomi_ctx.storeAlias)(r),r)}(t,r)).then(function(e){return r=e,Promise.resolve(Tn(r))})}()}catch(e){return o(e)}return i&&i.then?i.then(void 0,o):i}(0,function(e){return J("loomi-widget,recProducts failed:",e),n}))}catch(e){return Promise.reject(e)}};function bn(e,t){return e.type===t||E(()=>e.strategyPerSlot.find(e=>e.strategy===t))||E(()=>!!Object.values(e.conditions).find(e=>e.qbProps.envKey===t))||E(()=>!!e.layeredRuling.find(e=>e.strategy===t||!!E(()=>e.strategyPerSlot.slots.find(e=>e.strategy===t))))}function xn(e){const t=function(){const e=window.innerWidth;return e<=360?200:e<=480?360:e<=640?480:e<=768?640:e<=960?768:1024}();e.products.forEach(e=>{const n=new URL(e.image.src);n.searchParams.set("width",`${Math.min(t,e.image.width||1280)}`),e.image.src=n.href})}function Cn(){return`https://${b(window.loomi_ctx.env)}/api/recommendations/web/public/v2/recommend`}const kn=new Map,Tn=function(e){try{function t(){return E(()=>o.products)}const n=S(e),r=Y(n);let o=An.get(r);const i=function(){if(!o){let e=!0;return he("kill-locale-currency")&&(e=!1),Promise.resolve(((e,t,n)=>{if(kn.has(e))return kn.get(e);const r=window.vslyNativeFetch||window.fetch,o=function(){try{return Promise.resolve(function(e,o){try{var i=function(){function e(){return Promise.resolve(o.json()).then(function(e){const t=function(){if(e.fetchPrices&&n)return Promise.resolve(pn(e.products)).then(function(t){e.products=t})}();return t&&t.then?t.then(function(){return e}):e})}let o;const i=t.length>1e4&&!he("disable-recs-post")?Promise.resolve(r(Cn(),{method:"POST",headers:{"Content-Type":"text/plain"},body:t})).then(function(e){o=e}):Promise.resolve(r(`${Cn()}?q=${t}`)).then(function(e){o=e});return i&&i.then?i.then(e):e()}()}catch(e){return o(!0,e)}return i&&i.then?i.then(o.bind(null,!1),o.bind(null,!0)):o(!1,i)}(0,function(t,n){if(kn.delete(e),t)throw n;return n}))}catch(e){return Promise.reject(e)}}();return kn.set(e,o),o})(r,n,e)).then(function(e){o=e,E(()=>
51[xn,window.loomi_api.onRecsResp].forEach(e=>e&&e(o))),An.set(r,o)})}}();return Promise.resolve(i&&i.then?i.then(t):t())}catch(s){return Promise.reject(s)}},Nn=()=>it().map(e=>{const t={...e};return delete t.sid,t});function On(e){return`vsly_pi_${e}`}function jn(e){return`vsly_hbt_${e}`}function $n(e){return`vsly_hbc_${e}`}function Ln(e){return Array(e).fill(0).map(()=>Math.floor(10*Math.random())).join("")}function Rn(){try{const e=E(()=>window.vslyAntiFlickerReveal,void 0);e&&e()}catch(e){}}const Dn=function(e,t){try{if(_(e)||_(t))return Promise.resolve({products:[]});const n=function(e,t){const n=window.loomi_ctx.storeAlias||"",r=new URLSearchParams({byHandle:S({handles:e}),al:n,slimResp:"1"});return t&&t.length>0&&r.set("metafields",S({fields:t})),`${Cn()}?${r.toString()}`}(e,t);return Promise.resolve(fetch(n)).then(function(e){if(!e.ok)throw new Error(`vsly 400 ${e.statusText}`);return e.json()})}catch(e){return Promise.reject(e)}},Un=function(e){try{try{const t=S(e),n=window.loomi_ctx.storeAlias,r=Y(`${n}_${t}_${ae()}`),o=qn.get(r);if(o)return Promise.resolve(o);if(Fn.has(r))return Promise.resolve(Fn.get(r));const i=function(){try{return Promise.resolve(function(e,o){try{var i=function(e,o){try{var i=function(){const e=new URL(Cn());e.searchParams.set("al",n),e.searchParams.set("productQuery",t);const o=window.vslyNativeFetch||window.fetch;return Promise.resolve(o(e.toString(),{method:"GET",headers:{Accept:"application/json"}})).then(function(e){return e.ok?Promise.resolve(e.json()).then(function(e){return Promise.resolve(function(e){try{if(!e||!e.results||"object"!=typeof e.results)return Promise.resolve({results:{}});const t=e.results,n=function(e){return Object.keys(e).map(t=>{const n=e[t];return n&&n.id?{key:t,product:n}:null}).filter(e=>!!e)}(t);if(0===n.length)return Promise.resolve({...e,results:t});let r=n.map(e=>e.product);return r=function(e){const t={products:e};return xn(t),t.products}(r),Promise.resolve(Mn(r)).then(function(o){return r=o,r=function(e){const t=window.loomi_api;if(!t||!t.onRecsResp)return e;try{const n={products:e};return t.onRecsResp(n),n.products}catch(t){return J("onRecsResp hook failed",t),e}}(r),function(e,t,n){t.forEach((t,r)=>{const o=n[r];o&&o.id&&(e[t.key]=o)})}(t,n,r),{...e,results:t}})}catch(e){return Promise.reject(e)}}(e)).then(function(e){return qn.set(r,e),e})}):{results:{}}})}()}catch(e){return o(e)}return i&&i.then?i.then(void 0,o):i}(0,function(e){return J("queryProducts failed:",e),{results:{}}})}catch(e){return o(!0,e)}return i&&i.then?i.then(o.bind(null,!1),o.bind(null,!0)):o(!1,i)}(0,function(e,t){if(Fn.delete(r),e)throw t;return t}))}catch(e){return Promise.reject(e)}}();return Fn.set(r,i),Promise.resolve(i)}catch(e){return J("queryProducts setup failed:",e),Promise.resolve({results:{}})}}catch(e){return Promise.reject(e)}},Mn=function(e){try{return he("kill-locale-currency")||E(()=>!Array.isArray(e[0].variants))?Promise.resolve(e):Promise.resolve(pn(e))}catch(e){return Promise.reject(e)}},qn=new Q("ai_recs_cache",300001),Fn=new Map,Bn=function(e,t,n){try{const o=Xt(),i=function(e,t,n){const r=function(){const e=$t(),t={path:window.location.pathname,host:window.location.hostname};E(()=>e.length)>0&&(t.cartItems=e);const n=E(()=>et().token);n&&(t.cartToken=n);const r=bt();r&&(t.trafficSources=r),t.productsSeenInSession=st(),t.isCustomer=!!A(),t.query=window.location.search||"",t.hash=window.location.hash||"";const o=Lt();return o&&(t.cartAttributes=o),t}();r.storeAlias=e;const o=A();o&&(r.clientId=o),r.anonymousId=t.id,r.firstSeen=t.firstSeen,r.firstSession=t.firstSession,r.gaId=E(()=>document.cookie.split(";").map(e=>e.split("=")).find(e=>{let[t,n]=e;return"_ga"==t.trim()})[1],"");const i=window.loomi_ctx;r.customerTags=E(()=>i.ctags.slice(0,20)),r.landingPage=E(()=>i.session.landing_page),r.hasSubs=!!E(()=>ot(et()).length>0);const s=yt();s&&(r.edgetag=s);const c=function(){try{const e=E(()=>new URL(window.location.href));if(E(()=>e.searchParams.get("forceOverride"))){const t=E(()=>e.searchParams.get("targeting"));if(t)return JSON.parse(decodeURIComponent(escape(atob(t))))}}catch(e){J("preview overrides",e)}return{}}(),a=ct(lt),u=function(){const e=ct(dt);function t(e){return new Date(e.ts).valueOf()}function n(){const e=new URL(location.href);return["vslyvid","vslywgid","vslysid","lmi_preview","targeting","vsly_vid"].forEach(t=>e.searchParams.delete(t)),e.search||""}return Ct(dt).then(r=>{const o={ts:new Date,name:Rt(),search:E(n,"")},i=!!o.search,s=(E(()=>r.visits)||e||[]).filter(e=>!i||!(e.name===o.name&&!e.search)).filter(e=>
51!(e.name===o.name&&(o.search===e.search||i&&!e.search))).sort((e,n)=>t(n)-t(e)).slice(0,500);var c;s.unshift(o),(c={id:dt,visits:s},Promise.resolve(kt()).then(function(e){return new Promise((t,n)=>{const r=e.transaction([Nt],"readwrite").objectStore(Nt).put(c);r.onerror=e=>{n("IDB e:w"+e.target.error)},r.onsuccess=()=>{t("")}})})).catch()}).catch(),at([{ts:f(),name:Rt()}],e,e=>t=>e.name===t.name,dt)}(),l=ut(),d={deviceKind:E(()=>window.loomi_ctx.deviceOverride,void 0),...n||{}},m=!!E(()=>navigator.userAgent.includes("Macintosh")&&"ontouchend"in document),h=E(()=>window.innerWidth,0),p=E(()=>window.vslyDesktopBreakpoint)||960,v=E(()=>P("cart_currency"))||E(()=>et().currency)||"",w=E(()=>i.current_product);if(w){r.oos=E(()=>w.oos),r.price=E(()=>w.price),r.iq=E(()=>w.variants.reduce((e,t)=>t.iq+e,0)),r.productId=E(()=>{const e=jt().productId;return Number.isFinite(Number(e))?e.toString():""},"");const e=1*i.variantId;Number.isFinite(e)&&(r.vid=e)}const y=E(rt);"spa"==window.vslyIntegrationType&&(r.spa=!0);const g=E(()=>i.ttl);return{cartCurrency:v,...r,queryHistory:a,isIPadPro:m,windowInnerWidth:h,desktopBreakpoint:p,visitedPages:u,ttl:Number.isFinite(g)?g:0,purchasedLineItems:l,sid:y,...d||{},...c||{}}}(e,o,n);return Promise.resolve(function(e,t){try{const n=S(t),o=function(e){const{previewKey:t,debugAllocator:n,previewVariantId:o}=function(){[r,cn].map(e=>{const t=un(e);t&&sessionStorage.setItem(e,t)});const e=sessionStorage.getItem(r),t=sessionStorage.getItem(cn);return{previewKey:e,debugAllocator:un(an),previewVariantId:t}}();let i=new URL(e);return t&&i.searchParams.append(r,t),n&&i.searchParams.append(an,"true"),o&&i.searchParams.append(cn,o),i}(Gn(e).cfgUrl);o.searchParams.append("q",n);const i=Y(o.href),s=window.vslyNativeFetch||window.fetch,c=Vn.has(i)?Vn.get(i):s(o.href,{priority:"high"}).finally(()=>Vn.delete(i));return Vn.set(i,c),Promise.resolve(c).then(function(e){if(e.ok)return Promise.resolve(e.json());throw new Error(`failed to load config: ${e.statusText}`)})}catch(e){return Promise.reject(e)}}(t,i)).then(function(e){return E(()=>{window.loomi_ctx.audiences=e.audiences,E(()=>e.audiences&&localStorage.setItem("vsly_audiences",JSON.stringify(e.audiences))),window.loomi_ctx.testedThemes=e.testedThemes||[]}),function(e){const t=e.currentVariant;window.loomi_ctx={...window.loomi_ctx||{}};const n=E(()=>t.pid);n&&(window.loomi_ctx.productId=`${n}`);const r=E(()=>t.vid);r&&(window.loomi_ctx.variantId=`${r}`);const o=E(()=>t.price);o&&(window.loomi_ctx.variantPrice=o);const i=E(()=>t.meta);i&&(window.loomi_ctx.productMeta=`${i}`)}(e),at(e.queryHistory,i.queryHistory,e=>t=>t.v===e.v&&t.k===e.k,lt),function(e){var t;(t=e.experiments)&&t.findIndex(e=>{const t=E(()=>e.clientTargetingFormula.toString(),"")||"";return t.includes("CartItemHasTag")||t.includes("CartItemHasCollection")||t.includes("AllCartItemsHasTag")})>-1||!0===E(()=>e.flags["sdk-enable-cart-enrichment"],!1)&&(e.flags["sdk-enable-cart-enrichment"]=!1)}(e),{configuration:e,tracking:o}})}catch(e){return Promise.reject(e)}},Jn="vslyb",Vn=new Map;function Hn(e){if("number"==typeof e.chance&&e.chance<100){const t={experienceId:e.name,variantId:e.variant,storeAlias:E(()=>window.loomi_ctx.storeAlias),anonymousId:E(()=>window.loomi_ctx.userId)};e.version&&(t.version=e.version);const r=S(t),o=E(()=>window.loomi_ctx.env,n.PROD),i=new URL(Gn(o).cfgUrl.replace("/allocate","/match"));return i.searchParams.append("q",r),fetch(i)}return Promise.resolve()}function Gn(e){let t="/api/allocator/web/public/v2/allocate";return Kn(e)&&(t="/allocate"),{cfgUrl:`${zn(e)}${t}`}}function zn(e){return Kn(e)?"http://localhost:8080":`https://${b()}`}function Kn(e){return[n.TEST,n.LOCAL].includes(e)}function Wn(e){window.visually={...E(()=>window.visually)||{},flags:e},localStorage.setItem("loomi-flags",JSON.stringify(e))}function Qn(e,t,n){const r=function(r){E(()=>!!r.persisted)&&(window.loomi_ctx.cart=void 0,n(e,t,500).catch(e=>{J("failed reloading sdk",e)}))};E(()=>!window.loomi_ctx.pageshow)&&(B("pageshow initialized"),s().then(()=>{window.addEventListener("pageshow",r),window.loomi_ctx.pageshow=!0}))}function Yn(e){return`${e.name}-${e.variant}`}function Zn(e){return`${e.name}-${e.variant}-${e.version||0}`}function Xn(e){D.forEach(t=>{e&&!e(t)||(t.undo(),t.do())})}const er=(e,t)=>!!E(()=>e.audiences.includes(t)),tr=e=>{const t={},n=er(e,"d"),r=er(e,"m");return n||r?(E(()=>e.experiments.filter(e=>
51!!e.code).forEach(e=>e.code.forEach(r=>{const o=E(()=>r.value.env.general.recsCount),i=E(()=>n?o.desktop.value:o.value);i>(t[e.variant]||0)&&"number"==typeof i&&(t[e.variant]=i)}))),t):t},nr=function(e){void 0===e&&(e={});try{const t=ee+te;return ge(ee,te),Promise.resolve(y(()=>E(()=>window.visually.widgets[t]),100,50)).then(function(){const n="#vsly-overlay",r="#vslyp-vsly-overlay";if(!document.querySelector(r)){const e=document.createElement("div");e.id=n.replace("#",""),e.textContent=".",e.style.opacity="0",e.style.display="none",document.body.appendChild(e);const t=document.createElement("script");t.id=r.replace("#",""),t.type="text/props",t.textContent="{}",document.body.appendChild(t)}return window.visually.widgets[t](n),Promise.resolve(y(()=>!!window.loomi_api._openProductOverlay,100,50)).then(function(){window.loomi_api._openProductOverlay((e=>{const t=E(()=>e.widgetContext)||E(()=>e.mpCtx)||E(()=>e.overlay.mpCtx);return t?{...e,overlay:{...e.overlay||{},mpCtx:t}}:e})(e))})})}catch(e){return Promise.reject(e)}};function rr(e,t,n,r){const[o,i]=t.split(",");return new Promise(t=>{Ct(dt).then(n=>{for(const s of function(e,t,n){const r=(new Date).valueOf();return(E(()=>e.visits,[])||[]).filter(e=>{const o=new Date(e.ts).valueOf(),i=36e5,s=parseInt(t);switch(n.replaceAll('"',"")){case"hours":return o>r-s*i;case"weeks":return o>r-s*i*24*7;case"days":return o>r-s*i*24;default:return!1}})}(n,o,i))if(r||ur(e)){if(ir(s,e))return void t(!0)}else if(or(s,e))return void t(!0);t(!1)})})}function or(e,t){return!![sr(e),ar(sr(e))].find(e=>e.includes(t))}function ir(e,t){const n=e.search||"",r=sr(e)+n;return!![r,ar(r)].find(e=>e.includes(cr(t)))}function sr(e){return cr(function(e){const t=E(()=>new URL(e));if(!t)return e;const n=t.pathname.split("/");return/^[a-z]{2}-[a-z]{2}$/.test(n[1])&&(t.pathname=n.slice(2).join("/")),cr(t.href)}(e.name))}function cr(e){const t=E(()=>new URL(e));return t&&t.pathname.endsWith("/")?"/"===t.pathname?t.href.slice(0,-1):(t.pathname=t.pathname.slice(0,-1),t.href):e}function ar(e){return e.includes("/products/")&&e.includes("/collections/")?e.replace(/\/collections\/[^/]+/,""):e}function ur(e){return E(()=>!!new URL(e).search)}const lr=function(e){try{return Ar(),_r(e.clientTargetingFormula)&&(hr[vr(e)]=e),Promise.resolve(Pr(e)).then(function(t){return t?(yr(e),!0):(B(`exp: ${e.gaName} not run client targeting: ${e.clientTargetingFormula} => false`),!1)})}catch(e){return Promise.reject(e)}},dr=function(e){try{const t=Object.entries(hr).map(t=>{let[n,r]=t;return _r(r.clientTargetingFormula)&&(hr[vr(r)]=r),{exp:r,shouldBeApplied:mr(r.clientTargetingFormula,e,r.name),hasBeenApplied:()=>!!pr[vr(r)]}});return Promise.resolve(Sr(t)).then(function(e){!function(e){e.filter(e=>e.hasBeenApplied()&&!e.shouldBeApplied).flatMap(e=>{const t=E(()=>pr[vr(e.exp)]);return t&&delete pr[vr(e.exp)],t}).forEach(e=>{E(e.revert)})}(e),function(e){e.filter(e=>e.shouldBeApplied&&!e.hasBeenApplied()).forEach(e=>{var t,n,r;yr(e.exp),t=e.exp,n=gr,void 0===r&&(r=T()),n.has(t.variant)||(Nr(r,t),n.add(t.variant),Hn(t))})}(e)})}catch(e){return Promise.reject(e)}},mr=function(e,t,n){void 0===n&&(n="");try{if(void 0===t&&(t=wr()),_r(e)){t.Total=Dt,t.CartHasSubs=qt,t.CartSubs=Ft,t.CartHasItem=Bt,t.CartHasItemMatching=Jt,t.CartItemHasTagMatching=Ht,t.CartItemHasTag=Vt,t.AllCartItemsHasTag=Gt,t.AllCartItemsHasTagMatching=zt,t.CartItemHasCollection=Kt,t.IsLoyaltyCustomer=Wt,t.LoyaltyPointsBalance=Qt,t.LoyaltyPointsEarned=Yt,t.PageVisit=rr,t.CustomerTag=Ir,t.IsGuest=br,t.AbandonedCart=Ut,t.CartAttrName=Mt,t.UseCaseId=n;const r=()=>new Function(`\n const c = arguments[0];\n return ${function(e){const t=t=>E(()=>e.includes(t));for(const n of["PageVisit","Total"])t(`c.${n}`)&&!t(`await c.${n}`)&&(e=`( ${e.replaceAll(`c.${n}`,`await c.${n}`)} )`);return!t("(async ()")&&t("await")?`(async () => (${e}))()`:e}(e)}`)(t);return Promise.resolve(new Promise(e=>e(r())).catch(e=>(J("client side formula err",e),!1)))}return Promise.resolve(!0)}catch(e){return Promise.reject(e)}};let fr=!1;const hr={},pr={},vr=e=>`${e.name}-${e.variant}`;function wr(){return{cart:et(),Total:Dt,CartHasSubs:qt,CartSubs:Ft,CartHasItem:Bt,CartHasItemMatching:Jt,CartItemHasTagMatching:Ht,CartItemHasTag:Vt,AllCartItemsHasTag:Gt,AllCartItemsHasTagMatching:zt,CartItemHasCollection:Kt,IsLoyaltyCustomer:Wt,LoyaltyPointsBalance:Qt,LoyaltyPointsEarned:Yt,PageVisit:rr,CustomerTag:Ir,IsGuest:br,AbandonedCart:Ut,CartAttrName:Mt}}function yr(e){const t={experienceId:e.name,variantId:e.variant,gaExperienceName:e.gaName,gaVariantName:e.gaVariant,reportGa:e.ga,publishedAt:e.publishedAt,version:e.version};var n;n=E(()=>e.code.map(e=>{try{return function(e,t){if("compound"===e.kind){const n=e.value,r=function(e,t,n,r,o){const i=[];return n&&""!==n&&i.push(j(e,t,n)),r&&""!==r&&i.push(j("appendCss",t,r)),o&&""!==o&&i.push(j("appendJs",t,o)),i}(n.htmlKind,e.selector,n.html,n.css,n.js),o=j(e.kind,e.selector,r);o.options=t;const i=Xe(o);return i.htmlId=r[0].id,r[1]&&(i.cssId=r[1].id),r[2]&&(i.jsId=r[2].id),i}if("widget"===e.kind){const n=j(e.kind,e.selector,"");n.options=t,n.block=e;const r=function(e,t){const n=E(()=>e.block.value);return{...t,sectionId:E(()=>n.env.sectionId),widgetId:E(()=>n.widgetId),widgetVersion:E(()=>n.version)}}(n,t);!function(e,t){const n=E(()=>e.block.value.env);
51n&&Object.entries(t).forEach(e=>{let[t,r]=e;return n[t]=r})}(n,r);const o=Xe(n);return o.htmlId=n.id,o}if(["pageRedirect","themeTest"].includes(e.kind)){const n=j(e.kind,e.selector,"");return n.options=t,n.block=e,Xe(n)}if(["moveElem","automation","visualEdit"].includes(e.kind)){const n=j(e.kind,e.selector,"");n.options=t,n.block=e;const r=Xe(n);return r.htmlId=n.id,r}const n=j(e.kind,e.selector,e.value);return n.options=t,Xe(n)}(e,t)}catch(e){}}).filter(e=>!!e),[]),pr[vr(e)]=n,function(e){if(!0!==window.visually?.flags?.["experience-applied-callback"])return;const t=window.vslyOnExperienceApplied;if("function"!=typeof t)return;const n={experienceId:e.name,variantId:e.variant,experienceName:e.gaName,variantName:e.gaVariant,version:e.version??0};try{Promise.resolve(t(n)).catch(e=>J("vslyOnExperienceApplied callback failed",e))}catch(e){J("vslyOnExperienceApplied callback failed",e)}}(e)}const gr=new Set;function _r(e){return!!e&&""!==e}const Sr=function(e){try{return Promise.resolve(Promise.all(e.map(function(e){try{return Promise.resolve(e.shouldBeApplied).then(function(t){return{...e,shouldBeApplied:t}})}catch(e){return Promise.reject(e)}})))}catch(e){return Promise.reject(e)}},Er=e=>{const t=E(()=>e.key),n=E(()=>e.value),r=wr();t===tt.CART_CHANGE?(dr({...r,cart:n}),E(()=>window.loomi_ctx.maintainCartAttributes(n))):t===tt.LOYALTY_CHANGE&&dr(r)};function Pr(e){return mr(e.clientTargetingFormula,void 0,e.name)}function Ar(){fr||s(()=>document).then(()=>{document.addEventListener(Z,Er),fr=!0})}function Ir(e,t){if(void 0===t&&(t=""),"contains"===t)return E(()=>window.loomi_ctx.ctags?.some(t=>t.includes(e)))||!1;const n=["!","not in"].some(e=>t.includes(e)),r=E(()=>window.loomi_ctx.ctags.includes(e))||!1;return n?!r:r}function br(){return Promise.resolve(E(()=>!window.loomi_ctx.clientId))}function xr(e){const t=vr(e),n=pr[t];n&&(n.forEach(e=>E(e.revert)),delete pr[t]),delete hr[t]}const Cr=function(e,t,n){try{let r;return Promise.resolve(n()).then(function(n){if(!n)return void(r=1);Nr(t,e);const o=function(e){return`${e.name}-${e.variant}-${e.version}`}(e),i=function(){if(!kr.has(o)&&Tr(e))return Promise.resolve(Hn(e)).then(function(){kr.add(o)})}();return i&&i.then?i.then(function(){}):void 0})}catch(e){return Promise.reject(e)}},kr=new Set,Tr=e=>_r(e.clientTargetingFormula)||function(e){return["jsFunction","jsCondition","elementEvent"].includes(e?.trigger?.type)}(e);function Nr(e,t){return E(()=>{e.register(t.name,t.variant,t.gaVariant,t.gaName);const n=t.ga;return e.track(o.USE_CASE,{use_case:t.name,use_case_variant:t.variant,...t.version?{version:t.version}:{}},{isAudience:t.isAudience,isRedirect:t.isRedirect,immediate:t.immediate,gaName:t.gaName,gaVariant:t.gaVariant,...n?{reportGa:n}:{}})})}const Or=new Set,jr=new Set,$r=new Set,Lr=new Set;let Rr;function Dr(e){void 0===Rr&&(Rr=new MutationObserver(Ur(e)),Rr.observe(document.body,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}function Ur(e){return()=>{Mr(Or,$r,(t,n)=>{Cr(n,e,()=>(t.add(qr(n.trigger.selector,n)),lr(n)))}),Mr(jr,Lr,(t,n,r)=>{const o=n.trigger;t.add(qr(o.selector,n)),r.addEventListener(o.name,()=>Cr(n,e,()=>lr(n)),{once:void 0!==o.once&&o.once})})}}function Mr(e,t,n){e.forEach(e=>{E(()=>{const r=e.trigger.selector;document.body.querySelectorAll(r).forEach(o=>{t.has(qr(r,e))||n(t,e,o)})})})}function qr(e,t){return`${e}-${t.name}`}function Fr(e){const t=JSON.stringify({ts:(new Date).getTime(),...e});let n,r,o=0;if(0===t.length)return o;for(n=0;n<t.length;n++)r=t.charCodeAt(n),o=(o<<5)-o+r,o|=0;return o}function Br(e){const t=Fr(e);return Gr(t),y(()=>new Function(e.code)(window),e.timeoutMillis,e.retries,()=>void 0===zr(t))}function Jr(e){return JSON.parse(localStorage.getItem(e)||"[]")}let Vr=[];const Hr=function(e,t,n){E(()=>t.experiments.forEach(t=>{n&&n.matches(t)?n.onSubscribeCall(t):Qr(t,e)}))},Gr=(e,t)=>{Vr.push({handler:e,experienceKey:t})},zr=e=>Vr.find(t=>t.handler===e),Kr=function(e){Vr.filter(t=>t.experienceKey===e).forEach(e=>{try{"number"!=typeof e.handler&&e.handler()}catch(e){}}),Vr=Vr.filter(t=>t.experienceKey!==e)};function Wr(e,t){Qr(e,t)}function Qr(t,n){switch(E(()=>t.trigger.type)){case e.PageLoad:!function(e,t){Cr(e,t,()=>lr(e))}(t,n);break;case e.Timeout:!function(e,t){const n=setTimeout(()=>{Cr(e,t,()=>lr(e))},e.trigger.timeoutMillis);Gr(()=>{n&&clearTimeout(n)})}
51(t,n);break;case e.Inactivity:!function(e,t){const n=e.trigger.timeoutMillis;let r;function o(){clearTimeout(r),r=setTimeout(()=>{Cr(e,t,function(){try{return Promise.resolve(Pr(e)).then(function(t){return t&&lr(e),t})}catch(e){return Promise.reject(e)}})},n)}o();const c=["mousemove","keypress","scroll","touchstart","touchmove"];Gr(()=>{clearTimeout(r),i(()=>document).then(()=>c.forEach(e=>document.removeEventListener(e,o)))}),s(()=>document,!0).then(()=>{c.forEach(e=>document.addEventListener(e,o,{passive:!0}))})}(t,n);break;case e.Selector:!function(e,t){Dr(e),Or.add(t),Ur(e)()}(n,t);break;case e.ExitIntent:!function(e,t){const n=r=>{E(()=>!r.toElement&&!r.relatedTarget)&&Cr(e,t,()=>{const t=lr(e);return i(()=>document).then(()=>{document.removeEventListener("mouseout",n)}),t})};s(()=>document,!0).then(()=>{document.addEventListener("mouseout",n,{passive:!0})}),Gr(()=>{i(()=>document).then(()=>{document.removeEventListener("mouseout",n)})})}(t,n);break;case e.JSCondition:!function(e,t){Br(e.trigger).then(()=>{Cr(e,t,()=>lr(e))}).catch(()=>{})}(t,n);break;case e.JSFunction:!function(e,t){!function(n){try{const r=new Function(`return async function() { ${n.code} }`)()(),o=Fr(n);Gr(o),r.then(()=>void 0!==zr(o)&&void Cr(e,t,()=>lr(e)))}catch(e){}}(e.trigger)}(t,n);break;case e.JSEvent:!function(e,t){const n=e.trigger,r="vsly-js-events";function o(n){n&&Cr(e,t,()=>lr(e))}const c=e=>{let t;try{t=new Function(n.jsEvent.matchCode)(e),localStorage.setItem(r,JSON.stringify([...Jr(r),{event:{detail:e.detail},ts:(new Date).valueOf()/1e3}].splice(0,25)))}catch(e){J("handleJsEvent",e),t=!1}o(t)};o(function(e,t){return E(()=>!!Jr(e).find(e=>{const n=e.ts;return(new Date).valueOf()/1e3-n<2628e3&&new Function(t)(e.event)}))}(r,n.jsEvent.matchCode)),s(()=>window).then(()=>{window.addEventListener(n.jsEvent.name,c)}),Gr(()=>{i().then(()=>{window.removeEventListener(n.jsEvent.name,c)})})}(t,n);break;case e.Conjunction:!function(t,n){if(function(t){return[e.ExitIntent,e.Selector,e.Timeout].includes(t.trigger.condition.type)}(t)){const e=t.trigger;Br(e.jsCond).then(()=>{Qr({...t,trigger:e.condition},n)}).catch(()=>{})}}(t,n);break;case e.ElementEvent:!function(e,t){Dr(t),jr.add(e),Ur(t)()}(t,n)}}const Yr=["vsly-backdrop-container","__loomi_crosshair_container"];function Zr(e){let t=E(()=>e.target),n=!1;for(;t;){if(Yr.includes(E(()=>t.id))){n=!0;break}t=E(()=>t.parentElement)}n&&(B("vsly","about to stop propagation of event",e),E(()=>e.stopImmediatePropagation()),E(()=>e.stopPropagation()))}function Xr(e,t){const n=E(()=>window.Shopify.currency.active,"USD"),r=E(()=>window.Shopify.locale,"en-US"),o=new Intl.NumberFormat(r,{style:"currency",currency:n,minimumFractionDigits:!0===E(()=>window.visually.flags["op-locale-currency-always-show-decimals"],!1)?2:0,maximumFractionDigits:2});if(t){if(no()){const t=E(()=>window.visually.priceRound)||Math.round;return o.format(t(e,n))}return o.format(e)}const i=E(()=>window.Shopify.currency.rate,"1");let s=Number.parseFloat(i);s=Number.isNaN(s)?1:s;let c=e*s;return 1!=s&&he("exchange-fee")&&(c*=1.02),c=eo(s,c,n),o.format(c)}const eo=(e,t,n)=>1!==e&&he("exchange-round")||no()?(E(()=>window.visually.priceRound)||Math.round)(t,n):t;function to(){const e=E(()=>!0===window.visually.flags["kill-locale-currency"]),t=E(()=>window.Shopify.currency,{}),n=!!E(()=>t.active),r=E(()=>t.rate),o=!!r&&!Number.isNaN(Number.parseFloat(r));return!e&&n&&o}const no=()=>!he("op-locale-currency-no-round");let ro=window.location.href;const oo=()=>{requestAnimationFrame(()=>{ro!==window.location.href&&(ro=window.location.href,window.dispatchEvent(new CustomEvent("vslyUrlChanged",{detail:{prev:ro,curr:window.location.href}})))})};var io;!function(e){e.NONE="none",e.YOTPO="yotpo"}(io||(io={}));const so={isMember:!1,provider:io.NONE};function co(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}const ao="vsly-loyalty-ctx",uo=(()=>{const e=["swell:customer:updated","swell:redemption","swell:initialized","swell:setup","vsly:loyalty-changed"];let t;const n=()=>{const e=E(()=>window.swellConfig.customer);return e?{id:e.local_customer_id,providerId:e.id,email:e.email,earnedPoints:e.points_earned,isMember:!0===e.is_member,pointsBalance:e.points_balance,adjustedPointsBalance:E(()=>e.adjusted_points_balance,0),provider:io.YOTPO}:so},r=e=>{E(()=>"vsly:loyalty-changed"===e.type)&&E(()=>window.swellAPI.refreshCustomerDetails()),t(n())};return{provide:n,onChange:function(n){try{t=n;const o=co(function(){return Promise.resolve(y(()=>
51!!window.jQuery,50,200)).then(function(){e.forEach(e=>{window.jQuery(document).on(e,r)})})},function(){e.forEach(e=>{document.addEventListener(e,r)})});return Promise.resolve(o&&o.then?o.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},connect:()=>y(()=>!!E(()=>window.swellConfig.customer.local_customer_id),400,20),disconnect:function(){try{const t=co(function(){return Promise.resolve(y(()=>!!window.jQuery,50,200)).then(function(){e.forEach(e=>{window.jQuery(document).off(e,r)})})},function(){e.forEach(e=>{document.removeEventListener(e,r)})});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}}})();function lo(e){nt(tt.LOYALTY_CHANGE,e),sessionStorage.setItem(ao,JSON.stringify({ts:(new Date).getTime(),ctx:e})),window.loomi_ctx={...window.loomi_ctx||{},loyalty:e}}const mo="vsly_session";function fo(e){return At((e||"").replace("+"," "))}function ho(){const e=window.loomi_ctx.storeAlias,t={id:Y(e+window.loomi_ctx.userId+f()+xt()+wo()),utm_campaign:xt(),last_interaction:new Date,landing_page:E(()=>location.href,""),start_at:new Date};return po(t),t}function po(e){const t=JSON.stringify(e);localStorage.setItem(mo,t),window.loomi_ctx.session=e}function vo(){const e=function(){window.loomi_ctx=window.loomi_ctx||{};let e=window.loomi_ctx.session||E(()=>{const e=JSON.parse(localStorage.getItem(mo));return e.last_interaction=new Date(e.last_interaction),e.start_at=new Date(e.start_at),e})||ho();return function(e){const t=new Date,n=e.last_interaction;return(t.valueOf()-n.valueOf())/6e4>30||fo(xt())!==fo(e.utm_campaign)||e.last_interaction.getDate()!==t.getDate()}(e)&&(e=ho()),window.loomi_ctx.session=e,e}();e.last_interaction=new Date,po(e)}const wo=()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);function yo(e,t){try{var n=e()}catch(e){return t(!0,e)}return n&&n.then?n.then(t.bind(null,!1),t.bind(null,!0)):t(!1,n)}const go=function(e,t,r){void 0===r&&(r=1e3);try{return _o?(console.debug("vsly-sdk","cannot reload since another reload is in progress"),Promise.resolve()):(_o=!0,Promise.resolve(yo(function(){console.debug("vsly-sdk","about to reload sdk");const o=he("sdk-reconcile")?Promise.resolve(function(e,t,n){try{return Promise.resolve(n(t,e)).then(function(e){let{configuration:t}=e;const n=E(()=>window.loomi.conf.experiments)||[],r=new Map,o=t.experiments||[],i=new Map,s=new Set(Object.keys(pr)),c=T();n.forEach(e=>r.set(Yn(e),e)),o.forEach(e=>i.set(Yn(e),e)),(e=>{window.loomi={...E(()=>window.loomi)||{},conf:e},window.visually={...E(()=>window.visually)||{},flags:e.flags,recsPerVariant:tr(e)},Wn(e.flags)})(t),((e,t,n)=>{e.forEach((e,r)=>{t.has(r)||(n.has(r)&&xr(e),Kr(r))})})(r,i,s),document.dispatchEvent(Object.assign(new Event("reset-widget"),{value:"reload"})),document.dispatchEvent(Object.assign(new Event("targeting-changed"),{value:"#reload",key:"CART_CHANGE"})),((e,t,n,r)=>{e.forEach((e,o)=>{const i=t.get(o);i?Zn(i)!==Zn(e)&&(r.has(o)&&xr(i),Kr(o),dn([e]),Wr(e,n)):(dn([e]),Wr(e,n))})})(i,r,c,s)})}catch(e){return Promise.reject(e)}}(e,t,So)).then(function(){}):Promise.resolve(function(){try{return fr&&i(()=>document).then(()=>{document.removeEventListener(Z,Er),fr=!1}),Vr.forEach(e=>{try{"number"!=typeof e.handler&&e.handler()}catch(e){}}),Vr=[],Array.from(D.keys()).forEach(e=>{Ze(e)}),Ge&&Ge.disconnect(),Promise.resolve()}catch(e){return Promise.reject(e)}}()).then(function(){return Promise.resolve((o=r,void 0===o&&(o=40),new Promise(e=>setTimeout(e,o)))).then(function(){return Promise.resolve(function(e,t){try{return void 0===e&&(e=n.PROD),Promise.resolve(yo(function(){return function(r,o){try{var i=(function(){if(window.vsly_blocked)throw Rn(),new Error(Jn)}(),function(e,t){window.loomi_ctx=window.loomi_ctx||{},window.loomi_ctx.env=window.loomi_ctx.env||e,window.loomi_ctx.storeAlias=window.loomi_ctx.storeAlias||t}(e,t),Promise.resolve(function(e,t){try{return void 0===e&&(e=n.PROD),Promise.resolve(Eo(t,e,void 0)).then(function(n){let{configuration:r,tracking:o}=n;return Po(r,t,e,o)})}catch(e){return Promise.reject(e)}}(e,t)).then(function(n){let{jitsu:r,configuration:o}=n;if(!E(()=>o.flags["kill-switch"]))return Promise.resolve(He()).then(function(){dn(o.experiments),Hr(r,o),Qn(e,t,go),ht()})}))}catch(e){return o(e)}return i&&i.then?i.then(void 0,o):i}(0,function(e){E(()=>e.message)!==Jn&&J("failed initialising sdk",e)})},function(e,t){if(Rn(),e)throw t;return t}))}catch(e){return Promise.reject(e)}}(e,t)).then(function(){})});var o});if(o&&o.then)return o.then(function(){})},function(e,t){if(_o=!1,e)throw t;return t})))}catch(e){return Promise.reject(e)}};let _o=!1;const So=function(e,t,n){try{return m(),Promise.resolve(Bn(e,t,n))}catch(e){return Promise.reject(e)}},Eo=function(e,t,n){try{return E(vo),m(),Promise.resolve(Bn(e,t,n))}catch(e){return Promise.reject(e)}},Po=function(e,t,n,r){try{return Wn(e.flags),function(e,t,n,r,o,i){Ar(),window.loomi_ctx={...E(()=>window.loomi_ctx)||{},env:t,storeAlias:e,apply:e=>{dn([e]),lr(e)},shouldApply:mr};const s=E(()=>o.productId),c=window.loomi_ctx;s&&!c.productId&&(c.productId=s);const a=E(()=>o.variantId);a&&!c.variantId&&(c.variantId=a),window.loomi={...E(()=>window.loomi)||{},conf:n},window.visually={...E(()=>window.visually)||{},flags:n.flags,enabledIntegrations:n.integrations,recsPerVariant:tr(n),sdk_api:{addToCart:hn,recommendProducts:In,getProductsMetafields:Dn,fetchRecs:Tn},reAllocate:i,rerender:Xn,reload:function(){try{return Promise.resolve(r(t,e,1e3)).then(function(){})}catch(e){return Promise.reject(e)}}}}(t,n,e,go,jt(),So),function(e){try{if(e.noActiveThemeTests&&Te()){if(Ie(0))return;Ce()}else(e=>!(e.experiments||[]).find(e=>e.isThemeTest)&&E(Te)&&!![localStorage,sessionStorage].find(Le))(e)&&Ce()}catch(e){}}(e),Promise.resolve(bo()).then(function(){var o,c,a,l;(function(e,t,n){window.loomi_api||(window.loomi_api={}),window.loomi_api.when=g,window.loomi_api.awaitCondition=y,window.loomi_api.loadVisuallyLib=v,window.loomi_api.queryProducts=Un,window.loomi_api.debounce=u,window.loomi_api.allocatorQuery=e=>function(e,t){try{function n(){return Promise.resolve(r)}const r={results:{}},o={...e};o.queries=function(e,t){return e.queries.filter(e=>{const n=E(()=>e.oneOf.productInfo);if(n){const r=On(n.handle),o=sessionStorage.getItem(r);if(!o)return!0;const i=JSON.parse(o);return!!function(e,t){return!((!e.includeCollections||t.collections)&&(!e.includeTags||t.tags)&&(!e.includeSales||t.sales)&&(!e.includeVariants||t.variants)
51)}(n,i)||(i.cached=!0,t.results[e.name]=i,!1)}const r=E(()=>e.oneOf.handlesByTag);if(r){const n=jn(r),o=sessionStorage.getItem(n);if(!o)return!0;const i=JSON.parse(o);return i.cached=!0,t.results[e.name]=i,!1}const o=E(()=>e.oneOf.handlesByCollection);if(o){const n=$n(o),r=sessionStorage.getItem(n);if(!r)return!0;const i=JSON.parse(r);return i.cached=!0,t.results[e.name]=i,!1}return!0})}(e,r);const i=function(){if(o.queries.length>0){const{query:e,hashedQuery:n}=function(e,t){e.timestamp=`${Ln(4)}${t}${Ln(5)}`,e.alias=window.loomi_ctx.storeAlias||"",e.userId=window.loomi_ctx.userId||"";const n=S(e);return{query:n,hashedQuery:(n+window.loomi_ctx.userId+window.loomi_ctx.storeAlias+t).split("").reduce((e,t)=>(e=(e<<5)-e+t.charCodeAt(0))&e,0)}}(o,t),i=Gn(window.loomi_ctx.env).cfgUrl.replace("/allocate",`/query?q=${e}&h=${n}`);return Promise.resolve(fetch(i)).then(function(e){const t=function(){if(e.ok)return Promise.resolve(e.json()).then(function(e){e.results&&Object.entries(e.results).forEach(e=>{let[t,n]=e;!function(e,t,n){if(t)if("ProductInfo"===t.kind){const r=n.queries.find(t=>t.name===e);r&&(E(()=>r.oneOf.productInfo.includeTags,!1)&&!t.tags&&(t.tags=[]),E(()=>r.oneOf.productInfo.includeCollections,!1)&&!t.collections&&(t.collections=[]),E(()=>r.oneOf.productInfo.includeSales,!1)&&!t.sales&&(t.sales=""),E(()=>r.oneOf.productInfo.includeVariants,!1)&&!t.variants&&(t.variants=[]),sessionStorage.setItem(On(t.handle),JSON.stringify(t)))}else if("HandlesByCollection"===t.kind){const r=n.queries.find(t=>t.name===e);if(r){const e=E(()=>r.oneOf.handlesByCollection,"")||"";sessionStorage.setItem($n(e),JSON.stringify(t))}}else if("HandlesByTag"===t.kind){const r=n.queries.find(t=>t.name===e);if(r){const e=E(()=>r.oneOf.handlesByTag,"")||"";sessionStorage.setItem(jn(e),JSON.stringify(t))}}}(t,n,o),r.results[t]=n})})}();if(t&&t.then)return t.then(function(){})})}}();return Promise.resolve(i&&i.then?i.then(n):n())}catch(s){return Promise.reject(s)}}(e,`${(new Date).getTime()+Math.round(1e6*Math.random())}`),window.loomi_api.openProductOverlay=nr,E(()=>e.shopApi.forEach(e=>{let{js:t,windowKey:n}=e;try{window.loomi_api[n]=new Function(t)}catch(e){}})),window.loomi_api.formatLocaleMoney=function(){var e=[].slice.call(arguments);return n()?t(...e):(E(()=>window.loomi_api.formatMoney)||(()=>`${E(()=>e[0],"")}`))(...e)},window.loomi_api.redirectTest=ne})(e,Xr,to),a=e.first_seen,(c=e.uid)!==(l=r.id)&&c&&a>0?(window.loomi_ctx.userId=c,en(c,a)):window.loomi_ctx.userId=l,function(e,t){try{return E(()=>window.loomi_ctx.cc)&&y(C,1e3,120).then(()=>en(e,t||(new Date).getTime()/1e3)),Promise.resolve()}catch(e){return Promise.reject(e)}}(window.loomi_ctx.userId,a),(o=e.flags)["sdk-auto-clean"]&&!o["sdk-kill-auto-clean"]&&v("price_test_cleanup_v2",{async:!1,defer:!0}).then(),E(()=>!0===window.visually.flags["op-focus-trap-removal"])&&s(()=>document,!0).then(()=>{document.addEventListener("focusin",Zr,{capture:!0,passive:!0}),document.addEventListener("mousedown",Zr,{capture:!0,passive:!0}),document.addEventListener("touchstart",Zr,{capture:!0,passive:!0}),document.addEventListener("touchend",Zr,{capture:!0,passive:!0})}),function(e,t){if(he("kill-sdk-reload-url-detection")||!he("sdk-reload")&&!["/products/","/collections/"].find(e=>window.location.href.includes(e)))return;const n=function(){const r=(()=>{requestAnimationFrame(()=>{(he("sdk-reload-url-detection-href")?Io!==window.location.href:new URL(Io).pathname!==new URL(window.location.href).pathname)&&(Io=window.location.href,n(),Ao(e,t,10))})})||oo,o=["click","touchend","pdpresp"];return s(()=>document.body,!0).then(()=>{o.forEach(e=>document.body.addEventListener(e,r,!0))}),()=>{i(()=>document.body).then(()=>{o.forEach(e=>{document.body.removeEventListener(e,r,!0)})})}}()}(n,t),function(){try{return Promise.resolve(function(e,t){try{var n=function(){lo(function(){const e=sessionStorage.getItem(ao);if(e){const t=E(()=>JSON.parse(e));if(t&&t.ts>(new Date).getTime()-3e5)return t.ctx}}()||so);const e=E(()=>!0===window.visually.flags["loyalty-targeting"]),t=function(){if(e)return Promise.resolve(function(e){try{return e.onChange(e=>{lo(e)}),Promise.resolve(e.connect()).then(function(){const t=e.provide();return lo(t),{ctx:t,disconnect:e.disconnect}})}catch(e){return Promise.reject(e)}}(uo)).then(function(){const e=document.querySelectorAll('[href*="/account/logout"]');
51e&&Array.from(e).forEach(e=>{e.addEventListener("click",()=>(sessionStorage.removeItem(ao),!0))})})}();if(t&&t.then)return t.then(function(){})}()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}(0,function(e){console.debug("vsly-loyalty","unable to find loyalty provider",e)}))}catch(e){return Promise.reject(e)}}();const d=T();return{configuration:e,jitsu:d}})}catch(e){return Promise.reject(e)}},Ao=u(go,10);let Io=window.location.href;const bo=function(){try{return Promise.resolve(function(){if(he("block-do-not-track"))return Promise.resolve(k()).then(function(e){if(!e)throw new Error(Jn)})}())}catch(e){return Promise.reject(e)}};function xo(e){return e.startsWith("https://")?e.substring(8):e}function Co(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return""}}var ko;!function(e){e.SIGNUP="SIGNUP",e.ADD_TO_CART="ADD_TO_CART",e.CHANGE_QTY="CHANGE_QTY",e.REMOVE_FROM_CART="REMOVE_FROM_CART",e.PAGE_LOAD="PAGE_LOAD",e.CLICK="CLICK",e.LOGIN="LOGIN",e.LOGOUT="LOGOUT",e.TIME_SPENT="TIME_SPENT",e.USE_CASE="USE_CASE",e.LEAD_SUBMISSION_EMAIL="LEAD_SUBMISSION_EMAIL",e.LEAD_SUBMISSION_PHONE="LEAD_SUBMISSION_PHONE"}(ko||(ko={}));let To=[];const No=function(e,t){if(void 0===t&&(t=0),0===To.length)return;const n=To;To=[];const r=jo(n),o=Oo(n);e({bulk:o,shared:r},!0).catch(()=>{const r=n.concat(To);r.length<100&&(To=r,t<2&&setTimeout(()=>No(e,t+1),500*Math.pow(2,t)))})};u(No,100);const Oo=e=>e.map(e=>{const t=JSON.parse(JSON.stringify(e));return delete t.user,delete t.event_id,delete t.user_agent,delete t.utc_time,delete t.local_tz_offset,delete t.doc_host,delete t.ids_ga,delete t.alias,delete t.userCanBeTracked,delete t.userDataCanBeSold,delete t.edgetag,delete t.api_key,delete t.src,t}),jo=e=>{const t=E(()=>String(e[0].user.anonymous_id),""),n=E(()=>String(e[0].user_agent),""),r=E(()=>String(e[0].event_id),""),o=E(()=>String(e[0].utc_time),""),i=E(()=>Number(e[0].local_tz_offset)||0),s=E(()=>String(e[0].doc_host),""),c=E(()=>String(e[0].ids_ga),""),a=E(()=>String(e[0].alias),""),u=E(()=>Boolean(e[0].userCanBeTracked),!0),l=E(()=>Boolean(e[0].userDataCanBeSold),!0),d=E(()=>String(e[0].edgetag),""),m=E(()=>String(e[0].api_key),""),f=E(()=>String(e[0].src),"");return Object.entries({anonymous_id:t,event_id:r,user_agent:n,utc_time:o,local_tz_offset:i,doc_host:s,ids_ga:c,alias:a,userCanBeTracked:u,userDataCanBeSold:l,edgetag:d,api_key:m,src:f}).reduce((e,t)=>{let[n,r]=t;if(r){if("undefined"===r)return e;e[n]=r}return e},{})},$o=function(e){try{let r;function t(e){return r?e:Promise.resolve(!1)}const o=function(){if(E(()=>e.eventPayload.bulk.length>0,!1)){const t=E(()=>JSON.parse(JSON.stringify(e.eventPayload.bulk[0])),void 0);if(!t){const e=Promise.resolve(!1);return r=1,e}const o=E(()=>JSON.parse(JSON.stringify(t.ga)),void 0);return delete t.ga,Promise.resolve(function(e){try{return Promise.resolve(function(t,r){try{var o=function(){const t=window.loomi_ctx.jitsuKey,r=function(e){const t={trackingHost:"https://live.visually-io.com"};return e===n.TEST&&(t.trackingHost="http://localhost:8088"),e===n.STAGE&&(t.trackingHost="https://sdk.loomi-stg.xyz"),t}(window.loomi_ctx.env).trackingHost;return Promise.resolve(fetch(`${r}/api/s?token=${t}&bulk=1`,{headers:{"content-type":"text/plain"},body:JSON.stringify(e.eventPayload),method:"POST",mode:"cors",credentials:"omit",keepalive:!0})).then(function(e){return e.ok})}()}catch(e){return r(e)}return o&&o.then?o.then(void 0,r):o}(0,function(e){return console.error("vsly: Failed to send event",e),!1}))}catch(e){return Promise.reject(e)}}(e)).then(function(n){return Promise.resolve(function(e){try{try{const t=e.eventPayload,n=t.bulk[0],r=window.loomi_ctx.env,o=t.shared,i=S({experienceId:n.use_case,variantId:n.use_case_variant,storeAlias:o.alias,anonymousId:o.anonymous_id,version:n.version}),s=new URL(Gn(r).cfgUrl.replace("/allocate","/match"));s.searchParams.append("q",i),fetch(s.toString())}catch(e){console.error("vsly: Failed to persist allocation",e)}return Promise.resolve()}catch(e){return Promise.reject(e)}}(e)).then(function(){return o&&T().trackExt(t,o).then().catch(e=>{console.error("vsly: Failed track ext event",e,t,o)}),r=1,n})})}}();return Promise.resolve(o&&o.then?o.then(t):t(o))}catch(i){return Promise.reject(i)}},Lo="vsly_analytics_queue";
51function Ro(e,t,n){void 0===n&&(n=!1);try{const r=window.loomi_ctx,o=r.storeAlias,i=r.jitsuKey,s=It(),c={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,timestamp:Date.now(),eventPayload:{bulk:[{url:location.href,doc_path:location.pathname,doc_search:location.search,sid:r.session.id,sid_start:r.session.start_at,utm:s.utm,fingerprint:"embed",lmi_params:s.lmi_params,event_type:"USE_CASE",use_case:e._USE_CASE,use_case_variant:e._USE_CASE_VARIANT,version:e._USE_CASE_VERSION||1,ga:{isAudience:!1,gaName:e._USE_CASE_GA||e._USE_CASE,gaVariant:e._USE_CASE_GA_VARIANT||e._USE_CASE_VARIANT,reportGa:n}}],shared:{anonymous_id:t.id,user_agent:navigator.userAgent,utc_time:(new Date).toISOString(),local_tz_offset:(new Date).getTimezoneOffset(),doc_host:location.host,alias:o,api_key:i}},retries:0},a=Do();a.push(c),Uo(a)}catch(e){console.error("vsly: Failed to queue analytics event",e)}}function Do(){try{const e=localStorage.getItem(Lo);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){return console.error("vsly: Failed to read analytics queue",e),[]}}function Uo(e){try{localStorage.setItem(Lo,JSON.stringify(e))}catch(e){console.error("vsly: Failed to save analytics queue",e)}}const Mo=(e,t)=>{try{localStorage.setItem(e,JSON.stringify({variant:t.experiment.variant,version:t.experiment.version||0}))}catch(e){}},qo=(e,t)=>{let n=null;try{const r=localStorage.getItem(e);if(r){let e;const o=JSON.parse(r);if(o&&"object"==typeof o&&"variant"in o){e=o;const r=t.find(t=>t.experiment.variant===e.variant);r&&(r.experiment.version||0)===(e.version||0)&&(n=r)}}}catch(e){}return n},Fo=e=>`vsly_redirect_test_${e[0].experiment.name}`,Bo=(e,t)=>{if(e){const n=e.experiment;t.some(e=>{const t=e.experiment;return t.variant===n.variant&&t.version===n.version})||(e=!1)}if(!e){const n=100*Math.random();let r=0;for(const o of t)if(r+=o.targeting.chance,n<=r){e=o;break}}return e},Jo=function(e){void 0===e&&(e=!0);const t=window.loomi_ctx.consent;t.allowed=e,t.fin||(t.fin=Vo())},Vo=()=>(new Date).getTime(),Ho=()=>window.Shopify.customerPrivacy,Go=["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","NO","IS","LI"],zo=function(e){void 0===e&&(e=!0);const t=window.loomi_ctx.consent;t.allowed=e,t.fin||(t.fin=Ko())},Ko=()=>(new Date).getTime(),Wo=()=>window.Shopify.customerPrivacy,Qo=()=>Promise.resolve(),Yo=()=>(window.loomi_ctx=window.loomi_ctx||{},window.loomi_ctx.performanceMetrics=window.loomi_ctx.performanceMetrics||{},window.loomi_ctx.performanceMetrics);function Zo(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}const Xo=function(e){try{let r;function t(t){if(!t)return function(){const e=Do();e.length>0&&Promise.allSettled(e.map($o)).then(t=>{Uo(e.filter((e,n)=>{const r=t[n];return("fulfilled"!==r.status||!r.value)&&(e.retries++,(e=>!(Date.now()-e.timestamp>18e5||e.retries>3))(e))}))}).catch(e=>{console.error("vsly: Failed to process analytics queue",e)})}(),(()=>{const e=()=>{const e=ae();return!!e&&!Go.includes(e)};return new Promise((t,n)=>{const r=window.loomi_ctx.consent||={};r.init=Ko(),(ae()?Qo():y(ae,50,200)).then(()=>{e()&&(zo(),t())}),(E(()=>Wo().analyticsProcessingAllowed)?Qo():y(()=>E(()=>Wo().analyticsProcessingAllowed),50,200)).then(()=>{const r=Wo().analyticsProcessingAllowed()||e();zo(r),r?t():n()}),r.ccListener||(document.addEventListener("visitorConsentCollected",r=>{const o=r.detail.analyticsAllowed||e();zo(o),o?t():n()}),r.ccListener=!0)})})().catch(),function(){try{Yo().as=performance.now()}catch(e){}}(),Eo(i,s).then(t=>{let{configuration:r,tracking:o}=t;return function(){try{const e=Yo().as;if(void 0===e)return;const t=performance.now();Object.assign(Yo(),{ae:t,ad:t-e}),(e=>{try{if("function"!=typeof performance.getEntriesByType)return;const t=performance.getEntriesByType("resource").filter(t=>t.startTime>=e&&(e=>{try{return new URL(e.name).pathname.endsWith("/allocate")}catch{return!1}})(t)).pop();if(!t)return;Object.assign(Yo(),{ars:t.startTime,afs:t.fetchStart,aqs:t.requestStart,aps:t.responseStart,ape:t.responseEnd,ard:t.duration,ardl:t.startTime-e,aprd:t.requestStart-t.startTime,arwd:t.responseStart-t.requestStart,ardd:t.responseEnd-t.responseStart})}catch{}})(e)}catch(e){}}(),(e=>{w("vsly-a",`${(e=>e==n.STAGE?"https://sdk.loomi-stg.xyz/":"https://assets.visually.io/")(e)}v/visually-a.js?cb=${window.loomi_ctx.sdk_version}`,{defer:!0}).catch()})(s),function(e){if(e?.experiments&&!p()){const t=ni();t.size>0&&(e.experiments=e.experiments.filter(e=>!t.has(e?.name)))}}(r),e({configuration:r,tracking:o})}).catch(o).finally(Rn);r=1}const o=e=>console.error(e);
51if(window.fetch&&(window.vslyNativeFetch=window.fetch),window.vsly_init=!0,window.vslyIntegrationType="static",(()=>{if(E(()=>window.visually_io_editor))return!0;const e=E(()=>window.loomi_ctx.ttl);return!("number"!=typeof e||!Number.isFinite(e)||e<=0)&&e<Math.floor(Date.now()/1e3)})())return console.log("sdk blocked"),Promise.resolve();window.loomi_ctx.sdk_version="0.14.0";const{storeAlias:i,env:s}=window.loomi_ctx,c=ti();return Promise.resolve(c?Promise.resolve(function(){try{let t;function e(e){return t?e:window.loomi_ctx.consent.allowed?ei():(Rn(),!0)}const n=Zo(function(){return Promise.resolve((console.log("consent api init"),new Promise((e,t)=>{const n=window.loomi_ctx.consent||={};n.init=Vo(),(E(()=>Ho().analyticsProcessingAllowed)?Promise.resolve():y(()=>E(()=>Ho().analyticsProcessingAllowed),50,200)).then(()=>{const n=window.Shopify.customerPrivacy.analyticsProcessingAllowed();console.log("consent api",n),Jo(n),n?e():t()}),n.ccListener||(document.addEventListener("visitorConsentCollected",()=>{const n=window.Shopify.customerPrivacy.analyticsProcessingAllowed();console.log("visitorConsentCollected",n),Jo(n),n?e():t()}),n.ccListener=!0)}))).then(function(){})},function(){return Rn(),t=!0});return Promise.resolve(n&&n.then?n.then(e):e(n))}catch(r){return Promise.reject(r)}}()).then(t):t(ei()))}catch(a){return Promise.reject(a)}};function ei(){if(E(vo),Xt(),p())return function(e){void 0===e&&(e=window.loomi_ctx.embeddedTests);try{if(!e)return;if(0===e.length)return;const t=e.filter(e=>e.experiment.isThemeTest);t.length>0&&function(e){const t=Fo(e);let n=qo(t,e);if(n=Bo(n,e),!n)return;if(!n.experiment)return;
51Mo(t,n);const r=n.experiment,o=E(()=>r.code.find(e=>"themeTest"===e.kind).value.targetThemeId)||0,i=oe({experienceId:r.name,variantId:r.variant,version:r.version,gaExperienceName:r.gaName,gaVariantName:r.gaVariant});Ro(i,Xt(),E(()=>!!r.ga)||!1),Ae(i,o)}(t);const n=e.filter(e=>!e.experiment.isThemeTest);n.length>0&&function(e){const t=e.filter(e=>function(e){if(!e)return!0;try{const t=e.match(/UrlTarget\(([^)]+)\)/);if(!t)return!1;const n=function(e){try{const t=e.match(/^"([^"]*)",\s*"([^"]*)",\s*(true|false)$/);return t?{value:t[1],op:t[2],includeQueryParam:"true"===t[3]}:null}catch{return null}}(t[1]);return!!n&&function(e,t,n){const r=window.location.search||"",o=window.location.href||"",i=(s=function(e){const t=e.startsWith("/")?e:"/"+e,n=t.split("/");if(n.length<2)return t;const r=n[1];let o=!1;return r.length>0&&r.length<=7&&(2===r.length||r.length>2&&"-"===r[2])&&(o=!0),o?"/"+n.slice(2).join("/"):t}(window.location.pathname),["STORY_IL","MAYVEN_GLOBAL","JDSPORT_IL"].includes(window.loomi_ctx.storeAlias)?s.toLowerCase():s);var s;const{hostPath:c,rawQuery:a}=function(e){const t=xo(e),n=t.indexOf("?");return-1!==n?{hostPath:t.substring(0,n),rawQuery:t.substring(n+1)}:{hostPath:t,rawQuery:""}}(e),u=c.toLowerCase();let l=xo(o.split("?")[0]).toLowerCase(),d="",m=u;if(d=(new URL(o).host+i).toLowerCase(),n){const e=r?Co(r.substring(1)):"";if(e&&(l+="?"+e,d+="?"+e),a){const e=Co(a);e&&(m+="?"+e)}}return function(e,t,n,r){switch(r){case"contains":return e.includes(n)||t.includes(n);case"matches":try{const r=new RegExp(n);return r.test(e)||r.test(t)}catch{return!1}case"==":return e===n||t===n;case"!=":return e===t?e!==n:t!==n;default:return!1}}(l,d,m,t)}(n.value,n.op,n.includeQueryParam)}catch(e){return console.error("vsly: Failed to evaluate targeting formula",e),!1}}(e.targeting.formula));if(0===t.length)return;const n=Fo(t);let r=qo(n,t);if(r=Bo(r,t),!r)return;if(!r.experiment)return;Mo(n,r);const o=r.experiment,i=oe({experienceId:o.name,variantId:o.variant,version:o.version,gaExperienceName:o.gaName,gaVariantName:o.gaVariant});Ro(i,Xt(),E(()=>!!o.ga)||!1);const s=E(()=>o.code.find(e=>"pageRedirect"===e.kind).value);s&&ne(i,s.destUrl,s.redirectAfter||1,s.retainQueryParams,s.stickinessMode)}(n)}catch(e){console.error("vsly ETT",e)}}(),window.vsly_redirecting}const ti=()=>window.loomi_ctx.blockingConcent,ni=()=>new Set(window.loomi_ctx?.embeddedTests?.map(e=>e?.experiment?.name).filter(Boolean)||[]);var ri;(ri=function(e){let{configuration:t,tracking:n}=e;try{return Promise.resolve(function(e,t){try{const{storeAlias:n,env:r}=window.loomi_ctx;return Promise.resolve(Zo(function(){return Promise.resolve(Po(e,n,r,t)).then(function(e){let{jitsu:t,configuration:o}=e;if(!E(()=>o.flags["kill-switch"]))return Promise.resolve(He()).then(function(){dn(o.experiments),Hr(t,o),Qn(r,n,go),ht()})})},function(e){E(()=>e.message)!==Jn&&J("fail initialising sdk",e)}))}catch(e){return Promise.reject(e)}}(t,n)).then(function(){window.dispatchEvent(new Event("visually_loaded"))})}catch(e){return Promise.reject(e)}},h("is-debounce-init")?window.loomi_ctx.bootstrapPromise||(window.loomi_ctx.bootstrapPromise=Xo(ri).finally(()=>delete window.loomi_ctx.bootstrapPromise)):Xo(ri)).then(()=>console.log("vsly sdk with embed init"))}(); 52 53</script>
vendor: 1 bytes, line 53
53
54<script data-vsly="preact2" type="text/javascript" data-em-disable> 55 // Preact 56!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):n(e.preact={})}(this,function(e){var b,n,t,_,o,r,l,x={},C=[],u=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function w(e,n){for(var t in n)e[t]=n[t];return e}function g(e){var n=e.parentNode;n&&n.removeChild(e)}function i(e,n,t){var _,o=arguments,l={};for(_ in n)"key"!==_&&"ref"!==_&&(l[_]=n[_]);if(3<arguments.length)for(t=[t],_=3;_<arguments.length;_++)t.push(o[_]);if(null!=t&&(l.children=t),"function"==typeof e&&null!=e.defaultProps)for(_ in e.defaultProps)void 0===l[_]&&(l[_]=e.defaultProps[_]);return k(e,l,n&&n.key,n&&n.ref,null)}function k(e,n,t,_,o){var l={type:e,props:n,key:t,ref:_,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:o};return null==o&&(l.__v=l),b.vnode&&b.vnode(l),l}function S(e){return e.children}function P(e,n){this.props=e,this.context=n}function N(e,n){if(null==n)return e.__?N(e.__,e.__.__k.indexOf(e)+1):null;for(var t;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e)return t.__e;return"function"==typeof e.type?N(e):null}function c(e){var n,t;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,n=0;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e){e.__e=e.__c.base=t.__e;break}return c(e)}}function s(e){(!e.__d&&(e.__d=!0)&&t.push(e)&&!p.__r++||o!==b.debounceRendering)&&((o=b.debounceRendering)||_)(p)}function p(){for(var e;p.__r=t.length;)e=t.sort(function(e,n){return e.__v.__b-n.__v.__b}),t=[],e.some(function(e){var n,t,_,o,l,r,u;e.__d&&(r=(l=(n=e).__v).__e,(u=n.__P)&&(t=[],o=D(u,l,(_=w({},l)).__v=_,n.__n,void 0!==u.ownerSVGElement,null,t,null==r?N(l):r),d(t,l),o!=r&&c(l)))})}function E(e,n,t,_,o,l,r,u,i,c){var s,p,f,a,d,h,y,v=_&&_.__k||C,m=v.length;for(i==x&&(i=null!=r?r[0]:m?N(_,0):null),t.__k=[],s=0;s<n.length;s++)if(null!=(a=t.__k[s]=null==(a=n[s])||"boolean"==typeof a?null:"string"==typeof a||"number"==typeof a?k(null,a,null,null,a):Array.isArray(a)?k(S,{children:a},null,null,null):null!=a.__e||null!=a.__c?k(a.type,a.props,a.key,null,a.__v):a)){if(a.__=t,a.__b=t.__b+1,null===(f=v[s])||f&&a.key==f.key&&a.type===f.type)v[s]=void 0;else for(p=0;p<m;p++){if((f=v[p])&&a.key==f.key&&a.type===f.type){v[p]=void 0;break}f=null}d=D(e,a,f=f||x,o,l,r,u,i,c),(p=a.ref)&&f.ref!=p&&(y=y||[],f.ref&&y.push(f.ref,null,a),y.push(p,a.__c||d,a)),null!=d?(null==h&&(h=d),i=U(e,a,f,v,r,d,i),"option"==t.type?e.value="":"function"==typeof t.type&&(t.__d=i)):i&&f.__e==i&&i.parentNode!=e&&(i=N(f))}if(t.__e=h,null!=r&&"function"!=typeof t.type)for(s=r.length;s--;)null!=r[s]&&g(r[s]);for(s=m;s--;)null!=v[s]&&W(v[s],v[s]);if(y)for(s=0;s<y.length;s++)T(y[s],y[++s],y[++s])}function U(e,n,t,_,o,l,r){var u,i,c;if(void 0!==n.__d)u=n.__d,n.__d=void 0;else if(o==t||l!=r||null==l.parentNode)e:if(null==r||r.parentNode!==e)e.appendChild(l),u=null;else{for(i=r,c=0;(i=i.nextSibling)&&c<_.length;c+=2)if(i==l)break e;e.insertBefore(l,r),u=r}return void 0!==u?u:l.nextSibling}function f(e,n,t){"-"===n[0]?e.setProperty(n,t):e[n]="number"==typeof t&&!1===u.test(n)?t+"px":null==t?"":t}function A(e,n,t,_,o){var l,r,u,i,c;if(o?"className"===n&&(n="class"):"class"===n&&(n="className"),"style"===n)if(l=e.style,"string"==typeof t)l.cssText=t;else{if("string"==typeof _&&(l.cssText="",_=null),_)for(i in _)t&&i in t||f(l,i,"");if(t)for(c in t)_&&t[c]===_[c]||f(l,c,t[c])}else"o"===n[0]&&"n"===n[1]?(r=n!==(n=n.replace(/Capture$/,"")),n=((u=n.toLowerCase())in e?u:n).slice(2),t?(_||e.addEventListener(n,a,r),(e.l||(e.l={}))[n]=t):e.removeEventListener(n,a,r)):"list"!==n&&"tagName"!==n&&"form"!==n&&"type"!==n&&"size"!==n&&!o&&n in e?e[n]=null==t?"":t:"function"!=typeof t&&"dangerouslySetInnerHTML"!==n&&(n!==(n=n.replace(/^xlink:?/,""))?null==t||!1===t?e.removeAttributeNS("http://www.w3.org/1999/xlink",n.toLowerCase()):e.setAttributeNS("http://www.w3.org/1999/xlink",n.toLowerCase(),t):null==t||!1===t&&!/^ar/.test(n)?e.removeAttribute(n):e.setAttribute(n,t))}function a(e){this.l[e.type](b.event?b.event(e):e)}function D(e,n,t,_,o,l,r,u,i){var c,s,p,f,a,d,h,y,v,m,g,k=n.type;if(void 0!==n.constructor)return null;(c=b.__b)&&c(n);try{e:if("function"==typeof k){if(y=n.props,v=(c=k.contextType)&&_[c.__c],m=c?v?v.props.value:c.__:_,t.__c?h=(s=n.__c=t.__c).__=s.__E:("prototype"in k&&k.prototype.render?n.__c=s=new k(y,m):(n.__c=s=new P(y,m),s.constructor=k,s.render=L),v&&v.sub(s),s.props=y,s.state||(s.state={}),s.context=m,s.__n=_,p=s.__d=!0,s.__h=[]),null==s.__s&&(s.__s=s.state),null!=k.getDerivedStateFromProps&&(s.__s==s.state&&(s.__s=w({},s.__s)),w(s.__s,k.getDerivedStateFromProps(y,s.__s))),f=s.props,a=s.state,p)null==k.getDerivedStateFromProps&&null!=s.componentWillMount&&s.componentWillMount(),null!=s.componentDidMount&&s.__h.push(s.componentDidMount);else{if(null==k.getDerivedStateFromProps&&y!==f&&null!=s.componentWillReceiveProps&&s.componentWillReceiveProps(y,m),!s.__e&&null!=s.shouldComponentUpdate&&!1===s.shouldComponentUpdate(y,s.__s,m)||n.__v===t.__v){s.props=y,s.state=s.__s,n.__v!==t.__v&&(s.__d=!1),(s.__v=n).__e=t.__e,n.__k=t.__k,s.__h.length&&r.push(s),function e(n,t,_){for(var o,l=0;l<n.__k.length;l++)(o=n.__k[l])&&(o.__=n,o.__e&&("function"==typeof o.type&&1<o.__k.length&&e(o,t,_),t=U(_,o,o,n.__k,null,o.__e,t),"function"==typeof n.type&&(n.__d=t)))}(n,u,e);break e}null!=s.componentWillUpdate&&s.componentWillUpdate(y,s.__s,m),null!=s.componentDidUpdate&&s.__h.push(function(){s.componentDidUpdate(f,a,d)})}s.context=m,s.props=y,s.state=s.__s,(c=b.__r)&&c(n),s.__d=!1,s.__v=n,s.__P=e,c=s.render(s.props,s.state,s.context),s.state=s.__s,null!=s.getChildContext&&(_=w(w({},_),s.getChildContext())),p||null==s.getSnapshotBeforeUpdate||(d=s.getSnapshotBeforeUpdate(f,a)),g=null!=c&&c.type==S&&null==c.key?c.props.children:c,E(e,Array.isArray(g)?g:[g],n,t,_,o,l,r,u,i),s.base=n.__e,s.__h.length&&r.push(s),h&&(s.__E=s.__=null),s.__e=!1}else null==l&&n.__v===t.__v?(n.__k=t.__k,n.__e=t.__e):n.__e=function(e,n,t,_,o,l,r,u){var i,c,s,p,f,a=t.props,d=n.props;if(o="svg"===n.type||o,null!=l)for(i=0;i<l.length;i++)if(null!=(c=l[i])&&((null===n.type?3===c.nodeType:c.localName===n.type)||e==c)){e=c,l[i]=null;break}
56if(null==e){if(null===n.type)return document.createTextNode(d);e=o?document.createElementNS("http://www.w3.org/2000/svg",n.type):document.createElement(n.type,d.is&&{is:d.is}),l=null,u=!1}if(null===n.type)a!==d&&e.data!=d&&(e.data=d);else{if(null!=l&&(l=C.slice.call(e.childNodes)),s=(a=t.props||x).dangerouslySetInnerHTML,p=d.dangerouslySetInnerHTML,!u){if(null!=l)for(a={},f=0;f<e.attributes.length;f++)a[e.attributes[f].name]=e.attributes[f].value;(p||s)&&(p&&s&&p.__html==s.__html||(e.innerHTML=p&&p.__html||""))}(function(e,n,t,_,o){var l;for(l in t)"children"===l||"key"===l||l in n||A(e,l,null,t[l],_);for(l in n)o&&"function"!=typeof n[l]||"children"===l||"key"===l||"value"===l||"checked"===l||t[l]===n[l]||A(e,l,n[l],t[l],_)})(e,d,a,o,u),p?n.__k=[]:(i=n.props.children,E(e,Array.isArray(i)?i:[i],n,t,_,"foreignObject"!==n.type&&o,l,r,x,u)),u||("value"in d&&void 0!==(i=d.value)&&i!==e.value&&A(e,"value",i,a.value,!1),"checked"in d&&void 0!==(i=d.checked)&&i!==e.checked&&A(e,"checked",i,a.checked,!1))}return e}(t.__e,n,t,_,o,l,r,i);(c=b.diffed)&&c(n)}catch(e){n.__v=null,b.__e(e,n,t)}return n.__e}function d(e,n){b.__c&&b.__c(n,e),e.some(function(n){try{e=n.__h,n.__h=[],e.some(function(e){e.call(n)})}catch(e){b.__e(e,n.__v)}})}function T(e,n,t){try{"function"==typeof e?e(n):e.current=n}catch(e){b.__e(e,t)}}function W(e,n,t){var _,o,l;if(b.unmount&&b.unmount(e),(_=e.ref)&&(_.current&&_.current!==e.__e||T(_,null,n)),t||"function"==typeof e.type||(t=null!=(o=e.__e)),e.__e=e.__d=void 0,null!=(_=e.__c)){if(_.componentWillUnmount)try{_.componentWillUnmount()}catch(e){b.__e(e,n)}
56_.base=_.__P=null}if(_=e.__k)for(l=0;l<_.length;l++)_[l]&&W(_[l],n,t);null!=o&&g(o)}function L(e,n,t){return this.constructor(e,t)}function h(e,n,t){var _,o,l;b.__&&b.__(e,n),o=(_=t===r)?null:t&&t.__k||n.__k,e=i(S,null,[e]),l=[],D(n,(!_&&t||n).__k=e,o||x,x,void 0!==n.ownerSVGElement,t&&!_?[t]:!o&&n.childNodes.length?C.slice.call(n.childNodes):null,l,t||x,_),d(l,e)}b={__e:function(e,n){for(var t,_;n=n.__;)if((t=n.__c)&&!t.__)try{if(t.constructor&&null!=t.constructor.getDerivedStateFromError&&(_=!0,t.setState(t.constructor.getDerivedStateFromError(e))),null!=t.componentDidCatch&&(_=!0,t.componentDidCatch(e)),_)return s(t.__E=t)}catch(n){e=n}throw e}},n=function(e){return null!=e&&void 0===e.constructor},P.prototype.setState=function(e,n){var t=this.__s!==this.state?this.__s:this.__s=w({},this.state);"function"==typeof e&&(e=e(t,this.props)),e&&w(t,e),null!=e&&this.__v&&(n&&this.__h.push(n),s(this))},P.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),s(this))},P.prototype.render=S,t=[],_="function"==typeof Promise?Promise.prototype.then.bind(Prom
56ise.resolve()):setTimeout,p.__r=0,r=x,l=0,e.render=h,e.hydrate=function(e,n){h(e,n,r)},e.createElement=i,e.h=i,e.Fragment=S,e.createRef=function(){return{current:null}},e.isValidElement=n,e.Component=P,e.cloneElement=function(e,n){var t,_;for(_ in n=w(w({},e.props),n),2<arguments.length&&(n.children=C.slice.call(arguments,2)),t={},n)"key"!==_&&"ref"!==_&&(t[_]=n[_]);return k(e.type,t,n.key||e.key,n.ref||e.ref,null)},e.createContext=function(e){var n={},o={__c:"__cC"+l++,__:e,Consumer:function(e,n){return e.children(n)},Provider:function(e){var t,_=this;return this.getChildContext||(t=[],this.getChildContext=function(){return n[o.__c]=_,n},this.shouldComponentUpdate=function(n){_.props.value!==n.value&&t.some(function(e){e.context=n.value,s(e)})},this.sub=function(e){t.push(e);var n=e.componentWillUnmount;e.componentWillUnmount=function(){t.splice(t.indexOf(e),1),n&&n.call(e)}}),e.children}};return(o.Consumer.contextType=o).Provider.__=o},e.toChildArray=function e(n){return null==n||"boolean"==typeof n?[]:Array.isArray(n)?C.concat.apply([],n.map(e)):[n]},e.__u=W,e.options=b}); 57// Preact Hooks 58!function(_,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("preact")):n(_.preactHooks={},_.preact)}(this,function(_,o){var e,u,t,i=0,r=[],c=o.options.__r,f=o.options.diffed,n=o.options.__c,s=o.options.unmount;function a(_,n){o.options.__h&&o.options.__h(u,_,i||n),i=0;var t=u.__H||(u.__H={__:[],__h:[]});return _>=t.__.length&&t.__.push({}),t.__[_]}function p(_){return i=1,h(b,_)}function h(_,n,t){var o=a(e++,2);return o.t=_,o.__c||(o.__c=u,o.__=[t?t(n):b(void 0,n),function(_){var n=o.t(o.__[0],_);o.__[0]!==n&&(o.__=[n,o.__[1]],o.__c.setState({}))}]),o.__}function m(_,n){var t=a(e++,4);!o.options.__s&&E(t.__H,n)&&(t.__=_,t.__H=n,u.__h.push(t))}function v(_,n){var t=a(e++,7);return E(t.__H,n)?(t.__H=n,t.__h=_,t.__=_()):t.__}function H(){r.some(function(n){if(n.__P)try{n.__H.__h.forEach(l),n.__H.__h.forEach(y),n.__H.__h=[]}catch(_){return n.__H.__h=[],o.options.__e(_,n.__v),!0}}),r=[]}o.options.__r=function(_){c&&c(_),e=0;var n=(u=_.__c).__H;n&&(n.__h.forEach(l),n.__h.forEach(y),n.__h=[])},o.options.diffed=function(_){f&&f(_);var n=_.__c;n&&n.__H&&n.__H.__h.length&&(1!==r.push(n)&&t===o.options.requestAnimationFrame||((t=o.options.requestAnimationFrame)||function(_){function n(){clearTimeout(o),d&&cancelAnimationFrame(t),setTimeout(_)}var t,o=setTimeout(n,100);d&&(t=requestAnimationFrame(n))})(H))},o.options.__c=function(_,t){t.some(function(n){try{n.__h.forEach(l),n.__h=n.__h.filter(function(_){return!_.__||y(_)})}catch(_){t.some(function(_){_.__h&&(_.__h=[])}),t=[],o.options.__e(_,n.__v)}}),n&&n(_,t)},o.options.unmount=function(_){s&&s(_);var n=_.__c;if(n&&n.__H)try{n.__H.__.forEach(l)}catch(_){o.options.__e(_,n.__v)}};var d="function"==typeof requestAnimationFrame;function l(_){"function"==typeof _.u&&_.u()}function y(_){_.u=_.__()}function E(t,_){return!t||_.some(function(_,n){return _!==t[n]})}function b(_,n){return"function"==typeof n?n(_):n}_.useState=p,_.useReducer=h,_.useEffect=function(_,n){var t=a(e++,3);!o.options.__s&&E(t.__H,n)&&(t.__=_,t.__H=n,u.__H.__h.push(t))},_.useLayoutEffect=m,_.useRef=function(_){return i=5,v(function(){return{current:_}},[])},_.useImperativeHandle=function(_,n,t){i=6,m(function(){"function"==typeof _?_(n()):_&&(_.current=n())},null==t?t:t.concat(_))},_.useMemo=v,_.useCallback=function(_,n){return i=8,v(function(){return _},n)},_.useContext=function(_){var n=u.context[_.__c],t=a(e++,9);return t.__c=_,n?(null==t.__&&(t.__=!0,n.sub(u)),n.props.value):_.__},_.useDebugValue=function(_,n){o.options.useDebugValue&&o.options.useDebugValue(n?n(_):_)},_.useErrorBoundary=function(_){var n=a(e++,10),t=p();return n.__=_,u.componentDidCatch||(u.componentDidCatch=function(_){n.__&&n.__(_),t[1](_)}),[t[0],function(){t[1](void 0)}]}}); 59// Preact Compat 60!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("preact/hooks"),require("preact")):t(e.compat={},e.preactHooks,e.preact)}(this,function(t,n,u){function r(e,t){for(var n in t)e[n]=t[n];return e}function i(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var o in t)if("__source"!==o&&e[o]!==t[o])return!0;return!1}var o,e,a,l=(o=u.Component,a=o,(e=c).prototype=Object.create(a.prototype),(e.prototype.constructor=e).__proto__=a,c.prototype.shouldComponentUpdate=function(e,t){return i(this.props,e)||i(this.state,t)},c);function c(e){var t;return(t=o.call(this,e)||this).isPureReactComponent=!0,t}function p(t,o){function n(e){var t=this.props.ref,n=t==e.ref;return!n&&t&&(t.call?t(null):t.current=null),o?!o(this.props,e)||!n:i(this.props,e)}function e(e){return this.shouldComponentUpdate=n,u.createElement(t,e)}return e.prototype.isReactComponent=!0,e.displayName="Memo("+(t.displayName||t.name)+")",e.t=!0,e}var f=u.options.__b;u.options.__b=function(e){e.type&&e.type.t&&e.ref&&(e.props.ref=e.ref,e.ref=null),f&&f(e)};var s="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function d(o){function e(e,t){var n=r({},e);return delete n.ref,o(n,(t=e.ref||t)&&("object"!=typeof t||"current"in t)?t:null)}return e.$$typeof=s,(e.render=e).prototype.isReactComponent=e.t=!0,e.displayName="ForwardRef("+(o.displayName||o.name)+")",e}function _(e,o){return e?u.toChildArray(e).reduce(function(e,t,n){return e.concat(o(t,n))},[]):null}var h={map:_,forEach:_,count:function(e){return e?u.toChildArray(e).length:0},only:function(e){if(1!==(e=u.toChildArray(e)).length)throw new Error("Children.only() expects only one child.");return e[0]},toArray:u.toChildArray},m=u.options.__e;function v(e){return e&&((e=r({},e)).__c=null,e.__k=e.__k&&e.__k.map(v)),e}function y(){this.__u=0,this.u=null,this.__b=null}function C(e){var t=e.__.__c;return t&&t.o&&t.o(e)}function b(t){var n,o,r;function e(e){if(n||(n=t()).then(function(e){o=e.default||e},function(e){r=e}),r)throw r;if(!o)throw n;return u.createElement(o,e)}return e.displayName="Lazy",e.t=!0,e}function k(){this.i=null,this.l=null}u.options.__e=function(e,t,n){if(e.then)for(var o,r=t;r=r.__;)if((o=r.__c)&&o.__c)return o.__c(e,t.__c);m(e,t,n)},(y.prototype=new u.Component).__c=function(e,t){var n=this;null==n.u&&(n.u=[]),n.u.push(t);function o(){i||(i=!0,r?r(u):u())}var r=C(n.__v),i=!1;t.__c=t.componentWillUnmount,t.componentWillUnmount=function(){o(),t.__c&&t.__c()};var u=function(){var e;if(!--n.__u)for(n.__v.__k[0]=n.state.o,n.setState({o:n.__b=null});e=n.u.pop();)e.forceUpdate()};n.__u++||n.setState({o:n.__b=n.__v.__k[0]}),e.then(o,o)},y.prototype.render=function(e,t){return this.__b&&(this.__v.__k&&
60(this.__v.__k[0]=v(this.__b)),this.__b=null),[u.createElement(u.Fragment,null,t.o?null:e.children),t.o&&e.fallback]};function g(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.l.size))for(n=e.i;n;){for(;3<n.length;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}}(k.prototype=new u.Component).o=function(n){var o=this,r=C(o.__v),i=o.l.get(n);return i[0]++,function(e){function t(){o.props.revealOrder?(i.push(e),g(o,n,i)):e()}r?r(t):t()}},k.prototype.render=function(e){this.i=null,this.l=new Map;var t=u.toChildArray(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},k.prototype.componentDidUpdate=k.prototype.componentDidMount=function(){var n=this;n.l.forEach(function(e,t){g(n,t,e)})};var E,N=((E=S.prototype).getChildContext=function(){return this.props.context},E.render=function(e){return e.children},S);function S(){}function x(e){var t=this,n=e.container,o=u.createElement(N,{context:t.context},e.vnode);return t.s&&t.s!==n&&(t.h.parentNode&&t.s.removeChild(t.h),u.__u(t.v),t.p=!1),e.vnode?t.p?(n.__k=t.__k,u.render(o,n),t.__k=n.__k):(t.h=document.createTextNode(""),u.hydrate("",n),n.appendChild(t.h),t.p=!0,t.s=n,u.render(o,n,t.h),t.__k=t.h.__k):t.p&&(t.h.parentNode&&t.s.removeChild(t.h),u.__u(t.v)),t.v=o,t.componentWillUnmount=function(){t.h.parentNode&&t.s.removeChild(t.h),u.__u(t.v)},null}function w(e,t){return u.createElement(x,{vnode:e,container:t})}var A=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/;u.Component.prototype.isReactComponent={};var R="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;function U(e,t,n){if(null==t.__k)for(;t.firstChild;)t.removeChild(t.firstChild);return u.render(e,t),"function"==typeof n&&n(),e?e.__c:null}function P(e,t,n){return u.hydrate(e,t),"function"==typeof n&&n(),e?e.__c:null}var F=u.options.event;function O(e,t){e["UNSAFE_"+t]&&!e[t]&&Object.defineProperty(e,t,{configurable:!1,get:function(){return this["UNSAFE_"+t]}
60,set:function(e){this["UNSAFE_"+t]=e}})}u.options.event=function(e){F&&(e=F(e));var t=!(e.persist=function(){}),n=!1,o=e.stopPropagation;e.stopPropagation=function(){o.call(e),t=!0};var r=e.preventDefault;return e.preventDefault=function(){r.call(e),n=!0},e.isPropagationStopped=function(){return t},e.isDefaultPrevented=function(){return n},e.nativeEvent=e};var L={configurable:!0,get:function(){return this.class}},M=u.options.vnode;function D(e){return u.createElement.bind(null,e)}function V(e){return!!e&&e.$$typeof===R}function W(e){return V(e)?u.cloneElement.apply(null,arguments):e}function $(e){return!!e.__k&&(u.render(null,e),!0)}function j(e){return e&&(e.base||1===e.nodeType&&e)||null}u.options.vnode=function(i){i.$$typeof=R;var e,t,n,o=i.type,r=i.props;if(o){if(r.class!=r.className&&(L.enumerable="className"in r,null!=r.className&&(r.class=r.className),Object.defineProperty(r,"className",L)),"function"!=typeof o){for(n in r.defaultValue&&void 0!==r.value&&(r.value||0===r.value||(r.value=r.defaultValue),delete r.defaultValue),Array.isArray(r.value)&&r.multiple&&"select"===o&&(u.toChildArray(r.children).forEach(function(e){-1!=r.value.indexOf(e.props.value)&&(e.props.selected=!0)}),delete r.value),r)if(e=A.test(n))break;if(e)for(n in t=i.props={},r)t[A.test(n)?n.replace(/[A-Z0-9]/,"-$&").toLowerCase():n]=r[n]}!function(){var e=i.type,t=i.props;if(t&&"string"==typeof e){var n,o={};for(var r in t)/^on(Ani|Tra|Tou)/.test(r)&&(t[r.toLowerCase()]=t[r],delete t[r]),o[r.toLowerCase()]=r;o.ondoubleclick&&(t.ondblclick=t[o.ondoubleclick],delete t[o.ondoubleclick]),o.onbeforeinput&&(t.onbeforeinput=t[o.onbeforeinput],delete t[o.onbeforeinput]),o.onchange&&("textarea"===e||"input"===e.toLowerCase()&&!/^fil|che|ra/i.test(t.type))&&(t[n=o.oninput||"oninput"]||(t[n]=t[o.onchange],delete t[o.onchange]))}}(),"function"==typeof o&&!o.m&&o.prototype&&(O(o.prototype,"componentWillMount"),O(o.prototype,"componentWillReceiveProps"),O(o.prototype,"componentWillUpdate"),o.m=!0)}M&&M(i)};function z(e,t){return e(t)}var H=u.Fragment,T={useState:n.useState,useReducer:n.useReducer,useEffect:n.useEffect,useLayoutEffect:n.useLayoutEffect,useRef:n.useRef,useImperativeHandle:n.useImperativeHandle,useMemo:n.useMemo,useCallback:n.useCallback,useContext:n.useContext,useDebugValue:n.useDebugValue,version:"16.8.0",Children:h,render:U,hydrate:P,unmountComponentAtNode:$,createPortal:w,createElement:u.createElement,createContext:u.createContext,createFactory:D,cloneElement:W,createRef:u.createRef,Fragment:u.Fragment,isValidElement:V,findDOMNode:j,Component:u.Component,PureComponent:l,memo:p,forwardRef:d,unstable_batchedUpdates:z,StrictMode:H,Suspense:y,SuspenseList:k,lazy:b};Object.keys(n).forEach(function(e){t[e]=n[e]}),t.createElement=u.createElement,t.createContext=u.createContext,t.createRef=u.createRef,t.Fragment=u.Fragment,t.Component=u.Component,t.version="16.8.0",t.Children=h,t.render=U,t.hydrate=P,t.unmountComponentAtNode=$,t.createPortal=w,t.createFactory=D,t.cloneElement=W,t.isValidElement=V,t.findDOMNode=j,t.PureComponent=l,t.memo=p,t.forwardRef=d,t.unstable_batchedUpdates=z,t.StrictMode=H,t.Suspense=y,t.SuspenseList=k,t.lazy=b,t.default=T}); 61// Goober 62!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):t((e||self).goober={})}(this,function(e){let t={data:""},r=e=>"object"==typeof window?((e?e.querySelector("#_goober"):window._goober)||Object.assign((e||document.head).appendChild(document.createElement("style")),{innerHTML:" ",id:"_goober"})).firstChild:e||t,l=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,n=/\/\*[^]*?\*\/| +/g,o=/\n+/g,a=(e,t)=>{let r="",l="",n="";for(let o in e){let s=e[o];"@"==o[0]?"i"==o[1]?r=o+" "+s+";":l+="f"==o[1]?a(s,o):o+"{"+a(s,"k"==o[1]?"":t)+"}":"object"==typeof s?l+=a(s,t?t.replace(/([^,])+/g,e=>o.replace(/(^:.*)|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+" "+t:t)):o):null!=s&&(o=/^--/.test(o)?o:o.replace(/[A-Z]/g,"-$&").toLowerCase(),n+=a.p?a.p(o,s):o+":"+s+";")}return r+(t&&n?t+"{"+n+"}":n)+l},s={},i=e=>{if("object"==typeof e){let t="";for(let r in e)t+=r+i(e[r]);return t}return e},c=(e,t,r,c,f)=>{let p=i(e),u=s[p]||(s[p]=(e=>{let t=0,r=11;for(;t<e.length;)r=101*r+e.charCodeAt(t++)>>>0;return"go"+r})(p));if(!s[u]){let t=p!==e?e:(e=>{let t,r,a=[{}];for(;t=l.exec(e.replace(n,""));)t[4]?a.shift():t[3]?(r=t[3].replace(o," ").trim(),a.unshift(a[0][r]=a[0][r]||{})):a[0][t[1]]=t[2].replace(o," ").trim();return a[0]})(e);
62s[u]=a(f?{["@keyframes "+u]:t}:t,r?"":"."+u)}return((e,t,r)=>{-1==t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e)})(s[u],t,c),u},f=(e,t,r)=>e.reduce((e,l,n)=>{let o=t[n];if(o&&o.call){let e=o(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;o=t?"."+t:e&&"object"==typeof e?e.props?"":a(e,""):!1===e?"":e}return e+l+(null==o?"":o)},"");function p(e){let t=this||{},l=e.call?e(t.p):e;return c(l.unshift?l.raw?f(l,[].slice.call(arguments,1),t.p):l.reduce((e,r)=>Object.assign(e,r&&r.call?r(t.p):r),{}):l,r(t.target),t.g,t.o,t.k)}let u,d,g,b=p.bind({g:1}),h=p.bind({k:1});e.css=p,e.extractCss=e=>{let t=r(e),l=t.data;return t.data="",l},e.glob=b,e.keyframes=h,e.setup=function(e,t,r,l){a.p=t,u=e,d=r,g=l},e.styled=function(e,t){let r=this||{};return function(){let l=arguments;function n(o,a){let s=Object.assign({},o),i=s.className||n.className;r.p=Object.assign({theme:d&&d()},s),r.o=/ *go\d+/.test(i),s.className=p.apply(r,l)+(i?" "+i:""),t&&(s.ref=a);let c=e;return e[0]&&(c=s.as||e,delete s.as),g&&c[0]&&g(s),u(c,s)}return t?t(n):n}}}); 63 64</script>
64 65<!--LOOMI SDK--> 66 67 68 69
69<script type="text/javascript" async src="https://na.shgcdn3.com/pixel-collector.js"></script>
69 70 <meta charset="UTF-8">
70<script> 71 function getCookieValue(e) { 72 const t = document.cookie.split('; '); 73 for (let o of t) { 74 const [t, c] = o.split('='); 75 if (t === e) return decodeURIComponent(c); 76 } 77 return null; 78 } 79 80 const pieEyeConsentValue = getCookieValue('PieEyeConsent'), 81 ALL_CATEGORYMAPPING_CONSENT = pieEyeConsentValue ? JSON.parse(pieEyeConsentValue) : void 0, 82 blockedScriptCategoryList = {"pieeye-category-necessary":["https:\/\/beacon.riskified.com"],"pieeye-category-functional":["https:\/\/swymv3premium-01.azureedge.net\/code\/swym-shopify.js","https:\/\/na.shgcdn3.com\/pixel-collector.js","https:\/\/cdn.attn.tv\/untuckit\/dtag.js","https:\/\/dr4qe3ddw9y32.cloudfront.net\/awin-shopify-integration-code.js","https:\/\/cdn.shopify.com\/proxy\/23a43a2d3447272fe96620df569cfa7b44709ced674b93f07d46afb8a23cc28d\/apps.bazaarvoice.com\/deployments\/untuckit\/main_site\/production\/en_US\/bv.js","https:\/\/app.backinstock.org\/widget\/17055_1746004767.js","https:\/\/muqit.untuckit.com"],"pieeye-category-targeting-analytics":[],"pieeye-category-preferences":[],"pieeye-category-performance":[],"pieeye-category-unclassified":[]} || {}; 83 let blockedScriptObj = {}; 84 if (ALL_CATEGORYMAPPING_CONSENT) 85 for (const e in blockedScriptCategoryList) 86 0 === ALL_CATEGORYMAPPING_CONSENT[e] && blockedScriptCategoryList[e] && blockedScriptCategoryList[e].length && (blockedScriptObj[e] = blockedScriptCategoryList[e]); 87 else blockedScriptObj = blockedScriptCategoryList; 88 function blockScriptInDOM(e) { 89 let alreadyBlockedUrls = []; 90 const t = Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype, 'src').set; 91 Object.defineProperty(HTMLScriptElement.prototype, 'src', { 92 set: function (o) { 93 const oStr = o.toString(); // the type can be a TrustedScriptURL at times 94 let pieeyeCategory = ""; 95 // this assumes that when a script is re-loaded on site, that its consent category has been approved 96 // will need to re-work if this turns out to be incorrect 97 if (alreadyBlockedUrls.includes(oStr)) { 98 console.warn("Reapplying blocked script due to change in consent", o); 99 return t.call(this, o); 100 } 101 Object.entries(e).forEach(([key, value]) => { 102 if (value.some(url => oStr.includes(url))) { 103 pieeyeCategory = key; 104 alreadyBlockedUrls.push(oStr); 105 } 106 }); 107 pieeyeCategory ? ( 108 console.warn('[Blocked Script from Pieeye]:', o), 109 this.classList.add(pieeyeCategory), 110 this.type="text/plain", 111 t.call(this, o)) 112 : t.call(this, o); 113 }, 114 get: function () { 115 return this.getAttribute('src'); 116 }, 117 }); 118 } 119 blockScriptInDOM(blockedScriptObj); 120 </script>
120 121
121<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
121<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/24649957428/digital_wallets/dialog"> 122<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
122<script async="async" src="/checkouts/internal/preloads.js?locale=en-GB&default_configuration_id=2707849268"></script>
122 123<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
124<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-GB&default_configuration_id=2707849268&shop_id=24649957428" crossorigin="anonymous"></script>
vendor: 1 bytes, line 124
124
125<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":24649957428,"countryCode":"GB","currencyCode":"GBP","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/24649957428","merchantName":"UNTUCKit UK ","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","discover","amex","maestro","elo"],"total":{"type":"pending","label":"UNTUCKit UK ","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 125
125
126<script id="shopify-features" type="application/json">{"accessToken":"ff5703539940840b588a0338a6b935ee","betas":["rich-media-storefront-analytics"],"domain":"untuckit.co.uk","predictiveSearch":true,"shopId":24649957428,"locale":"en"}</script>
vendor: 1 bytes, line 126
126
127<script>var Shopify = Shopify || {}; 128Shopify.shop = "untuckituk.myshopify.com"; 129Shopify.locale = "en"; 130Shopify.currency = {"active":"GBP","rate":"1.0"}; 131Shopify.country = "GB"; 132Shopify.theme = {"name":"UTK | Production","id":181560770939,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 133Shopify.theme.handle = "null"; 134Shopify.theme.style = {"id":null,"handle":null}; 135Shopify.cdnHost = "untuckit.co.uk/cdn"; 136Shopify.routes = Shopify.routes || {}; 137Shopify.routes.root = "/"; 138Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 139Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 140Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 141Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 141
141
142<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 142
142
143<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 143
143
144<script> 145 window.ShopifyPay = window.ShopifyPay || {}; 146 window.ShopifyPay.apiHost = "shop.app\/pay"; 147 window.ShopifyPay.redirectState = null; 148</script>
vendor: 1 bytes, line 148
148
149<script> 150 window.Shopify = window.Shopify || {}; 151 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 152 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 153 window.Shopify.SignInWithShop.eligible = true; 154</script>
vendor: 1 bytes, line 154
154
155<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 155
155
156<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"></script>
vendor: 1 bytes, line 156
156
157<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"></script>
vendor: 1 bytes, line 157
157
158<script type="module"> 159 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"); 160await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"); 161 162 window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true}); 163window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true}); 164 165</script>
vendor: 1 bytes, line 165
165
166<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 166
166
167<script type="module"> 168 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 169 170 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 171 172</script>
vendor: 1 bytes, line 172
172
173<script> 174 window.Shopify = window.Shopify || {}; 175 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 176 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 177</script>
vendor: 1 bytes, line 177
177
178<script>(function() { 179 var isLoaded = false; 180 function asyncLoad() { 181 if (isLoaded) return; 182 isLoaded = true; 183 var urls = ["https:\/\/beacon.riskified.com\/?shop=untuckituk.myshopify.com","\/\/cdn.shopify.com\/proxy\/652972b698dad9fd1957c1629317753c70a4dd0ec89e6b76ba3e8ba39273235e\/apps.bazaarvoice.com\/deployments\/untuckituk\/main_site\/production\/en_GB\/bv.js?shop=untuckituk.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/cdn.cookie.pii.ai\/scripts\/1\/ws\/2adcd713-0883-4389-a3c6-4363f0d77578\/domain\/be31dfa2-ddeb-4206-9021-35b030a439fe\/shopify-loadscript-be31dfa2-ddeb-4206-9021-35b030a439fe.js?shop=untuckituk.myshopify.com","\/\/backinstock.useamp.com\/widget\/17055_1783058927.js?category=bis\u0026v=6\u0026shop=untuckituk.myshopify.com"]; 184 for (var i = 0; i < urls.length; i++) { 185 var s = document.createElement('script'); 186 s.type = 'text/javascript'; 187 s.async = true; 188 s.src = urls[i]; 189 var x = document.getElementsByTagName('script')[0]; 190 x.parentNode.insertBefore(s, x); 191 } 192 }; 193 if(window.attachEvent) { 194 window.attachEvent('onload', asyncLoad); 195 } else { 196 window.addEventListener('load', asyncLoad, false); 197 } 198})();</script>
vendor: 1 bytes, line 198
198
199<script id="__st">var __st={"a":24649957428,"offset":3600,"reqid":"54d047b5-fb12-449b-8c85-0736b8c4c83b-1791381430","pageurl":"untuckit.co.uk\/account\/login","u":"686af5d46d3c"};</script>
vendor: 1 bytes, line 199
199
200<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 200
200
201<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 201
201
202<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//untuckit.co.uk/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 202
202
203<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//untuckit.co.uk/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
203<script crossorigin="anonymous" defer="defer" src="//untuckit.co.uk/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 203
203
204<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 204
204
205<script> 206 window.Shopify = window.Shopify || {}; 207 window.Shopify.MCP = window.Shopify.MCP || {}; 208 window.Shopify.MCP.enabled = true; 209 window.Shopify.MCP.shop = "untuckituk.myshopify.com"; 210 window.Shopify.MCP.mcpEndpoint = "https:\/\/untuckit.co.uk\/api\/mcp"; 211 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 212</script>
vendor: 1 bytes, line 212
212
213<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/untuckit.co.uk\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 214</script>
vendor: 1 bytes, line 214
214
215<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://untuckit.co.uk/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 216</script>
vendor: 1 bytes, line 216
216
217<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 218 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 219</script>
vendor: 1 bytes, line 219
219
220<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 221</script>
221 222<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://untuckit.co.uk/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 223<style id="shopify-accelerated-checkout-cart"> 224 #shopify-buyer-consent { 225 margin-top: 1em; 226 display: inline-block; 227 width: 100%; 228} 229 230#shopify-buyer-consent.hidden { 231 display: none; 232} 233 234#shopify-subscription-policy-button { 235 background: none; 236 border: none; 237 padding: 0; 238 text-decoration: underline; 239 font-size: inherit; 240 cursor: pointer; 241} 242 243#shopify-subscription-policy-button::before { 244 box-shadow: none; 245} 246 247 </style> 248
249<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
249 250 251 252 253 254 255 256
256<script type="text/javascript"> 257 258 window.__shgMoneyFormat = window.__shgMoneyFormat || {"GBP":{"currency":"GBP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}; 259 260 window.__shgCurrentCurrencyCode = window.__shgCurrentCurrencyCode || { 261 currency: "GBP", 262 currency_symbol: "£", 263 decimal_separator: ".", 264 thousands_separator: ",", 265 decimal_places: 2, 266 currency_symbol_location: "left" 267 }; 268 </script>
268 269 270 271 272<link href="//cdn.shopify.com" rel="preconnect" crossorigin> 273<link href="//www.googletagmanager.com" rel="preconnect"> 274<link href="https://use.typekit.net" rel="preconnect" crossorigin> 275<link href="https://p.typekit.net" rel="preconnect" crossorigin> 276<link href="https://a40.usablenet.com" rel="preconnect"><link rel="preload" as="style" href="https://use.typekit.net/xpg0tyx.css"> 277 <link rel="shortcut icon" href="//untuckit.co.uk/cdn/shop/t/493/assets/favicon.png?v=108908916910155349561773103290" type="image/x-icon" /> 278 279 280 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=2" /> 281 282 <link rel="canonical" href="https://untuckit.co.uk/account/login" /> 283 <link rel="alternate" href="https://www.untuckit.ca/account/login" hreflang="en-ca" /> 284 <link rel="alternate" href="https://www.untuckit.com/account/login" hreflang="en-us"/> 285 <link rel="alternate" href="https://untuckit.co.uk/account/login" hreflang="en-gb" /> 286 287 288 289<title> 290 Account Page | UNTUCKit UK 291</title> 292<meta name="google-site-verification" content="8jj6zDqPveR7OxGAbo21JDmu8fzc-U6HDe1xyknzkw8" /> 293 294 295 296 297 <meta property="og:image" content="//untuckit.co.uk/cdn/shop/t/493/assets/logo.svg?v=153520117817722495141773103290" /> 298 299 <meta name="description" content="" /> 300 301 302 <link href='https://use.typekit.net/xpg0tyx.css' rel='stylesheet' type='text/css'> 303 304 305<link type="text/css" href="//untuckit.co.uk/cdn/shop/t/493/assets/layout.theme.css?v=119636028956971333461791208082" rel="stylesheet"><link type="text/css" href="//untuckit.co.uk/cdn/shop/t/493/assets/template.login.css?v=141594294328809358441787148195" rel="stylesheet"><link type="text/css" href="//untuckit.co.uk/cdn/shop/t/493/assets/trending-now.css?v=156511553597817068761787148195" rel="stylesheet"> 306<link type="text/css" href="//untuckit.co.uk/cdn/shop/t/493/assets/revealer.css?v=45856444106671973921791208081" rel="stylesheet"><link type="text/css" href="//untuckit.co.uk/cdn/shop/t/493/assets/[email protected]?v=21636576959346852471791208081" rel="stylesheet">
307<script type="text/javascript" src="//untuckit.co.uk/cdn/shop/t/493/assets/layout.theme.js?v=84686788821816379501791210892" defer="defer"></script>
307<script type="text/javascript" src="//untuckit.co.uk/cdn/shop/t/493/assets/template.login.js?v=163774348325558910841791210891" defer="defer"></script>
307<script type="text/javascript" src="//untuckit.co.uk/cdn/shop/t/493/assets/runtime.js?v=121648716445766285141791210892" defer="defer"></script>
vendor: 1 bytes, line 307
307
308<script type="text/javascript" src="//untuckit.co.uk/cdn/shop/t/493/assets/trending-now.js?v=27061630804807708881791210891" defer="defer"></script>
vendor: 1 bytes, line 308
308
309<script type="text/javascript" src="//untuckit.co.uk/cdn/shop/t/493/assets/revealer.js?v=51018208435574620131791210892" defer="defer"></script>
vendor: 1 bytes, line 309
309
310<script type="text/javascript" src="//untuckit.co.uk/cdn/shop/t/493/assets/vendors.js?v=182048044361356293721791210891" defer="defer"></script>
vendor: 1 bytes, line 310
310
311<script type="text/javascript" src="//untuckit.co.uk/cdn/shop/t/493/assets/shared.js?v=40713580530255243491791210892" defer="defer"></script>
311<script type="text/javascript" src="//untuckit.co.uk/cdn/shop/t/493/assets/[email protected]?v=146123181843791556521791210892" defer="defer"></script>
vendor: 1 bytes, line 311
311
312<script> 313 const currentSite = "untuckit.co.uk"; 314 console.log(`PieEye SPAI script loaded for site: ${currentSite}`); 315 function getCookie(name) { 316 const value = `; ${document.cookie}`; 317 const parts = value.split(`; ${name}=`); 318 if (parts.length === 2) { 319 return parts.pop().split(';').shift(); 320 } 321 return null; 322 } 323 324 function getUserLocation() { 325 return fetch("https:\/\/geo.pii.ai\/geo") 326 .then(res => res.json()) 327 .then(data => ({ 328 country: data.location.country.code, 329 region: data.location.region.code, 330 city: data.location.city 331 })) 332 .catch(err => { 333 console.error('Error getting location from internal API:', err); 334 return null; 335 }); 336 } 337 338 /*================================================* 339 * CONSENT REGION RULE HANDLER 340 *================================================*/ 341 function shouldEnableConsentByDefault(location) { 342 if (!location) return false; 343 344 const { country, region } = location; 345 346 // Canada Quebec - explicit consent required 347 if (country === 'CA' && region === 'CA-QC') return false; 348 349 // California USA - explicit consent required 350 if (country === 'US' && region === 'US-CA') return false; 351 352 // All others implicit 353 return true; 354 } 355 356 function getInitialConsentByLocation(location) { 357 const enabled = shouldEnableConsentByDefault(location); 358 return { 359 analytics: enabled, 360 marketing: enabled, 361 preferences: enabled, 362 sale_of_data: enabled, 363 }; 364 } 365 366 /*================================================* 367 * PIEEYE â SHOPIFY CONSENT MAPPER 368 *================================================*/ 369 function mapPieEyeToShopifyConsent(cookieData) { 370 return { 371 analytics: cookieData["pieeye-category-performance"] == 1, 372 marketing: cookieData["pieeye-category-targeting-analytics"] == 1, 373 preferences: 374 cookieData["pieeye-category-preferences"] == 1 || 375 cookieData["pieeye-category-functional"] == 1, 376 sale_of_data: cookieData["pieeye-category-targeting-analytics"] == 1, 377 }; 378 } 379 380 /*================================================* 381 * WAIT FOR SHOPIFY CUSTOMER PRIVACY API 382 *================================================*/ 383 function waitForCustomerPrivacy(timeoutMs = 10000) { 384 return new Promise((resolve, reject) => { 385 if (window.Shopify?.customerPrivacy) { 386 resolve(window.Shopify.customerPrivacy); 387 return; 388 } 389 390 const startedAt = Date.now(); 391 const intervalId = setInterval(() => { 392 if (window.Shopify?.customerPrivacy) { 393 clearInterval(intervalId); 394 resolve(window.Shopify.customerPrivacy); 395 return; 396 } 397 398 if (Date.now() - startedAt >= timeoutMs) { 399 clearInterval(intervalId); 400 reject(new Error('Timed out waiting for Shopify.customerPrivacy')); 401 } 402 }, 100); 403 }); 404 } 405 406 function setShopifyTrackingConsent(consent, onSuccess) { 407 return waitForCustomerPrivacy() 408 .then(customerPrivacy => { 409 customerPrivacy.setTrackingConsent(consent, onSuccess); 410 }) 411 .catch(err => { 412 console.error('Unable to set Shopify tracking consent:', err); 413 }); 414 } 415 416 /*================================================* 417 * MAIN INITIALIZATION LOGIC 418 *================================================*/ 419 function initializeConsent() { 420 const pieEyeCookie = getCookie('PieEyeConsent'); 421 422 /* CASE: NO COOKIE FOUND */ 423 if (!pieEyeCookie) { 424 console.log('PieEyeConsent cookie not found, setting initial consent'); 425 426 // UK â explicit required 427 if (currentSite === 'untuckit.co.uk') { 428 console.log('Setting explicit consent for UK'); 429 setShopifyTrackingConsent({ 430 analytics: false, 431 marketing: false, 432 preferences: false, 433 sale_of_data: false, 434 }); 435 return; 436 } 437 438 // Else resolve location 439 getUserLocation().then(location => { 440 const initialConsent = getInitialConsentByLocation(location); 441 442 if (initialConsent) { 443 const regionInfo = location 444 ? `${location.country}/${location.region}` 445 : 'unknown'; 446 447 console.log(`Setting regional consent for ${regionInfo}:`, initialConsent); 448 setShopifyTrackingConsent(initialConsent, () => 449 console.log('Regional consent set based on location') 450 ); 451 } else { 452 console.log('Setting fallback explicit consent'); 453 setShopifyTrackingConsent({
454 analytics: false, 455 marketing: false, 456 preferences: false, 457 sale_of_data: false, 458 }, () => console.log('Fallback explicit consent set')); 459 } 460 }); 461 462 return; 463 } 464 465 /* CASE: COOKIE FOUND */ 466 console.log('PieEyeConsent cookie found, syncing with Shopify'); 467 468 let cookieData = null; 469 try { 470 cookieData = JSON.parse(pieEyeCookie); 471 } catch (err) { 472 console.error('Invalid PieEyeConsent JSON cookie', err); 473 return; 474 } 475 476 const newConsent = mapPieEyeToShopifyConsent(cookieData); 477 478 waitForCustomerPrivacy() 479 .then(customerPrivacy => { 480 // Get current consent from Shopify - handle different return types 481 let currentConsent = null; 482 try { 483 const trackingConsent = customerPrivacy.getTrackingConsent(); 484 485 // Handle object response 486 if (trackingConsent && typeof trackingConsent === 'object') { 487 currentConsent = { 488 analytics: trackingConsent.analytics !== undefined ? trackingConsent.analytics : false, 489 marketing: trackingConsent.marketing !== undefined ? trackingConsent.marketing : false, 490 preferences: trackingConsent.preferences !== undefined ? trackingConsent.preferences : false, 491 sale_of_data: trackingConsent.sale_of_data !== undefined ? trackingConsent.sale_of_data : false 492 }; 493 } 494 // Handle string "no" or "yes" 495 else if (typeof trackingConsent === 'string') { 496 if (trackingConsent === "no" || trackingConsent === "NO") { 497 // Check individual categories even when "no" is returned 498 currentConsent = { 499 analytics: typeof customerPrivacy.analyticsProcessingAllowed === "function" 500 ? customerPrivacy.analyticsProcessingAllowed() === true 501 : false, 502 marketing: typeof customerPrivacy.marketingAllowed === "function" 503 ? customerPrivacy.marketingAllowed() === true 504 : false, 505 preferences: typeof customerPrivacy.preferencesProcessingAllowed === "function" 506 ? customerPrivacy.preferencesProcessingAllowed() === true 507 : false, 508 sale_of_data: typeof customerPrivacy.marketingAllowed === "function" 509 ? customerPrivacy.marketingAllowed() === true 510 : false 511 }; 512 } else if (trackingConsent === "yes" || trackingConsent === "YES") { 513 // Check individual categories 514 currentConsent = { 515 analytics: typeof customerPrivacy.analyticsProcessingAllowed === "function" 516 ? customerPrivacy.analyticsProcessingAllowed() === true 517 : true, 518 marketing: typeof customerPrivacy.marketingAllowed === "function" 519 ? customerPrivacy.marketingAllowed() === true 520 : true, 521 preferences: typeof customerPrivacy.preferencesProcessingAllowed === "function" 522 ? customerPrivacy.preferencesProcessingAllowed() === true 523 : true, 524 sale_of_data: typeof customerPrivacy.marketingAllowed === "function" 525 ? customerPrivacy.marketingAllowed() === true 526 : true 527 }; 528 } 529 } 530 // Handle boolean 531 else if (trackingConsent === true || trackingConsent === false) { 532 // Check individual categories 533 currentConsent = { 534 analytics: typeof customerPrivacy.analyticsProcessingAllowed === "function" 535 ? customerPrivacy.analyticsProcessingAllowed() === true 536 : (trackingConsent === true), 537 marketing: typeof customerPrivacy.marketingAllowed === "function" 538 ? customerPrivacy.marketingAllowed() === true 539 : (trackingConsent === true), 540 preferences: typeof customerPrivacy.preferencesProcessingAllowed === "function" 541 ? customerPrivacy.preferencesProcessingAllowed() === true 542 : (trackingConsent === true), 543 sale_of_data: typeof customerPrivacy.marketingAllowed === "function" 544 ? customerPrivacy.marketingAllowed() === true 545 : (trackingConsent === true) 546 }; 547 } 548 } catch (err) { 549 console.warn('Error getting current tracking consent:', err); 550 } 551 552 // Compare and update if different 553 if (currentConsent) { 554 const isDifferent = 555 currentConsent.analytics !== newConsent.analytics || 556 currentConsent.marketing !== newConsent.marketing || 557 currentConsent.preferences !== newConsent.preferences || 558 currentConsent.sale_of_data !== newConsent.sale_of_data; 559 560 if (isDifferent) { 561 console.log("Updating Shopify consent:", newConsent); 562 customerPrivacy.setTrackingConsent(newConsent); 563 } else { 564 console.log("Consent already synced with Shopify"); 565 } 566 } else { 567 // No current consent found, set the new consent 568 console.log("Setting Shopify consent from PieEye cookie
568:", newConsent); 569 customerPrivacy.setTrackingConsent(newConsent); 570 } 571 }) 572 .catch(err => { 573 console.error('Unable to sync PieEye consent with Shopify:', err); 574 }); 575 } 576 577 /*================================================* 578 * LOAD SHOPIFY API + INITIALIZE 579 *================================================*/ 580 window.Shopify.loadFeatures( 581 [{ name: 'consent-tracking-api', version: '0.1' }], 582 function (error) { 583 if (error) throw error; 584 console.log('Shopify consent tracking API loaded'); 585 initializeConsent(); 586 } 587 ); 588 589 /*================================================* 590 * EVENT HANDLER FOR PIEEYE SHOPIFY CONSENT SIGNAL 591 *================================================*/ 592 window.addEventListener("pieEyeShopifyConsent", function (e) { 593 console.log('PieEye â Shopify Consent Event Received'); 594 setShopifyTrackingConsent({ 595 analytics: e.detail.analytics, 596 marketing: e.detail.marketing, 597 preferences: e.detail.preferences, 598 sale_of_data: e.detail.sale_of_data, 599 }, () => console.log("Shopify Consent Updated via Event")); 600 }); 601 </script>
601 602
603<script type="text/javascript"> 604 605 window.SHG_CUSTOMER = null; 606 607</script>
607 608 609 610 611 612 613 614 615<link rel="stylesheet" href="https://pieeyegpc.pii.ai/1/dsrp/c73d187e-4e92-4dec-9e0d-8097153a2a14/gpc.css"> 616
616<script src="https://pieeyegpc.pii.ai/1/dsrp/c73d187e-4e92-4dec-9e0d-8097153a2a14/gpc.min.js" async></script>
616 617 <!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d -->
617<script type="text/javascript" src="https://cdn.attn.tv/untuckit/dtag.js?source=app-embed" defer="defer"></script>
617 618 619 620<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
621<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 24649957428,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 621
621
622<script> 623 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 624</script>
vendor: 1 bytes, line 624
624
625<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
625).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 24649957428,storefrontBaseUrl: "https://untuckit.co.uk",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://untuckit.co.uk/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"2281505147","configuration":"{ \"alias\": \"UNTUCKITUK\", \"apiKey\": \"ux4ung2maf2gh5lxklpkp.fc64n2iubntb63ae5o2db\" }","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"089c563d4539df58b1e71259ac47d388","type":"APP","apiClientId":6779637,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2263679355","configuration":"{\"isUserEvents\":\"enabled\",\"isSavePromiseDate\":\"enabled\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6d0a6deccdda72f2ea2eba90a96ee634","type":"APP","apiClientId":1461275,"privacyPurposes":["ANALYTICS","PREFERENCES"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
625,"dataSharingState":"unrestricted"},{"id":"2215215483","configuration":"{\"yotpoStoreId\":\"zYnQfOhDbTVHnq6gy3VE3MnGOC2TdqaoLA7utJtw\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c5c2579aac465eb24ca7bc0501a6000d","type":"APP","apiClientId":70132,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1584923003","configuration":"{\"locale\":\"en_GB\",\"client\":\"untuckituk\",\"environment\":\"production\",\"deployment_zone\":\"main_site\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a90eb3f011ef4464fc4a211a1ac38516","type":"APP","apiClientId":1888040,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1555661179","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1508245883","configuration":"{\"accountID\":\"KXKpNu\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"cbf4a80740670c5ae93d33dc67925b9a","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"183107636","configuration":"{\"site_id\":\"05ff5ec3-1635-4bef-acbe-218fbca4fb12\",\"analytics_endpoint\":\"https:\\\/\\\/na.shgcdn3.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"695709fc3f146fa50a25299517a954f2","type":"APP","apiClientId":1158168,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"4849716","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"23","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"GA4 Tracking Pixel"},{"id":"34078772","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"],"name":"UNTUCKit checkout"},{"id":"162300283","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Meta pixel (migrated)"},{"id":"223215995","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Google Ads Custom"},{"id":"250118523","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"Nobi"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"UNTUCKit UK ","paymentSettings":{"currencyCode":"GBP"},"myshopifyDomain":"untuckituk.myshopify.com","countryCode":"GB","storefrontUrl":"https:\/\/untuckit.co.uk"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://untuckit.co.uk/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"181560770939","themePublished":"true","eventMetadataId":"77080612-70ed-4447-8dc6-09fed800e359","shopId":"24649957428","storefrontBaseUrl":"https:\/\/untuckit.co.uk","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
625<script> 626 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 627 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 628 window.ShopifyAnalytics.meta.currency = 'GBP'; 629 var meta = {"page":{"requestId":"54d047b5-fb12-449b-8c85-0736b8c4c83b-1791381430"}}; 630 for (var attr in meta) { 631 window.ShopifyAnalytics.meta[attr] = meta[attr]; 632 } 633</script>
vendor: 1 bytes, line 633
633
634<script class="analytics"> 635 (function () { 636 var customDocumentWrite = function(content) { 637 var jquery = null; 638 639 if (window.jQuery) { 640 jquery = window.jQuery; 641 } else if (window.Checkout && window.Checkout.$) { 642 jquery = window.Checkout.$; 643 } 644 645 if (jquery) { 646 jquery('body').append(content); 647 } 648 }; 649 650 var hasLoggedConversion = function(token) { 651 if (token) { 652 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 653 } 654 return false; 655 } 656 657 var setCookieIfConversion = function(token) { 658 if (token) { 659 var twoMonthsFromNow = new Date(Date.now()); 660 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 661 662 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 663 } 664 } 665 666 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 667 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 668 if (trekkie.integrations) { 669 return; 670 } 671 trekkie.methods = [ 672 'identify', 673 'page', 674 'ready', 675 'track', 676 'trackForm', 677 'trackLink' 678 ]; 679 trekkie.factory = function(method) { 680 return function() { 681 var args = Array.prototype.slice.call(arguments); 682 args.unshift(method); 683 trekkie.push(args); 684 if (method == 'track' || method == 'page') { 685 var pageUrl; 686 try { 687 pageUrl = window.location.href; 688 } catch (e) {} 689 var pageReferrer; 690 try { 691 pageReferrer = document.referrer; 692 } catch (e) {} 693 try { 694 if (window.__TREKKIE_SHIM_QUEUE == null) { 695 window.__TREKKIE_SHIM_QUEUE = []; 696 } 697 window.__TREKKIE_SHIM_QUEUE.push({ 698 from: 'trekkie-stub', 699 method: method, 700 args: args.slice(1), 701 pageContext: { 702 url: pageUrl, 703 referrer: pageReferrer 704 } 705 }); 706 } catch (e) { 707 // no-op 708 } 709 } 710 return trekkie; 711 }; 712 }; 713 for (var i = 0; i < trekkie.methods.length; i++) { 714 var key = trekkie.methods[i]; 715 trekkie[key] = trekkie.factory(key); 716 } 717 trekkie.load = function(config) { 718 trekkie.config = config || {}; 719 trekkie.config.initialDocumentCookie = document.cookie; 720 var first = document.getElementsByTagName('script')[0]; 721var script = document.createElement('script'); 722script.type = 'text/javascript'; 723script.onerror = function(e) { 724 var scriptFallback = document.createElement('script'); 725 scriptFallback.type = 'text/javascript'; 726 scriptFallback.onerror = function(error) { 727 var Monorail = { 728 produce: function produce(monorailDomain, schemaId, payload) { 729 var currentMs = new Date().getTime(); 730 var event = { 731 schema_id: schemaId, 732 payload: payload, 733 metadata: { 734 event_created_at_ms: currentMs, 735 event_sent_at_ms: currentMs 736 } 737 }; 738 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 739 }, 740 sendRequest: function sendRequest(endpointUrl, payload) { 741 // Try the sendBeacon API 742 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 743 var blobData = new window.Blob([payload], { 744 type: 'text/plain' 745 }); 746 747 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 748 return true; 749 } // sendBeacon was not successful 750 751 } // XHR beacon 752 753 var xhr = new XMLHttpRequest(); 754 755 try { 756 xhr.open('POST', endpointUrl); 757 xhr.setRequestHeader('Content-Type', 'text/plain'); 758 xhr.send(payload); 759 } catch (e) { 760 console.log(e); 761 } 762 763 return false; 764 }, 765 isIos12: function isIos12() { 766 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 767 } 768 }; 769 Monorail.produce('monorail-edge.shopifysvc.com', 770 'trekkie_storefront_load_errors/1.1', 771 {shop_id: 24649957428, 772 theme_id: 181560770939, 773 app_name: "storefront", 774 context_url: window.location.href, 775 source_url: "//untuckit.co.uk/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 776 777 }; 778 scriptFallback.async = true; 779 scriptFallback.src = '//untuckit.co.uk/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 780 first.parentNode.insertBefore(scriptFallback, first); 781}; 782script.async = true; 783script.src = '//untuckit.co.uk/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 784first.parentNode.insertBefore(script, first); 785 786 }; 787 trekkie.load( 788 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":24649957428,"isMerchantRequest":null,"themeId":181560770939,"themeCityHash":"9878271628018444279","contentLanguage":"en","currency":"GBP","eventMetadataId":"77080612-70ed-4447-8dc6-09fed800e359"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 789 ); 790 791 var loaded = false;
792 trekkie.ready(function() { 793 if (loaded) return; 794 loaded = true; 795 796 window.ShopifyAnalytics.lib = window.trekkie; 797 798 var originalDocumentWrite = document.write; 799 document.write = customDocumentWrite; 800 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 801 document.write = originalDocumentWrite; 802 803 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 804 var token = match? match[1]: undefined; 805 if (!hasLoggedConversion(token)) { 806 setCookieIfConversion(token); 807 808 } 809 }); 810 811 window.ShopifyAnalytics.lib.page(null,{"requestId":"54d047b5-fb12-449b-8c85-0736b8c4c83b-1791381430","shopifyEmitted":true}); 812 813 var eventsListenerScript = document.createElement('script'); 814 eventsListenerScript.async = true; 815 eventsListenerScript.src = "//untuckit.co.uk/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 816 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 817})();</script>
vendor: 1 bytes, line 817
817
818<script 819 defer 820 src="https://untuckit.co.uk/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js" 821 data-application="storefront-renderer" 822 data-shop-id="24649957428" 823 data-render-region="gcp-europe-west4" 824 data-page-type="customers/login" 825 data-theme-instance-id="181560770939" 826 data-theme-name="" 827 data-theme-version="" 828 data-monorail-region="shop_domain" 829 data-resource-timing-sampling-rate="10" 830 data-shs="true" 831 data-shs-beacon="true" 832 data-shs-export-with-fetch="true" 833 data-shs-logs-sample-rate="1" 834 data-shs-beacon-endpoint="https://untuckit.co.uk/api/collect" 835></script>
835 836<meta name="shopify-y" content="5fe63b11-3787-4cdd-8c7e-46b3f788f54a" data-expiration="1822939031000"><meta name="shopify-s" content="b6fc4c52-61ec-4812-bf2a-b1be1eaf410c" data-expiration="1791383231000"><meta name="new-cookie-storage-activated" content="t"> 837</head><body 838 class=" 839 templateCustomersLogin customers-login hide-chat 840 841 " 842 843 > 844 <a class="ADA__skip-link" href="#mainContent">Skip to main content</a> 845 846 847
848<script type="text/javascript"> 849(() => {const l = ["d3d3LnVudHVja2l0c2hvcC51aw=="]; 850 if (l.includes(window.btoa(location.hostname))) {window.location.href = window.atob('aHR0cHM6Ly91bnR1Y2tpdC5jby51aw==');} 851})(); 852</script>
852 853 854<header class="header js-header"> 855 856<global-banner display="desktop" rotation="0"> 857 <div class="global-banner global-banner--desktop global-banner--has-initial-banners global-banner--hide-controls"><div 858 data-id="fb106ad9-ec0e-436c-a209-a7b3105610ab" 859 860 861 class="global-banner__banner global-banner__banner--simple js-global-banner " 862 style="background-color: #EAEAEA; color:#4A4A4A;" 863 > 864 <div class="global-banner__banner-content"> 865 <button 866 type="button" 867 class="global-banner__arrow-button global-banner__arrow-button--prev js-global-banner-arrow-button" 868 aria-label="go to previous banner" 869 style="color:#4A4A4A;" 870 data-direction="prev" 871 > 872 <svg 873 width="24" 874 height="24" 875 viewBox="0 0 24 24" 876 fill="none" 877 xmlns="http://www.w3.org/2000/svg" 878 aria-hidden="true" 879 > 880 <g> 881 <g> 882 <path 883 d="M14 17.6538L8.34619 12L14 6.34619L15.0538 7.40002L10.4538 12L15.0538 16.6L14 17.6538Z" 884 fill="#4A4A4A" /> 885 </g> 886 </g> 887 </svg> 888 </button> 889 <div class="global-banner__text-container"><p class="global-banner-simple__message global-banner-simple__message--proxima" style="text-align: center"><a href="/pages/shipping-information">Free shipping for orders £75+. Free returns within the UK. 890</a></p></div><button 891 type="button" 892 class="global-banner__arrow-button global-banner__arrow-button--next js-global-banner-arrow-button" 893 aria-label="go to next banner" 894 style="color:#4A4A4A;" 895 data-direction="next" 896 > 897 <svg 898 width="24" 899 height="24"
900 viewBox="0 0 24 24" 901 fill="none" 902 xmlns="http://www.w3.org/2000/svg" 903 aria-hidden="true" 904 > 905 <g> 906 <g> 907 <path 908 d="M12.9462 12L8.34619 7.40002L9.40002 6.34619L15.0538 12L9.40002 17.6538L8.34619 16.6L12.9462 12Z" 909 fill="#4A4A4A" /> 910 </g> 911 </g> 912 </svg> 913 </button> 914 </div> 915 </div></div> 916</global-banner> 917 918 919 920<global-banner display="mobile" rotation="0"> 921 <div class="global-banner global-banner--mobile global-banner--has-initial-banners global-banner--hide-controls"><div 922 data-id="e6364cf8-ac1e-4bc2-86ee-f95665cc6031" 923 924 925 class="global-banner__banner global-banner__banner--simple js-global-banner " 926 style="background-color: #EAEAEA; color:#4A4A4A;" 927 > 928 <div class="global-banner__banner-content"> 929 <button 930 type="button" 931 class="global-banner__arrow-button global-banner__arrow-button--prev js-global-banner-arrow-button" 932 aria-label="go to previous banner" 933 style="color:#4A4A4A;" 934 data-direction="prev" 935 > 936 <svg 937 width="24" 938 height="24"
939 viewBox="0 0 24 24" 940 fill="none" 941 xmlns="http://www.w3.org/2000/svg" 942 aria-hidden="true" 943 > 944 <g> 945 <g> 946 <path 947 d="M14 17.6538L8.34619 12L14 6.34619L15.0538 7.40002L10.4538 12L15.0538 16.6L14 17.6538Z" 948 fill="#4A4A4A" /> 949 </g> 950 </g> 951 </svg> 952 </button> 953 <div class="global-banner__text-container"><p class="global-banner-simple__message global-banner-simple__message--proxima" style="text-align: center"><a href="/pages/shipping-information">Free shipping for orders £75+.<br/>Free returns within the UK.</a> 954</p></div><button 955 type="button" 956 class="global-banner__arrow-button global-banner__arrow-button--next js-global-banner-arrow-button" 957 aria-label="go to next banner" 958 style="color:#4A4A4A;" 959 data-direction="next" 960 > 961 <svg 962 width="24" 963 height="24"
964 viewBox="0 0 24 24" 965 fill="none" 966 xmlns="http://www.w3.org/2000/svg" 967 aria-hidden="true" 968 > 969 <g> 970 <g> 971 <path 972 d="M12.9462 12L8.34619 7.40002L9.40002 6.34619L15.0538 12L9.40002 17.6538L8.34619 16.6L12.9462 12Z" 973 fill="#4A4A4A" /> 974 </g> 975 </g> 976 </svg> 977 </button> 978 </div> 979 </div></div> 980</global-banner> 981 982<div id="shopify-section-header" class="shopify-section"><div class="header__top-bar"> 983 <div class="header__top-bar-inner"> 984 <div class="header__selected-store-container"></div> 985 <div class="header__mobile-icons-left"> 986 <a 987 href="#" 988 class="show-nav js-show-nav" 989 title="Show Navigation" 990 aria-label="Show Navigation" 991 > 992 <span class="icon__container " aria-hidden="true"><svg width="20" height="14" viewBox="0 0 20 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 993 <rect width="20" height="2" fill="#4A4A4A"/> 994 <rect y="6" width="20" height="2" fill="#4A4A4A"/> 995 <rect y="12" width="20" height="2" fill="#4A4A4A"/> 996 </svg> 997</span> 998 999 </a> 1000 <button class="header-actions__search-button-mobile" aria-label="search"> 1001 <span class="icon__container header-actions__search-button-icon--search" aria-hidden="true"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 1002 <path d="M7.50016 14.1668C11.1821 14.1668 14.1668 11.1821 14.1668 7.50016C14.1668 3.81826 11.1821 0.833496 7.50016 0.833496C3.81826 0.833496 0.833496 3.81826 0.833496 7.50016C0.833496 11.1821 3.81826 14.1668 7.50016 14.1668Z" stroke="#333333" stroke-width="1.2"/> 1003 <path d="M12.5 13.3335L18.3333 19.1668" stroke="#333333" stroke-width="1.2" stroke-linecap="round"/> 1004 </svg> 1005</span> 1006 1007 <span class="icon__container header-actions__search-button-icon--close" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 1008 <g> 1009 <path d="M1.05959 24L0 22.9404L10.9404 12L0 1.05959L1.05959 0L12 10.9404L22.9404 0L24 1.05959L13.0596 12L24 22.9404L22.9404 24L12 13.0596L1.05959 24Z" fill="#333333"/> 1010 </g> 1011 </svg> 1012</span> 1013 1014 </button> 1015 </div> 1016 <div class="header__logo-container"> 1017 <a 1018 href="/" 1019 class="header__logo" 1020 aria-label="UNTUCKit UK Homepage" 1021 ></a> 1022 </div> 1023 <ul class="header__actions"> 1024 <li class="header-actions__search"> 1025 <div 1026 class="header-actions__search-form-container header-actions__search-form-container--hidden header-actions__search-form-container--nobi " 1027 inert 1028 > 1029 <nobi-search-bar 1030 button-label="Search" 1031 class="header__search-bar-nobi" 1032 cta-variant="button" 1033 default-mode="ai" 1034 enable-typeahead="true" 1035 hide-typeahead-on-context-pages="false" 1036 placeholder="Search terms" 1037 show-hint-row="false" 1038 show-mode-toggle="false" 1039 size="compact" 1040 > 1041 </nobi-search-bar> 1042 1043 </div> 1044 <button class="header-actions__search-button-desktop" aria-label="search"> 1045 <span class="icon__container header-actions__search-button-icon--search" aria-hidden="true"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 1046 <path d="M7.50016 14.1668C11.1821 14.1668 14.1668 11.1821 14.1668 7.50016C14.1668 3.81826 11.1821 0.833496 7.50016 0.833496C3.81826 0.833496 0.833496 3.81826 0.833496 7.50016C0.833496 11.1821 3.81826 14.1668 7.50016 14.1668Z" stroke="#333333" stroke-width="1.2"/> 1047 <path d="M12.5 13.3335L18.3333 19.1668" stroke="#333333" stroke-width="1.2" stroke-linecap="round"/> 1048 </svg> 1049</span> 1050 1051 <span class="icon__container header-actions__search-button-icon--close" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 1052 <g> 1053 <path d="M1.05959 24L0 22.9404L10.9404 12L0 1.05959L1.05959 0L12 10.9404L22.9404 0L24 1.05959L13.0596 12L24 22.9404L22.9404 24L12 13.0596L1.05959 24Z" fill="#333333"/> 1054 </g> 1055 </svg> 1056</span> 1057 1058 </button> 1059 </li><li class="header-actions__account"><a class="header-actions__account-link" href="/account/login" aria-label="my account">
1060 <span class="icon__container " aria-hidden="true"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 1061 <path d="M10 0C15.5228 4.79647e-05 19.9999 4.47717 20 10C20 15.5228 15.5228 20 10 20C6.96414 20 4.24609 18.6454 2.41211 16.5098L2.40234 16.5049C2.40308 16.5034 2.40356 16.5015 2.4043 16.5C0.906767 14.7517 2.15605e-05 12.4825 0 10C5.20552e-05 4.47718 4.47718 5.20568e-05 10 0ZM9.75293 13.3428C8.46218 13.2817 7.1813 13.5993 6.06836 14.2559C5.22554 14.7532 4.5061 15.4283 3.95898 16.2305C5.52157 17.7461 7.6512 18.6806 10 18.6807C12.2108 18.6806 14.2271 17.8522 15.7598 16.4912C15.1971 15.5753 14.419 14.8069 13.4883 14.2568C12.3774 13.6003 11.0986 13.2825 9.80957 13.3428L9.78125 13.3447L9.75293 13.3428ZM10 1.32031C5.2062 1.32036 1.32036 5.2062 1.32031 10C1.32033 11.9987 1.99764 13.8383 3.13281 15.3057C3.75564 14.4635 4.54389 13.7509 5.4541 13.2139C6.76177 12.4424 8.26483 12.0676 9.78125 12.1338C11.2962 12.0683 12.7977 12.4432 14.1035 13.2148C15.1169 13.8138 15.978 14.6314 16.6279 15.6025C17.9075 14.0903 18.6806 12.1358 18.6807 10C18.6806 5.2062 14.7938 1.32036 10 1.32031ZM9.78027 2.6709C12.3679 2.6709 14.4656 4.76891 14.4658 7.35645C14.4658 9.94411 12.368 12.042 9.78027 12.042C7.19299 12.0415 5.09478 9.94383 5.09473 7.35645C5.09493 4.76919 7.19308 2.67136 9.78027 2.6709ZM9.78027 3.88184C7.86135 3.8823 6.30587 5.43747 6.30566 7.35645C6.30572 9.27556 7.86126 10.8316 9.78027 10.832C11.6997 10.832 13.2558 9.27584 13.2559 7.35645C13.2557 5.43718 11.6996 3.88184 9.78027 3.88184Z" fill="#4A4A4A"/> 1062 </svg> 1063</span> 1064 1065 </a> 1066 </li> 1067 <li class="header-actions__cart"> 1068 <a 1069 href="#" 1070 class="js-open-cart header-actions__cart-link" 1071 title="View Cart" 1072 aria-label="view cart" 1073 > 1074 <span class="header-actions__cart-icon-container"> 1075 <span class="icon__container " aria-hidden="true"><svg width="15" height="20" viewBox="0 0 15 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 1076 <path d="M7.50098 0C8.44286 0 9.34029 0.396193 9.99707 1.08984C10.6528 1.78262 11.0166 2.71668 11.0166 3.68457V5.26367H14.4766C14.7672 5.26374 15.0029 5.49942 15.0029 5.79004V18.4209C15.0029 18.8305 14.8494 19.2293 14.5674 19.5273C14.2844 19.8263 13.8938 19.9999 13.4805 20H1.52246C1.10918 19.9999 0.718523 19.8262 0.435547 19.5273C0.153527 19.2293 1.82266e-05 18.8305 0 18.4209V5.79004C0 5.49937 0.235703 5.26367 0.526367 5.26367H3.98535V3.68457C3.98539 2.71677 4.34929 1.7826 5.00488 1.08984C5.66158 0.396143 6.55914 0.000124439 7.50098 0ZM1.05273 18.4209C1.05275 18.5695 1.10863 18.707 1.2002 18.8037C1.29076 18.8993 1.40752 18.9472 1.52246 18.9473H13.4805C13.5954 18.9471 13.7122 18.8994 13.8027 18.8037C13.8943 18.707 13.9502 18.5695 13.9502 18.4209V6.31641H1.05273V18.4209ZM7.50098 1.05273C6.85749 1.05286 6.23384 1.32301 5.76953 1.81348C5.30439 2.30498 5.03812 2.97783 5.03809 3.68457V5.26367H9.96387V3.68457C9.96383 2.97774 9.69767 2.305 9.23242 1.81348C8.76803 1.32306 8.14451 1.05273 7.50098 1.05273Z" fill="#333333"/> 1077 </svg> 1078</span> 1079 1080 <span class="number-items js-cart-qty"> 1081 0 1082 </span> 1083 </span> 1084 </a> 1085 </li> 1086 </ul> 1087 </div> 1088</div> 1089<div class="header__bottom-bar"> 1090 <main-nav-desktop> 1091 <ul class="header__desktop-menu-list"><li id="nav_men" class="menu-link-outer" data-key="men"> 1092 <a 1093 class="menu-link-top" 1094 href="/collections/shirts"> 1095 <span>Men</span> 1096 </a> 1097 </li><li id="nav_shop-by-collection" class="menu-link-outer" data-key="shop-by-collection"> 1098 <a 1099 class="menu-link-top" 1100 href="/collections/shirts"> 1101 <span>Shop By Collection</span> 1102 </a> 1103 </li><li id="nav_sale" class="menu-link-outer" data-key="sale"> 1104 <a 1105 class="menu-link-top" 1106 href="/collections/sale"style="color: #8E2231;text-decoration-color: #8E2231"> 1107 <span>Sale</span> 1108 </a> 1109 </li><li id="nav_search" class="menu-link-outer" data-key="search"> 1110 <nobi-button 1111 additional-class-names="shop-with-ai-navigation-button menu-link-top" 1112 is-text="true" 1113 ></nobi-button>
1113 1114 </li></ul> 1115<div class="header__desktop-menu-list-sub-nav-container"><ul class="header__desktop-menu-list-sub-nav" id="main-nav-desktop-subnav_men"><li> 1116 <a 1117 id="main-nav-desktop-subnav-link_men_button-down-shirts" 1118 class="header__desktop-menu-list-sub-nav-link" 1119 href="/collections/shirts">Button-Down Shirts</a> 1120 </li><li> 1121 <a 1122 id="main-nav-desktop-subnav-link_men_polos" 1123 class="header__desktop-menu-list-sub-nav-link" 1124 href="/collections/polos">Polos</a> 1125 </li><li> 1126 <a 1127 id="main-nav-desktop-subnav-link_men_tees-henleys" 1128 class="header__desktop-menu-list-sub-nav-link" 1129 href="/collections/tees-henleys">Tees & Henleys</a> 1130 </li><li> 1131 <a 1132 id="main-nav-desktop-subnav-link_men_trousers" 1133 class="header__desktop-menu-list-sub-nav-link" 1134 href="/collections/trousers">Trousers</a> 1135 </li><li> 1136 <a 1137 id="main-nav-desktop-subnav-link_men_sweaters" 1138 class="header__desktop-menu-list-sub-nav-link" 1139 href="/collections/sweaters">Sweaters</a> 1140 </li><li> 1141 <a 1142 id="main-nav-desktop-subnav-link_men_jackets-sport-coats" 1143 class="header__desktop-menu-list-sub-nav-link" 1144 href="/collections/jackets-sport-coats">Jackets & Sport Coats</a> 1145 </li><li> 1146 <a 1147 id="main-nav-desktop-subnav-link_men_accessories" 1148 class="header__desktop-menu-list-sub-nav-link" 1149 href="/collections/accessories">Accessories</a> 1150 </li></ul></div> 1151 1152 </main-nav-desktop> 1153 <div class="header__mobile-search-form-container" inert><nobi-search-bar 1154 button-label="Search" 1155 class="header__search-bar-nobi header__search-bar-nobi--mobile" 1156 cta-variant="button" 1157 default-mode="ai" 1158 enable-typeahead="true" 1159 hide-typeahead-on-context-pages="false" 1160 placeholder="Search terms" 1161 show-hint-row="false" 1162 show-mode-toggle="false" 1163 size="compact" 1164 > 1165 </nobi-search-bar> 1166</div> 1167</div> 1168 1169 1170</div> 1171</header> 1172 1173 <div id="shopify-section-menu-mobile" class="shopify-section"><nav class="mobile-nav js-nav"> 1174 <div class="m-menu"> 1175 <div class="m-menu__header m-menu__header--top-level"><button class="cart-heading__close-button js-hide-nav" aria-label="Hide Navigation"><span class="icon__container " aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 1176 <g> 1177 <path d="M1.05959 24L0 22.9404L10.9404 12L0 1.05959L1.05959 0L12 10.9404L22.9404 0L24 1.05959L13.0596 12L24 22.9404L22.9404 24L12 13.0596L1.05959 24Z" fill="#333333"/> 1178 </g> 1179 </svg> 1180</span> 1181</button> 1182 <a class="m-menu__logo" href="/" aria-label="UNTUCKit UK Homepage"></a> 1183 <div class="m-menu__actions"><a class="m-menu__account-action" href="/account/login" aria-label="my account"><span class="icon__container " aria-hidden="true"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 1184 <path d="M10 0C15.5228 4.79647e-05 19.9999 4.47717 20 10C20 15.5228 15.5228 20 10 20C6.96414 20 4.24609 18.6454 2.41211 16.5098L2.40234 16.5049C2.40308 16.5034 2.40356 16.5015 2.4043 16.5C0.906767 14.7517 2.15605e-05 12.4825 0 10C5.20552e-05 4.47718 4.47718 5.20568e-05 10 0ZM9.75293 13.3428C8.46218 13.2817 7.1813 13.5993 6.06836 14.2559C5.22554 14.7532 4.5061 15.4283 3.95898 16.2305C5.52157 17.7461 7.6512 18.6806 10 18.6807C12.2108 18.6806 14.2271 17.8522 15.7598 16.4912C15.1971 15.5753 14.419 14.8069 13.4883 14.2568C12.3774 13.6003 11.0986 13.2825 9.80957 13.3428L9.78125 13.3447L9.75293 13.3428ZM10 1.32031C5.2062 1.32036 1.32036 5.2062 1.32031 10C1.32033 11.9987 1.99764 13.8383 3.13281 15.3057C3.75564 14.4635 4.54389 13.7509 5.4541 13.2139C6.76177 12.4424 8.26483 12.0676 9.78125 12.1338C11.2962 12.0683 12.7977 12.4432 14.1035 13.2148C15.1169 13.8138 15.978 14.6314 16.6279 15.6025C17.9075 14.0903 18.6806 12.1358 18.6807 10C18.6806 5.2062 14.7938 1.32036 10 1.32031ZM9.78027 2.6709C12.3679 2.6709 14.4656 4.76891 14.4658 7.35645C14.4658 9.94411 12.368 12.042 9.78027 12.042C7.19299 12.0415 5.09478 9.94383 5.09473 7.35645C5.09493 4.76919 7.19308 2.67136 9.78027 2.6709ZM9.78027 3.88184C7.86135 3.8823 6.30587 5.43747 6.30566 7.35645C6.30572 9.27556 7.86126 10.8316 9.78027 10.832C11.6997 10.832 13.2558 9.27584 13.2559 7.35645C13.2557 5.43718 11.6996 3.88184 9.78027 3.88184Z" fill="#4A4A4A"/> 1185 </svg> 1186</span> 1187</a> 1188 <a class="m-menu__cart-action js-open-cart" href="#" aria-label="view cart">
1189 <span class="m-menu__cart-icon"><span class="icon__container " aria-hidden="true"><svg width="15" height="20" viewBox="0 0 15 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 1190 <path d="M7.50098 0C8.44286 0 9.34029 0.396193 9.99707 1.08984C10.6528 1.78262 11.0166 2.71668 11.0166 3.68457V5.26367H14.4766C14.7672 5.26374 15.0029 5.49942 15.0029 5.79004V18.4209C15.0029 18.8305 14.8494 19.2293 14.5674 19.5273C14.2844 19.8263 13.8938 19.9999 13.4805 20H1.52246C1.10918 19.9999 0.718523 19.8262 0.435547 19.5273C0.153527 19.2293 1.82266e-05 18.8305 0 18.4209V5.79004C0 5.49937 0.235703 5.26367 0.526367 5.26367H3.98535V3.68457C3.98539 2.71677 4.34929 1.7826 5.00488 1.08984C5.66158 0.396143 6.55914 0.000124439 7.50098 0ZM1.05273 18.4209C1.05275 18.5695 1.10863 18.707 1.2002 18.8037C1.29076 18.8993 1.40752 18.9472 1.52246 18.9473H13.4805C13.5954 18.9471 13.7122 18.8994 13.8027 18.8037C13.8943 18.707 13.9502 18.5695 13.9502 18.4209V6.31641H1.05273V18.4209ZM7.50098 1.05273C6.85749 1.05286 6.23384 1.32301 5.76953 1.81348C5.30439 2.30498 5.03812 2.97783 5.03809 3.68457V5.26367H9.96387V3.68457C9.96383 2.97774 9.69767 2.305 9.23242 1.81348C8.76803 1.32306 8.14451 1.05273 7.50098 1.05273Z" fill="#333333"/> 1191 </svg> 1192</span> 1193<span class="number-items js-cart-qty">0</span> 1194 </span> 1195 </a> 1196 </div></div> 1197 1198 <ul class="m-menu__linklist"> 1199 <li class="m-menu__linklist-item m-menu__linklist-item--search"><nobi-search-bar 1200 button-label="Search" 1201 class="header__search-bar-nobi header__search-bar-nobi--mobile m-menu__search-bar-nobi" 1202 cta-variant="button" 1203 default-mode="ai" 1204 enable-typeahead="true" 1205 hide-typeahead-on-context-pages="false" 1206 placeholder="Wrinkle Free Shirts" 1207 show-hint-row="false" 1208 show-mode-toggle="false" 1209 size="compact" 1210 > 1211 </nobi-search-bar> 1212</li><li class="m-menu__linklist-item m-menu__linklist-item--has-subnav"><input 1213 type="checkbox" 1214 id="item-2dde10ee1d65" 1215 name="item-2dde10ee1d65" 1216 class="m-menu__checkbox m-menu__checkbox--top-level" 1217 1218 checked 1219 1220 > 1221 <label 1222 1223 class="m-menu__linklist-item-label" 1224 for="item-2dde10ee1d65" 1225 > 1226 Men 1227 <span><span class="icon__container " aria-hidden="true"><svg 1228 xmlns="http://www.w3.org/2000/svg" 1229 width="24" 1230 height="24"
1231 viewBox="0 0 24 24" 1232 fill="none" 1233 class="icon-rotate-right" 1234 > 1235 <g> 1236 <path d="M8.01539 21.6534L6.59619 20.2342L14.8308 11.9995L6.59619 3.7649L8.01539 2.3457L17.6692 11.9995L8.01539 21.6534Z" fill="#333333"/> 1237 </g> 1238 </svg> 1239</span> 1240</span> 1241 </label> 1242 <div 1243 class="m-menu m-menu-section" 1244 1245 > 1246 <div class="m-menu__header "><button class="m-menu__toggle" aria-label="Go back to Men" data-input-id="item-2dde10ee1d65"><span class="icon__container " aria-hidden="true"><svg 1247 xmlns="http://www.w3.org/2000/svg" 1248 width="24" 1249 height="24" 1250 viewBox="0 0 24 24" 1251 fill="none" 1252 class="icon-rotate-left" 1253 > 1254 <g > 1255 <path d="M12.9462 11.9995L8.34619 7.39953L9.40002 6.3457L15.0538 11.9995L9.40002 17.6534L8.34619 16.5995L12.9462 11.9995Z" fill="#333333"/> 1256 </g> 1257 </svg> 1258</span> 1259<span class="m-menu__header-title" aria-hidden="true">Men</span> 1260 </button><button class="cart-heading__close-button js-hide-nav" aria-label="Hide Navigation"><span class="icon__container " aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 1261 <g> 1262 <path d="M1.05959 24L0 22.9404L10.9404 12L0 1.05959L1.05959 0L12 10.9404L22.9404 0L24 1.05959L13.0596 12L24 22.9404L22.9404 24L12 13.0596L1.05959 24Z" fill="#333333"/> 1263 </g> 1264 </svg> 1265</span> 1266</button></div> 1267 1268 <ul class="m-menu__linklist" id="menu-mobile-linklist_men"><li class="m-menu__linklist-item"> 1269 <a 1270 id="menu-mobile-link_men_button-down-shirts" 1271 1272 href="/collections/shirts" 1273 class="m-menu-section-link" 1274 >Button-Down Shirts</a> 1275 </li><li class="m-menu__linklist-item"> 1276 <a 1277 id="menu-mobile-link_men_polos" 1278 1279 href="/collections/polos" 1280 class="m-menu-section-link" 1281 >Polos</a> 1282 </li><li class="m-menu__linklist-item"> 1283 <a 1284 id="menu-mobile-link_men_tees-henleys" 1285 1286 href="/collections/tees-henleys" 1287 class="m-menu-section-link" 1288 >Tees & Henleys</a> 1289 </li><li class="m-menu__linklist-item"> 1290 <a 1291 id="menu-mobile-link_men_trousers" 1292 1293 href="/collections/trousers" 1294 class="m-menu-section-link" 1295 >Trousers</a> 1296 </li><li class="m-menu__linklist-item"> 1297 <a 1298 id="menu-mobile-link_men_sweaters" 1299 1300 href="/collections/sweaters" 1301 class="m-menu-section-link" 1302 >Sweaters</a> 1303 </li><li class="m-menu__linklist-item"> 1304 <a 1305 id="menu-mobile-link_men_jackets-sport-coats" 1306 1307 href="/collections/jackets-sport-coats" 1308 class="m-menu-section-link" 1309 >Jackets & Sport Coats</a> 1310 </li><li class="m-menu__linklist-item"> 1311 <a 1312 id="menu-mobile-link_men_accessories" 1313 1314 href="/collections/accessories" 1315 class="m-menu-section-link" 1316 >Accessories</a> 1317 </li></ul> 1318 </div></li><li class="m-menu__linklist-item m-menu__linklist-item--has-subnav"><input 1319 type="checkbox" 1320 id="item-1c931aae2573" 1321 name="item-1c931aae2573" 1322 class="m-menu__checkbox m-menu__checkbox--top-level" 1323 1324 > 1325 <label 1326 1327 class="m-menu__linklist-item-label" 1328 for="item-1c931aae2573" 1329 > 1330 Shop By Collection 1331 <span><span class="icon__container " aria-hidden="true"><svg 1332 xmlns="http://www.w3.org/2000/svg" 1333 width="24" 1334 height="24"
1335 viewBox="0 0 24 24" 1336 fill="none" 1337 class="icon-rotate-right" 1338 > 1339 <g> 1340 <path d="M8.01539 21.6534L6.59619 20.2342L14.8308 11.9995L6.59619 3.7649L8.01539 2.3457L17.6692 11.9995L8.01539 21.6534Z" fill="#333333"/> 1341 </g> 1342 </svg> 1343</span> 1344</span> 1345 </label> 1346 <div 1347 class="m-menu m-menu-section" 1348 1349 > 1350 <div class="m-menu__header "><button class="m-menu__toggle" aria-label="Go back to Shop By Collection" data-input-id="item-1c931aae2573"><span class="icon__container " aria-hidden="true"><svg 1351 xmlns="http://www.w3.org/2000/svg" 1352 width="24" 1353 height="24" 1354 viewBox="0 0 24 24" 1355 fill="none" 1356 class="icon-rotate-left" 1357 > 1358 <g > 1359 <path d="M12.9462 11.9995L8.34619 7.39953L9.40002 6.3457L15.0538 11.9995L9.40002 17.6534L8.34619 16.5995L12.9462 11.9995Z" fill="#333333"/> 1360 </g> 1361 </svg> 1362</span> 1363<span class="m-menu__header-title" aria-hidden="true">Shop By Collection</span> 1364 </button><button class="cart-heading__close-button js-hide-nav" aria-label="Hide Navigation"><span class="icon__container " aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 1365 <g> 1366 <path d="M1.05959 24L0 22.9404L10.9404 12L0 1.05959L1.05959 0L12 10.9404L22.9404 0L24 1.05959L13.0596 12L24 22.9404L22.9404 24L12 13.0596L1.05959 24Z" fill="#333333"/> 1367 </g> 1368 </svg> 1369</span> 1370</button></div> 1371 1372 <ul class="m-menu__linklist" id="menu-mobile-linklist_shop-by-collection"><li class="m-menu__linklist-item"> 1373 <a 1374 id="menu-mobile-link_shop-by-collection_new-arrivals" 1375 1376 href="/collections/new-arrivals" 1377 class="m-menu-section-link" 1378 >New Arrivals</a> 1379 </li><li class="m-menu__linklist-item"> 1380 <a 1381 id="menu-mobile-link_shop-by-collection_performance-collection" 1382 1383 href="/collections/world-of-performance" 1384 class="m-menu-section-link" 1385 >Performance Collection</a> 1386 </li><li class="m-menu__linklist-item"> 1387 <a 1388 id="menu-mobile-link_shop-by-collection_wrinkle-free-collection" 1389 1390 href="/collections/our-wrinkle-free-collection" 1391 class="m-menu-section-link" 1392 >Wrinkle-Free Collection</a> 1393 </li><li class="m-menu__linklist-item"> 1394 <a 1395 id="menu-mobile-link_shop-by-collection_closet-essentials" 1396 1397 href="/collections/closet-essentials" 1398 class="m-menu-section-link" 1399 >Closet Essentials</a> 1400 </li><li class="m-menu__linklist-item"> 1401 <a 1402 id="menu-mobile-link_shop-by-collection_bestselling-styles" 1403 1404 href="/collections/our-most-iconic-button-downs" 1405 class="m-menu-section-link" 1406 >Bestselling Styles</a> 1407 </li></ul> 1408 </div></li><li class="m-menu__linklist-item m-menu__linklist-item--has-subnav"><input 1409 type="checkbox" 1410 id="item-e2caa968c907" 1411 name="item-e2caa968c907" 1412 class="m-menu__checkbox m-menu__checkbox--top-level" 1413 1414 > 1415 <label 1416 1417 style="color: #8E2231" 1418 1419 class="m-menu__linklist-item-label" 1420 for="item-e2caa968c907" 1421 > 1422 Sale 1423 <span><span class="icon__container " aria-hidden="true"><svg 1424 xmlns="http://www.w3.org/2000/svg" 1425 width="24" 1426 height="24"
1427 viewBox="0 0 24 24" 1428 fill="none" 1429 class="icon-rotate-right" 1430 > 1431 <g> 1432 <path d="M8.01539 21.6534L6.59619 20.2342L14.8308 11.9995L6.59619 3.7649L8.01539 2.3457L17.6692 11.9995L8.01539 21.6534Z" fill="#333333"/> 1433 </g> 1434 </svg> 1435</span> 1436</span> 1437 </label> 1438 <div 1439 class="m-menu m-menu-section" 1440 1441 style="--m-menu-section-color: #8E2231" 1442 1443 > 1444 <div class="m-menu__header "><button class="m-menu__toggle" aria-label="Go back to Sale" data-input-id="item-e2caa968c907"><span class="icon__container " aria-hidden="true"><svg 1445 xmlns="http://www.w3.org/2000/svg" 1446 width="24" 1447 height="24" 1448 viewBox="0 0 24 24" 1449 fill="none" 1450 class="icon-rotate-left" 1451 > 1452 <g > 1453 <path d="M12.9462 11.9995L8.34619 7.39953L9.40002 6.3457L15.0538 11.9995L9.40002 17.6534L8.34619 16.5995L12.9462 11.9995Z" fill="#333333"/> 1454 </g> 1455 </svg> 1456</span> 1457<span class="m-menu__header-title" aria-hidden="true">Sale</span> 1458 </button><button class="cart-heading__close-button js-hide-nav" aria-label="Hide Navigation"><span class="icon__container " aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 1459 <g> 1460 <path d="M1.05959 24L0 22.9404L10.9404 12L0 1.05959L1.05959 0L12 10.9404L22.9404 0L24 1.05959L13.0596 12L24 22.9404L22.9404 24L12 13.0596L1.05959 24Z" fill="#333333"/> 1461 </g> 1462 </svg> 1463</span> 1464</button></div> 1465 1466 <ul class="m-menu__linklist" id="menu-mobile-linklist_sale"><li class="m-menu__linklist-item"> 1467 <a 1468 id="menu-mobile-link_sale_all-mens-sale" 1469 1470 href="/collections/sale" 1471 class="m-menu-section-link" 1472 >All Men's Sale</a> 1473 </li><li class="m-menu__linklist-item"> 1474 <a 1475 id="menu-mobile-link_sale_button-downs" 1476 1477 href="/collections/sale?pf_t_shop_by_category=category%3Ashirts#collection-results" 1478 class="m-menu-section-link" 1479 >Button-Downs</a> 1480 </li><li class="m-menu__linklist-item"> 1481 <a 1482 id="menu-mobile-link_sale_polos" 1483 1484 href="/collections/sale?pf_t_shop_by_category=category%3Apolos#collection-results" 1485 class="m-menu-section-link" 1486 >Polos</a> 1487 </li><li class="m-menu__linklist-item"> 1488 <a 1489 id="menu-mobile-link_sale_tees-henleys" 1490 1491 href="/collections/sale?pf_t_shop_by_category=category%3Atees+%26+henleys#collection-results" 1492 class="m-menu-section-link" 1493 >Tees & Henleys</a> 1494 </li><li class="m-menu__linklist-item"> 1495 <a 1496 id="menu-mobile-link_sale_sweaters" 1497 1498 href="/collections/sale?pf_t_shop_by_category=category%3Asweaters+%26+sweatshirts#collection-results" 1499 class="m-menu-section-link" 1500 >Sweaters</a> 1501 </li><li class="m-menu__linklist-item"> 1502 <a 1503 id="menu-mobile-link_sale_jackets-sport-coats" 1504 1505 href="/collections/sale?pf_t_shop_by_category=category%3Ajackets#collection-results" 1506 class="m-menu-section-link" 1507 >Jackets & Sport Coats</a> 1508 </li></ul> 1509 </div></li> 1510<li class="m-menu__linklist-item m-menu__linklist-item--courtesy-heading "> 1511 <span class="m-menu__courtesy-heading" 1512 >MORE UNTUCK<span class="m-menu__courtesy-heading-lower">it</span></span 1513 > 1514 </li> 1515 <li class="m-menu__linklist-item m-menu__linklist-item--courtesy"><a 1516 id="menu-mobile-link_faq" 1517 1518 href="https://support.untuckit.com/" 1519 class="m-menu-section-link" 1520 >FAQ</a></li><li class="m-menu__linklist-item m-menu__linklist-item--courtesy"><a 1521 id="menu-mobile-link_return-exchange" 1522 1523 href="/pages/returns-exchanges" 1524 class="m-menu-section-link" 1525 >Return & Exchange</a></li><li class="m-menu__linklist-item m-menu__linklist-item--courtesy"><a 1526 id="menu-mobile-link_my-account" 1527 1528 href="/account/login?return_url=%2Faccount%23%2Forders" 1529 class="m-menu-section-link" 1530 >My Account</a></li><li class="m-menu__linklist-item m-menu__linklist-item--courtesy"><a 1531 id="menu-mobile-link_gift-cards" 1532 1533 href="/pages/gift-cards" 1534 class="m-menu-section-link" 1535 >Gift Cards</a></li><li class="m-menu__linklist-item m-menu__linklist-item--courtesy"><a 1536 id="menu-mobile-link_about-us" 1537 1538 href="/pages/about-us" 1539 class="m-menu-section-link" 1540 >About Us</a></li><li class="m-menu__linklist-item m-menu__linklist-item--courtesy"><a 1541 id="menu-mobile-link_customer-service" 1542 1543 href="/pages/contact-us" 1544 class="m-menu-section-link" 1545 >Customer Service</a></li><li class="m-menu__linklist-item m-menu__linklist-item--courtesy"><a 1546 id="menu-mobile-link_our-policies" 1547 1548 href="/pages/privacy-policy" 1549 class="m-menu-section-link" 1550 >Our Policies</a></li> 1551<li class="m-menu__linklist-item m-menu__linklist-item--account"> 1552 <a class="m-menu__account-link" href="/account/login">
1553 <span class="m-menu__account-icon" aria-hidden="true"><span class="icon__container " aria-hidden="true"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 1554 <path d="M10 0C15.5228 4.79647e-05 19.9999 4.47717 20 10C20 15.5228 15.5228 20 10 20C6.96414 20 4.24609 18.6454 2.41211 16.5098L2.40234 16.5049C2.40308 16.5034 2.40356 16.5015 2.4043 16.5C0.906767 14.7517 2.15605e-05 12.4825 0 10C5.20552e-05 4.47718 4.47718 5.20568e-05 10 0ZM9.75293 13.3428C8.46218 13.2817 7.1813 13.5993 6.06836 14.2559C5.22554 14.7532 4.5061 15.4283 3.95898 16.2305C5.52157 17.7461 7.6512 18.6806 10 18.6807C12.2108 18.6806 14.2271 17.8522 15.7598 16.4912C15.1971 15.5753 14.419 14.8069 13.4883 14.2568C12.3774 13.6003 11.0986 13.2825 9.80957 13.3428L9.78125 13.3447L9.75293 13.3428ZM10 1.32031C5.2062 1.32036 1.32036 5.2062 1.32031 10C1.32033 11.9987 1.99764 13.8383 3.13281 15.3057C3.75564 14.4635 4.54389 13.7509 5.4541 13.2139C6.76177 12.4424 8.26483 12.0676 9.78125 12.1338C11.2962 12.0683 12.7977 12.4432 14.1035 13.2148C15.1169 13.8138 15.978 14.6314 16.6279 15.6025C17.9075 14.0903 18.6806 12.1358 18.6807 10C18.6806 5.2062 14.7938 1.32036 10 1.32031ZM9.78027 2.6709C12.3679 2.6709 14.4656 4.76891 14.4658 7.35645C14.4658 9.94411 12.368 12.042 9.78027 12.042C7.19299 12.0415 5.09478 9.94383 5.09473 7.35645C5.09493 4.76919 7.19308 2.67136 9.78027 2.6709ZM9.78027 3.88184C7.86135 3.8823 6.30587 5.43747 6.30566 7.35645C6.30572 9.27556 7.86126 10.8316 9.78027 10.832C11.6997 10.832 13.2558 9.27584 13.2559 7.35645C13.2557 5.43718 11.6996 3.88184 9.78027 3.88184Z" fill="#4A4A4A"/> 1555 </svg> 1556</span> 1557</span> 1558 <span class="m-menu__account-text">SIGN IN / SIGN UP</span> 1559 </a> 1560 </li></ul> 1561 </div> 1562</nav> 1563 1564 1565</div> 1566 <div class="inline-cart js-inline-cart"><style> </style><div class="inline-cart__content"> 1567 <div class="inline-cart__scrolled-content"> 1568 <div class="cart-heading"> 1569 <span class="cart-heading__heading-text">Cart<span class="js-side-cart-qty"></span><span class="js-cart-total-price"></span> 1570 </span> 1571 <button class="cart-heading__close-button js-close-cart" aria-label="Close Cart"><span class="icon__container " aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 1572 <g> 1573 <path d="M1.05959 24L0 22.9404L10.9404 12L0 1.05959L1.05959 0L12 10.9404L22.9404 0L24 1.05959L13.0596 12L24 22.9404L22.9404 24L12 13.0596L1.05959 24Z" fill="#333333"/> 1574 </g> 1575 </svg> 1576</span> 1577</button> 1578 </div> 1579 1580<div class="cart-shipping"> 1581 <cart-progress class=""></cart-progress> 1582 </div> 1583 <div class="js-cart-contents cart-contents"></div> 1584 <div class="cart-subtotal js-cart-subtotal"> 1585 <div class="subtotal "> 1586 <span> Subtotal <div class="cart-tooltip"> 1587 <span class="icon-tooltip js-tooltip"></span> 1588 <div class="tooltip-wrap"> 1589 Total price includes taxes. 1590 </div> 1591</div> 1592 </span> 1593 <span 1594 id="inline-total" 1595 class="js-cart-total js-cart-total-price" 1596 > 1597 £0.00 1598 </span> 1599 </div> 1600</div> 1601 1602</div> 1603 <div class="js-cart-bottom inline-cart__sticky-content"> 1604 <div class="cart-ctas"><a href="/cart" class="button cart-ctas__view-cart view-cart">View Cart</a><form action="/checkout" method="post" aria-hidden="true" tabindex="-1"> 1605 <button type="submit" class="button checkout js-checkout cart-ctas__checkout"> 1606 <span class="hidden cart-ctas__checkout-spinner js-checkout-spinner" aria-hidden="true"><span class="icon__container " aria-hidden="true"><svg 1607 width="24" 1608 height="24"
1609 viewBox="0 0 24 24" 1610 fill="none" 1611 xmlns="http://www.w3.org/2000/svg" 1612 class="icon-spinner" 1613 > 1614 <circle cx="12" cy="12" r="10" stroke="#7C7C7C" stroke-width="2" stroke-linecap="round" stroke-dasharray="31.416" stroke-dashoffset="31.416" fill="none" opacity="0.3"/> 1615 <circle cx="12" cy="12" r="10" stroke="#7C7C7C" stroke-width="2" stroke-linecap="round" stroke-dasharray="31.416" stroke-dashoffset="23.562" fill="none"/> 1616 </svg> 1617</span> 1618</span> 1619 <span class="cart-ctas__checkout-text js-checkout-text">Checkout</span> 1620</button> 1621 </form> 1622 </div> 1623 <p class="cart-promo">Have a discount code? Apply it at checkout.</p> 1624 </div> 1625 </div> 1626</div>
1627<script> 1628 window.cartUI = { 1629 errors: { 1630 update: { 1631 generic: "There was an error updating the quantity for #{product}. If the problem persists, please \u003ca style=\"text-decoration: underline;\" href=\"\/pages\/contact-us\"\u003econtact us\u003c\/a\u003e.", 1632 soldOut: "We\u0026#39;re unable to update the quantity for #{product}. This item is sold out.", 1633 cannotAddInventory: "We\u0026#39;re unable to update the quantity for #{product}. There is no more inventory left to add to cart." 1634 }, 1635 remove: { 1636 generic: "There was an error removing #{product}. Please try refreshing the page and removing the item again. If the problem persists, please \u003ca style=\"text-decoration: underline;\" href=\"\/pages\/contact-us\"\u003econtact us\u003c\/a\u003e." 1637 } 1638 }, 1639 standardShippingOnly: { 1640 orderMessage: "Need it expedited? Remove standard shipping items.", 1641 lineItemMessage: "Standard Shipping Only" 1642 } 1643 } 1644</script>
1644 1645 1646 1647<div class="video-modal" data-video-modal aria-hidden="true" tabindex="-1"> 1648 <button class="video-modal__close js-close-modal" aria-label="Close Modal"></button> 1649 <iframe class="video-modal__iframe" autoplay data-video-modal-iframe src="" frameborder="0" title="Embedded video player" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> 1650</div> 1651 1652 1653 <div class="wrapper wrapper-body"> 1654 <main id="mainContent" class="site-body"> 1655 1656 1657 1658 <section id="module-content"> 1659 1660 <div id="content" class="container"> 1661 <div class="row row-no-gutters"> 1662 <div id="col-main" class="login-page"> 1663 <div class="container"> 1664 <div class="row"> 1665 <div class="login-page__header-container"> 1666 <div class="my-untuckit-header"> 1667 <img class="my-untuckit-header__logo" src="//untuckit.co.uk/cdn/shop/t/493/assets/my-untuckit.svg?v=151639032750902307871773103290" alt='My UNTUCKIT' loading="lazy" height="42" width="220" /> 1668 <p class="my-untuckit-header__subheader">A personalized shopping experienceâjust for you.</p> 1669</div> 1670 1671 </div> 1672 <div class="col-md-24 login-page__content-container"> 1673 <div 1674 id="customer-login" 1675 class="content login-page__login-form-container" 1676 1677 > 1678 <div class="widget-wrapper"> 1679 <div class="login-register-shared"> 1680 <h1> 1681 Login to Your Account 1682 </h1> 1683 1684 <p class="form-subtext"></p> 1685 1686 <form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" class="js-login-form"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="â" /> 1687 1688 1689 1690 <div class="control-group"><label class="control-label" for="email-customer_login">Email</label> 1691 <input type="email" required name="customer[email]" id="email-customer_login" class="js-login-form-email col-sm-8 col-xs-24" /> 1692 </div> 1693 1694 1695 <div class="control-group"><label class="control-label" for="password-customer_login">Password</label> 1696 <input type="password" required name="customer[password]" id="password-customer_login" class="js-login-form-password col-sm-8 col-xs-24 password" /> 1697 </div> 1698 1699 1700 <div class="control-group last"> 1701 <button 1702 class="js-login-form-submit-button btn incomplete" 1703 type="submit" 1704 data-loading-text="One Moment..." 1705 > 1706 <span class="hidden js-login-form-submit-spinner" aria-hidden="true"><span class="icon__container " aria-hidden="true"><svg 1707 width="24" 1708 height="24"
1709 viewBox="0 0 24 24" 1710 fill="none" 1711 xmlns="http://www.w3.org/2000/svg" 1712 class="icon-spinner" 1713 > 1714 <circle cx="12" cy="12" r="10" stroke="#7C7C7C" stroke-width="2" stroke-linecap="round" stroke-dasharray="31.416" stroke-dashoffset="31.416" fill="none" opacity="0.3"/> 1715 <circle cx="12" cy="12" r="10" stroke="#7C7C7C" stroke-width="2" stroke-linecap="round" stroke-dasharray="31.416" stroke-dashoffset="23.562" fill="none"/> 1716 </svg> 1717</span> 1718</span> 1719 <span class="js-login-form-submit-text">Submit</span> 1720 </button> 1721 </div> 1722 1723 <div class="control-group"> 1724 <div id="forgot_password"> 1725 <p class="forgot-cta"><a id="showRecoverForm" href="javascript:void(0);">Reset your password</a></p> 1726 </div> 1727 </div> 1728 1729 <div class="control-group"> 1730 <div class="create-account"> 1731 <p><a href="/account/register" id="register-btn">Donât have an account? Create one here.</a></p> 1732 </div> 1733 </div> 1734 </form> 1735</div> 1736 </div> 1737 </div> 1738 1739 <div 1740 id="recover-password" 1741 class="content" 1742 1743 1744 style="display:none;" 1745 1746 > 1747 <div class="content-background"></div> 1748 <div class="widget-wrapper"> 1749 <h2> 1750 Reset Your Password 1751 </h2> 1752 1753 <form method="post" action="/account/recover" accept-charset="UTF-8"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="â" /> 1754<p>We will send you an email to reset your password.</p> 1755 1756 <div class="control-group"> 1757 <label class="control-label" for="recover-email">Email 1758 <span class="req">*</span></label 1759 > 1760 <input 1761 type="email" 1762 required 1763 name="email" 1764 id="recover-email" 1765 class="col-sm-8 col-xs-24" 1766 > 1767 </div> 1768 <div class="control-group last"> 1769 <button class="btn complete" type="submit">Submit</button> 1770 </div> 1771 <div class="control-group"> 1772 <p> 1773 or 1774 <a id="cancelRecoverForm" class="cancel" href="javascript:void(0);">Cancel</a> 1775 </p> 1776 </div></form> 1777 1778 </div> 1779 </div><div id="shopify-section-account-features" class="shopify-section account-features-container"> 1780</div> 1781</div> 1782 1783 1784</div> 1785 </div> 1786</div> 1787 1788 1789 </div> 1790 </div> 1791 1792 </section> 1793 1794 </main><footer id="shopify-section-footer" class="shopify-section footer"><div class="footer__content-container"><section class="footer__link-lists"><div class="footer__link-lists__group footer__link-lists__group--mobile"> 1795 <button type="button" class="footer__link-lists__accordion-button accordion-toggle js-accordion-toggle"> 1796 <h4 class="footer__link-lists__accordion-title">Shop</h4> 1797 <i class="footer__link-lists__accordion-arrow-container" aria-hidden><span class="icon__container " aria-hidden="true"><svg 1798 xmlns="http://www.w3.org/2000/svg" 1799 width="24" 1800 height="24"
1801 viewBox="0 0 24 24" 1802 fill="none" 1803 class="icon-rotate-down" 1804 > 1805 <g > 1806 <path d="M12.9462 11.9995L8.34619 7.39953L9.40002 6.3457L15.0538 11.9995L9.40002 17.6534L8.34619 16.5995L12.9462 11.9995Z" fill="#333333"/> 1807 </g> 1808 </svg> 1809</span> 1810</i> 1811 </button> 1812 1813 <div class="footer__link-lists__accordion-content accordion-content js-accordion-content"><a class="footer__link-lists__group-link" href="/collections/shirts">Button-Down Shirts</a><a class="footer__link-lists__group-link" href="/collections/polos">Polos</a><a class="footer__link-lists__group-link" href="/collections/mens-tees-henleys">Tees & Henleys</a><a class="footer__link-lists__group-link" href="/collections/mens-sweaters">Sweaters & Sweatshirts</a><a class="footer__link-lists__group-link" href="/collections/jackets-sport-coats">Jackets & Sport Coats</a><a class="footer__link-lists__group-link" href="/collections/trousers">Trousers</a><a class="footer__link-lists__group-link" href="/collections/accessories">Belts & Socks</a></div> 1814 </div> 1815 1816 <div class="footer__link-lists__group footer__link-lists__group--desktop"> 1817 <div class="footer__link-lists__group-title">Shop</div> 1818 <div class="footer__link-lists__group-links"><a class="footer__link-lists__group-link" href="/collections/shirts">Button-Down Shirts</a><a class="footer__link-lists__group-link" href="/collections/polos">Polos</a><a class="footer__link-lists__group-link" href="/collections/mens-tees-henleys">Tees & Henleys</a><a class="footer__link-lists__group-link" href="/collections/mens-sweaters">Sweaters & Sweatshirts</a><a class="footer__link-lists__group-link" href="/collections/jackets-sport-coats">Jackets & Sport Coats</a><a class="footer__link-lists__group-link" href="/collections/trousers">Trousers</a><a class="footer__link-lists__group-link" href="/collections/accessories">Belts & Socks</a></div> 1819 </div><div class="footer__link-lists__group footer__link-lists__group--mobile"> 1820 <button type="button" class="footer__link-lists__accordion-button accordion-toggle js-accordion-toggle"> 1821 <h4 class="footer__link-lists__accordion-title">Customer Service</h4> 1822 <i class="footer__link-lists__accordion-arrow-container" aria-hidden><span class="icon__container " aria-hidden="true"><svg 1823 xmlns="http://www.w3.org/2000/svg" 1824 width="24" 1825 height="24"
1826 viewBox="0 0 24 24" 1827 fill="none" 1828 class="icon-rotate-down" 1829 > 1830 <g > 1831 <path d="M12.9462 11.9995L8.34619 7.39953L9.40002 6.3457L15.0538 11.9995L9.40002 17.6534L8.34619 16.5995L12.9462 11.9995Z" fill="#333333"/> 1832 </g> 1833 </svg> 1834</span> 1835</i> 1836 </button> 1837 1838 <div class="footer__link-lists__accordion-content accordion-content js-accordion-content"><a class="footer__link-lists__group-link" href="https://support.untuckit.com/">FAQ</a><a class="footer__link-lists__group-link" href="https://www.untuckit.co.uk/pages/all-size-charts">Size Chart</a><a class="footer__link-lists__group-link" href="https://www.untuckit.co.uk/pages/order-tracking">Track Your Order</a><a class="footer__link-lists__group-link" href="/pages/contact-us">Contact Us</a></div> 1839 </div> 1840 1841 <div class="footer__link-lists__group footer__link-lists__group--desktop"> 1842 <div class="footer__link-lists__group-title">Customer Service</div> 1843 <div class="footer__link-lists__group-links"><a class="footer__link-lists__group-link" href="https://support.untuckit.com/">FAQ</a><a class="footer__link-lists__group-link" href="https://www.untuckit.co.uk/pages/all-size-charts">Size Chart</a><a class="footer__link-lists__group-link" href="https://www.untuckit.co.uk/pages/order-tracking">Track Your Order</a><a class="footer__link-lists__group-link" href="/pages/contact-us">Contact Us</a></div> 1844 </div><div class="footer__link-lists__group footer__link-lists__group--mobile"> 1845 <button type="button" class="footer__link-lists__accordion-button accordion-toggle js-accordion-toggle"> 1846 <h4 class="footer__link-lists__accordion-title">Our Policies</h4> 1847 <i class="footer__link-lists__accordion-arrow-container" aria-hidden><span class="icon__container " aria-hidden="true"><svg 1848 xmlns="http://www.w3.org/2000/svg" 1849 width="24" 1850 height="24"
1851 viewBox="0 0 24 24" 1852 fill="none" 1853 class="icon-rotate-down" 1854 > 1855 <g > 1856 <path d="M12.9462 11.9995L8.34619 7.39953L9.40002 6.3457L15.0538 11.9995L9.40002 17.6534L8.34619 16.5995L12.9462 11.9995Z" fill="#333333"/> 1857 </g> 1858 </svg> 1859</span> 1860</i> 1861 </button> 1862 1863 <div class="footer__link-lists__accordion-content accordion-content js-accordion-content"><a class="footer__link-lists__group-link" href="/pages/returns-exchanges">Returns & Exchanges</a><a class="footer__link-lists__group-link" href="/pages/shipping-information">Shipping</a><a class="footer__link-lists__group-link" href="/pages/terms-and-conditions-pieeye">Terms & Conditions</a><a class="footer__link-lists__group-link" href="/pages/privacy-policy">Privacy Policy</a><a class="footer__link-lists__group-link" href="/pages/cookie-policy-pieeye">Cookie Policy</a><a class="footer__link-lists__group-link" href="/pages/code-of-conduct">Code of Conduct</a><button class="footer__link-lists__group-link" onClick="event.preventDefault();pieeyeShowPopup()"> 1864 Do Not Sell or Share 1865 </button> 1866 <button id="pieeye-cookie-settings" class="footer__link-lists__group-link">Cookie Settings</button> 1867</div> 1868 </div> 1869 1870 <div class="footer__link-lists__group footer__link-lists__group--desktop"> 1871 <div class="footer__link-lists__group-title">Our Policies</div> 1872 <div class="footer__link-lists__group-links"><a class="footer__link-lists__group-link" href="/pages/returns-exchanges">Returns & Exchanges</a><a class="footer__link-lists__group-link" href="/pages/shipping-information">Shipping</a><a class="footer__link-lists__group-link" href="/pages/terms-and-conditions-pieeye">Terms & Conditions</a><a class="footer__link-lists__group-link" href="/pages/privacy-policy">Privacy Policy</a><a class="footer__link-lists__group-link" href="/pages/cookie-policy-pieeye">Cookie Policy</a><a class="footer__link-lists__group-link" href="/pages/code-of-conduct">Code of Conduct</a><button class="footer__link-lists__group-link" onClick="event.preventDefault();pieeyeShowPopup()"> 1873 Do Not Sell or Share 1874 </button> 1875 <button id="pieeye-cookie-settings" class="footer__link-lists__group-link">Cookie Settings</button> 1876</div> 1877 </div><div class="footer__link-lists__group footer__link-lists__group--mobile"> 1878 <button type="button" class="footer__link-lists__accordion-button accordion-toggle js-accordion-toggle"> 1879 <h4 class="footer__link-lists__accordion-title">More</h4> 1880 <i class="footer__link-lists__accordion-arrow-container" aria-hidden><span class="icon__container " aria-hidden="true"><svg 1881 xmlns="http://www.w3.org/2000/svg" 1882 width="24" 1883 height="24"
1884 viewBox="0 0 24 24" 1885 fill="none" 1886 class="icon-rotate-down" 1887 > 1888 <g > 1889 <path d="M12.9462 11.9995L8.34619 7.39953L9.40002 6.3457L15.0538 11.9995L9.40002 17.6534L8.34619 16.5995L12.9462 11.9995Z" fill="#333333"/> 1890 </g> 1891 </svg> 1892</span> 1893</i> 1894 </button> 1895 1896 <div class="footer__link-lists__accordion-content accordion-content js-accordion-content"><a class="footer__link-lists__group-link" href="/products/digital-gift-card">Gift Card</a><a class="footer__link-lists__group-link" href="https://apply.workable.com/untuckit/">Careers</a></div> 1897 </div> 1898 1899 <div class="footer__link-lists__group footer__link-lists__group--desktop"> 1900 <div class="footer__link-lists__group-title">More</div> 1901 <div class="footer__link-lists__group-links"><a class="footer__link-lists__group-link" href="/products/digital-gift-card">Gift Card</a><a class="footer__link-lists__group-link" href="https://apply.workable.com/untuckit/">Careers</a></div> 1902 </div></section><section class="footer__contact"> 1903 <p class="footer__contact__header">Contact Us</p> 1904 <div class="footer__contact__sections"> 1905 <div class="footer__contact__section footer__contact__section--email"> 1906 <div class="footer__contact__section-main"> 1907 <p class="footer__contact__section-header">
1907Email:</p> 1908 <a 1909 class="footer__contact__section-email-address" 1910 href="mailto:[email protected]" 1911 >[email protected]</a> 1912 </div> 1913 </div> 1914 <div class="footer__contact__section footer__contact__section--phone"> 1915 <div class="footer__contact__section-main"> 1916 <p class="footer__contact__section-header">Phone:</p> 1917 <a class="footer__contact__section-phone-number" href="tel:+44-800-098-8589">+44 800 098-8589</a> 1918 </div> 1919 <div class="footer__contact__section-hours"> 1920 <p>Mon-Fri 10:00 â 22:00 BST</p> 1921 </div> 1922 </div><div class="footer__contact__social-media"><section class="social-media-icons"><a class="social-media-icons__link" href="https://www.facebook.com/UNTUCKit"> 1923 <img src="//untuckit.co.uk/cdn/shop/files/FB.svg?v=1737558327&width=64" alt="Facebook" width="32" height="32" class="social-media-icons__image"> 1924 </a><a class="social-media-icons__link" href="http://instagram.com/UNTUCKit"> 1925 <img src="//untuckit.co.uk/cdn/shop/files/IG.svg?v=1737558327&width=64" alt="Instagram" width="32" height="32" class="social-media-icons__image"> 1926 </a><a class="social-media-icons__link" href="http://www.pinterest.com/untuckit/"> 1927 <img src="//untuckit.co.uk/cdn/shop/files/Pinterst.svg?v=1737558326&width=64" alt="Pinterest" width="32" height="32" class="social-media-icons__image"> 1928 </a><a class="social-media-icons__link" href="https://www.tiktok.com/@untuckit"> 1929 <img src="//untuckit.co.uk/cdn/shop/files/Tiktok.svg?v=1737558327&width=64" alt="TikTok" width="32" height="32" class="social-media-icons__image"> 1930 </a><a class="social-media-icons__link" href="https://x.com/untuckit"> 1931 <img src="//untuckit.co.uk/cdn/shop/files/X.svg?v=1737558328&width=64" alt="X" width="32" height="32" class="social-media-icons__image"> 1932 </a></section></div> 1933 </div> 1934 </section></div> 1935 1936<section class="footer__bottom-bar"> 1937 <div class="footer__bottom-bar__content"> 1938 <img 1939 class="footer__bottom-bar__logo" 1940 src="//untuckit.co.uk/cdn/shop/t/493/assets/logo-wht.svg?v=2023189419237613621773103290" 1941 height="17" 1942 width="120" 1943 alt="UNTUCKit logo" 1944 loading="lazy" 1945 > 1946 <div class="footer__bottom-bar__copyright">© UNTUCKit 2026</div> 1947 </div> 1948</section> 1949 1950 1951</footer></div><div class="overlay" id="js-overlay"></div> 1952<div class="loader-wrapper js-loader"> 1953 <div class="loader"> 1954 <span class="dot dot_1"></span> 1955 <span class="dot dot_2"></span> 1956 <span class="dot dot_3"></span> 1957 <span class="dot dot_4"></span> 1958 </div> 1959</div> 1960<!-- GEO TARGET REDIRECT --> 1961 1962
1962<script> 1963 (function (g, e, o, t, a, r, ge, tl, y, s) { 1964 t = g.getElementsByTagName(e)[0]; 1965 y = g.createElement(e); 1966 y.async = true; 1967 y.src = 1968 'https://g10696554090.co/gr?id=-LnwneCDzE4ycmBRbtIE&refurl=' + 1969 g.referrer + 1970 '&winurl=' + 1971 encodeURIComponent(window.location); 1972 t.parentNode.insertBefore(y, t); 1973 })(document, 'script'); 1974 </script>
1974 1975
1976<script type="text/javascript"> 1977 window.UNTUCKitConfig = Object.assign(window.UNTUCKitConfig || {}, { 1978 shopifyStorefrontApiVersion: "2026-04", 1979 shopifyStorefrontApiPublicAccessToken: "063fef3dedc180a11c7ecb032a0eee67", 1980 nearbyToggle: { 1981 enable: false, 1982 nearby_lookup_url: "https://d2oe746mg2bbmv.cloudfront.net/nearby", 1983 nearby_lookup_max_distance: "100", 1984 browserBasedGeolocationToggle: false, 1985 storeValidationTtlHours: 24, 1986 selectMyStoreFunctionalityToggle: false, 1987 }, 1988 cartJson: {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"GBP","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}, 1989 cartCurrencySymbol: "£", 1990 checkoutLoadingText: "One Moment...", 1991 shop: { 1992 domain: "untuckit.co.uk", 1993 url: "https:\/\/untuckit.co.uk", 1994 money_format: "£{{amount}}" 1995 }, 1996 international: { 1997 ca: "https://www.untuckit.ca" 1998 }, 1999 thresholds: { 2000 hasFreeShippingThreshold: true, 2001 freeShippingThresholdAmount: 75, 2002 freeShippingPromoLabel: "Add {money} for \u003cstrong\u003eFREE SHIPPING\u003c\/strong\u003e", 2003 freeShippingPromoQualifiedLabel: "Congrats on your \u003cstrong\u003eFREE SHIPPING\u003c\/strong\u003e", 2004 shipAfterLabel: "", 2005 cartMessagingEndPunctuation: "!" 2006 }, 2007 showAddToCartOverlay: true, 2008 postAddToCartViewCartToInlineCartToggle: true, 2009 promoLabelOverride: false, 2010 storeLookupUrl: "https://2y9a1112jj.execute-api.us-east-1.amazonaws.com/production/stores", 2011 inStockRecommendationTitle: "You May Also Like", 2012 outOfStockErrorMessage: "Your size or fit is sold out. Click below to shop similar styles in your size\/fit.", 2013 outOfStockErrorMessageQuickshop: "This size or fit is sold out.", 2014 notifyWhenAvailableText: "Notify Me", 2015 showProductBadging: false, 2016 productPricingShowPercentageSaved: false, 2017 productPricingPercentageSavedThreshold: 10, 2018 productPricingShowOriginalPriceDate: false, 2019 newstoreCarrierUrl: "https:\/\/p.associate.untuckit.net\/get_tracking_info",yotpoReviewsLoaderUrl: "https:\/\/cdn-widgetsrepository.yotpo.com\/v1\/loader\/zYnQfOhDbTVHnq6gy3VE3MnGOC2TdqaoLA7utJtw",ipAddressServerUrl: "https:\/\/ipv4.jsonip.com",sentry: { 2020 enable: false, 2021 dsn: "", 2022 environment: "untuckit.co.uk", 2023 consoleLoggingLevels: "error", 2024 customerId: null, 2025 }, 2026 kustomerLiveChat: { 2027 toggle: false, 2028 scriptUrl: "https:\/\/cdn.kustomerapp.com\/chat-web\/widget.js", 2029 apiKey: "", 2030 brandId: "5daf78c7124be4f2960ca6ea", 2031 chatIconSize: 40, 2032 preferredView: "chat", 2033 orgSlug: "untuckit", 2034 }, 2035 }); 2036 window.UNTUCKitConfig.thirdPartyToggles = { 2037 boostLoadLiquidFirst: true, 2038 boostPaginationType: "default", 2039 boostAutoSelectLoadPrevious: false, 2040 isApp: navigator.userAgent.indexOf('Highstreet') >= 0, 2041 pieeye: true, 2042 swym: false, 2043 swymSaveForLater: false, 2044 attentiveManualPopupDesktopId: "", 2045 attentiveManualPopupMobileId: "", 2046 yotpo: true,}; 2047 </script>
2047<script type="text/plain" class="pieeye-category-performance">window.dataLayer = window.dataLayer || []; 2048 2049 var logState = { 2050 2051 2052 'logState' : "Logged Out", 2053 2054 2055 'customerEmail' : '', 2056 'timestamp' : Date.now(), 2057 2058 'customerType' : 'New', 2059 2060 'shippingInfo' : { 2061 'fullName' : '', 2062 'firstName' : '', 2063 'lastName' : '', 2064 'address1' : '', 2065 'address2' : '', 2066 'street' : '', 2067 'city' : '', 2068 'province' : '', 2069 'zip' : '', 2070 'country' : '', 2071 'phone' : '', 2072 }, 2073 'billingInfo' : { 2074 'fullName' : '', 2075 'firstName' : '', 2076 'lastName' : '', 2077 'address1' : '', 2078 'address2' : '', 2079 'street' : '', 2080 'city' : '', 2081 'province' : '', 2082 'zip' : '', 2083 'country' : '', 2084 'phone' : '', 2085 }, 2086 'checkoutEmail' : '', 2087 'currency' : 'GBP', 2088 'pageType' : 'Log State', 2089 'event' : 'Log State' 2090 }; 2091 2092 dataLayer.push(logState); 2093 2094 if (document.location.pathname === '/') { 2095 dataLayer.push({ 2096 'pageType' : 'Homepage' 2097 }); 2098 } 2099 2100 var transactionProducts = []; 2101 2102 2103 2104 var transactionData = { 2105 2106 }; 2107 2108 if (document.location.pathname.match(/.*order.*/g)) { 2109 dataLayer.push(transactionData, { 2110 'pageType' : 'Transaction', 2111 'event' : 'Transaction' 2112 }); 2113 } 2114 2115 dataLayer.push({ 2116 'event': 'DataLayer Loaded' 2117 }); 2118</script>
2118 2119<!-- Google Tag Manager --> 2120<!--
vendor: 62 bytes, line 2120
2120 <noscript><iframe src="//www.googletagmanager.com/ns.html?id=
2120GTM-WGLQ6LS
vendor: 83 bytes, lines 2120-2121
2120" 2121height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2121-->
2122<script>
vendor: 329 bytes, lines 2122-2126
2122(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 2123 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 2124 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 2125 '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 2126 })(window,document,'script','dataLayer','
2126GTM-WGLQ6LS
vendor: 3 bytes, line 2126
2126');
2126</script>
2126 2127 <!-- End Google Tag Manager -->
2127<script type="text/javascript"> 2128 (function() { 2129 window.segmentLayer = { 2130 customer: { 2131 id: '', 2132 email: '', 2133 order_count: 0, 2134 lifetime_value: 0.00 2135 } 2136 }; 2137 }()); 2138</script>
vendor: 1 bytes, line 2138
2138
2139<script type="text/plain" class="pieeye-category-functional"> 2140 console.log("UNTUCKit : Module : Narvar Shop Now : Load"); 2141 var l = document.createElement("script"); 2142 l.onload = function() { 2143 try { 2144 console.log("UNTUCKit : Module : Narvar Shop Now : Init"); 2145 nv_shopnow.init(); 2146 } catch(e) { 2147 console.error("UNTUCKit : Module : Narvar Shop Now : Not Defined"); 2148 } 2149 } 2150 l.defer = true; 2151 l.src= "https://szero.narvar.com/packs/js/shop_now.js"; 2152 document.body.appendChild(l); 2153</script>
2153 2154<style> 2155 .narvar__spinner { 2156 display: none; 2157 } 2158</style><template id="utk-main-dialog-template"> 2159 <dialog class="main-dialog"> 2160 <button class="main-dialog__close-button" aria-label="Close Dialog"><span class="icon__container " aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> 2161 <g> 2162 <path d="M1.05959 24L0 22.9404L10.9404 12L0 1.05959L1.05959 0L12 10.9404L22.9404 0L24 1.05959L13.0596 12L24 22.9404L22.9404 24L12 13.0596L1.05959 24Z" fill="#333333"/> 2163 </g> 2164 </svg> 2165</span> 2166</button> 2167 <div class="main-dialog__content"></div> 2168 </dialog> 2169 </template>
2169<script 2170 src="https://assistant-script.nobi.ai/nobi.bundle.js" 2171 onload="window.Nobi?.initialize({ merchantId: '19c34c18-94b0-44d3-94f9-8db2e0c7401b' });" 2172 defer 2173 ></script>
2173 2174
2174<script> 2175 console.log('Nobi initialized'); 2176 window.NobiFeatureHooks = window.NobiFeatureHooks || {}; 2177 window.NobiFeatureHooks.shouldShowProductVariantMessage = () => 2178 window.UNTUCKitConfig?.showProductBadging || false; 2179 </script>
2179 2180 2181 2182 2183 2184 <template id="utk-checkout-cta-template"> 2185 <button type="submit" class="button checkout js-checkout cart-ctas__checkout"> 2186 <span class="hidden cart-ctas__checkout-spinner js-checkout-spinner" aria-hidden="true"><span class="icon__container " aria-hidden="true"><svg 2187 width="24" 2188 height="24" 2189 viewBox="0 0 24 24" 2190 fill="none" 2191 xmlns="http://www.w3.org/2000/svg" 2192 class="icon-spinner" 2193 > 2194 <circle cx="12" cy="12" r="10" stroke="#7C7C7C" stroke-width="2" stroke-linecap="round" stroke-dasharray="31.416" stroke-dashoffset="31.416" fill="none" opacity="0.3"/> 2195 <circle cx="12" cy="12" r="10" stroke="#7C7C7C" stroke-width="2" stroke-linecap="round" stroke-dasharray="31.416" stroke-dashoffset="23.562" fill="none"/> 2196 </svg> 2197</span> 2198</span> 2199 <span class="cart-ctas__checkout-text js-checkout-text">Checkout</span> 2200</button> 2201 </template> 2202 2203<style> .page.privacy-policy a {text-decoration: underline;} </style> 2204<div id="shopify-block-AeWtjZE1LT2Irb3pva__7079518687644006178" class="shopify-block shopify-app-block">
2204<script> 2205 (function () { 2206 const cartAttributes = {}; 2207 2208 // Helper function to retrieve the UTM from Url 2209 function getUTMFromUrl() { 2210 const url_string = window.location.href; 2211 const url = new URL(url_string); 2212 2213 const utm_id = url.searchParams.get("utm_id"); 2214 const utm_source = url.searchParams.get("utm_source"); 2215 const utm_medium = url.searchParams.get("utm_medium"); 2216 const utm_campaign = url.searchParams.get("utm_campaign"); 2217 const utm_term = url.searchParams.get("utm_term"); 2218 const ref = url.searchParams.get("ref"); 2219 2220 if (!utm_id && !utm_source && !utm_medium && !utm_campaign && !ref) { 2221 return null; 2222 } 2223 2224 let utmParameters = {}; 2225 2226 if (utm_id) { 2227 utmParameters.utm_id = utm_id; 2228 } 2229 if (utm_source) { 2230 utmParameters.utm_source = utm_source; 2231 } 2232 if (utm_medium) { 2233 utmParameters.utm_medium = utm_medium; 2234 } 2235 if (utm_campaign) { 2236 utmParameters.utm_campaign = utm_campaign; 2237 } 2238 if (utm_term) { 2239 utmParameters.utm_term = utm_term; 2240 } 2241 if (ref) { 2242 utmParameters.ref = ref; 2243 } 2244 2245 2246 return Object.keys(utmParameters).length === 0 2247 ? null 2248 : utmParameters; 2249 } 2250 2251 // Helper function to retrieve the UTM from Cookie 2252 function getUTMAttributes() { 2253 const urlUtmParams = getUTMFromUrl(); 2254 2255 if (urlUtmParams) { 2256 return urlUtmParams; 2257 } 2258 2259 // No longer reading from deprecated Shopify cookies 2260 return undefined; 2261 } 2262 2263 function saveUtmParameters() { 2264 const utmParams = getUTMAttributes(); 2265 if (utmParams) { 2266 const cartHasUtmAttributes = Object.keys(cartAttributes).find(attributeKey => attributeKey.startsWith("utm_") || attributeKey === "ref"); 2267 if (cartHasUtmAttributes) { 2268 // Don't call API if it already contains our UTM parameters 2269 return; 2270 } 2271 2272 // Handle both Shopify.routes.root and routes.root_url for better compatibility 2273 var rootUrl = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) 2274 || (window.routes && window.routes.root_url) 2275 || '/'; 2276 2277 var updateCart = fetch(rootUrl + 'cart/update.js', 2278 { 2279 headers: { 2280 'Content-Type': 'application/json', 2281 }, 2282 method: "POST", 2283 body: JSON.stringify({ 2284 attributes: { 2285 ...utmParams 2286 }, 2287 }) 2288 }) 2289 .then(response => response.json()) 2290 .then(data => { 2291 return data 2292 }); 2293 } 2294 } 2295 2296 saveUtmParameters(); 2297 })(); 2298</script>
2298 2299 2300 2301 2302 2303</div><div id="shopify-block-AWitpMC8rZDJCSlg4R__15573056287721514228" class="shopify-block shopify-app-block json-ld-for-seo"><!-- generated: 2026-10-07 14:57:11 +0100 --> 2304<!-- BEGIN app snippet: json_ld_for_seo_web_page -->
2304<script type="application/ld+json"> 2305 { 2306 "@context": "https://schema.org", 2307 "@type": "WebPage", 2308 "@id": "https:\/\/untuckit.co.uk\/account\/login#json-ld-for-seo-webpage", 2309 "url": "https:\/\/untuckit.co.uk\/account\/login", 2310 "image": null, 2311 "primaryImageOfPage": null, 2312 "dateCreated": null, 2313 "datePublished": null 2314 } 2315</script>
2315 2316<!-- END app snippet --> 2317<!-- wp 0 --><!-- BEGIN app snippet: json_ld_for_seo_organization -->
2318<script type="application/ld+json"> 2319{ 2320 "@context": "https://schema.org", 2321 "@type": "Organization","@id": "https:\/\/untuckit.co.uk\/#org", 2322 "name": "UNTUCKit UK ", 2323 "url": "https:\/\/untuckit.co.uk", 2324 "description": "Casual men's shirts designed to be worn untucked. Regular and Slim fit button-downs, sweaters, tees, henleys and polos. Now offering Women's button-down shirts.", 2325 "telephone": "8889923102", 2326 "logo": "https:\/\/cdn.shopify.com\/s\/images\/admin\/no-image-large.gif", 2327 "image": "https:\/\/cdn.shopify.com\/s\/images\/admin\/no-image-large.gif", 2328 "sameAs": [], 2329 "address": { 2330 "@type": "PostalAddress", 2331 "streetAddress": "Broadgate Point , Unit 9", 2332 "addressLocality": "Chadderton", 2333 "addressRegion": "England", 2334 "postalCode": "OL9 9XA", 2335 "addressCountry": "GB" 2336 }, 2337 "contactPoint": [ 2338 { 2339 "@type": "ContactPoint", 2340 "telephone": "8889923102", 2341 "email": "" 2342 } 2343 ]} 2344</script>
2344 2345<!-- END app snippet --> <!-- o 3 --><!-- BEGIN app snippet: json_ld_for_seo_product_group --><!-- END app snippet --> 2346<!-- p 1 --><!-- A 8 --> 2347 2348 2349</div>
2349<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2349 2350</body> 2351</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.