{"title":"Long-Course Triathlon Gifts","description":"\u003cp\u003eCelebrate the big one. Long-course triathlon gifts for half-distance and full-distance finishers — the athletes who swam, biked and ran further than most people drive in a day. Finisher tees, hoodies, mugs, stickers and travel gear that say it without saying it.\u003c\/p\u003e\u003cp\u003e\u003ca href=\"\/collections\/race-season-essentials\"\u003eSee race season essentials →\u003c\/a\u003e\u003c\/p\u003e","products":[{"product_id":"half-distance-earned-triathlon-t-shirt-swim-1-2-bike-56-run-13-1","title":"Half Distance Earned Triathlon T-Shirt — Swim 1.2 · Bike 56 · Run 13.1","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eS\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eM\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eXL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e2XL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e3XL\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e18.25\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e20.25\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e22.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e24.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e26.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e27.75\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eLength, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e26.62\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e28.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e29.37\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e30.75\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e31.62\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e32.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eSleeve length from center back, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e16.25\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e17.75\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e19.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e20.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e21.75\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e23.25\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eSize tolerance, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eThis heavyweight garment-dyed tee carries a quiet confidence — the bold “Half Distance Earned” graphic marks the miles you’ve put in and the grit that got you across the finish line. Soft, lived-in color and a relaxed fit make it a shirt you reach for after long training days, at race expos, or while swapping stories with fellow triathletes over coffee. The tubular knit and double-needle seams give it a clean, durable silhouette that wears well under a jacket or on its own. It feels broken-in from the first wear, like a hard-earned badge you can wear casually, to the pool deck, or on rest days when you’re still thinking about the next course.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- 100% ring-spun US cotton — pre-shrunk for consistent fit\u003cbr\u003e- Garment-dyed finish for soft color and lived-in texture\u003cbr\u003e- Heavyweight 6.1 oz fabric with relaxed fit for durability and comfort\u003cbr\u003e- Tubular (no side seams) construction and double-needle stitched seams\u003cbr\u003e- Sizes S–4XL with sewn-in label; available in many colors\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Machine wash: cold (max 30C or 90F)\u003cbr\u003e- Do not bleach\u003cbr\u003e- Tumble dry: low heat\u003cbr\u003e- Iron, steam or dry: low heat\u003cbr\u003e- Do not dryclean\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"White \/ S","offer_id":67601027891334,"sku":"18458189669399717261","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ S","offer_id":67601027924102,"sku":"20054461550929288266","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Berry \/ S","offer_id":67601027956870,"sku":"29488125987265739440","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ S","offer_id":67601027989638,"sku":"91054995565696750244","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ S","offer_id":67601028022406,"sku":"10875700236420151439","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Chambray \/ S","offer_id":67601028055174,"sku":"14005824574566814542","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ S","offer_id":67601028087942,"sku":"26052891516048925590","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ S","offer_id":67601028120710,"sku":"15409521803615283227","price":31.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ S","offer_id":67601028153478,"sku":"24487313798684715220","price":33.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":67601028186246,"sku":"23247154283108739438","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ M","offer_id":67601028219014,"sku":"57278841334756136743","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ M","offer_id":67601028251782,"sku":"27534035893841097101","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ M","offer_id":67601028284550,"sku":"27729255080868942717","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Chambray \/ M","offer_id":67601028317318,"sku":"17203168200321645781","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ M","offer_id":67601028350086,"sku":"29111924456014602059","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ M","offer_id":67601028382854,"sku":"27209033923163266269","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ M","offer_id":67601028415622,"sku":"13450773774444293671","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ M","offer_id":67601028448390,"sku":"62816847078039140550","price":33.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":67601028481158,"sku":"10143231130568903638","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ L","offer_id":67601028513926,"sku":"16825372969900590675","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ L","offer_id":67601028546694,"sku":"19559428040193621884","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ L","offer_id":67601028579462,"sku":"20303043940194023836","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ L","offer_id":67601028612230,"sku":"15627885494118390883","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ L","offer_id":67601028644998,"sku":"14006176718461605113","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ L","offer_id":67601028677766,"sku":"29328254584207896531","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ L","offer_id":67601028710534,"sku":"33242566111684768442","price":33.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":67601028743302,"sku":"26713266881342293090","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ XL","offer_id":67601028776070,"sku":"62234765004002200278","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Berry \/ XL","offer_id":67601028808838,"sku":"99857324663189032163","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ XL","offer_id":67601028841606,"sku":"18094036498399610732","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ XL","offer_id":67601028874374,"sku":"31037532498823621248","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Chambray \/ XL","offer_id":67601028907142,"sku":"57375183570832102026","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ XL","offer_id":67601028939910,"sku":"26237845068653853288","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ XL","offer_id":67601028972678,"sku":"18596114292141030622","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ XL","offer_id":67601029005446,"sku":"11725491553073064700","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ XL","offer_id":67601029038214,"sku":"31539805282827087904","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ XL","offer_id":67601029070982,"sku":"17678289159940015287","price":33.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":67601029103750,"sku":"31769972847665648806","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ 2XL","offer_id":67601029136518,"sku":"53665094831690773851","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Berry \/ 2XL","offer_id":67601029169286,"sku":"27128737402556267942","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ 2XL","offer_id":67601029202054,"sku":"10951268797103497929","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ 2XL","offer_id":67601029234822,"sku":"29726689713194791170","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Chambray \/ 2XL","offer_id":67601029267590,"sku":"25376128232411020898","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ 2XL","offer_id":67601029300358,"sku":"24091230685023613362","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ 2XL","offer_id":67601029333126,"sku":"31839546539162207296","price":32.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ 2XL","offer_id":67601029365894,"sku":"20114498335662821027","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ 2XL","offer_id":67601029398662,"sku":"23743081667378645918","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ 2XL","offer_id":67601029431430,"sku":"22847016790001597938","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ 3XL","offer_id":67601029464198,"sku":"25759114336701138852","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ 3XL","offer_id":67601029496966,"sku":"52533385441412943662","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ 3XL","offer_id":67601029529734,"sku":"28574667576914806343","price":36.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":67601029562502,"sku":"12836176311029603710","price":37.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/half-distance-earned-triathlon-t-shirt-swim-12-bike-56-run-131_8c31a5cf-f2d8-4c7c-bfa3-3e5f687a4ab5.jpg?v=1790956324"},{"product_id":"half-distance-earned-hoodie-triathlon-finisher-sweatshirt-swim-1-2-bike-56-run-13-1","title":"Half Distance Earned Hoodie — Triathlon Finisher Sweatshirt (Swim 1.2 · Bike 56 · Run 13.1)","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eS\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eM\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eXL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e2XL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e3XL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e4XL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e5XL\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e20.08\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e22.05\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e24.02\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e25.98\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e27.99\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e29.92\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e31.89\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e33.86\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eLength, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e27.17\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e27.95\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e29.13\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e29.92\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e31.10\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e31.89\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e33.07\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e33.86\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eSleeve length from center back, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e33.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e34.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e35.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e36.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e37.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e38.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e39.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e40.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eSize tolerance, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eLightweight warmth with a quietly proud finish — this hooded sweatshirt celebrates the grit behind a half distance finish. The bold, sunset-gradient chest graphic reads “Half Distance Earned” with clean, athletic typography, centered on a soft white canvas. Built from a 50\/50 cotton-poly blend, the pullover feels cozy without being bulky and holds print detail sharply. A double-lined hood with matching drawcord, roomy kangaroo pocket, and classic fit keep it wearable for chilly post-ride or race-day recovery. Wear it after the final mile, at the medal photo, or when you want to carry that hard-earned calm into everyday life.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- 50\/50 cotton-poly medium-heavy fabric (8.0 oz) for cozy warmth and smooth print surface\u003cbr\u003e- Tubular knit construction without side seams for cleaner fit and reduced waste\u003cbr\u003e- Double-lined hood with color-matched drawcord and roomy kangaroo pouch pocket\u003cbr\u003e- Durable DTF and DTG print methods used for crisp sleeve, wrist, and chest graphics (embroidery option available)\u003cbr\u003e- Classic fit with tear-away label; OEKO‑TEX-certified dyes and compliance with safety standards\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Tumble dry: medium\u003cbr\u003e- Iron, steam or dry: low heat\u003cbr\u003e- Do not dryclean\u003cbr\u003e- Machine wash: cold (max 30C or 90F)\u003cbr\u003e- Non-chlorine: bleach as needed\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"S \/ Dark Heather","offer_id":67601029726342,"sku":"19647040807590782400","price":42.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Maroon","offer_id":67601029759110,"sku":"33253096447556662625","price":46.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Sport Grey","offer_id":67601029791878,"sku":"13905850915902763962","price":45.99,"currency_code":"USD","in_stock":true},{"title":"S \/ White","offer_id":67601029824646,"sku":"29143315753229667664","price":47.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Light Pink","offer_id":67601029857414,"sku":"33360398925947150812","price":44.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Sand","offer_id":67601029890182,"sku":"21392538256706221177","price":45.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Light Blue","offer_id":67601029922950,"sku":"84821766311171087239","price":47.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Dark Heather","offer_id":67601029955718,"sku":"56782926634184372981","price":43.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Maroon","offer_id":67601029988486,"sku":"97002586023664158427","price":46.99,"currency_code":"USD","in_stock":true},{"title":"M \/ White","offer_id":67601030021254,"sku":"17014156136675056734","price":45.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Light Pink","offer_id":67601030054022,"sku":"16901330554109654066","price":46.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Sand","offer_id":67601030086790,"sku":"16108206045605444269","price":45.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Light Blue","offer_id":67601030119558,"sku":"16670188762717097024","price":46.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Dark Heather","offer_id":67601030152326,"sku":"29582170089125025886","price":41.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Maroon","offer_id":67601030185094,"sku":"19963416499921432550","price":44.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Sport Grey","offer_id":67601030217862,"sku":"15412731847782308548","price":43.99,"currency_code":"USD","in_stock":true},{"title":"L \/ White","offer_id":67601030250630,"sku":"72820175469049432561","price":45.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Light Pink","offer_id":67601030283398,"sku":"33664541875248889514","price":44.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Sand","offer_id":67601030316166,"sku":"14487885399136419620","price":46.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Light Blue","offer_id":67601030348934,"sku":"15437926732426397951","price":46.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Dark Heather","offer_id":67601030381702,"sku":"30537442620990831137","price":44.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Maroon","offer_id":67601030414470,"sku":"21511316937563420541","price":44.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Sport Grey","offer_id":67601030447238,"sku":"26067644682348045989","price":45.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ White","offer_id":67601030480006,"sku":"26218032090652329686","price":47.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Light Pink","offer_id":67601030512774,"sku":"27646555140296149635","price":46.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Sand","offer_id":67601030545542,"sku":"11080066425558152238","price":46.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Light Blue","offer_id":67601030578310,"sku":"91190342542810862304","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Dark Heather","offer_id":67601030611078,"sku":"15963705234751748339","price":41.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Maroon","offer_id":67601030643846,"sku":"51000525275940096561","price":49.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Sport Grey","offer_id":67601030676614,"sku":"20119268503184788344","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ White","offer_id":67601030709382,"sku":"88659219836053483267","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Light Pink","offer_id":67601030742150,"sku":"15904235523674298878","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Sand","offer_id":67601030774918,"sku":"21215285372849127542","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Light Blue","offer_id":67601030807686,"sku":"77343229702478817892","price":48.99,"currency_code":"USD","in_stock":true},{"title":"3XL \/ Sport Grey","offer_id":67601030840454,"sku":"16144908190617440460","price":49.99,"currency_code":"USD","in_stock":true},{"title":"3XL \/ Sand","offer_id":67601030873222,"sku":"15694500647163661248","price":50.99,"currency_code":"USD","in_stock":true},{"title":"4XL \/ Sport Grey","offer_id":67601030905990,"sku":"80664940545122867497","price":48.99,"currency_code":"USD","in_stock":true},{"title":"5XL \/ Sport Grey","offer_id":67601030938758,"sku":"30698355432034215688","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/half-distance-earned-hoodie-triathlon-finisher-sweatshirt-swim-12-bike-56-run-131_90b312ef-e601-45f0-b025-df32f9c7113a.jpg?v=1790956324"},{"product_id":"half-distance-earned-sticker-triathlon-finisher-decal-swim-1-2-bike-56-run-13-1","title":"Half Distance Earned Sticker — Triathlon Finisher Decal (Swim 1.2 · Bike 56 · Run 13.1)","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e2\" × 2\"\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e3\" × 3\"\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e4\" × 4\"\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e6\" × 6\"\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e2.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e3.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e4.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e6.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eLength, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e2.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e3.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e4.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e6.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eThis glossy kiss-cut sticker celebrates the grit behind a half distance finish — swim 1.2, bike 56, run 13.1 — with bold, gradient numbers and a punchy “EARNED” badge. Place it on a laptop, water bottle, journal, or race kit bag to carry that post-race glow into everyday life. The vivid eco-solvent inks hold bright purples and oranges that stand out in sunlight and in the crowd. The easy, bubble-free application and durable vinyl keep the message crisp through training days and travel. It’s a small but proud reminder of miles logged, early alarms, and the quiet satisfaction that follows crossing the line.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- Glossy paper finish with scratch-resistant surface\u003cbr\u003e- Durable 100% vinyl with permanent acrylic adhesive for smooth flat surfaces\u003cbr\u003e- Bright, eco-solvent inks for vivid purple and orange gradients\u003cbr\u003e- Quick, bubble-free application; available in white or transparent options and four sizes\u003cbr\u003e- PNG-ready kiss-cut format; sourced blank from Japan; for adult use (not waterproof)\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Use a soft, clean and dry cloth to gently brush any dust or dirt off from the center of the sticker outwards.\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"2\" × 2\" \/ White","offer_id":67601031659654,"sku":"13575752458511155024","price":3.99,"currency_code":"USD","in_stock":true},{"title":"3\" × 3\" \/ White","offer_id":67601031692422,"sku":"30960536102061465743","price":4.99,"currency_code":"USD","in_stock":true},{"title":"4\" × 4\" \/ White","offer_id":67601031725190,"sku":"23468191325047240466","price":4.99,"currency_code":"USD","in_stock":true},{"title":"6\" × 6\" \/ White","offer_id":67601031757958,"sku":"11733509428899758880","price":6.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/13252526547646482443_1200.jpg?v=1790955635"},{"product_id":"half-distance-earned-luggage-tag-triathlon-finisher-travel-id","title":"Half Distance Earned Luggage Tag — Triathlon Finisher Travel ID","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e2.4'' × 4''\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e2.40\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eHeight, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e4.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eDepth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e0.20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e A durable acrylic luggage tag that celebrates the grit behind a half distance finish. The bold retro-style type and gradient colors read clearly from a distance, mounted on a glossy one-sided print that resists fading. An adjustable black leather strap with brass buckle keeps the tag secure on your bag, while the rear opening holds a removable card for contact details. Lightweight and tough, it’s made to travel with you from race morning to airport departures.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- 100% acrylic body for long-lasting durability\u003cbr\u003e- One-sided glossy print with vibrant, fade-resistant colors\u003cbr\u003e- Adjustable black leather strap with brass buckle\u003cbr\u003e- Rear opening with removable business card for personal info\u003cbr\u003e- Compact size 2.4” × 4” (6 × 10 cm)\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Wipe with a damp cloth, air dry or use a soft, non-abrasive cloth \u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"2.4'' × 4''","offer_id":67601032937606,"sku":"26764979459192589540","price":16.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/17597731036171661307_2048.jpg?v=1790955699"},{"product_id":"half-distance-earned-tote-bag-triathlon-finisher-canvas-tote","title":"Half Distance Earned Tote Bag — Triathlon Finisher Canvas Tote","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e15\" x 16\"\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e15.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eLength, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e16.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eHandle length, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e20.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eThis heavy cotton canvas tote carries more than gear — it carries achievement. The bold “Half Distance Earned” print sits center on sturdy natural canvas, its retro gradient and block lettering announcing a hard-won half distance milestone. Long, reinforced self-fabric handles and a flat, structured body make it easy to load bikes shoes, post-race snacks, and paperwork without sagging. Durable 12 oz canvas and clean sewn-in label mean this tote will stand up to training-season wear and everyday errands. Choose natural for a classic, rugged look or black for higher-contrast style.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- 100% heavy cotton canvas (12 oz\/yd²) for durability\u003cbr\u003e- Flat, structured corners for maximum internal space\u003cbr\u003e- Reinforced self-fabric carrying handles\u003cbr\u003e- Sewn-in label; blank sourced from India\u003cbr\u003e- Available in natural and black colors\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Do not iron directly over the printed area - print may stick to the iron.\u003cbr\u003e- Spot clean\u003cbr\u003e- Do not bleach\u003cbr\u003e- Line dry\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"Natural \/ 15\" x 16\"","offer_id":67601033265286,"sku":"29748498573163347827","price":21.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/16955830540600122943_2048.jpg?v=1790955715"},{"product_id":"half-distance-earned-can-cooler-triathlon-finisher-drink-koozie-swim-1-2-bike-56-run-13-1","title":"Half Distance Earned Can Cooler — Triathlon Finisher Drink Koozie (Swim 1.2 · Bike 56 · Run 13.1)","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eRegular Can\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eHeight, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e4.30\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eDiameter, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e3.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eSip slowly and remember every mile. This can cooler wraps a cold drink in bright, fade-resistant color and a soft foam grip that keeps hands comfortable through post-race chats, long cooldowns, and backyard celebrations. The bold “Half Distance Earned” design has a sunrise-inspired gradient and clean race-split text beneath it — a quiet badge of effort that belongs on the cooler of anyone who trained through early mornings and long weekends. Lightweight and snug, it fits regular and slim cans and prints edge-to-edge so the graphic reads clearly from every angle. Bring it to transition-area stories, finish-line hangouts, or relaxed evenings when you still want to hold the day’s accomplishment in your hand.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- Durable 100% polyester exterior with edge-to-edge vibrant print\u003cbr\u003e- Soft 100% foam liner for stable, comfortable grip\u003cbr\u003e- Fits Regular (3.5\" x 4.3\") and Slim (3.5\" x 6\") cans\u003cbr\u003e- Lightweight construction that dries quickly\u003cbr\u003e- High-contrast white outside with black foam interior for lasting color\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Wipe with a damp cloth, air dry or use a soft, non-abrasive cloth \u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"Regular Can","offer_id":67601033330822,"sku":"30025468369502066468","price":9.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/15280482195127475044_2048.jpg?v=1790955756"},{"product_id":"half-distance-earned-mug-triathlon-finisher-ceramic-coffee-cup-swim-1-2-bike-56-run-13-1","title":"Half Distance Earned Mug — Triathlon Finisher Ceramic Coffee Cup (Swim 1.2 · Bike 56 · Run 13.1)","description":"\u003cp\u003eThe mug for the morning after the finish line. Bold \"Half Distance Earned\" lockup in deep purple and coral with the three legs spelled out — Swim 1.2 · Bike 56 · Run 13.1 — on a classic ceramic mug (11 oz \/ 15 oz, microwave and dishwasher safe). A quiet brag for the athlete who did the whole thing, and an easy gift from the support crew who watched them do it.\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"11oz","offer_id":67601033494662,"sku":"25920549723003475616","price":15.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/14999569771153743040_2048.jpg?v=1790955766"},{"product_id":"full-distance-earned-triathlon-t-shirt-swim-2-4-bike-112-run-26-2","title":"Full Distance Earned Triathlon T-Shirt — Swim 2.4 · Bike 112 · Run 26.2","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eS\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eM\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eXL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e2XL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e3XL\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e18.25\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e20.25\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e22.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e24.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e26.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e27.75\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eLength, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e26.62\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e28.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e29.37\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e30.75\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e31.62\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e32.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eSleeve length from center back, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e16.25\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e17.75\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e19.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e20.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e21.75\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e23.25\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eSize tolerance, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eThis heavyweight garment-dyed tee carries a quiet confidence — the bold “Full Distance Earned” graphic marks the miles you’ve put in and the grit that got you across the finish line. Soft, lived-in color and a relaxed fit make it a shirt you reach for after long training days, at race expos, or while swapping stories with fellow triathletes over coffee. The tubular knit and double-needle seams give it a clean, durable silhouette that wears well under a jacket or on its own. It feels broken-in from the first wear, like a hard-earned badge you can wear casually, to the pool deck, or on rest days when you’re still thinking about the next course.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- 100% ring-spun US cotton — pre-shrunk for consistent fit\u003cbr\u003e- Garment-dyed finish for soft color and lived-in texture\u003cbr\u003e- Heavyweight 6.1 oz fabric with relaxed fit for durability and comfort\u003cbr\u003e- Tubular (no side seams) construction and double-needle stitched seams\u003cbr\u003e- Sizes S–4XL with sewn-in label; available in many colors\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Machine wash: cold (max 30C or 90F)\u003cbr\u003e- Do not bleach\u003cbr\u003e- Tumble dry: low heat\u003cbr\u003e- Iron, steam or dry: low heat\u003cbr\u003e- Do not dryclean\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"White \/ S","offer_id":67601033986182,"sku":"13183060664271385197","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ S","offer_id":67601034018950,"sku":"19967205851737139504","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Berry \/ S","offer_id":67601034051718,"sku":"11828552365016397559","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ S","offer_id":67601034084486,"sku":"26482446188296907609","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ S","offer_id":67601034117254,"sku":"17167189352943265301","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Chambray \/ S","offer_id":67601034150022,"sku":"73254437160834421774","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ S","offer_id":67601034182790,"sku":"51621397067279468523","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ S","offer_id":67601034215558,"sku":"30314514636968746039","price":31.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ S","offer_id":67601034248326,"sku":"21171919098587108527","price":33.99,"currency_code":"USD","in_stock":true},{"title":"White \/ M","offer_id":67601034281094,"sku":"24683112332250458519","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ M","offer_id":67601034313862,"sku":"30128211135514006133","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ M","offer_id":67601034346630,"sku":"10215914129928792540","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ M","offer_id":67601034379398,"sku":"13044864567539761210","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Chambray \/ M","offer_id":67601034412166,"sku":"12015792970275710499","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ M","offer_id":67601034444934,"sku":"27503600182657901968","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ M","offer_id":67601034477702,"sku":"98733159233981285034","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ M","offer_id":67601034510470,"sku":"63196968328707192214","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ M","offer_id":67601034543238,"sku":"22452302988939959416","price":33.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":67601034576006,"sku":"17390054726236192507","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ L","offer_id":67601034608774,"sku":"12635840760337061020","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ L","offer_id":67601034641542,"sku":"27070842788370266350","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ L","offer_id":67601034674310,"sku":"27159784019433129354","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ L","offer_id":67601034707078,"sku":"28770139905304799498","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ L","offer_id":67601034739846,"sku":"20083255329099317729","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ L","offer_id":67601034772614,"sku":"13833080356547031885","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ L","offer_id":67601034805382,"sku":"16273551624553263782","price":33.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":67601034838150,"sku":"84573980232459211221","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ XL","offer_id":67601034870918,"sku":"14698726626929000593","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Berry \/ XL","offer_id":67601034903686,"sku":"17469345123260813414","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ XL","offer_id":67601034936454,"sku":"89023350959675195883","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ XL","offer_id":67601034969222,"sku":"28868961567987879346","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Chambray \/ XL","offer_id":67601035001990,"sku":"10771524782792632855","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ XL","offer_id":67601035034758,"sku":"31859226654344375661","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ XL","offer_id":67601035067526,"sku":"17904727178777395530","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ XL","offer_id":67601035100294,"sku":"29918888635156689762","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ XL","offer_id":67601035133062,"sku":"22677703258123548644","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ XL","offer_id":67601035165830,"sku":"81415320858852959646","price":33.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":67601035198598,"sku":"14570438053154192226","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Bay \/ 2XL","offer_id":67601035231366,"sku":"59768616908925577258","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Berry \/ 2XL","offer_id":67601035264134,"sku":"32129771470623725388","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Blue Jean \/ 2XL","offer_id":67601035296902,"sku":"29126513027233719538","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Blue Spruce \/ 2XL","offer_id":67601035329670,"sku":"16451500793325076969","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Chambray \/ 2XL","offer_id":67601035362438,"sku":"83621451420619519667","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Seafoam \/ 2XL","offer_id":67601035395206,"sku":"17366060951264914623","price":33.99,"currency_code":"USD","in_stock":true},{"title":"Grey \/ 2XL","offer_id":67601035427974,"sku":"24397188307845283245","price":32.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ 2XL","offer_id":67601035460742,"sku":"54111593274743996404","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ 2XL","offer_id":67601035493510,"sku":"20842320654804040948","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ 2XL","offer_id":67601035526278,"sku":"16781237203166993534","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Ivory \/ 3XL","offer_id":67601035559046,"sku":"28642461454270227901","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Orchid \/ 3XL","offer_id":67601035591814,"sku":"28484721461845009428","price":34.99,"currency_code":"USD","in_stock":true},{"title":"Pepper \/ 3XL","offer_id":67601035624582,"sku":"40078907896734552139","price":36.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":67601035657350,"sku":"22076766560485784748","price":37.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/full-distance-earned-triathlon-t-shirt-swim-24-bike-112-run-262_ec2d7a70-f375-46cb-b4b8-b9a77d18eff7.jpg?v=1790956324"},{"product_id":"full-distance-earned-hoodie-triathlon-finisher-sweatshirt-swim-2-4-bike-112-run-26-2","title":"Full Distance Earned Hoodie — Triathlon Finisher Sweatshirt (Swim 2.4 · Bike 112 · Run 26.2)","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eS\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eM\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eXL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e2XL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e3XL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e4XL\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e5XL\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e20.08\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e22.05\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e24.02\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e25.98\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e27.99\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e29.92\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e31.89\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e33.86\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eLength, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e27.17\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e27.95\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e29.13\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e29.92\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e31.10\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e31.89\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e33.07\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e33.86\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eSleeve length from center back, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e33.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e34.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e35.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e36.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e37.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e38.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e39.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e40.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eSize tolerance, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e1.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eLightweight warmth with a quietly proud finish — this hooded sweatshirt celebrates the grit behind a full distance finish. The bold, sunset-gradient chest graphic reads “Full Distance Earned” with clean, athletic typography, centered on a soft white canvas. Built from a 50\/50 cotton-poly blend, the pullover feels cozy without being bulky and holds print detail sharply. A double-lined hood with matching drawcord, roomy kangaroo pocket, and classic fit keep it wearable for chilly post-ride or race-day recovery. Wear it after the final mile, at the medal photo, or when you want to carry that hard-earned calm into everyday life.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- 50\/50 cotton-poly medium-heavy fabric (8.0 oz) for cozy warmth and smooth print surface\u003cbr\u003e- Tubular knit construction without side seams for cleaner fit and reduced waste\u003cbr\u003e- Double-lined hood with color-matched drawcord and roomy kangaroo pouch pocket\u003cbr\u003e- Durable DTF and DTG print methods used for crisp sleeve, wrist, and chest graphics (embroidery option available)\u003cbr\u003e- Classic fit with tear-away label; OEKO‑TEX-certified dyes and compliance with safety standards\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Tumble dry: medium\u003cbr\u003e- Iron, steam or dry: low heat\u003cbr\u003e- Do not dryclean\u003cbr\u003e- Machine wash: cold (max 30C or 90F)\u003cbr\u003e- Non-chlorine: bleach as needed\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"S \/ Dark Heather","offer_id":67601035722886,"sku":"17522285291329243388","price":42.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Maroon","offer_id":67601035755654,"sku":"27356247415406860650","price":46.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Sport Grey","offer_id":67601035788422,"sku":"28436350720496380822","price":45.99,"currency_code":"USD","in_stock":true},{"title":"S \/ White","offer_id":67601035821190,"sku":"83123030248095226580","price":47.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Light Pink","offer_id":67601035853958,"sku":"95737801491977729744","price":44.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Sand","offer_id":67601035886726,"sku":"28122600788369724120","price":45.99,"currency_code":"USD","in_stock":true},{"title":"S \/ Light Blue","offer_id":67601035919494,"sku":"30332346977272363254","price":47.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Dark Heather","offer_id":67601035952262,"sku":"20040486210886532887","price":43.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Maroon","offer_id":67601035985030,"sku":"24168823693023284448","price":46.99,"currency_code":"USD","in_stock":true},{"title":"M \/ White","offer_id":67601036017798,"sku":"10700520359262176411","price":45.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Light Pink","offer_id":67601036050566,"sku":"12786980386290479167","price":46.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Sand","offer_id":67601036083334,"sku":"16955035200453927528","price":45.99,"currency_code":"USD","in_stock":true},{"title":"M \/ Light Blue","offer_id":67601036116102,"sku":"55069528676367631736","price":46.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Dark Heather","offer_id":67601036148870,"sku":"18913382306551698403","price":41.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Maroon","offer_id":67601036181638,"sku":"13254888245986246217","price":44.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Sport Grey","offer_id":67601036214406,"sku":"10673833854481111625","price":43.99,"currency_code":"USD","in_stock":true},{"title":"L \/ White","offer_id":67601036247174,"sku":"24668356703992408176","price":45.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Light Pink","offer_id":67601036279942,"sku":"21173327878828344095","price":44.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Sand","offer_id":67601036312710,"sku":"29138169266413503775","price":46.99,"currency_code":"USD","in_stock":true},{"title":"L \/ Light Blue","offer_id":67601036345478,"sku":"12126714364500509190","price":46.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Dark Heather","offer_id":67601036378246,"sku":"19425902399277665599","price":44.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Maroon","offer_id":67601036411014,"sku":"62080288048407712449","price":44.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Sport Grey","offer_id":67601036443782,"sku":"25993167877869805597","price":45.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ White","offer_id":67601036476550,"sku":"29186284084623597968","price":47.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Light Pink","offer_id":67601036509318,"sku":"20167865245816761149","price":46.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Sand","offer_id":67601036542086,"sku":"25679970504329828983","price":46.99,"currency_code":"USD","in_stock":true},{"title":"XL \/ Light Blue","offer_id":67601036574854,"sku":"24488579072445988740","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Dark Heather","offer_id":67601036607622,"sku":"30914241443812145320","price":41.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Maroon","offer_id":67601036640390,"sku":"12131503300612985135","price":49.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Sport Grey","offer_id":67601036673158,"sku":"19924029543582902916","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ White","offer_id":67601036705926,"sku":"32546917785675908146","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Light Pink","offer_id":67601036738694,"sku":"12651350714339498413","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Sand","offer_id":67601036771462,"sku":"33564235870749201990","price":47.99,"currency_code":"USD","in_stock":true},{"title":"2XL \/ Light Blue","offer_id":67601036804230,"sku":"23638180920708231273","price":48.99,"currency_code":"USD","in_stock":true},{"title":"3XL \/ Sport Grey","offer_id":67601036836998,"sku":"22964990772599070661","price":49.99,"currency_code":"USD","in_stock":true},{"title":"3XL \/ Sand","offer_id":67601036869766,"sku":"16303014271641091916","price":50.99,"currency_code":"USD","in_stock":true},{"title":"4XL \/ Sport Grey","offer_id":67601036902534,"sku":"20924952834188588519","price":48.99,"currency_code":"USD","in_stock":true},{"title":"5XL \/ Sport Grey","offer_id":67601036935302,"sku":"21458950928350427238","price":49.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/6431244745250604007_4096.jpg?v=1790955872"},{"product_id":"full-distance-earned-sticker-triathlon-finisher-decal-swim-2-4-bike-112-run-26-2","title":"Full Distance Earned Sticker — Triathlon Finisher Decal (Swim 2.4 · Bike 112 · Run 26.2)","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e2\" × 2\"\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e3\" × 3\"\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e4\" × 4\"\u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e6\" × 6\"\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e2.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e3.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e4.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e6.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eLength, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e2.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e3.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e4.00\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e6.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eThis glossy kiss-cut sticker celebrates the grit behind a full distance finish — swim 2.4, bike 112, run 26.2 — with bold, gradient numbers and a punchy “EARNED” badge. Place it on a laptop, water bottle, journal, or race kit bag to carry that post-race glow into everyday life. The vivid eco-solvent inks hold bright purples and oranges that stand out in sunlight and in the crowd. The easy, bubble-free application and durable vinyl keep the message crisp through training days and travel. It’s a small but proud reminder of miles logged, early alarms, and the quiet satisfaction that follows crossing the line.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- Glossy paper finish with scratch-resistant surface\u003cbr\u003e- Durable 100% vinyl with permanent acrylic adhesive for smooth flat surfaces\u003cbr\u003e- Bright, eco-solvent inks for vivid purple and orange gradients\u003cbr\u003e- Quick, bubble-free application; available in white or transparent options and four sizes\u003cbr\u003e- PNG-ready kiss-cut format; sourced blank from Japan; for adult use (not waterproof)\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Use a soft, clean and dry cloth to gently brush any dust or dirt off from the center of the sticker outwards.\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"2\" × 2\" \/ White","offer_id":67601037754502,"sku":"28197398996153193501","price":3.99,"currency_code":"USD","in_stock":true},{"title":"3\" × 3\" \/ White","offer_id":67601037787270,"sku":"19321843678135092575","price":4.99,"currency_code":"USD","in_stock":true},{"title":"4\" × 4\" \/ White","offer_id":67601037820038,"sku":"38001883027737335525","price":4.99,"currency_code":"USD","in_stock":true},{"title":"6\" × 6\" \/ White","offer_id":67601037852806,"sku":"17897409081054555405","price":6.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/2012508041041352594_1200.jpg?v=1790955913"},{"product_id":"full-distance-earned-luggage-tag-triathlon-finisher-travel-id","title":"Full Distance Earned Luggage Tag — Triathlon Finisher Travel ID","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e2.4'' × 4''\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e2.40\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eHeight, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e4.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eDepth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e0.20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e A durable acrylic luggage tag that celebrates the grit behind a full distance finish. The bold retro-style type and gradient colors read clearly from a distance, mounted on a glossy one-sided print that resists fading. An adjustable black leather strap with brass buckle keeps the tag secure on your bag, while the rear opening holds a removable card for contact details. Lightweight and tough, it’s made to travel with you from race morning to airport departures.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- 100% acrylic body for long-lasting durability\u003cbr\u003e- One-sided glossy print with vibrant, fade-resistant colors\u003cbr\u003e- Adjustable black leather strap with brass buckle\u003cbr\u003e- Rear opening with removable business card for personal info\u003cbr\u003e- Compact size 2.4” × 4” (6 × 10 cm)\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Wipe with a damp cloth, air dry or use a soft, non-abrasive cloth \u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"2.4'' × 4''","offer_id":67601037918342,"sku":"17576801894093677290","price":16.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/7671690433531389327_2048.jpg?v=1790955937"},{"product_id":"full-distance-earned-tote-bag-triathlon-finisher-canvas-tote","title":"Full Distance Earned Tote Bag — Triathlon Finisher Canvas Tote","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003e15\" x 16\"\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eWidth, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e15.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eLength, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e16.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eHandle length, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e20.00\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eThis heavy cotton canvas tote carries more than gear — it carries achievement. The bold “Full Distance Earned” print sits center on sturdy natural canvas, its retro gradient and block lettering announcing a hard-won half distance milestone. Long, reinforced self-fabric handles and a flat, structured body make it easy to load bikes shoes, post-race snacks, and paperwork without sagging. Durable 12 oz canvas and clean sewn-in label mean this tote will stand up to training-season wear and everyday errands. Choose natural for a classic, rugged look or black for higher-contrast style.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- 100% heavy cotton canvas (12 oz\/yd²) for durability\u003cbr\u003e- Flat, structured corners for maximum internal space\u003cbr\u003e- Reinforced self-fabric carrying handles\u003cbr\u003e- Sewn-in label; blank sourced from India\u003cbr\u003e- Available in natural and black colors\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Do not iron directly over the printed area - print may stick to the iron.\u003cbr\u003e- Spot clean\u003cbr\u003e- Do not bleach\u003cbr\u003e- Line dry\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"Natural \/ 15\" x 16\"","offer_id":67601037983878,"sku":"58805332440886918153","price":21.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/3192179983826653265_2048.jpg?v=1790955947"},{"product_id":"full-distance-earned-can-cooler-triathlon-finisher-drink-koozie-swim-2-4-bike-112-run-26-2","title":"Full Distance Earned Can Cooler — Triathlon Finisher Drink Koozie (Swim 2.4 · Bike 112 · Run 26.2)","description":"\u003ctable id=\"size-guide\" style=\"min-width: 360px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"padding: 10px;\"\u003e \u003c\/th\u003e\n\u003cth style=\"color: #000000; font-weight: 500; text-align: left; font-size: 15px; padding: 10px;\"\u003eRegular Can\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eHeight, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e4.30\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003eDiameter, in\u003c\/td\u003e\n\u003ctd style=\"padding: 10px; color: #525252; font-size: 15px; border-top: 1px solid #ededed; word-break: break-word;\"\u003e3.50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eSip slowly and remember every mile. This can cooler wraps a cold drink in bright, fade-resistant color and a soft foam grip that keeps hands comfortable through post-race chats, long cooldowns, and backyard celebrations. The bold “Full Distance Earned” design has a sunrise-inspired gradient and clean race-split text beneath it — a quiet badge of effort that belongs on the cooler of anyone who trained through early mornings and long weekends. Lightweight and snug, it fits regular and slim cans and prints edge-to-edge so the graphic reads clearly from every angle. Bring it to transition-area stories, finish-line hangouts, or relaxed evenings when you still want to hold the day’s accomplishment in your hand.\u003cbr\u003e\u003cbr\u003eProduct features\u003cbr\u003e- Durable 100% polyester exterior with edge-to-edge vibrant print\u003cbr\u003e- Soft 100% foam liner for stable, comfortable grip\u003cbr\u003e- Fits Regular (3.5\" x 4.3\") and Slim (3.5\" x 6\") cans\u003cbr\u003e- Lightweight construction that dries quickly\u003cbr\u003e- High-contrast white outside with black foam interior for lasting color\u003cbr\u003e\u003cbr\u003eCare instructions\u003cbr\u003e- Wipe with a damp cloth, air dry or use a soft, non-abrasive cloth \u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"Regular Can","offer_id":67601038082182,"sku":"21836213394013034967","price":9.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/7117765948201134911_2048.jpg?v=1790955958"},{"product_id":"full-distance-earned-mug-triathlon-finisher-ceramic-coffee-cup-swim-2-4-bike-112-run-26-2","title":"Full Distance Earned Mug — Triathlon Finisher Ceramic Coffee Cup (Swim 2.4 · Bike 112 · Run 26.2)","description":"\u003cp\u003eThe mug for the morning after the finish line. Bold \"Full Distance Earned\" lockup in deep purple and coral with the three legs spelled out — Swim 2.4 · Bike 112 · Run 26.2 — on a classic ceramic mug (11 oz \/ 15 oz, microwave and dishwasher safe). A quiet brag for the athlete who did the whole thing, and an easy gift from the support crew who watched them do it.\u003c\/p\u003e","brand":"TriSpirit Outfitters","offers":[{"title":"11oz","offer_id":67601038311558,"sku":"31328087854392953272","price":15.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/4611\/5206\/files\/18180907310652472163_2048.jpg?v=1790955965"}],"url":"https:\/\/triathlon.mx\/collections\/long-course-triathlon-gifts.oembed","provider":"TriLaunchpad","version":"1.0","type":"link"}