{"product_id":"buffalo-bills-hat","title":"Buffalo Bills Hat","description":"\u003ch2\u003eBuffalo Bills Hat\u003c\/h2\u003e\n\u003cp\u003eRep Buffalo all season long. This Bills hat drops a bold \u003cstrong\u003eBuffalo football\u003c\/strong\u003e design on a classic cap silhouette — the easy way to finish any game-day fit, from the tailgate to the couch.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eOne size fits most\u003c\/strong\u003e — adjustable back strap\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eColors:\u003c\/strong\u003e 18 colorways available\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFinish:\u003c\/strong\u003e premium embroidery-look print, built to survive real weather\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMade to order\u003c\/strong\u003e — printed and shipped just for you\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eHow to wear it\u003c\/h3\u003e\n\u003cp\u003eBlack and White keep it clean with any outfit. Royal Blue and Navy are made for Sundays — pair them with a Bills jersey, a hoodie, or a plain white tee and let the hat do the talking.\u003c\/p\u003e\n\u003ch3\u003eShipping \u0026amp; returns\u003c\/h3\u003e\n\u003cp\u003eEvery hat is produced on demand, so please allow a short production window before it ships. Not the right fit? You have 30 days to request a return or exchange.\u003c\/p\u003e\n\u003cdiv class=\"tpsg-host\"\u003e\n\u003cstyle\u003e\n.tpsg-host{display:none}\nhtml.tpsg-page .tpp-opt__hd .tpp-guide:not(.tpsg-btn){display:none!important}\n#tpsg-hat .tpsg-btn{display:inline-flex;align-items:center;gap:4px}\n.tpsg-dlg{position:fixed;inset:0;margin:auto;width:min(540px,92vw);max-height:88vh;padding:0;border:0;border-radius:12px;background:#fff;color:#0A0A0A;font-family:Inter,system-ui,sans-serif;text-align:left;line-height:1.45;box-shadow:0 24px 70px rgba(0,0,0,.3);overflow:auto;z-index:2147483000}\n.tpsg-dlg::backdrop{background:rgba(10,10,10,.55)}\n.tpsg-dlg__hd{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 12px;background:#fff;border-bottom:1px solid #ECEAEA}\n.tpsg-dlg__t{margin:0;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}\n.tpsg-x{appearance:none;width:30px;height:30px;flex:0 0 auto;border:1px solid #E5E5E5;border-radius:50%;background:#fff;color:#0A0A0A;font-size:13px;line-height:1;cursor:pointer}\n.tpsg-dlg__bd{padding:16px 20px 22px}\n.tpsg-sub{margin:0;font-size:12.5px;color:#686c6c}\n.tpsg-sub b{color:#0A0A0A}\n.tpsg-box{margin:14px 0 0;padding:12px 14px;background:#F6F4F4;border-radius:8px}\n.tpsg-box b{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}\n.tpsg-box p{margin:5px 0 0;font-size:12px;color:#5d6161}\n.tpsg-tg{display:inline-flex;margin:14px 0 0;border:1px solid #E5E5E5;border-radius:4px;overflow:hidden}\n.tpsg-tg button{appearance:none;border:0;background:#fff;color:#686c6c;font:inherit;font-size:11px;font-weight:800;letter-spacing:.08em;padding:6px 16px;cursor:pointer}\n.tpsg-tg button.is-on{background:#0A0A0A;color:#fff}\n.tpsg-dlg table{width:100%;border-collapse:collapse;margin:10px 0 0;font-size:12px;table-layout:fixed}\n.tpsg-dlg thead th{padding:0 4px 8px;border-bottom:1px solid #E5E5E5;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#7a7e7e;vertical-align:bottom;text-align:center;line-height:1.3}\n.tpsg-dlg thead th:first-child{text-align:left}\n.tpsg-dlg tbody th{padding:10px 4px;border-bottom:1px solid #EFEDED;font-size:12.5px;font-weight:800;text-align:left}\n.tpsg-dlg tbody td{padding:10px 4px;border-bottom:1px solid #EFEDED;text-align:center;font-variant-numeric:tabular-nums}\n.tpsg-note{margin:8px 0 0;font-size:10.5px;color:#7a7e7e}\n.tpsg-h4{margin:18px 0 0;padding-top:14px;border-top:1px solid #E5E5E5;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}\n.tpsg-dlg ol{margin:9px 0 0;padding-left:18px;font-size:12.5px;color:#3a3d3d;list-style:decimal}\n.tpsg-dlg li+li{margin-top:6px}\n\u003c\/style\u003e\n\u003cbutton type=\"button\" class=\"tpp-guide tpsg-btn\" data-tpsg-open\u003e📏 Size guide\u003c\/button\u003e\n\u003cdialog class=\"tpsg-dlg\" aria-label=\"Hat size guide\"\u003e\n  \u003cdiv class=\"tpsg-dlg__hd\"\u003e\n    \u003ch2 class=\"tpsg-dlg__t\"\u003eHat Size Guide\u003c\/h2\u003e\n    \u003cbutton type=\"button\" class=\"tpsg-x\" data-tpsg-close aria-label=\"Close\"\u003e✕\u003c\/button\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"tpsg-dlg__bd\"\u003e\n    \u003cp class=\"tpsg-sub\"\u003eNo size stress. Got it wrong? We got you — \u003cb\u003efree 30-day returns \u0026amp; exchanges.\u003c\/b\u003e\u003c\/p\u003e\n    \u003cdiv class=\"tpsg-box\"\u003e\n      \u003cb\u003eOne size fits most — adjustable\u003c\/b\u003e\n      \u003cp\u003eStructured 5-panel baseball cap with adjustable snapback closure. Fits head circumferences from 21\" to 24\". One size, zero stress.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tpsg-tg\" role=\"group\" aria-label=\"Measurement units\"\u003e\n      \u003cbutton type=\"button\" data-tpsg-unit=\"in\" class=\"is-on\" aria-pressed=\"true\"\u003eIN\u003c\/button\u003e\n      \u003cbutton type=\"button\" data-tpsg-unit=\"cm\" aria-pressed=\"false\"\u003eCM\u003c\/button\u003e\n    \u003c\/div\u003e\n    \u003ctable\u003e\n      \u003cthead\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"col\"\u003e\u003c\/th\u003e\n          \u003cth scope=\"col\"\u003eCrown height (\u003cspan data-tpsg-u\u003eIN\u003c\/span\u003e)\u003c\/th\u003e\n          \u003cth scope=\"col\"\u003eVisor length (\u003cspan data-tpsg-u\u003eIN\u003c\/span\u003e)\u003c\/th\u003e\n          \u003cth scope=\"col\"\u003eCircumference (\u003cspan data-tpsg-u\u003eIN\u003c\/span\u003e)\u003c\/th\u003e\n        \u003c\/tr\u003e\n      \u003c\/thead\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eOne Size\u003c\/th\u003e\n          \u003ctd data-in=\"4.50\" data-cm=\"11.4\"\u003e4.50\u003c\/td\u003e\n          \u003ctd data-in=\"2.75\" data-cm=\"7.0\"\u003e2.75\u003c\/td\u003e\n          \u003ctd data-in=\"23\" data-cm=\"58.4\"\u003e23\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n    \u003cp class=\"tpsg-note\"\u003e*Measurements can vary by 1–2\" due to the manufacturing process.\u003c\/p\u003e\n    \u003ch4 class=\"tpsg-h4\"\u003eHow to nail your size\u003c\/h4\u003e\n    \u003col\u003e\n      \u003cli\u003eWrap a soft tape measure around your head, just above the ears and across your mid-forehead.\u003c\/li\u003e\n      \u003cli\u003eNote the circumference — that's your hat size. One size fits 21\" to 24\".\u003c\/li\u003e\n      \u003cli\u003eCompare your number to the chart above. Right between two? Go with the larger one.\u003c\/li\u003e\n      \u003cli\u003eFine-tune the fit with the adjustable snapback at the back — snug, no-slip, no headache.\u003c\/li\u003e\n      \u003cli\u003eStill unsure? Our support team is happy to help — just reach out.\u003c\/li\u003e\n    \u003c\/ol\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\u003cscript\u003e\n(function(){\n  var HOSTS = document.querySelectorAll('.tpsg-host');\n  if (!HOSTS.length) return;\n\n  function setup(host){\n    if (host.getAttribute('data-tpsg-ready') === '1') return;\n    var btn = host.querySelector('[data-tpsg-open]');\n    var dlg = host.querySelector('.tpsg-dlg');\n    if (!btn || !dlg) return;\n    host.setAttribute('data-tpsg-ready','1');\n    try { document.body.appendChild(dlg); } catch(e){}\n\n    var scopeEl = host.closest('.shopify-section') || document.body;\n    function place(){\n      var scope = host.closest('.shopify-section') || document;\n      var hd = scope.querySelector('.tpp-form .tpp-opt__hd') || scope.querySelector('.tpp-opt__hd');\n      if (hd){\n        if (btn.parentElement !== hd) hd.appendChild(btn);\n        return true;\n      }\n      var oh = scope.querySelector('.oh');\n      if (!oh) return false;\n      if (btn.parentElement !== oh) oh.appendChild(btn);\n      var nbs = scope.querySelectorAll('.oh button');\n      for (var z = 0; z \u003c nbs.length; z++){\n        if (nbs[z] !== btn \u0026\u0026 \/size\\s*guide\/i.test(nbs[z].textContent || '')) nbs[z].style.setProperty('display','none','important');\n      }\n      return true;\n    }\n    if (document.readyState !== 'loading') place();\n    var n=0, t=setInterval(function(){ if (place() || ++n \u003e 60) clearInterval(t); }, 100);\n    window.addEventListener('load', place);\n    if (window.MutationObserver){\n      var sched = false;\n      var mo = new MutationObserver(function(){\n        if (sched) return;\n        sched = true;\n        setTimeout(function(){ sched = false; place(); }, 60);\n      });\n      try { mo.observe(scopeEl, { childList: true, subtree: true }); } catch(e){}\n    }\n    document.addEventListener('change', function(){ setTimeout(place, 60); }, true);\n\n    btn.addEventListener('click', function(e){\n      e.preventDefault();\n      if (typeof dlg.showModal === 'function') { if (!dlg.open) dlg.showModal(); }\n      else { dlg.setAttribute('open',''); }\n    });\n    dlg.querySelector('[data-tpsg-close]').addEventListener('click', function(){ if (dlg.close) dlg.close(); else dlg.removeAttribute('open'); });\n    dlg.addEventListener('click', function(e){\n      if (e.target === dlg) { if (dlg.close) dlg.close(); else dlg.removeAttribute('open'); return; }\n      var b = e.target.closest ? e.target.closest('[data-tpsg-unit]') : null;\n      if (!b) return;\n      var unit = b.getAttribute('data-tpsg-unit');\n      dlg.querySelectorAll('[data-tpsg-unit]').forEach(function(x){ var on = x===b; x.classList.toggle('is-on', on); x.setAttribute('aria-pressed', on?'true':'false'); });\n      dlg.querySelectorAll('[data-tpsg-u]').forEach(function(x){ x.textContent = unit.toUpperCase(); });\n      dlg.querySelectorAll('td[data-in]').forEach(function(x){ x.textContent = x.getAttribute('data-' + unit); });\n    });\n  }\n\n  function boot(){ HOSTS.forEach(setup); }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot); else boot();\n  window.addEventListener('load', boot);\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n\u003cstyle\u003ehtml.tpsg-page .tpp-opt__hd .tpp-guide:not(.tpsg-btn){display:none!important}\u003c\/style\u003e\n\u003cscript\u003e(function(){var done=false;function k(){if(done)return;if(!document.querySelector('.tpp-opt__hd \u003e .tpp-guide.tpsg-btn'))return;document.documentElement.classList.add('tpsg-page');done=true;}k();var n=0,t=setInterval(function(){k();if(done||++n\u003e100)clearInterval(t);},100);window.addEventListener('load',k);})();\u003c\/script\u003e\u003c!--tpsg-mobile-fix--\u003e","brand":"TeePara","offers":[{"title":"Blue","offer_id":67160611553395,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Black","offer_id":67160573509747,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"White","offer_id":67160573608051,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Navy","offer_id":67160573542515,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Green","offer_id":67160611586163,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Beige","offer_id":67160611618931,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Bronze","offer_id":67160611651699,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Red","offer_id":67160611684467,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Brown","offer_id":67160611717235,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Orange","offer_id":67160611750003,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Gray","offer_id":67160611782771,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Pink","offer_id":67160611815539,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Gold","offer_id":67160611848307,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Rose gold","offer_id":67160611881075,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Purple","offer_id":67160611913843,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Silver","offer_id":67160611946611,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Yellow","offer_id":67160611979379,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true},{"title":"Military Green","offer_id":67160612012147,"sku":null,"price":24.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0720\/6178\/0083\/files\/Buffalo_Bills_Hat.png?v=1794322469","url":"https:\/\/www.teepara.com\/products\/buffalo-bills-hat","provider":"TeePara","version":"1.0","type":"link"}