
<!DOCTYPE html>
<!--[if IE 7]>         <html class="no-js ie7"> <![endif]-->
<!--[if IE 8]>         <html class="no-js ie8"> <![endif]-->
<!--[if gt IE 8]><!--><html lang="en-us" class="no-js" ng-app="TsgMvc"><!--<![endif]-->
<head>
        <script src="https://rapid-cdn.yottaa.com/rapid/lib/9xNJmZz--Car6g.js"></script>
        <script type="text/javascript"> //clarity heat mapping
            (function (c, l, a, r, i, t, y) {
                c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments) };
                t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i; y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
            })(window, document, "clarity", "script", "vohyznplhm"); 
        </script>

        <script src="https://cmp.osano.com/16BQanTi2yO943tt5/9d515b1e-9344-447c-a778-360d121cec84/osano.js"></script>
        <style> 
            .osano-cm-widget{display: none;} 
        </style>

    <script type="text/javascript">
        // setup a hook so we can run code once the page loads, even without
        //  jQuery being available when that code is outputted to the page
        //  http://beeker.io/jquery-document-ready-equivalent-vanilla-javascript
        var domReady = domReady || function (callback) {
            document.readyState === "interactive" || document.readyState === "complete" ? callback() : document.addEventListener("DOMContentLoaded", callback);
        };

        function load_css_async(filename) {
            var cb = function () {
                var l = document.createElement('link'); l.rel = 'stylesheet';
                l.href = filename;
                var h = document.getElementsByTagName('head')[0]; h.parentNode.insertBefore(l, h);
            };
            var raf = requestAnimationFrame || mozRequestAnimationFrame || webkitRequestAnimationFrame || msRequestAnimationFrame;
            if (raf) raf(cb);
            else window.addEventListener('load', cb);
        }
    </script>
    <script async src="https://apps.bazaarvoice.com/deployments/tgw/main_site/production/en_US/bv.js"></script>

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    
    
    
    <!-- stop ie 11 from requesting browserconfig.xml -->
    <meta name="msapplication-config" content="none"/>
    <meta name="google-site-verification" content="e7Yfd8qGnjRj6v-tHXi0DLmHKcoAG8iaQvTE2Xyfho4" /> 
    <meta name="facebook-domain-verification" content="dues1mtlghfqfrsnsh89qokiyr58qk"/>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, user-scalable=yes, target-densityDpi=device-dpi"/>



    <!--wmm:ignore-->
    <!--/wmm:ignore-->


    <!--[if lt IE 9]>
        <script src="//css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
    <![endif]-->
    <link rel='SHORTCUT ICON' href='/favicon.ico' type="'image/x-icon'"/>
    <link rel="preload" href="/content/fonts/roboto-v15-latin-regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>
    <link rel="preload" href="/content/fonts/roboto-v15-latin-500.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>
    <link rel="preload" href="/content/fonts/roboto-v18-latin-300.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>
    <link rel="preload" href="/content/fonts/roboto-v15-latin-700.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>
    <link rel="preload" href="/content/fonts/roboto-condensed-v13-latin-regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>
    <link rel="preload" href="/content/fonts/roboto-condensed-v13-latin-700.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>
    <link rel="preload" href="/content/fonts/norican-v4-latin-regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>
    <link rel="preload" href="/content/fonts/volkhov-bold.woff2" as="font" type="font/woff2" crossorigin="anonymous"/>

    <!-- preload images -->
    <link rel="preload" href="/images/tgw_logo.svg" as="image" type="image/png" media="(min-width: 961px)"/>
    <link rel="preload" href="/images/SG_horiz_orange_4C-mobile.png" as="image" type="image/png" media="(max-width: 960px)"/>
    <link rel="preload" href="/images/gorilla/sprite.png" as="image" type="image/png"/>
    <link rel="preload" href="/images/user@2x.png" as="image" type="image/png"/>
    <link rel="preload" href="/images/wishlist@2x.png" as="image" type="image/png"/>
    <link rel="preload" href="/images/cart@2x.png" as="image" type="image/png"/>
    <link rel="preload" href="/images/email_capture_background_orange_130.jpg" as="image" type="image/jpg"/>

    <link rel="prefetch" href="/images/club/spg_bc_horiz.svg" as="svg" type="image/svg+xml"/>
    <link rel="prefetch" href="/images/club/10percent_icon.svg" as="svg" type="image/svg+xml"/>
    <link rel="prefetch" href="/images/club/freeship_icon.svg" as="svg" type="image/svg+xml"/>
    <link rel="prefetch" href="/images/club/4payicon.svg" as="svg" type="image/svg+xml"/>
    <link rel="prefetch" href="/images/club/bullseye_icon.svg" as="svg" type="image/svg+xml"/>

    

    
    <script src="/bundles/modernizr.js?v=1rdSWAoV-IC8E7TUeGxg9U0OJmO4YDj29wlh4OUPb9g1" defer></script>


<link href="/content/global.css?v=cdHcphjLkZGpF4QLKbDPWM8m21MuxgU_mmt9VoUu1YE1" rel="stylesheet"/>
<script src="/bundles/global.js?v=moYUhvrLROWDYsytEeSsmDHOWLo0wztCm0iNfCqyCv81"></script>
<link href="/content/controls.css?v=EySyrjd5kO767qui0vtwryE0IL6YTIb52YlIGd_RdC01" rel="stylesheet"/>
<link href="/content/vendor-global.css?v=erquChntFQ9tlgYY1EmJQBr5Y7pjEpbmv8NEiMIR5Mw1" rel="stylesheet"/>
<link href="/content/gorilla-global.css?v=cCISEceCRbwKHHkJkpLd_sw_yDi60LUVL_HwL9aCLwk1" rel="stylesheet"/>
<link href="/content/bcwp.css?v=F88dWm_JeVSveMxJaUyfuB6MY8_XOy_duDaQQSN8QMw1" rel="stylesheet"/>
<link href="/content/home.css?v=HA-cz3uzc3dp7XdnYFPrKt5E-9CtNQdsyLysxS80_Hk1" rel="stylesheet"/>
<link href="/content/slickall.css?v=0Yyan_S0H-JtVncXz6SwT1LS8c1huvFTS4igFMejew01" rel="stylesheet"/>
<link href="/content/angular-material-all.css?v=PWK4o-T2wZvFzEMmF7CqqW6lZBJ7ho08S0XG0sPQyb41" rel="stylesheet"/>
<script src="/bundles/gorilla-global.js?v=YY4T9_I3a36fvfsvdmXCY-knwjsDRUMHQsJ5psyPfgI1" defer></script>
<script src="/bundles/slick.js?v=r78Wy7swG9oQNXGsca_faDlazvyqaO-RWSyS9MoLEp41"></script>
<script src="/bundles/main-global.js?v=IrO1WSJ6KoYL6Wbi8rgbXR7TXBXl32UU8IhwNOP83Gw1" defer></script>
<script src="/bundles/bcwp.js?v=V5upu9q-Do-cNvMgHxfKoaORJLSVohQxi8KPDKlqvs01"></script>
<script src="/bundles/angular.js?v=X0cArz4dd35MaxrGnvtyaWsXeRC-jHa05vvzvU2KVm41" defer></script>




    <!--JS for ad media display, not page specific (i.e. generic Google Ad Services code for BVMedia)-->


<script type="text/javascript" id="fbabb974499d">(function () { var merchantConfig = { csp: false,}; var siteId = "fbabb974499d"; function t(t, e) { for (var n = t.split(""), r = 0; r < n.length; ++r)n[r] = String.fromCharCode(n[r].charCodeAt(0) + e); return n.join("") } function e(e) { return t(e, -_).replace(/%SN%/g, siteId) } function n(t) { try { if ("number" == typeof t && window.location && window.location.pathname) { for (var e = window.location.pathname.split("/"), n = [], r = 0; r <= Math.min(e.length - 1, Math.abs(t)); r++)n.push(e[r]); return n.join("/") || "/" } } catch (t) { } return "/" } function r() { var t = "no" + "op" + "fn", e = "g" + "a", n = "n" + "ame"; return window[e] && window[e][n] === t } function o() { return !(!navigator.brave || "function" != typeof navigator.brave.isBrave) } function i() { return document.currentScript && document.currentScript.src } function a(t) { try { z.ex = t, r() && -1 === z.ex.indexOf($.uB) && (z.ex += $.uB), o() && -1 === z.ex.indexOf($.uBr) && (z.ex += $.uBr), i() && -1 === z.ex.indexOf($.nIL) && (z.ex += $.nIL), window.ftr__snp_cwc || (z.ex += $.s), H(z) } catch (t) { } } function c(t, e) { function n(i) { try { i.blockedURI === t && i.disposition === o && (e(), document.removeEventListener(r, n)) } catch (t) { document.removeEventListener(r, n) } } var r = "securitypolicyviolation", o = "enforce"; document.addEventListener(r, n), setTimeout(function () { document.removeEventListener(r, n) }, 2 * 60 * 1e3) } function f(t, e, n, r) { var o = !1; t = "https://" + t, c(t, function () { r(!0), o = !0 }); var i = document.createElement("script"); i.onerror = function () { if (!o) try { r(!1), o = !0 } catch (t) { } }, i.onload = n, i.type = "text/javascript", i.id = "ftr__script", i.async = !0, i.src = t; var a = document.getElementsByTagName("script")[0]; a.parentNode.insertBefore(i, a) } function u() { nt($.uDF), setTimeout(l, B, $.uDF) } function s(t, e, n, r) { var o = !1, i = new XMLHttpRequest; if (c("https:" + t, function () { n(new Error("CSP Violation"), !0), o = !0 }), "//" === t.slice(0, 2) && (t = "https:" + t), "withCredentials" in i) i.open("GET", t, !0); else { if ("undefined" == typeof XDomainRequest) return; i = new XDomainRequest, i.open("GET", t) } Object.keys(r).forEach(function (t) { i.setRequestHeader(t, r[t]) }), i.onload = function () { "function" == typeof e && e(i) }, i.onerror = function (t) { if ("function" == typeof n && !o) try { n(t, !1), o = !0 } catch (t) { } }, i.onprogress = function () { }, i.ontimeout = function () { "function" == typeof n && n("tim" + "eo" + "ut", !1) }, setTimeout(function () { i.send() }, 0) } function d(t, siteId, e) { function n(t) { var e = t.toString(16); return e.length % 2 ? "0" + e : e } function r(t) { if (t <= 0) return ""; for (var e = "0123456789abcdef", n = "", r = 0; r < t; r++)n += e[Math.floor(Math.random() * e.length)]; return n } function o(t) { for (var e = "", r = 0; r < t.length; r++)e += n(t.charCodeAt(r)); return e } function i(t) { for (var e = t.split(""), n = 0; n < e.length; ++n)e[n] = String.fromCharCode(255 ^ e[n].charCodeAt(0)); return e.join("") } e = e ? "1" : "0"; var a = []; return a.push(t), a.push(siteId), a.push(e), function (t) { var e = 40, n = ""; return t.length < e / 2 && (n = "," + r(e / 2 - t.length - 1)), o(i(t + n)) }(a.join(",")) } function h() { function t() { M && (nt($.dUAL), setTimeout(l, B, $.dUAL)) } function e(t, e) { M = e ? "F" + "T" + "R" + "A" + "U" + "C" : "F" + "T" + "R" + "A" + "U", setTimeout(l, B, $.uAS) } window.ftr__fdad(t, e) } function w() { function t() { M && setTimeout(l, B, $.uDAD) } function e(t, e) { M = e ? "F" + "T" + "R" + "A" + "U" + "C" : "F" + "T" + "R" + "A" + "U", setTimeout(l, B, $.uDS) } window.ftr__radd(t, e) } function l(t) { try { var e; switch (t) { case $.uFP: e = N; break; case $.uDF: e = I; break; default: e = M }if (!e) return; var n = function () { try { rt(), a(t + $.uS) } catch (t) { } }, r = function (e) { try { rt(), z.td = 1 * new Date - z.ts, a(e ? t + $.uF + $.cP : t + $.uF), t === $.uFP && u(), t === $.uDF && (j ? w() : h()), t !== $.uAS && t !== $.dUAL || j || w(), t !== $.uDS && t !== $.uDAD || j && h() } catch (t) { a($.eUoe) } }; if (e === "F" + "T" + "R" + "A" + "U" + "C") return void r(!0); if (e === "F" + "T" + "R" + "A" + "U") return void r(!1); f(e, void 0, n, r) } catch (e) { a(t + $.eTlu) } } var g = "22g6edqo7i}x{vmo1forxgiurqw1qhw2vwdwxv", v = "fort", p = "erTo", m = "ken", _ = 3; window.ftr__config = { m: merchantConfig, s: "27", si: siteId }; var y = !1, U = !1, T, x, A = v + p + m, D = 400 * 24 * 60, S, C = 10; S = { write: function (t, e, r, o) { void 0 === o && (o = !0); var i = 0; window.ftr__config && window.ftr__config.m && window.ftr__config.m.ckDepth && (i = window.ftr__config.m.ckDepth); var a, c, f = n(i); if (r ? (a = new Date, a.setTime(a.getTime() + 60 * r * 1e3), c = "; expires=" + a.toGMTString()) : c = "", !o) return void (document.cookie = escape(t) + "=" + escape(e) + c + "; path=" + f); for (var u = 1, s = document.domain.split("."), d = C, h = !0; h && s.length >= u && d > 0;) { var w = s.slice(-u).join("."); document.cookie = escape(t) + "=" + escape(e) + c + "; path=" + f + "; domain=" + w; var l = S.read(t); null != l && l == e || (w = "." + w, document.cookie = escape(t) + "=" + escape(e) + c + "; path=" + f + "; domain=" + w), h = -1 === document.cookie.indexOf(t + "=" + e), u++, d-- } }, read: function (t) { var e = null; try { for (var n = escape(t) + "=", r = document.cookie.split(";"), o = 32, i = 0; i < r.length; i++) { for (var a = r[i]; a.charCodeAt(0) === o;)a = a.substring(1, a.length); 0 === a.indexOf(n) && (e = unescape(a.substring(n.length, a.length))) } } finally { return e } } }; var L = window.ftr__config.s; L += "ck"; var R = function (t) { var e = !1, n = null, r = function () { try { if (!n || !e) return; n.remove && "function" == typeof n.remove ? n.remove() : document.head.removeChild(n), e = !1 } catch (t) { } }; document.head && (!function () { n = document.createElement("link"), n.setAttribute("rel", "pre" + "con" + "nect"), n.setAttribute("cros" + "sori" + "gin", "anonymous"), n.onload = r, n.onerror = r, n.setAttribute("href", t), document.head.appendChild(n), e = !0 }(), setTimeout(r, 3e3)) }, E = e(g || "22g6edqo7i}x{vmo1forxgiurqw1qhw2vwdwxv"), q = t("[0Uhtxhvw0LG", -_), P = t("[0Fruuhodwlrq0LG", -_), k = t("Li0Qrqh0Pdwfk", -_), F = e("dss1vlwhshuirupdqfhwhvw1qhw"), b = e("2241414142gqv0txhu|"), M, O = "fgq71iruwhu1frp", I, V; I = e("(VQ(1" + O + "2vq2(VQ(2vfulsw1mv"), V = e("(VQ(1" + O + "2vqV2(VQ(2vfulsw1mv"); var N; window.ftr__config && window.ftr__config.m && window.ftr__config.m.fpi && (N = e("fgq71") + window.ftr__config.m.fpi + e("2vq2(VQ(2vfulsw1mv")); var j = !1; j = !1; var B = 10; window.ftr__startScriptLoad = 1 * new Date; var G = function (t) { var e = "ft" + "r:tok" + "enR" + "eady"; window.ftr__tt && clearTimeout(window.ftr__tt), window.ftr__tt = setTimeout(function () { try { delete window.ftr__tt, t += "_tt"; var n = document.createEvent("Event"); n.initEvent(e, !1, !1), n.detail = t, document.dispatchEvent(n) } catch (t) { } }, 1e3) }, H = function (t) { var e = function (t) { return t || "" }, n = e(t.id) + "_" + e(t.ts) + "_" + e(t.td) + "_" + e(t.ex) + "_" + e(L), r = D; !isNaN(window.ftr__config.m.ckTTL) && window.ftr__config.m.ckTTL && (r = window.ftr__config.m.ckTTL), S.write(A, n, r, !0), G(n), window.ftr__gt = n }, X = function () { var t = S.read(A) || "", e = t.split("_"), n = function (t) { return e[t] || void 0 }; return { id: n(0), ts: n(1), td: n(2), ex: n(3), vr: n(4) } }, Q = function () { for (var t = {}, e = "fgu", n = [], r = 0; r < 256; r++)n[r] = (r < 16 ? "0" : "") + r.toString(16); var o = function (t, e, r, o, i) { var a = i ? "-" : ""; return n[255 & t] + n[t >> 8 & 255] + n[t >> 16 & 255] + n[t >> 24 & 255] + a + n[255 & e] + n[e >> 8 & 255] + a + n[e >> 16 & 15 | 64] + n[e >> 24 & 255] + a + n[63 & r | 128] + n[r >> 8 & 255] + a + n[r >> 16 & 255] + n[r >> 24 & 255] + n[255 & o] + n[o >> 8 & 255] + n[o >> 16 & 255] + n[o >> 24 & 255] }, i = function () { if (window.Uint32Array && window.crypto && window.crypto.getRandomValues) { var t = new window.Uint32Array(4); return window.crypto.getRandomValues(t), { d0: t[0], d1: t[1], d2: t[2], d3: t[3] } } return { d0: 4294967296 * Math.random() >>> 0, d1: 4294967296 * Math.random() >>> 0, d2: 4294967296 * Math.random() >>> 0, d3: 4294967296 * Math.random() >>> 0 } }, a = function () { var t = "", e = function (t, e) { for (var n = "", r = t; r > 0; --r)n += e.charAt(1e3 * Math.random() % e.length); return n }; return t += e(2, "0123456789"), t += e(1, "123456789"), t += e(8, "0123456789") }; return t.safeGenerateNoDash = function () { try { var t = i(); return o(t.d0, t.d1, t.d2, t.d3, !1) } catch (t) { try { return e + a() } catch (t) { } } }, t.isValidNumericalToken = function (t) { return t && t.toString().length <= 11 && t.length >= 9 && parseInt(t, 10).toString().length <= 11 && parseInt(t, 10).toString().length >= 9 }, t.isValidUUIDToken = function (t) { return t && 32 === t.toString().length && /^[a-z0-9]+$/.test(t) }, t.isValidFGUToken = function (t) { return 0 == t.indexOf(e) && t.length >= 12 }, t }(), $ = { uDF: "UDF", dUAL: "dUAL", uAS: "UAS", uDS: "UDS", uDAD: "UDAD", uFP: "UFP", mLd: "1", eTlu: "2", eUoe: "3", uS: "4", uF: "9", tmos: ["T5", "T10", "T15", "T30", "T60"], tmosSecs: [5, 10, 15, 30, 60], bIR: "43", uB: "u", uBr: "b", cP: "c", nIL: "i", s: "s" }; try { var z = X(); try { z.id && (Q.isValidNumericalToken(z.id) || Q.isValidUUIDToken(z.id) || Q.isValidFGUToken(z.id)) ? window.ftr__ncd = !1 : (z.id = Q.safeGenerateNoDash(), window.ftr__ncd = !0), z.ts = window.ftr__startScriptLoad, H(z), window.ftr__snp_cwc = !!S.read(A), window.ftr__snp_cwc || (I = V); for (var J = "for" + "ter" + ".co" + "m", K = "ht" + "tps://c" + "dn9." + J, W = "ht" + "tps://" + z.id + "-" + siteId + ".cd" + "n." + J, Y = "http" + "s://cd" + "n3." + J, Z = [K, W, Y], tt = 0; tt < Z.length; tt++)R(Z[tt]); var et = new Array($.tmosSecs.length), nt = function (t) { for (var e = 0; e < $.tmosSecs.length; e++)et[e] = setTimeout(a, 1e3 * $.tmosSecs[e], t + $.tmos[e]) }, rt = function () { for (var t = 0; t < $.tmosSecs.length; t++)clearTimeout(et[t]) }; window.ftr__fdad = function (e, n) { if (y) return window.ftr__altd2 = x, void e(); y = !0; var r = {}; r[k] = d(window.ftr__config.s, siteId, window.ftr__config.m.csp), s(E, function (n) { try { var r = n.getAllResponseHeaders().toLowerCase(); if (r.indexOf(P.toLowerCase()) >= 0) { var o = n.getResponseHeader(P); x = window.ftr__altd2 = t(atob(o), -_ - 1) } if (r.indexOf(q.toLowerCase()) < 0) return; var i = n.getResponseHeader(q), a = t(atob(i), -_ - 1); if (a) { var c = a.split(":"); if (c && 2 === c.length) { for (var f = c[0], u = c[1], s = "", d = 0, h = 0; d < 20; ++d)s += d % 3 > 0 && h < 12 ? siteId.charAt(h++) : z.id.charAt(d); var w = u.split(","); if (w.length > 1) { var l = w[0], g = w[1]; M = f + "/" + l + "." + s + "." + g } } } e() } catch (t) { } }, function (t, e) { n && n(t, e) }, r) }, window.ftr__radd = function (t, e) { function n(e) { try { var n = e.response, r = function (t) { function e(t, n, i) { try { if (i >= r) return { name: "", nextOffsetToProcess: n, error: "Max pointer dereference depth exceeded" }; for (var a = [], c = n, f = t.getUint8(c), u = 0; u < o;) { if (u++, 192 == (192 & f)) { var s = (63 & f) << 8 | t.getUint8(c + 1), d = e(t, s, i + 1); if (d.error) return d; var h = d.name; return a.push(h), { name: a.join("."), nextOffsetToProcess: c + 2 } } if (!(f > 0)) { if (0 !== f) return { name: "", nextOffsetToProcess: c, error: "Unexpected length at the end of name: " + f.toString() }; return { name: a.join("."), nextOffsetToProcess: c + 1 } } for (var w = "", l = 1; l <= f; l++)w += String.fromCharCode(t.getUint8(c + l)); a.push(w), c += f + 1, f = t.getUint8(c) } return { name: "", nextOffsetToProcess: c, error: "Max iterations exceeded" } } catch (t) { return { name: "", nextOffsetToProcess: n, error: "Unexpected error while parsing response: " + t.toString() } } } var n, r = 4, o = 100, i = 16, a = new DataView(t), c = a.getUint16(0), f = a.getUint16(2), u = a.getUint16(4), s = a.getUint16(6), d = a.getUint16(8), h = a.getUint16(10), w = 12, l = [], g = 0; for (g = 0; g < u; g++) { if (n = e(a, w, 0), n.error) throw new Error(n.error); if (w = n.nextOffsetToProcess, !Number.isInteger(w)) throw new Error("invalid returned offset"); var v = n.name, p = a.getUint16(w); w += 2; var m = a.getUint16(w); w += 2, l.push({ qname: v, qtype: p, qclass: m }) } var _ = []; for (g = 0; g < s; g++) { if (n = e(a, w, 0), n.error) throw new Error(n.error); if (w = n.nextOffsetToProcess, !Number.isInteger(w)) throw new Error("invalid returned offset"); var y = n.name, U = a.getUint16(w); if (U !== i) throw new Error("Unexpected record type: " + U.toString()); w += 2; var T = a.getUint16(w); w += 2; var x = a.getUint32(w); w += 4; var A = a.getUint16(w); w += 2; for (var D = "", S = w, C = 0; S < w + A && C < o;) { C++; var L = a.getUint8(S); S += 1; D += (new TextDecoder).decode(t.slice(S, S + L)), S += L } if (C >= o) throw new Error("Max iterations exceeded while reading TXT data"); w += A, _.push({ name: y, type: U, class: T, ttl: x, data: D }) } return { transactionId: c, flags: f, questionCount: u, answerCount: s, authorityCount: d, additionalCount: h, questions: l, answers: _ } }(n); if (!r) throw new Error("Error parsing DNS response"); if (!("answers" in r)) throw new Error("Unexpected response"); var o = r.answers; if (0 === o.length) throw new Error("No answers found"); var i = o[0].data; i = i.replace(/^"(.*)"$/, "$1"); var a = function (t) { var e = 40, n = 32, r = 126; try { for (var o = atob(t), i = "", a = 0; a < o.length; a++)i += function (t) { var o = t.charCodeAt(0), i = o - e; return i < n && (i = r - (n - i) + 1), String.fromCharCode(i) }(o[a]); return atob(i) } catch (t) { return } }(i); if (!a) throw new Error("failed to decode the value"); var c = function (t) { var e = "_" + "D" + "L" + "M" + "_", n = t.split(e); if (!(n.length < 2)) { var r = n[0], o = n[1]; if (!(r.split(".").length - 1 < 1)) return { jURL: r, eURL: o } } }(a); if (!c) throw new Error("failed to parse the value"); var f = c.jURL, u = c.eURL; M = function (t) { for (var e = "", n = 0, r = 0; n < 20; ++n)e += n % 3 > 0 && r < 12 ? siteId.charAt(r++) : z.id.charAt(n); return t.replace("/PRM1", "").replace("/PRM2", "/main.").replace("/PRM3", e).replace("/PRM4", ".js") }(f), T = window.ftr__altd3 = u, t() } catch (t) { } } function r(t, n) { e && e(t, n) } if (U) return window.ftr__altd3 = T, void t(); window.ftr__config.m.dr === "N" + "D" + "R" && e(new Error("N" + "D" + "R"), !1), b && F || e(new Error("D" + "P" + "P"), !1), U = !0; try { var o = function (t) { for (var e = new Uint8Array([0, 0]), n = new Uint8Array([1, 0]), r = new Uint8Array([0, 1]), o = new Uint8Array([0, 0]), i = new Uint8Array([0, 0]), a = new Uint8Array([0, 0]), c = t.split("."), f = [], u = 0; u < c.length; u++) { var s = c[u]; f.push(s.length); for (var d = 0; d < s.length; d++)f.push(s.charCodeAt(d)) } f.push(0); var h = 16, w = new Uint8Array([0, h]), l = new Uint8Array([0, 1]), g = new Uint8Array(e.length + n.length + r.length + o.length + i.length + a.length + f.length + w.length + l.length); return g.set(e, 0), g.set(n, e.length), g.set(r, e.length + n.length), g.set(o, e.length + n.length + r.length), g.set(i, e.length + n.length + r.length + o.length), g.set(a, e.length + n.length + r.length + o.length + i.length), g.set(f, e.length + n.length + r.length + o.length + i.length + a.length), g.set(w, e.length + n.length + r.length + o.length + i.length + a.length + f.length), g.set(l, e.length + n.length + r.length + o.length + i.length + a.length + f.length + w.length), g }(F); !function (t, e, n, r, o) { var i = !1, a = new XMLHttpRequest; if (c("https:" + t, function () { o(new Error("CSP Violation"), !0), i = !0 }), "//" === t.slice(0, 2) && (t = "https:" + t), "withCredentials" in a) a.open("POST", t, !0); else { if ("undefined" == typeof XDomainRequest) return; a = new XDomainRequest, a.open("POST", t) } a.responseType = "arraybuffer", a.setRequestHeader("Content-Type", e), a.onload = function () { "function" == typeof r && r(a) }, a.onerror = function (t) { if ("function" == typeof o && !i) try { o(t, !1), i = !0 } catch (t) { } }, a.onprogress = function () { }, a.ontimeout = function () { "function" == typeof o && o("tim" + "eo" + "ut", !1) }, setTimeout(function () { a.send(n) }, 0) }(b, "application/dns-message", o, n, r) } catch (t) { e(t, !1) } }; var ot = N ? $.uFP : $.uDF; nt(ot), setTimeout(l, B, ot) } catch (t) { a($.mLd) } } catch (t) { } })();</script>


    <script src="//cdn.coverstand.com/html5_viewer/compiled/controliframe-min.js"></script>
    <script>
        function buildSiteNavigationJsonLd(categoryNav) {
            if (!categoryNav || !categoryNav.Categories || categoryNav.Categories.length === 0) return null;

            function buildLevel4(level4Subcats) {
                return level4Subcats.map(level4Cat => ({
                    "@type": "SiteNavigationElement",
                    "name": level4Cat.Description,
                    "url": window.location.origin + level4Cat.Url
                }));
            }

            function buildSubcategories(subcategories) {
                return subcategories.map(subCategory => {
                    const obj = {
                        "@type": "SiteNavigationElement",
                        "name": subCategory.Description,
                        "url": window.location.origin + subCategory.Url
                    };
                    if (subCategory.Level4Subcats && subCategory.Level4Subcats.length > 0) {
                        obj.hasPart = buildLevel4(subCategory.Level4Subcats);
                    }
                    return obj;
                });
            }

            function buildCategories(categories) {
                return categories.map(category => {
                    const obj = {
                        "@type": "SiteNavigationElement",
                        "name": category.Description,
                        "url": window.location.origin + category.Url
                    };
                    if (category.Subcategories && category.Subcategories.length > 0) {
                        obj.hasPart = buildSubcategories(category.Subcategories);
                    }
                    return obj;
                });
            }

            return {
                "@context": "http://schema.org",
                "@type": "SiteNavigationElement",
                "name": "Products",
                "hasPart": buildCategories(categoryNav.Categories)
            };
        }

        fetch('/main/getcategorynav', {
            method: 'GET',
            headers: { 'Accept': 'application/json' }
        })
        .then(response => response.json())
        .then(data => {
            window.categoryNav = data.categoryNav;
            const jsonLd = buildSiteNavigationJsonLd(window.categoryNav);
            if (jsonLd) {
                const script = document.createElement('script');
                script.type = 'application/ld+json';
                script.text = JSON.stringify(jsonLd);
                document.head.appendChild(script);
            }
        })
        .catch(error => {
            console.error('Error fetching categoryNav:', error);
            window.categoryNav = null;
        });
    </script>
</head>
<body class="home bcwp  ">
    <div id="sg-page-wrapper">
        <div id="skipToContent"><a href="javascript:void(0);">Skip to main content</a></div>
        <div id="notifyMe" style="display:none;"></div>
        <div id="intl-shopping" style="display:none;"></div>
    <div style='position:relative;width:100%; z-index:9997;' class='noMobileDisplay header-ad-background'>
        <div id='div-house-ad-top' class='noMobileDisplay' style="margin:auto; width:728px; border:none;"></div>
    </div>



        <!--/Tab Navigation-->
        <header id="site-header" class="site-header mm-fixed-top" role="banner">
                <div class="site-promo-container">
                    <div id="site-wide-promos" class="promo-num-2">
                            <div class="global-message">
                <a href="/l/golf-all-qualifying-items/-/c249MTM4ODc="><span>20-25% OFF W/ CODE PLAY25 - SEE DETAILS</span></a>
    </div>
    <div class="global-message">
                <a class="promo-trigger" href="javascript:return false;">Free Shipping On Orders $99+</a>
                <hdnContent><p>FREE SHIPPING ON ORDERS OVER $99 EXCLUSIONS: Some exclusions apply. Standard shipping only. Excludes team and bulk orders. Continental U.S. only. No coupon code required. Limited time only.</p></hdnContent>
    </div>

                    </div>
                    <div id="promoBannerDots" class="slider-dots-container promo-num-2"></div>
                </div>
            <div class="nav-container">
                <div class="secondary header-flex-parent">
                    <a href="https://www.tgw.com" title="" class="logo" rel="home">
                        <img src="/images/tgw_logo.svg" alt="TGW Home">
                    </a>

                    <div id="nav" class="main-nav" role="navigation">
                        <ul>
                            <li class="level-top browse shop parent">
                                <div class="level-top-wrapper">
                                    <button class="level-top" title="" ng-controller="FlyoutController" ng-click="openLeftMenu()">
                                        <span>Products</span>
                                        <span class="respond960">Shop By Department</span>
                                    </button>
                                </div>
                            </li>
                            <li class="level-top deals parent">
                                <div class="level-top-wrapper">
                                    <button class="level-top" title=""><span>More</span></button>
                                </div>
                                <div id="deals-drop-down" class="drop-down">
                                    <ul class="level0">
                                        <li class="parent"><a href="/p/tgw-gift-cards/-/YT0zMDI2Mjcz">Gift Cards</a></li>
                                        <li class="parent"><a href="/customerservice/emailpreferences">Email Sign Up</a></li>
                                        <li class="parent"><a href="/customerservice/returnsmadeeasy">Returns</a></li>
                                        <li class="parent"><a href="/customerservice">Customer Service</a></li>
                                    </ul>
                                </div>
                            </li>

                            <li class="level-top community parent">
                                <div class="level-top-wrapper">
                                    <button class="level-top" title=""><span>Blog</span></button>
                                </div>
                                <div id="blog-drop-down" class="drop-down">
                                    <ul class="level0">
                                        <li class="parent"><a href="/golf-guide" title="">Golf Guide</a></li>
                                    </ul>
                                </div>
                            </li>

                            <li class="level-top-link brands-link">
                                <div class="level-top-wrapper">
                                        <a href="/brands" class="level-top"><span>Brands</span></a>
                                </div>
                            </li>
                        </ul>
                    </div>

                    <div class="site-search hideLT680" style="position:relative;">
                        <form action="/l/search" class="labelify inline-button" id="kform" method="get" onsubmit="return checkEmptySearch();">
                            <span id="searchInstruction" class="sr-only">The following text field filters the results that follow as you type. Use Tab to access the results.</span>
                            <div class="input-wrapper">
                                <label id="search-label" class="search-label anchor-label hideLT680" for="k">Search keyword or item #</label>
                                <div class="ui-widget">
                                    <input class="input-text search-input" type="text" name="k" id="k" value="" autocomplete="off" aria-labelledby="search-label" aria-describedby="searchInstruction" />
                                </div>
                            </div>
                            <section aria-label="auto complete suggestions" role="region">
                                <div class="sr-only">The following is a list of suggested autocorrect text. Use tab and arrow keys to access.</div>
                                <div class="sr-only" id="searchSuggestionsQuantity" aria-live="assertive"></div>
                                <div id="searchSuggestions"></div>
                            </section>
                            <section aria-label="search products" role="region">
                                <div class="sr-only">The following is a sample of products that would result if using that the autocorrect text. Use tab and arrow keys to access.</div>
                                <div class="sr-only" id="searchProductsQuantity" aria-live="assertive"></div>
                                <div id="searchProducts"></div>
                            </section>
                            <div class="icon-wrapper">
                                <button type="submit" class="button" title="Search"><span class="sr-only">Search</span></button>
                            </div>
                            <div style="clear:both;"></div>
                        </form>
                    </div>


                    <ul id="stickyMobileNav" class="customer-nav">
                        <li id="mini-account" class="mini-account trigger icon-wrapper">
                            <div class="sign-in-icon" title="Sign In"></div>
                            <span class="icon-text sr-only">Sign In</span>
                        </li>
                        <li id="mini-wish" class="mini-wish trigger icon-wrapper">
                                <a href="/authenticate/accountlogin?returnUrl=/wishlist" role="button">
                                    <div class="wish-list-icon" title="Wish List"><span id="wishlistQtyText" class="count wishlist-count" style="display: none"></span><span id="wishlistQtyLbl" class="sr-only">items</span></div>
                                    <span class="icon-text sr-only">Wish List</span>
                                </a>
                            <div id="wish-mmenu" class="wish-mmenu">
                                <div id="wishSummary" class="drop-down" data-loaded="false">
                                    <div class="ajax-loading"></div>
                                </div>
                            </div>
                        </li>
                        <li id="mini-cart" class="mini-cart trigger icon-wrapper">
                            <a href="/cart/viewcart" role="button">
                                <div class="cart-icon" title="Cart"><span id="cartQtyText" class="count cart-count" style="display: none"></span><span id="cartQtyLbl" class="sr-only">items</span></div>
                                <span class="icon-text sr-only">Cart</span>
                            </a>
                            <div id="cart-mmenu" class="cart-mmenu">
                                <div id="cartSummary" class="drop-down" data-loaded="false">
                                    <div class="ajax-loading"></div>
                                </div>
                            </div>
                        </li>
                        <li class="icon-wrapper respond680">
                            <a id="search-trigger" href="#" class="search" title="Search" role="button">
                                <div class="search-icon" title="Search"><span class="sr-only">Search</span></div>
                            </a>
                        </li>
                        <li class="icon-wrapper respondburger respond960">
                            <div class="wrapper">
                                <a href="#" ng-controller="FlyoutController" ng-click="openMobileNav()" id="menu-trigger" class="mobile-trigger" title="Menu" role="button"><span class="hamburger"></span><span class="sr-only">Menu</span></a>
                            </div>
                        </li>
                    </ul>
                </div>
            </div>
            <div class="site-search mobile-search closed">
                <form action="/l/search" class="labelify inline-button" id="mobilekform" method="get">
                    <div class="input-wrapper">
                        <label id="msearch-label" class="search-label" for="searchMobile">Search keyword or item #</label>
                        <div class="input-box">
                            <input autocomplete="off" class="input-text" type="text" name="k" id="searchMobile" value="" aria-labelledby="msearch-label" onclick="javascript:document.getElementsByClassName('site-search')[0].scrollTop = 0;" />
                        </div>
                    </div>
                    <div class="icon-wrapper">
                        <button type="submit" class="button" title="Search"><span class="sr-only">Search</span></button>
                    </div>
                </form>
                
                    <div id="top-searches"></div>
            </div>
        </header>
        <div class="nav-cover"></div>
        <div id="main" class="main" role="main">
            

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//www.tgw.com/golf-guide/main-sitemap.xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<sitemap>
		<loc>https://www.tgw.com/golf-guide/post-sitemap.xml</loc>
		<lastmod>2026-05-08T16:37:02+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://www.tgw.com/golf-guide/page-sitemap.xml</loc>
		<lastmod>2026-04-22T16:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://www.tgw.com/golf-guide/category-sitemap.xml</loc>
		<lastmod>2026-05-08T16:37:02+00:00</lastmod>
	</sitemap>
</sitemapindex>
<!-- XML Sitemap generated by Yoast SEO -->
        </div>




<footer>
        <div class="membership-spiff">
            <div class="overlay-spinner"></div>
            <div id="thankyouemail-flex-container" class="a-center" style="display: none;">
                <div id="thankyouemail-flex-item">
                    <h4>Thank you for signing up for&nbsp;our&nbsp;emails.</h4>
                </div>
            </div>
                <form action="#" id="join-email-form" class="labelify validate-form" method="POST" onsubmit="emailSignup(); return false;">
                    <div class="a-center" style="margin-bottom: 15px;">
                        <h2>Join our email list for the&nbsp;best&nbsp;deals!</h2>
                        <p>Get advance notice of exclusive offers&nbsp;and&nbsp;items.</p>
                    </div>
                    <div class="inline-button">
                        <div id="email-input-footer" class="input-wrapper search-wrapper">
                            <label class="anchor-label" for="email">Enter your email address</label>
                            <div>
                                <input autocomplete="email" class="input-text email required euemail" type="email" name="email" id="email" aria-describedby="email-error" />
                            </div>
                            <button id="sign-up" type="submit" class="email-capture-button" title="Sign Up"><span class="sr-only">Sign up</span></button>
                        </div>
                    </div>
                </form>

            
        </div>
        <div class="baseball-footer-container">
            <a href="/l/balls/personalized-balls/-/ZD0xMDMmYz0xMDMwMQ==" class="team-sales-footer">
                <img class="pbps-team-sales" src="/Images/Footer/personalized_balls_3x.png"/>
                <div>
                    Personalized<br />Balls
                </div>
            </a>
            <a href="/p/tgw-gift-cards/-/YT0zMDI2Mjcz" class="gift-cards-footer">
                <img class="pbps-card" src="/Images/Footer/TGW_giftcard_highres.png"/>
                <div>
                    TGW<br />Gift Cards
                </div>
            </a>
        </div>
<div id="footer" class="footer container mm-fixed-bottom">


<div class="quick-links accordion">
    
    

    <div class="col">
        <h2><a href="/customerservice">Customer Service</a></h2>
        <div class="content" id="CustomerServiceFooterLinks">
            <noscript>
                <ul class="fallback-categories">
                    <li><a href="/customerservice">Self Service</a></li>

                        <li><a href="/authenticate/accountlogin?returnUrl=/account/accountdashboard">My Account</a></li>

                    <li><a href="/customerservice/orderstatuslookup">Manage Orders</a></li>

                        <li><a href="/customerservice/returnsmadeeasy">Returns Made Easy</a></li>

                    <li><a href="/customerservice/contactus">Contact Us</a></li>
                    <li><a href="/customerservice/faqs">FAQs</a></li>
                    <li><a href="/shoppingresources/shipping">Shipping Information</a></li>
                    <li><a href="/shoppingresources/howtoorder">How to Order</a></li>
                    <li><a href="/event?key=hide_prices">Why We Don't Always Show<br />Prices</a></li>
                    <li><a href="/event?key=price_match">Price Match</a></li>
                    <li><a href="/event?key=playability">30-Day Playability</a></li>
                </ul>
            </noscript>
        </div>
    </div>
    <div class="col">
        <h2><a href="/event?key=about_us">Company Info</a></h2>
        <div class="content" id="OurCompanyFooterLinks">
            <noscript>
                <ul class="fallback-categories">
                    <li><a href="/event?key=about_us">About TGW</a></li>
                    <li><a href="/event?key=pure_performance_club_fitting">Pure Performance Center</a></li>
                    <li><a href="/event?key=job_openings">Careers</a></li>
                    <li><a href="https://public.cj.com/signup/publisher?advertiserId=4671274#/branded">Become A TGW Affiliate</a></li>
                </ul>
            </noscript>
        </div>
    </div>
    <div class="col">
        <h2><a href="/shoppingresources">Shopping Resources</a></h2>
        <div class="content" id="ShoppingResourcesFooterLinks">
            <noscript>
                <ul class="fallback-categories">
                    <li><a href="/golf-guide/">Golf Guide</a></li>
                    <li><a href="/p/tgw-gift-cards/-/YT0zMDI2Mjcz">Gift Cards</a></li>
                    <li><a href="/shoppingresources/giftcardlookup">Gift Card Balance</a></li>
                    <li><a href="/shoppingresources/sizing">Size Chart</a></li>
                    <li><a href="/brands">Brands</a></li>
                    <li><a href="/event?key=corporate_sales">Corporate Sales</a></li>
                    <li><a href="/event?key=golf_coupons_specials">Coupons & Special Offers</a></li>
                </ul>
            </noscript>
        </div>
    </div>
    <div class="col">
        <h2><a href="/usefullinks">Site information</a></h2>
        <div class="content" id="UsefulLinksFooterLinks">
            <ul>
                <li><a href="/ourcompany/privacypolicy">Privacy Policy</a></li>
                <li><a href="/ourcompany/accessibility">Accessibility</a></li>
                <li><a href="/ourcompany/privacypolicy#OptOutForm">Do Not Sell or Share My Personal Information</a></li>
                <li><a href="/event?key=security">Security</a></li>
                <li><a href="#cookiePreferences" onclick="Osano.cm.showDrawer('osano-cm-dom-info-dialog-open')" id="cookiePreferences">Cookie Policy</a></li>
                <li><a href="/customerservice/californiasupplychainact">California Supply Chain Act</a></li>
                <li><a href="/usefullinks/sitemap">Site Map</a></li>
            </ul>
        </div>
    </div>
</div>
        <div class="blue-footer-links">
            <div class="left-links-container">
                <div><a href="/ourcompany/privacypolicy">Privacy Policy</a> | 
                <a href="/event?key=terms_conditions">Terms &amp; Conditions</a> | 
                <a href="/customerservice/californiasupplychainact">California Supply Chain Transparency Act</a> | 
                <a target="_blank" href="https://www.tgw.com">&copy; 2026 The Golfer's World, LLC.</a></div>
            </div>
            <div class="right-socials-container">
                <ul class="connect">
    <li class="instagram"><a href="https://www.instagram.com/tgw_thegolfersworld/" target="_blank"><span class="sr-only">Instagram</span></a></li>
    <li class="facebook"><a href="https://www.facebook.com/tgw_thegolfersworld" target="_blank"><span class="sr-only">Facebook</span></a></li>
    <li class='youtube'><a href='https://www.youtube.com/@tgw_thegolfersworld' target='_blank'><span class='sr-only'>Youtube</span></a></li>
    <li class='tiktok'><a href='https://www.tiktok.com/@tgw_thegolfersworld' target='_blank'><span class='sr-only'>Tiktok</span></a></li>
</ul>
            </div>
        </div>

</div>
</footer>

        
        <a href="#site-modal" id="site-modal-trigger" class="no-display">Modal Trigger</a>
        <div id="site-modal" style="display: none;">
        </div>

        
        <a href="#site-promo-modal" id="site-promo-modal-trigger" class="no-display">Modal Trigger</a>
        <div id="site-promo-modal" style="display: none;">
            <div class="modal-content"></div>
        </div>

        <div ng-include="'/templates/shared/category-fly-out.html'"></div>

        
        <a href="#cart-limit-modal" id="cart-limit-modal-trigger" class="no-display">Modal Trigger</a>
        <div id="cart-limit-modal" style="display: none;">
            <div class="cart-limit-upper">
                <h5>Sorry</h5>
                <h4>Your shopping cart is full.</h4>
            </div>
            <div>
                <p>Please remove items from your cart or proceed to checkout.</p>
            </div>
            <div class="buttons-set">
                <a href="/cart/viewcart" class="button" title="View Your Cart">View Your Cart</a>
                <a href="/checkout" class="button" title="Checkout">Checkout</a>
            </div>
        </div>

        <a href="#wish-limit-modal" id="wish-limit-modal-trigger" class="no-display">Modal Trigger</a>
        <div id="wish-limit-modal" style="display: none;">
            <div class="wish-limit-upper" style="text-align:center; margin-top: 25px;">
                <h4>Your wish list is full!</h4>
            </div>
            <div style="text-align:center; margin-top: 25px;">
                <p>You have reached the maximum limit of items. Please remove items from your wish list to continue.</p>
            </div>
            <div class="buttons-set">
                <a href="/wishlist" class="button" title="View Wishlist">View Wishlist</a>
                <a href="#" class="button close" title="Close">Close</a>
            </div>
        </div>

        
        <div id="quickview-mmenu">
            <div class="moby-container quickview" role="dialog" aria-modal="true" aria-label="Quick View"></div>
        </div>

        
        

        <script type="text/javascript">

            function setCartQuantityText() {
                var displayValue = "0";
                var cookieData = deparamCookie(decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent("crtclb").replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null);
                if (cookieData != null) {
                    var cookieValue = cookieData["DI"];
                    if (cookieValue != null)
                        displayValue = cookieValue;
                    else {
                        cookieValue = cookieData["I"];
                        if (cookieValue != null)
                            displayValue = cookieValue;
                    }
                }

                $('#cartQtyText').text(displayValue);
                if (displayValue != "0") {
                    $('#cartQtyText').show();
                    $('#cartQtyLbl').show();
                } else {
                    $('#cartQtyText').hide();
                    $('#cartQtyLbl').hide();
                }

                setWishlistQuantityText();
            }

            function closeModalWindow(obj) {
                if (($moby = $(obj).closest('.moby-container')).length) {
                    $moby.find('.moby-close').trigger('click').off('click');
                }
                if (($moby = $(obj).closest('.moby-container')).length) {
                    $moby.find('.moby-close-btn').trigger('click').off('click');
                }
            }
            function intlShoppingModal(trigger) {
                return AjaxJsonPostWrapper.ajaxRouteNonAsync('main', 'intlshoppingmodal', {}, function (result) {
                    $('#intl-shopping').replaceWith(result);
                    Gorilla.util.initForms();
                });
            }

            function emailSignup() {
                var $email = $("#join-email-form #email");
                if (!$email.valid())
                    return;

                var $btn = $("#join-email-form button");
                $btn.attr('disabled', 'disabled');
                $email.attr('disabled', 'disabled');

                $(".membership-spiff .overlay-spinner").addClass('ajax-loading');

                var currAddress = $email.val();
                AjaxJsonPostWrapper.ajaxRoute('customerservice', 'EmailSignupHomePage', { emailAddress: currAddress, source: "webfooter" }, function (result) {
                    // want this to be smooth!
                    $("#join-email-form").css("visibility", "hidden"); // visibility: hidden leaves the vertical spacing intact
                    $("#thankyouemail-flex-container").fadeIn(1500);

                    $email.val("");
                    $btn.removeAttr('disabled');
                    $email.removeAttr('disabled');
                    $(".membership-spiff .overlay-spinner").removeClass('ajax-loading');
                    $("#thankyouemail-flex-container h4").attr("role", "alert");
                });

            }

            function checkEmptySearch() {
                var s = $('#k').val();
                if (!/\S/.test(s))
                    return false;
            }

        </script>

 <!-- Begin Dynamic Data script -->
<script type="text/javascript" id="_dynamicDataScript">
    domReady(function () {
        var page = "";
        var showRV = $("#dd-recently-viewed").length;
        var showClearance = $("#dd-clearance").length;
        var showNewArrivals = $("#dd-new-arrivals").length;
        var showTopGifts = $("#dd-top-gifts").length;
        var showTopPicks = $("#dd-top-picks").length;
        var showYMAL = $("#dd-you-may-also-like").length;
        var showFPT = $("#dd-frequently-purchased-together").length;
        var showDontForget = $("#dd-dont-forget").length;
        var showTrendingNow = $("#dd-trending-now").length;
        var itemId = "";
        var itemList = "";
        var userName;

        AjaxJsonPostWrapper.ajaxRoute('dynamicdata', 'getdata', { page: page }, function (result) {
            if (result.miniAccount) {
                $('#mini-account').html(result.miniAccount);
			}

            //var $clubDd = $("club-dynamic-data");
            //if (result.clubDd && $clubDd.length) {
            //    $clubDd.each(function () {
            //        var $dd = $(this);
            //        var $cdd = result.clubDd;
            //        var clubPromoCode = $dd.attr('clubpromocode') != undefined ? $dd.attr('clubpromocode') : "WX2";
            //        var clubSku = $dd.attr('clubsku') != undefined ? $dd.attr('clubsku') : "ogloyaltytrial";
            //        var clubId = $dd.attr('clubid') != undefined ? $dd.attr('clubid') : "246";
            //        var buttonTxt = $dd.attr('btntxt') != undefined ? $dd.attr('btntxt') : "Start 3-Month Club Intro";
            //        var position = $dd.attr('position') != undefined ? $dd.attr('position') : "unknown";

            //        if (position === 'footer' || position === 'clubContainer') {
            //            var clubDdElement = $.parseHTML($cdd);
            //            $(clubDdElement).children('.club-link-action-secondary.normal-text.normal-text-color').remove();
            //            $cdd = $(clubDdElement[1]).prop('outerHTML');
            //        }
            //        var html = $cdd.replace("addTrialClub('161'", "addTrialClub('ogloyaltyTrial'").replace("Start 3-Month Club Intro", buttonTxt);

            //        if (buttonTxt.includes("<clubprice/>")) {
            //            AjaxJsonPostWrapper.ajaxRoute('club', 'getcluboffer', { promoCode: clubPromoCode, clubSku: clubSku }, function (result) {
            //                html = html.replace("<clubprice/>", result.clubOffer.ActualClubCost);
            //                $dd.replaceWith(html);
            //            });
            //        }
            //        else {
            //            $dd.replaceWith(html);
            //        }
            //    });
            //}

            //ab-pdpimg
            if (result.pdpImgTest == "Experiment" && window.location.href.indexOf('?g=') == -1) {
                $('.product-image.image-zoom.MagicZoom').attr('data-options', 'lazyZoom: true; zoomPosition: inner; zoomCaption: off; expand: true; hint: once;');
                MagicZoom.refresh('main-image');
            }

        }, undefined, function () {
            var page = "";
            //mobile account menu
            if (($miniAccount = $("#account-mmenu")).length) {
                $miniAccount.mmenu({
                    extensions: ["pagedim-black", "position-right", "position-front", "theme-white"],
                    backButton: { close: false },
                    navbar: { title: "" }, //needed to hide the default title menu
                    navbars: [{
                        position: "top", content: "<h2 class='mm-title'>My Account</h2><a class='mm-btn' href='#' onclick='event.preventDefault();' role='button'><img src='/images/close_icon.svg' alt='close' /></a>"
                    }],
                    onClick: { close: false, setSelected: false },
                    slidingSubmenus: false
                }, {
                    //configuration
                    offCanvas: {
                        pageSelector: "#sg-page-wrapper"
                    }
                }).on("init", function () {
                    $("#account-mmenu").find('ul.form-list').removeClass('mm-listview');

                    $("#account-mmenu").attr("role", "dialog")
                        .attr("aria-modal", "true")
                        .attr("aria-label", "Account");

                   $("#account-mmenu").find("h2.mm-title").html("My Account");

                }).trigger("init");

                $("#order-status-signin").on("click", function (e) {
                    e.preventDefault();
                    $('#mini-account button').attr("aria-expanded", true);
                    lastFocus = document.activeElement;
                    $("#account-mmenu").data("mmenu").open();
                    trapFocus($("#account-mmenu"));
                    $(document).on("keydown", "#account-mmenu", function (e) {
                        if (e.keyCode === 27) {
                            $("#account-mmenu").data("mmenu").close();
                            $('#mini-account button').attr("aria-expanded", false);
                            lastFocus.focus();
                        }
                    });
                    $("#account-mmenu").on("click", ".mm-navbars_top", function (e) {
                        $("#account-mmenu").data("mmenu").close();
                        $('#mini-account button').attr("aria-expanded", false);
                        lastFocus.focus();
                    });
                    if ($("#account-mmenu").find("#EmailAddress").length) {
                        $("#account-mmenu").find("#EmailAddress").focus();
                    }
                    else {
                        $("#account-mmenu").find(".mm-btn").focus();
                    }
                });

            }

                        AjaxJsonPostWrapper.ajaxRoute('dynamicdata', 'getmonetaterecsdata',
                {
                    page: page, showRV: showRV, showClearance: showClearance, showNewArrivals: showNewArrivals, showTopGifts: showTopGifts, showTopPicks: showTopPicks,
                    showYMAL: showYMAL, showFPT: showFPT, showDontForget: showDontForget, showTrendingNow: showTrendingNow, itemId: itemId, itemList: itemList
                },
                function (result) {

                    if (result.recentlyViewed)
                        $('#dd-recently-viewed').html(result.recentlyViewed);
                    else {
                        showRV = false;
                        $('#dd-recently-viewed').closest(".certonaCarousel-container").remove();
                    }

                    if (result.clearance)
                        $('#dd-clearance').html(result.clearance);
                    else {
                        showClearance = false;
                        $('#dd-clearance').closest(".certonaCarousel-container").remove();

                    }

                    if (result.newArrivals)
                        $('#dd-new-arrivals').html(result.newArrivals);
                    else {
                        showNewArrivals = false;
                        $('#dd-new-arrivals').closest(".certonaCarousel-container").remove();
                    }

                    if (result.topGifts)
                        $('#dd-top-gifts').html(result.topGifts);
                    else {
                        showTopGifts = false;
                        $('#dd-top-gifts').closest(".certonaCarousel-container").remove();
                    }

                    if (result.topPicks)
                        $('#dd-top-picks').html(result.topPicks);
                    else {
                        showTopPicks = false;
                        $('#dd-top-picks').closest(".certonaCarousel-container").remove();
                    }

                    if (result.youMayAlsoLike)
                        $('#dd-you-may-also-like').html(result.youMayAlsoLike);
                    else {
                        showYMAL = false;
                        $('#dd-you-may-also-like').closest(".certonaCarousel-container").remove();
                    }

                    if (result.frequentlyPurchasedTogether)
                        $("#dd-frequently-purchased-together").html(result.frequentlyPurchasedTogether);
                    else {
                        showFPT = false;
                        $("#dd-frequently-purchased-together").closest(".certonaCarousel-container").remove();
                    }

                    if (result.dontForget)
                        $('#dd-dont-forget').html(result.dontForget);
                    else {
                        showDontForget = false;
                        $('#dd-dont-forget').closest(".certonaCarousel-container").remove();
                    }

                    if (result.trendingNow)
                        $('#dd-trending-now').html(result.trendingNow);
                    else {
                        showTrendingNow = false;
                        $('#dd-trending-now').closest(".certonaCarousel-container").remove();
                    }

                }, undefined, function () {
                    var page = "";

                    //dont care what page we're on, if the slider exists on the page and we have data then display it and initialize the sliders
                    if (showRV) initializeSlider("#dd-recently-viewed");
                    if (showClearance) initializeSlider("#dd-clearance");
                    if (showNewArrivals) initializeSlider("#dd-new-arrivals");
                    if (showTopGifts) initializeSlider("#dd-top-gifts");
                    if (showTopPicks) initializeSlider("#dd-top-picks");
                    if (showYMAL) initializeSlider("#dd-you-may-also-like");
                    if (showFPT) initializeSlider("#dd-frequently-purchased-together");
                    if (showDontForget) initializeSlider("#dd-dont-forget");
                    if (showTrendingNow) initializeSlider("#dd-trending-now");

                    if (window.initResponsive) initResponsive();
                });

            //mobile cart menu
            if (($miniCart = $("#cart-mmenu")).length) {
                $miniCart.mmenu({
                    extensions: ["pagedim-black", "position-right", "position-front", "theme-white"],
                    backButton: { close: false },
                    navbar: { title: "" }, //needed to hide the default title menu
                    navbars: [
                        {
                            position: "top", content: "<h2 id='mini-count' class='mm-title'>Loading Cart</h2><a class='mm-btn' href='#' " +
                                "onclick='event.preventDefault();'> <img src='/images/close_x.svg' alt='Close' /></a> <div id='mini-cart-fs-threshold-ds'></div>"                             
                        },
                        {
                            position: "bottom", content: "<div id='mini-cart-total' class= 'mini-cart-subtotal'></div> " +
                                "<div id='mini-cart-actions'><a href='/cart/viewcart' id='mini-cart-viewcart'>View cart</a><a href='/checkout' id='mini-cart-checkout'>Checkout</a></div>"
                        }
                    ],
                    onClick: { close: false, setSelected: false },
                    slidingSubmenus: false
                }, {
                    //configuration
                    offCanvas: {
                        pageSelector: "#sg-page-wrapper"
                    }
                }).on("init", function () {

                    $("#cart-mmenu").attr("role", "dialog")
                        .attr("aria-modal", "true")
                        .attr("aria-label", "Shopping Cart");

                }).trigger("init");
                /* turned off for cart redesign, uncomment to turn cart flyout back on
                $("#mini-cart").on("click", function (e) {
                    e.preventDefault();
                    lastFocus = document.activeElement;
                    $("#cart-mmenu").data("mmenu").open();
                    $("#cart-mmenu").find(".mm-btn").focus();
                    $(document).on("keydown", "#cart-mmenu", function (e) {
                        if (e.keyCode === 27) {
                            $("#cart-mmenu").data("mmenu").close();
                            lastFocus.focus();
                        }
                    });
                    $("#cart-mmenu").on("click", ".mm-navbars_top .mm-btn", function (e) {
                        $("#cart-mmenu").data("mmenu").close();
                        lastFocus.focus();
                    });
                    var $cartSummary = $('#cartSummary');
                    if ($cartSummary.data('loaded') === false) {
                        updateCartSummary();
                        $cartSummary.data('loaded', true);
                    } else {
                        dropMiniCart();
                    }
                });
                */
            }

            if (($miniWish = $("#wish-mmenu")).length) {
                $miniWish.mmenu({
                    extensions: ["pagedim-black", "position-right", "position-front", "theme-white"],
                    backButton: { close: false },
                    navbar: { title: "" }, //needed to hide the default title menu
                    navbars: [
                        {
                            position: "top", content: "<h2 id='mini-count-wish' class='mm-title'>Loading Wish List</h2><a class='mm-btn' href='#' onclick='event.preventDefault();'><img src='/images/close_x.svg' alt='Close' /></a>" +
                                "<div id='mini-wish-actions'><a href='/wishlist'>Wish List</a></div>"
                        }
                    ],
                    onClick: { close: false, setSelected: false },
                    slidingSubmenus: false
                }, {
                    //configuration
                    offCanvas: {
                        pageSelector: "#sg-page-wrapper"
                    }
                }).on("init", function () {

                    $("#wish-mmenu").attr("role", "dialog")
                        .attr("aria-modal", "true")
                        .attr("aria-label", "Wishlist");

                }).trigger("init");
               /* turned off for cart redesign, uncomment to turn wish flyout back on
               $("#mini-wish").on("click", function (e) {
                    e.preventDefault();
                    lastFocus = document.activeElement;
                    $("#wish-mmenu").data("mmenu").open();
                    $("#wish-mmenu").find(".mm-btn").focus();
                    $(document).on("keydown", "#wish-mmenu", function (e) {
                        if (e.keyCode === 27) {
                            $("#wish-mmenu").data("mmenu").close();
                            lastFocus.focus();
                        }
                    });
                   $("#wish-mmenu").on("click", ".mm-navbars_top", function (e) {
                        $("#wish-mmenu").data("mmenu").close();
                        lastFocus.focus();
                    });
                    var $wishSummary = $('#wishSummary');
                   if ($wishSummary.data('loaded') === false) {
                        updateWishSummary(false);
                        $wishSummary.data('loaded', true);
                    } else {
                        dropMiniWish();
                    }
                });
                */
            }

            if (page != "bargain" && page != "adscredit") {
                setCartQuantityText();
            }

            if (($footer = $('.club-footer')).length) {
                $footer.find("img.lazy").lazy();
            }


            // unbind QV buttons and let hookUpQuickViews (from initResponsive) find these again
            $(".related-products .btn-quickview > button").removeClass("bound961").removeClass("bound"); // the Related Product quickview modals were wired up before any slider breakpoint code ran (<= 1060), which for some reason then unhooked the click/focus(ADA) events for the moby's

            if (window.initResponsive) initResponsive();

            //AjaxJsonPostWrapper.ajaxRoute('dynamicdata', 'getmonetatedata', { page }, function (result) {

            //    if (result.monetateScript && result.monetateScript.length > 0) {
            //        let monetateScript = $('#monetateAjax');

            //        if (document.getElementById("monetateTrackData") != null)
            //            document.getElementById("monetateTrackData").outerHTML = "";

            //        let monetateChildNodes = document.getElementById('monetateAjax').innerHTML;
            //        result.monetateScript = monetateChildNodes + result.monetateScript;

            //        monetateScript.empty();
            //        if (monetateScript.length) {
            //            monetateScript.append(result.monetateScript);
            //        }
            //    }
            //});
        });
    })

    function openAccountFlyout() {
        $('#mini-account button').attr("aria-expanded", true);
        lastFocus = document.activeElement;
        $("#account-mmenu").data("mmenu").open();
        trapFocus($("#account-mmenu"));
        $(document).on("keydown", "#account-mmenu", function (e) {
            if (e.keyCode === 27) {
                $("#account-mmenu").data("mmenu").close();
                $('#mini-account button').attr("aria-expanded", false);
                lastFocus.focus();
            }
        });
        $("#account-mmenu").on("click", ".mm-navbars_top", function (e) {
            $("#account-mmenu").data("mmenu").close();
            $('#mini-account button').attr("aria-expanded", false);
            lastFocus.focus();
        });
        if ($("#account-mmenu").find("#EmailAddress").length) {
            $("#account-mmenu").find("#EmailAddress").focus();
        }
        else {
            $("#account-mmenu").find(".mm-btn").focus();
        }
    }
</script>
<!-- End Dynamic Data script -->

        <div id="scroll-top"></div> 
        <div id="tealiumAjax" style="display:none;"></div>
        <div id="certonaAjax" style="display:none;"></div>
        

        <!--Personalization Modal which can be populated with different personalization types -->
        <!--putting this here since it's used by quick view, cart view and productdetail page.....rather than having one in all 3-->
        <a id="personalize-trigger" href="#personalize-modal" class="no-display">Modal Trigger</a>
        <div id="personalize-modal" style="display:none;"></div>
        <!--Free Gift Modal which can be populated with a free gift offer -->
        <a id="freegift-trigger" href="#freegift-modal" class="no-display">Modal Trigger</a>
        <div id="freegift-modal" style="display:none"></div>
        <!--catalog quick order modal window trigger-->
        <div class="btn-quickview" style="display:none;">
            <button href="/product/getproductcartdata?ID=0&PCode=" name="quickorderbtn" id="quickorderbtn" title="Quick View" class="button green"><span>View</span></button>
        </div>
        <div id="guide-article"></div>
        <a id="wishlistmessage-trigger" href="#wishlistmessage-modal" class="no-display">Modal Trigger</a>
        <div id="wishlistmessage-modal" style="display:none;"></div>
        <!--bloomreach quick view-->
        <a id="brQuickViewTrigger" href="#brQuickView" class="no-display">Modal Trigger</a>
        <div id="brQuickView" style="display:none" role="dialog" aria-modal="true" aria-label="Quick View"></div>
        <!-- Ads Instant Credit modal -->
        <a id="ads-incr-trigger" href="#incr-modal" class="no-display">Modal Trigger</a>
        <div id="ads-incr-modal" style="display:none;"></div>

        <!-- add to cart material lightbox.... this is a dummy element to retrieve the controller from outside angular -->
        <div id="ItemAddedDialogController" ng-controller="ItemAddedDialogController"></div>
        <div id="CouponDialogController" ng-controller="CouponDialogController"></div>
        <div id="MyAccountClubBucksDialogController" ng-controller="MyAccountClubBucksDialogController"></div>
        <div id="pick-your-club-path" ng-controller="PickYourPathController" class="no-display">Modal Trigger</div>

        <!--certona script-->
        <input type="hidden" id="hdnCertonaPageId" />
              

<script type="text/javascript" src="/scripts/resxclsx.js"></script>

<script language="JavaScript" type="text/javascript">
    //only run below script if we have products on this page (all products should be tagged with a class of 'CertonaLinkId'
    domReady(function() {
        var itemId = '';
        if ($('.CertonaLinkId').length > 0 || itemId != '') {
            var links = '';
            $('.CertonaLinkId').each(function () { links += $(this).text() + ';' }); //get all items that should be sent to certona as 'displayed'
            if (links.length > 0) //remove last ;
                links = links.substring(0, links.length - 1);
            var resx = new Object();
            resx.appid = "TSG02";
            resx.top1 = 100000;
            resx.top2 = 100000;
            resx.customerid = "";
            resx.host = "";
            resx.pageid = "";
            resx.event = "";
            resx.itemid = "";
            resx.links = links;
        }
    })
</script>
        <!--end certona-->
        <!--tealium-->
<script type="text/javascript">
var utag_data={
BrowseCountry:"US", CId:"0", IsCanada:"False", IsInternational:"False", Page:"BlogProxy-Index", ServerName:"localhost", ServerNumber:"12", SiteCookieDomain:".tgw.com", SiteCurrency:"USD", SiteDivision:"30", SiteDomain:"www.tgw.com", SiteIdentity:"TGW", SiteIdVersion:"DEFAULT"
};
</script>
<script type="text/javascript">window.addEventListener('load', function() {(function(a,b,c,d){a='//tags.tiqcdn.com/utag/thegolfwarehouse/tgw-ct/prod/utag.js';b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true;a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a);})();});</script>        <!--end Tealium-->

<script type="text/javascript">

    domReady(function () {
        AjaxJsonPostWrapper.ajaxRoute("Main", "getfooterlinksdefault", undefined, function (result) {

            if (result.customerService && $('#CustomerServiceFooterLinks').length) {
                $('#CustomerServiceFooterLinks').append(result.customerService);
            }
            if (result.shoppingResources && $('#ShoppingResourcesFooterLinks').length) {
                $('#ShoppingResourcesFooterLinks').append(result.shoppingResources);
            }
            if (result.ourCompany && $('#OurCompanyFooterLinks').length) {
                $('#OurCompanyFooterLinks').append(result.ourCompany);
            }
        }, undefined, undefined, "GET");
    })
</script>

 <!-- Begin DigiCert site seal JavaScript -->
<script type="text/javascript" id="_digiCertScript">
    var __dcid = __dcid || []; __dcid.push(["DigiCertClickID_aG8SzEsR", "3", "s", "black", "aG8SzEsR"]); domReady(function () { var cid = document.createElement("script"); cid.async = true; cid.src = "//seal.digicert.com/seals/cascade/seal.min.js"; var s = document.getElementById("_digiCertScript"); s.parentNode.insertBefore(cid, s.nextSibling); });

    domReady(function() {
        setTimeout(function() { correctDigiCert(); }, 100);
    });

    function correctDigiCert() {
        var sealEle = document.getElementById("DigiCertClickID_aG8SzEsRSeal");
        if (sealEle != null) {
            var spanEle = $(sealEle).next();
            if (spanEle != null)
                $(spanEle).hide();

            var imgEle = $(sealEle).find("img");
            if (imgEle != null) {
                var newLink = $("<a />", {
                    id: "digiCertLink",
                    name: "digiCertLink",
                    href: "#",
                    onclick: "return false;",
                    tabindex: "-1"
                });
                $(sealEle).prepend(newLink);
                $(newLink).prepend(imgEle);
            }
        } else {
            setTimeout(function () { correctDigiCert(); }, 100);
        }
    }
</script>
<!-- End DigiCert site seal JavaScript -->


        
        
        
        
        <div id="EnticementDiv"></div>

            <div id="chatDialogController" ng-controller="ChatDialogController  as chatCtrl" class="chat-widget">
                <div class="cx-side-button-group" data-gcb-service-node="true">
                    <button id="agent-chat-btn" type="button" class="cx-side-button scale-in-ver-bottom" ng-click="toggleMessenger()">
                        <span>Chat</span>
                    </button>
                </div>
                <div ng-hide="hide" ng-include="'/templates/customerservice/chat-form.html'"></div>
            </div>
    </div>
    <div id="monetateTrackDataAjax" style="display:none;"></div>
</body>
</html>
