PageSourceSearch

https://reliablefishing.com/cdn/shop/t/12/assets/theme.min.js?v=136757237786022627021641925615

js reliablefishing.com collected 2026-10-04 01:38:14 UTC 116,874 bytes, 2,085 lines download raw bytes

1!(function (e) {
2    "use strict";
3    (window.StyleHatch = window.StyleHatch || {}),
4        (StyleHatch.Sections = function () {
5            (this.constructors = {}),
6                (this.instances = []),
7                e(document)
8                    .on("shopify:section:load", this._onSectionLoad.bind(this))
9                    .on("shopify:section:unload", this._onSectionUnload.bind(this))
10                    .on("shopify:section:select", this._onSelect.bind(this))
11                    .on("shopify:section:deselect", this._onDeselect.bind(this))
12                    .on("shopify:section:reorder", this._onReorder.bind(this))
13                    .on("shopify:block:select", this._onBlockSelect.bind(this))
14                    .on("shopify:block:deselect", this._onBlockDeselect.bind(this));
15        }),
16        (StyleHatch.Sections.prototype = e.extend({}, StyleHatch.Sections.prototype, {
17            _createInstance: function (t, a) {
18                var o = e(t),
19                    n = o.attr("data-section-id"),
20                    r = o.attr("data-section-type");
21                if (((a = a || this.constructors[r]), "undefined" != typeof a)) {
22                    var i = e.extend(new a(t), { id: n, type: r, container: t });
23                    this.instances.push(i);
24                }
25            },
26            _onSectionLoad: function (t) {
27                var a = e("[data-section-id]", t.target)[0];
28                a && this._createInstance(a);
29            },
30            _onSectionUnload: function (e) {
31                var t = slate.utils.findInstance(this.instances, "id", e.detail.sectionId);
32                t && ("function" == typeof t.onUnload && t.onUnload(e), (this.instances = slate.utils.removeInstance(this.instances, "id", e.detail.sectionId)));
33            },
34            _onSelect: function (t) {
35                var a = slate.utils.findInstance(this.instances, "id", t.detail.sectionId);
36                a && "function" == typeof a.onSelect && a.onSelect(t),
37                    e("body").hasClass("panel-open") &&
38                        (StyleHatch.closePanelMenu(),
39                        e("html, body").addClass("scroll-lock"),
40                        setTimeout(function () {
41                            e("html, body").removeClass("scroll-lock"), e("html, body").animate({ scrollTop: a.$container.offset().top }, 600);
42                        }, 400));
43            },
44            _onDeselect: function (t) {
45                var a = slate.utils.findInstance(this.instances, "id", t.detail.sectionId);
46                a && "function" == typeof a.onDeselect && a.onDeselect(t), e("body").hasClass("panel-open") && StyleHatch.closePanelMenu();
47            },
48            _onReorder: function (e) {
49                var t = slate.utils.findInstance(this.instances, "id", e.detail.sectionId);
50                t && "function" == typeof t.onReorder && t.onReorder(e);
51            },
52            _onBlockSelect: function (e) {
53                var t = slate.utils.findInstance(this.instances, "id", e.detail.sectionId);
54                t && "function" == typeof t.onBlockSelect && t.onBlockSelect(e);
55            },
56            _onBlockDeselect: function (e) {
57                var t = slate.utils.findInstance(this.instances, "id", e.detail.sectionId);
58                t && "function" == typeof t.onBlockDeselect && t.onBlockDeselect(e);
59            },
60            register: function (t, a) {
61                (this.constructors[t] = a),
62                    e("[data-section-type=" + t + "]").each(
63                        function (e, t) {
64                            this._createInstance(t, a);
65                        }.bind(this)
66                    );
67            },
68        })),
69        (StyleHatch.cacheSelectors = function () {
70            StyleHatch.cache = {
71                $body: e("body"),
72                $html: e("html"),
73                $util: e("header.util"),
74                $header: e("header.site-header"),
75                $siteNav: e("header.site-header ul.site-nav"),
76                $featuredCollection: e(".featured-collection"),
77                $instagramCollection: e(".instagram-collection"),
78                $addToCartForm: e("#AddToCartForm"),
79                $addToCartButton: e("#AddToCart"),
80                $cartButton: e("#CartButton"),
81                $recoverPasswordLink: e("#RecoverPassword"),
82                $hideRecoverPasswordLink: e("#HideRecoverPasswordLink"),
83                $recoverPasswordForm: e("#RecoverPasswordForm"),
84                $customerLoginForm: e("#CustomerLoginForm"),
85                $passwordResetSuccess: e("#ResetSuccess"),
86            };
87        }),
88        (StyleHatch.init = function () {
89            var e = document.documentElement;
90            e.setAttribute("data-useragent", navigator.userAgent), StyleHatch.cacheSelectors(), (StyleHatch.largeMobile = 700);
91            var t = new StyleHatch.Sections();
92            t.register("promos-section", StyleHatch.PromosSection),
93                t.register("header-section", StyleHatch.HeaderSection),
94                t.register("footer-section", StyleHatch.FooterSection),
95                t.register("slideshow-section", StyleHatch.SlideshowSection),
96                t.register("hero-video-section", StyleHatch.HeroVideoSection),
97                t.register("featured-collection-section", StyleHatch.FeaturedCollectionSection),
98                t.register("simple-collection-section", StyleHatch.SimpleCollectionSection),
99                t.register("featured-text-section", StyleHatch.PageSection),
100                t.register("custom-content-section", StyleHatch.PageSection),
101                t.register("instagram-section", StyleHatch.InstagramSection),
102                t.register("featured-blog-section", StyleHatch.GenericSection),
103                t.register("map", StyleHatch.Maps),
104                t.register("product-template", StyleHatch.Product),
105                t.register("collection-template", StyleHatch.Collection),
106                t.register("collection-list-template", StyleHatch.Collection),
107                t.register("list-collections-template", StyleHatch.ListCollections),
108                t.register("blog-template", StyleHatch.BlogArticle),
109                t.register("article-template", StyleHatch.BlogArticle),
110                t.register("password-template", StyleHatch.Password),
111                t.register("cart-template", StyleHatch.Cart),
112                StyleHatch.currencyConverter && StyleHatch.CurrencyConverter.init(),
113                StyleHatch.ajaxCartEnable && StyleHatch.AjaxCart.init(),
114                StyleHatch.loginForms(),
115                StyleHatch.videoLayout(),
116                StyleHatch.initTemplates();
117        }),
118        (StyleHatch.PromosSection = (function () {
119            function t(t) {
120                var a = (this.$container = e(t));
121                a.attr("data-section-id");
122                StyleHatch.Promos.init();
123            }
124            return t;
125        })()),
126        (StyleHatch.PromosSection.prototype = e.extend({}, StyleHatch.PromosSection.prototype, {
127            onUnload: function () {
128                StyleHatch.Promos.unload();
129            },
130            onBlockSelect: function (e) {
131                StyleHatch.Promos.blockSelect(e);
132            },
133            onBlockDeselect: function (e) {
134                StyleHatch.Promos.blockDeselect(e);
135            },
136        })),
137        (StyleHatch.Promos = (function () {
138            function t() {
139                a(), (p.scrollLock = f.$promos.find(">*:first").data("scroll-lock")), o(), s(), StyleHatch.Header.rebuildFixTo();
140            }
141            function a() {
142                f = { $body: e(u.body), $promos: e(u.promos), $promosContainer: e(u.promos).find(">*:first"), $promoBar: e(u.promoBar), $bottomContainer: e(u.bottomContainer), $popup: e(u.popup) };
143            }
144            function o() {
145                f.$promoBar.length &&
146                    (f.$promoBar.each(function () {
147                        var t = e(this),
148                            a = t.data("hide-delay"),
149                            o = t.data("bar-placement"),
150                            n = t.find("div.errors");
151                        n.length && n.prependTo(t),
152                            "bottom" == o &&
153                                (f.$bottomContainer.length || (f.$promosContainer.append('<div class="promo-bar-container bottom"></div>'), (f.$bottomContainer = e(u.bottomContainer))),
154                                t.appendTo(f.$bottomContainer),
155                                f.$bottomContainer.resize(function () {
156                                    var t = e(this).height() + "px";
157                                    f.$body.css({ "margin-bottom": t });
158                                })),
159                            t.hasClass("signup-bar") && t.showPopup(),
160                            "no-delay" !== a &&
161                                p.hideTimers.push(
162                                    setTimeout(function () {
163                                        t.data("pause-hide") || t.promoSlideUp();
164                                    }, a)
165                                );
166                    }),
167                    n(),
168                    i());
169            }
170            function n() {
171                f.$promos.data("fixtoInstance") && f.$promos.fixTo("destroy");
172            }
173            function r() {
174                f.$promos.data("fixtoInstance") && f.$promos.fixTo("refresh");
175            }
176            function i() {
177                p.scrollLock && f.$promos.fixTo(u.page, { zIndex: p.fixToZIndex });
178            }
179            function s() {
180                f.$popup.length &&
181                    f.$popup.each(function () {
182                        var t = e(this),
183                            a = !0,
184                            o = t.data("show-delay"),
185                            n = (t.data("homepage-limit"), t.data("visitor-limit")),
186                            r = t.data("visitor"),
187                            i = t.data("show-for");
188                        1 == n && 0 == r && (a = !1);
189                        var s = t.find(".errors");
190                        s.length && (o = 0);
191                        setTimeout(function () {
192                            var a = e(window).width();
193                            switch (i) {
194                                case "mobile":
195                                    a <= StyleHatch.largeMobile && t.showPopup();
196                                    break;
197                                case "desktop":
198                                    a > StyleHatch.largeMobile && t.showPopup();
199                                    break;
200                                case "both":
201                                    t.showPopup();
202                            }
203                        }, o);
204                    });
205            }
206            function l(t) {
207                var a = e("#block-" + t.detail.blockId),
208                    o = a.data("type");
209                switch ((e.magnificPopup.close(), o)) {
210                    case "announcement-bar":
211                        a.promoSlideDown(), a.attr("data-pause-hide", !0);
212                        break;
213                    case "popup":
214                        a.showMockPopup();
215                        break;
216                    case "signup-bar":
217                        a.showPopup(!0);
218                }
219                StyleHatch.Header.rebuildFixTo(), StyleHatch.refreshFixTo();
220            }
221            function c(t) {
222                var a = e("#block-" + t.detail.blockId),
223                    o = a.data("type"),
224                    n = a.data("show-for"),
225                    r = e(window).width();
226                switch (o) {
227                    case "announcement-bar":
228                        var i = a;
229                        i.attr("data-pause-hide", !1);
230                        var s = i.data("hide-delay");
231                        i.data("bar-placement"), i.data("homepage-limit");
232                        "desktop" == n && r <= StyleHatch.largeMobile ? a.promoSlideUp() : "mobile" == n && r > StyleHatch.largeMobile && a.promoSlideUp(),
233                            "no-delay" !== s &&
234                                p.hideTimers.push(
235                                    setTimeout(function () {
236                                        i.data("pause-hide") || i.promoSlideUp();
237                                    }, s)
238                                );
239                        break;
240                    case "popup":
241                        a.hideMockPopup();
242                        break;
243                    case "signup-bar":
244                        "desktop" == n && r <= StyleHatch.largeMobile && (a.hidePopup(), StyleHatch.refreshFixTo()), "mobile" == n && r > StyleHatch.largeMobile && (a.hidePopup(), StyleHatch.refreshFixTo());
245                }
246                StyleHatch.Header.rebuildFixTo();
247            }
248            function d() {
249                if ("undefined" != typeof p.hideTimers && p.hideTimers instanceof Array) {
250                    for (var t = 0; t < p.hideTimers.length; t++) clearTimeout(p.hideTimers[t]);
251                    p.hideTimers.length = 0;
252                } else p.hideTimers = [];
253                n(), StyleHatch.refreshFixTo(), f.$bottomContainer.remove(), e.magnificPopup.close();
254            }
255            var u = { body: "body", page: "#page", promos: "#shopify-section-promos", promoBar: "header.promo-bar", bottomContainer: ".promo-bar-container.bottom", popup: ".promo-popup" },
256                p = {};
257            p = { scrollLock: !1, fixToZIndex: 992, hideTimers: [], slideSpeed: 400 };
258            var f = {};
259            return (
260                e.fn.extend({
261                    showPopup: function (t) {
262                        var a = e(this),
263                            o = !0,
264                            n = (a.data("show-delay"), a.data("show-again-delay")),
265                            r = a.data("homepage-limit"),
266                            i = a.data("visitor-limit"),
267                            s = a.data("visitor"),
268                            l = (a.data("show-for"), a.data("type")),
269                            c = a.data("id");
270                        1 == i && 0 == s && (o = !1);
271                        var d = "popup-" + c;
272                        e.cookie(d) && (o = !1), r && !f.$body.hasClass("template-index") && (o = !1), window.self !== window.top && "popup" == l && (o = !1), t && (o = !0);
273                        var u = a.find(".errors"),
274                            p = getQueryString("contact%5Btags%5D");
275                        if ((u.length && p.includes("popup") && ((o = !0), a.find("input#email").addClass("errors")), u.length && p.includes("signup-bar") && (o = !0), Modernizr.touchevents && a.find("form").removeAttr("target"), o)) {
276                            "popup" == l &&
277                                e.magnificPopup.open({
278                                    items: { src: a, type: "inline", showCloseBtn: !1 },
279                                    mainClass: "mfp-slideup",
280                                    removalDelay: 300,
281                                    callbacks: {
282                                        close: function () {
283                                            e.cookie(d, "shown", { expires: n, path: "/" });
284                                        },
285                                    },
286                                }),
287                                "signup-bar" == l && (t ? a.addClass("visible force") : a.addClass("visible"));
288                            var h = a.find(".icon-text");
289                            h.on("click", function (e) {
290                                a.hidePopup(), e.preventDefault();
291                            });
292                            var y = a.find("form");
293                            y.on("submit", function (t) {
294                                return !!t.target.checkValidity() && (a.hidePopup(), void e(this).submit());
295                            });
296                        }
297                    },
298                    hidePopup: function () {
299                        var t = (e("#shopify-section-promos"), e(this)),
300                            a = t.data("type"),
301                            o = t.data("id");
302                        if (("popup" == a && e.magnificPopup.close(), "signup-bar" == a)) {
303                            var n = "popup-" + o;
304                            e.cookie(n, "shown", { expires: 60, path: "/" }),
305                                e(".promo-bar.signup-bar").each(function (t) {
306                                    e(this).slideUp({
307                                        duration: 400,
308                                        progress: function () {
309                                            StyleHatch.refreshFixTo();
310                                        },
311                                        complete: function () {
312                                            StyleHatch.refreshFixTo(), e(this).removeClass("visible force");
313                                        },
314                                    });
315                                });
316                        }
317                    },
318                    promoSlideUp: function () {
319                        e(this).slideUp({ duration: p.slideSpeed, progress: StyleHatch.refreshFixTo, complete: StyleHatch.refreshFixTo });
320                    },
321                    promoSlideDown: function () {
322                        e(this).slideDown({ duration: p.slideSpeed, progress: StyleHatch.refreshFixTo, complete: StyleHatch.refreshFixTo });
323                    },
324                    showMockPopup: function () {
325                        var t = e("#shopify-section-promos");
326                        e(".mock-popup-container").length || t.find(">*:first").append('<div class="mock-popup-container"></div>');
327                        var a = e(".mock-popup-container"),
328                            o = e(this);
329                        o.appendTo(a), a.show(), o.show();
330                    },
331                    hideMockPopup: function () {
332                        var t = e(".mock-popup-container"),
333                            a = e(this);
334                        t.hide(), a.hide();
335                    },
336                }),
337                { init: t, unload: d, blockSelect: l, blockDeselect: c, refreshFixTo: r }
338            );
339        })()),
340        (StyleHatch.HeaderSection = (function () {
341            function t(t) {
342                var a = (this.$container = e(t));
343                a.attr("data-section-id");
344                StyleHatch.Header.init();
345            }
346            return t;
347        })()),
348        (StyleHatch.HeaderSection.prototype = e.extend({}, StyleHatch.HeaderSection.prototype, {
349            onUnload: function () {
350                StyleHatch.Header.unload();
351            },
352        })),
353        (StyleHatch.Header = (function () {
354            function t() {
355                a(), o(), c(), u(), m(), S();
356            }
357            function a() {
358                x = {
359                    $htmlBody: e(T.htmlBody),
360                    $body: e(T.body),
361                    $page: e(T.page),
362                    $section: e(T.section),
363                    $promosSection: e(T.promosSection),
364                    $util: e(T.util),
365                    $header: e(T.header),
366                    $siteNav: e(T.siteNav),
367                    $dropdownParent: e(T.siteNav).find("li.has-dropdown"),
368                    $defaultLink: e(T.siteNav).find("> li:not(.has-dropdown)"),
369                    $subMenuLinks: e(T.siteNav).find("li.has-dropdown a"),
370                    $subDropdownParent: e(T.siteNav).find("li.has-sub-dropdown"),
371                    $search: e(T.util).find(".search-wrapper"),
372                    $searchLink: e(T.util).find("a.search"),
373                    $searchClose: e(T.util).find("form.search-bar button"),
374                    $searchInput: e(T.util).find("form.search-bar input"),
375                    $menuLink: e(T.menuLink),
376                    $menuPanel: e(T.menuPanel),
377                    $menuPanelDropdown: e(T.menuPanel).find("li.has-dropdown"),
378                    $menuPanelSubDropdown: e(T.menuPanel).find("li.has-sub-dropdown"),
379                };
380            }
381            function o() {
382                e(T.menuOverlay).length || (x.$section.append('<div class="mobile-menu-overlay"></div>'), (x.$menuOverlay = e(T.menuOverlay)));
383            }
384            function n() {
385                x.$search.slideDown({
386                    duration: C.slideSpeed,
387                    progress: function () {
388                        StyleHatch.refreshFixTo();
389                    },
390                    complete: function () {
391                        StyleHatch.refreshFixTo();
392                    },
393                }),
394                    x.$searchInput.focus();
395            }
396            function r() {
397                x.$searchInput.blur(),
398                    clearTimeout(C.blurTimer),
399                    x.$search.slideUp({
400                        duration: C.slideSpeed,
401                        progress: function () {
402                            StyleHatch.refreshFixTo();
403                        },
404                        complete: function () {
405                            StyleHatch.refreshFixTo();
406                        },
407                    });
408            }
409            function i() {
410                x.$body.hasClass("panel-open") ? l() : s();
411            }
412            function s() {
413                x.$htmlBody.addClass("panel-open"), window.scrollTo(0, 0), x.$menuPanel.attr("tabindex", "0"), x.$menuPanel.focus();
414            }
415            function l() {
416                x.$htmlBody.addClass("panel-open-transition"),
417                    x.$htmlBody.removeClass("panel-open"),
418                    x.$menuPanel.removeAttr("tabindex"),
419                    setTimeout(function () {
420                        x.$htmlBody.removeClass("panel-open-transition");
421                    }, 400);
422            }
423            function c() {
424                x.$searchLink.on("click.search", function (e) {
425                    n(), e.preventDefault();
426                }),
427                    x.$searchClose.on("click.search", function (e) {
428                        r(), e.preventDefault();
429                    }),
430                    x.$searchInput.on("blur.search", function (e) {
431                        (C.blurTimer = setTimeout(r, C.blurTime)), e.preventDefault();
432                    }),
433                    x.$menuLink.on("click.panel", function (e) {
434                        i(), e.preventDefault();
435                    }),
436                    x.$menuOverlay.on("click.panel", function (e) {
437                        i(), e.preventDefault();
438                    }),
439                    x.$menuPanelDropdown.on("click.panelDropdown", function (t) {
440                        x.$menuPanelDropdown.find("ul.dropdown").slide
440Up(),
441                            x.$menuPanelDropdown.find("> a").attr("aria-expanded", "false"),
442                            x.$menuPanelDropdown.removeClass("expanded"),
443                            x.$menuPanelDropdown.find("ul.dropdown").attr("aria-hidden", "true"),
444                            x.$menuPanelDropdown.find("ul.dropdown a").attr("tabindex", "-1"),
445                            e(this).find("ul.dropdown").is(":visible") ||
446                                (e(this).find("> a").attr("aria-expanded", "true"),
447                                e(this).find("ul.dropdown").slideDown(),
448                                e(this).find("ul.dropdown").attr("aria-hidden", "false"),
449                                e(this).find("ul.dropdown > li > a").attr("tabindex", "0"),
450                                e(this).addClass("expanded"));
451                    }),
452                    x.$menuPanelDropdown.find("> a").on("click.panelDropdown", function (t) {
453                        e(this).closest("li").hasClass("expanded") || t.preventDefault();
454                    }),
455                    x.$menuPanelDropdown.find("ul.dropdown li:not(.has-sub-dropdown) a").on("click.panelDropdown", function (e) {
456                        e.stopPropagation();
457                    }),
458                    x.$menuPanelSubDropdown.on("click.panelDropdown", function (t) {
459                        t.stopPropagation(),
460                            x.$menuPanelSubDropdown.find("ul.sub-dropdown").slideUp(),
461                            x.$menuPanelDropdown.find("> a").attr("aria-expanded", "false"),
462                            x.$menuPanelSubDropdown.removeClass("expanded"),
463                            x.$menuPanelDropdown.find("ul.sub-dropdown").attr("aria-hidden", "true"),
464                            x.$menuPanelDropdown.find("ul.sub-dropdown a").attr("tabindex", "-1"),
465                            e(this).find("ul.sub-dropdown").is(":visible") ||
466                                (e(this).find("> a").attr("aria-expanded", "true"),
467                                e(this).find("ul.sub-dropdown").slideDown(),
468                                e(this).find("ul.sub-dropdown").attr("aria-hidden", "false"),
469                                e(this).find("ul.sub-dropdown > li > a").attr("tabindex", "0"),
470                                e(this).addClass("expanded"));
471                    }),
472                    x.$menuPanelSubDropdown.find("> a").on("click.panelDropdown", function (t) {
473                        e(this).closest("li").hasClass("expanded") || t.preventDefault();
474                    }),
475                    x.$menuPanelSubDropdown.find("ul.sub-dropdown a").on("click.panelDropdown", function (e) {
476                        e.stopPropagation();
477                    }),
478                    x.$promosSection.resize(StyleHatch.refreshFixTo);
479            }
480            function d() {
481                clearTimeout(C.blurTimer),
482                    x.$searchLink.off("click.search"),
483                    x.$searchClose.off("click.search"),
484                    x.$searchInput.off("blur.search"),
485                    x.$menuLink.off("click.panel"),
486                    x.$menuPanelDropdown.off("click.panelDropdown"),
487                    x.$menuPanelDropdown.find("> a").off("click.panelDropdown"),
488                    x.$menuPanelDropdown.find("ul.dropdown li:not(.has-sub-dropdown) a").off("
488click.panelDropdown"),
489                    x.$menuPanelSubDropdown.off("click.panelDropdown"),
490                    x.$menuPanelSubDropdown.find("> a").off("click.panelDropdown"),
491                    x.$menuPanelSubDropdown.find("ul.sub-dropdown a").off("click.panelDropdown"),
492                    x.$promosSection.removeResize(StyleHatch.refreshFixTo);
493            }
494            function u() {
495                x.$subMenuLinks.each(function () {
496                    var t = e(this),
497                        a = t.text(),
498                        o = wordWrapper(a, 24, "<br/>\n");
499                    t.html(o);
500                }),
501                    f(x.$dropdownParent);
502            }
503            function p(t) {
504                f(e("." + C.dropdownActiveClass)), t.addClass(C.dropdownActiveClass), t.find("> a").attr("aria-expanded", "true"), t.find("ul.dropdown").attr("aria-hidden", "false"), t.find("ul.dropdown > li > a").attr("tabindex", "0");
505                var a = t.find("ul.dropdown");
506                a.css({ left: "auto" });
507                var o = a.offset().left + a.outerWidth(),
508                    n = e(window).width() - 20,
509                    r = x.$header.width(),
510                    i = x.$header.find(".logo-nav-contain").offset().left;
511                if ((r + 40 > e(window).width() && ((r = e(window).width()), (i = -20)), (n = r + i + 1), o > n)) {
512                    var s = "-" + (o - n) + "px";
513                    a.css({ left: s });
514                }
515                setTimeout(function () {
516                    x.$body.on("touchstart", function () {
517                        f(t);
518                    });
519                }, 250);
520            }
521            function f(e) {
522                e.removeClass(C.dropdownActiveClass), x.$body.off("touchstart"), e.find("> a").attr("aria-expanded", "false"), e.find("ul.dropdown").attr("aria-hidden", "true"), e.find("ul.dropdown > li > a").attr("tabindex", "-1");
523            }
524            function h(t) {
525                f(e("." + C.subDropdownActiveClass)),
526                    t.addClass(C.subDropdownActiveClass),
527                    t.find("> a").attr("aria-expanded", "true"),
528                    t.find("ul.sub-dropdown").attr("aria-hidden", "false"),
529                    t.find("ul.sub-dropdown > li > a").attr("tabindex", "0");
530                var a = t.find(".sub-dropdown").offset().left + t.find(".sub-dropdown").width(),
531                    o = e(window).width();
532                a > o ? t.addClass("alternate-align") : t.removeClass("alternate-align");
533            }
534            function y(e) {
535                e.removeClass(C.subDropdownActiveClass),
536                    e.removeClass("alternate-align"),
537                    e.find("> a").attr("aria-expanded", "false"),
538                    e.find("ul.sub-dropdown").attr("aria-hidden", "true"),
539                    e.find("ul.sub-dropdown > li > a").attr("tabindex", "-1");
540            }
541            function m() {
542                x.$dropdownParent.on("mouseenter.dropdown touchstart.dropdown focusin.dropdown", function (t) {
543                    var a = e(this);
544                    a.hasClass(C.dropdownActiveClass) || (t.preventDefault(), p(a));
545                }),
546                    x.$dropdownParent.on("mouseleave.dropdown", function () {
547                        f(e(this));
548                    }),
549                    x.$subMenuLinks.on("touchstart.dropdown", function (e) {
550                        e.stopImmediatePropagation();
551                    }),
552                    x.$subDropdownParent.on("mouseenter.subdropdown touchstart.subdropdown focusin.subdropdown", function (t) {
553                        var a = e(this);
554                        a.hasClass(C.subDropdownActiveClass) || (t.preventDefault(), h(a));
555                    }),
556                    x.$subDropdownParent.on("mouseleave.subdropdown", function () {
557                        y(e(this));
558                    }),
559                    x.$subDropdownParent.on("touchstart.subdropdown", function (e) {
560                        e.stopImmediatePropagation();
561                    }),
562                    e("html").hasClass("touchevents") &&
563                        x.$subDropdownParent.children("a").on("click", function (t) {
564                            var a = e(this);
565                            a.hasClass(C.subDropdownActiveClass) || (t.preventDefault(), h(a));
566                        }),
567                    x.$subMenuLinks.on("focusout.dropdown", function (t) {
568                        null == t.relatedTarget
569                            ? f(e("." + C.dropdownActiveClass))
570                            : (e(t.target).closest("li.has-dropdown")[0] !== e(t.relatedTarget).closest("li.has-dropdown")[0] && f(e("." + C.dropdownActiveClass)),
571                              e(t.target).closest("li.has-sub-dropdown")[0] !== e(t.relatedTarget).closest("li.has-sub-dropdown")[0] && y(e("." + C.subDropdownActiveClass)));
572                    });
573            }
574            function g() {
575                x.$dropdownParent.off("mouseenter.dropdown touchstart.dropdown focusin.dropdown"),
576                    x.$dropdownParent.off("mouseleave.dropdown"),
577                    x.$subMenuLinks.off("touchstart.dropdown"),
578                    x.$subDropdownParent.off("mouseenter.subdropdown touchstart.subdropdown focusin.subdropdown"),
579                    x.$subDropdownParent.off("mouseleave.subdropdown"),
580                    x.$subDropdownParent.off("touchstart.subdropdown"),
581                    x.$subMenuLinks.off("focusout.dropdown");
582            }
583            function v() {
584                var t = x.$section,
585                    a = x.$promosSection,
586                    o = x.$header,
587                    n = x.$util,
588                    r = o.data("scroll-lock");
589                if ("util" == r || "header" == r) {
590                    var i = "";
591                    a.data("fixtoInstance") && (i = "#shopify-section-promos"), n.fixTo("#page", { zIndex: 991, mind: i });
592                }
593                if ("header" == r) {
594                    var i = "header.util";
595                    a.data("fixtoInstance") && (i = "header.util, #shopify-section-promos"),
596                        t.fixTo("#page", { zIndex: 990, mind: i }),
597                        t.resize(function () {
598                            e(this).width() <= 700 ? t.fixTo("stop") : t.fixTo("start");
599                        });
600                }
601            }
602            function b() {
603                var t = e("header.util, #shopify-section-header").filter(function () {
604                    return e(this).data("fixtoInstance");
605                });
606                t.length && t.fixTo("destroy");
607            }
608            function S() {
609                a(), b(), v();
610            }
611            function w() {
612                l(), d(), g(), b();
613            }
614            var T = {
615                    htmlBody: "html, body",
616                    body: "body",
617                    page: "#page",
618                    section: "#shopify-section-header",
619                    promosSection: "#shopify-section-promos",
620                    util: "header.util",
621                    header: "header.site-header",
622                    siteNav: "header.site-header ul.site-nav",
623                    menuLink: ".menu-link",
624                    menuPanel: "#menu.panel",
625                    menuOverlay: ".mobile-menu-overlay",
626                },
627                C = {};
628            C = { blurTimer: {}, blurTime: 2e3, slideSpeed: 300, dropdownActiveClass: "dropdown-hover", subDropdownActiveClass: "sub-dropdown-hover" };
629            var x = {};
630            return { init: t, unload: w, openSearch: n, closeSearch: r, togglePanelMenu: i, openPanelMenu: s, closePanelMenu: l, rebuildFixTo: S };
631        })()),
632        (StyleHatch.FooterSection = (function () {
633            function t(t) {
634                var a = (this.$container = e(t));
635                a.attr("data-section-id");
636                StyleHatch.Footer.init(a);
637            }
638            return t;
639        })()),
640        (StyleHatch.FooterSection.prototype = e.extend({}, StyleHatch.FooterSection.prototype, {
641            onUnload: function (e) {
642                StyleHatch.Footer.unload(e);
643            },
644        })),
645        (StyleHatch.Footer = (function () {
646            function e(e) {
647                var t = e.find("ul.nested-menu");
648                t.initNestedMenu();
649            }
650            function t(e) {
651                $nestedMenu.destroyNestedMenu();
652            }
653            return { init: e, unload: t };
654        })()),
655        (StyleHatch.SlideshowSection = (function () {
656            function t(t) {
657                var a = (this.$container = e(t));
658                a.attr("data-section-id");
659                StyleHatch.Slideshow.init(a);
660            }
661            return t;
662        })()),
663        (StyleHatch.SlideshowSection.prototype = e.extend({}, StyleHatch.SlideshowSection.prototype, {
664            onUnload: function (e) {
665                StyleHatch.Slideshow.unload(e);
666            },
667            onBlockSelect: function (e) {
668                StyleHatch.Slideshow.blockSelect(e);
669            },
670            onBlockDeselect: function (e) {
671                StyleHatch.Slideshow.blockDeselect(e);
672            },
673        })),
674        (StyleHatch.Slideshow = (function () {
675            function t(t) {
676                var a = t.find(".slideshow-carousel"),
677                    o = 700,
678                    n = a.find(".slide__item");
679                e(window).on("resize", function () {
680                    n.each(function (t) {
681                        var a;
682                        e(window).width() > o ? (a = e(this).find("img.slide__image-desktop")) : ((a = e(this).find("img.slide__image-mobile")), a.length < 1 && (a = e(this).find("img.slide__image-desktop"))),
683                            a.hasClass("lazymanual") && (a.attr("src", a.attr("data-preload")).removeAttr("data-preload"), a.removeClass("lazymanual").addClass("lazyload"));
684                    });
685                }),
686                    e(window).trigger("resize");
687                var r = a.data("flickity-options");
688                a.flickity(r), a.parent().find(".flickity-page-dots.placeholder").remove();
689                var i = t.find(".slide__item-video");
690                i.each(function () {
691                    var t = e(this).find(".slide__item-image"),
692                        a = e(this).data("video-id"),
693                        o = e(this).data("mobile-autoplay"),
694                        n = 0;
695                    o && (n = 1),
696                        t.YTPlayer({
697                            fitToBackground: !1,
698                            videoId: a,
699                            repeat: !0,
700                            mute: !0,
701                            playerVars: { rel: 0, mute: 1, playsinline: n, autoplay: 1 },
702                            callback: function () {
703                                e(window).trigger("resize");
704                            },
705                        });
706                });
707            }
708            function a(t) {
709                var a = e("#block-" + t.detail.blockId),
710                    o = a.closest(".slideshow-carousel"),
711                    n = a.data("slide-index");
712                o.flickity("pausePlayer"), o.flickity("select", n, !0, !0), o.find("img").removeClass(".lazymanual").addClass("lazyload");
713            }
714            function o(t) {
715                var a = e("#block-" + t.detail.blockId),
716                    o = a.closest(".slideshow-carousel");
717                o.flickity("unpausePlayer");
718            }
719            function n(t) {
720                var a = e(".slideshow-" + t.detail.sectionId),
721                    o = a.find(".slideshow-carousel");
722                o.flickity("destroy");
723                var n = a.find(".slide__item-video .slide__item-image");
724                n.removeData("yt-init").removeData("ytPlayer").removeClass("loaded"),
725                    e(window).off("resize.YTplayer" + n.ID),
726                    e(window).off("scroll.YTplayer" + n.ID),
727                    (n.$body = null),
728                    (n.$node = null),
729                    (n.$YTPlayerString = null),
730                    (n.player = null);
731            }
732            return { init: t, unload: n, blockSelect: a, blockDeselect: o };
733        })()),
734        (StyleHatch.HeroVideoSection = (function () {
735            function t(t) {
736                var a = (this.$container = e(t));
737                a.attr("data-section-id");
738                StyleHatch.HeroVideo.init(a);
739            }
740            return t;
741        })()),
742        (StyleHatch.HeroVideoSection.prototype = e.extend({}, StyleHatch.HeroVideoSection.prototype, {
743            onUnload: function (e) {
744                StyleHatch.HeroVideo.unload(e);
745            },
746        })),
747        (StyleHatch.HeroVideo = (function () {
748            function t(e) {
749                var t = e.find(".wrapper"),
750                    a = e.data("video-id"),
751                    o = e.data("mobile-autoplay"),
752                    n = 0;
753                o && (n = 1), t.removeData("ytPlayer"), t.YTPlayer({ fitToBackground: !1, videoId: a, repeat: !0, mute: !0, playerVars: { rel: 0, mute: 1, playsinline: n, autoplay: 1 } });
754            }
755            function a(t) {
756                var a = e(".slideshow-" + t.detail.sectionId),
757                    o = a.find(".wrapper");
758                o.removeData("yt-init").removeData("ytPlayer").removeClass("loaded"), o.find(".ytplayer-container .ytplayer-shield").remove();
759            }
760            return { init: t, unload: a };
761        })()),
762        (StyleHatch.Maps = (function () {
763            function t(t) {
764                (this.$container = e(t)),
765                    (this.$map = this.$container.find(u.map)),
766                    (this.key = this.$map.data("api-key")),
767                    this.key != i && ((i = this.key), (r = null), (s = !0)),
768                    "undefined" != typeof this.key &&
769                        ("loaded" === r
770                            ? this.createMap()
771                            : (l.push(this),
772                              "loading" !== r &&
773                                  ((r = "loading"),
774                                  ("undefined" == typeof window.google || s) &&
775                                      e.getScript("https://maps.googleapis.com/maps/api/js?key=" + this.key).then(function () {
776                                          (r = "loaded"), (s = !1), a();
777                                      }))));
778            }
779            function a() {
780                e.each(l, function (e, t) {
781                    t.createMap();
782                });
783            }
784            function o(t) {
785                var a = e.Deferred(),
786                    o = new google.maps.Geocoder(),
787                    n = t.data("address-setting");
788                return (
789                    o.geocode({ address: n }, function (e, t) {
790                        t !== google.maps.GeocoderStatus.OK && a.reject(t), a.resolve(e);
791                    }),
792                    a
793                );
794            }
795            var n = { zoom: 14 },
796                r = null,
797                i = null,
798                s = !1,
799                l = [],
800                c = {
801                    standard: [],
802                    silver: [
803                        { elementType: "geometry", stylers: [{ color: "#f5f5f5" }] },
804                        { elementType: "labels.icon", stylers: [{ visibility: "off" }] },
805                        { elementType: "labels.text.fill", stylers: [{ color: "#616161" }] },
806                        { elementType: "labels.text.stroke", stylers: [{ color: "#f5f5f5" }] },
807                        { featureType: "administrative.land_parcel", elementType: "labels.text.fill", stylers: [{ color: "#bdbdbd" }] },
808                        { featureType: "poi", elementType: "geometry", stylers: [{ color: "#eeeeee" }] },
809                        { featureType: "poi", elementType: "labels.text.fill", stylers: [{ color: "#757575" }] },
810                        { featureType: "poi.park", elementType: "geometry", stylers: [{ color: "#e5e5e5" }] },
811                        { featureType: "poi.park", elementType: "labels.text.fill", stylers: [{ color: "#9e9e9e" }] },
812                        { featureType: "road", elementType: "geometry", stylers: [{ color: "#ffffff" }] },
813                        { featureType: "road.arterial", elementType: "labels.text.fill", stylers: [{ color: "#757575" }] },
814                        { featureType: "road.highway", elementType: "geometry", stylers: [{ color: "#dadada" }] },
815                        { featureType: "road.highway", elementType: "labels.text.fill", stylers: [{ color: "#616161" }] },
816                        { featureType: "road.local", elementType: "labels.text.fill", stylers: [{ color: "#9e9e9e" }] },
817                        { featureType: "transit.line", elementType: "geometry", stylers: [{ color: "#e5e5e5" }] },
818                        { featureType: "transit.station", elementType: "geometry", stylers: [{ color: "#eeeeee" }] },
819                        { featureType: "water", elementType: "geometry", stylers: [{ color: "#c9c9c9" }] },
820                        { featureType: "water", elementType: "labels.text.fill", stylers: [{ color: "#9e9e9e" }] },
821                    ],
822                    retro: [
823                        { elementType: "geometry", stylers: [{ color: "#ebe3cd" }] },
824                        { elementType: "labels.text.fill", stylers: [{ color: "#523735" }] },
825                        { elementType: "labels.text.stroke", stylers: [{ color: "#f5f1e6" }] },
826                        { featureType: "administrative", elementType: "geometry.stroke", stylers: [{ color: "#c9b2a6" }] },
827                        { featureType: "administrative.land_parcel", elementType: "geometry.stroke", stylers: [{ color: "#dcd2be" }] },
828                        { featureType: "administrative.land_parcel", elementType: "labels.text.fill", stylers: [{ color: "#ae9e90" }] },
829                        { featureType: "landscape.natural", elementType: "geometry", stylers: [{ color: "#dfd2ae" }] },
830                        { featureType: "poi", elementType: "geometry", stylers: [{ color: "#dfd2ae" }] },
831                        { featureType: "poi", elementType: "labels.text.fill", stylers: [{ color: "#93817c" }] },
832                        { featureType: "poi.park", elementType: "geometry.fill", stylers: [{ color: "#a5b076" }] },
833                        { featureType: "poi.park", elementType: "labels.text.fill", stylers: [{ color: "#447530" }] },
834                        { featureType: "road", elementType: "geometry", stylers: [{ color: "#f5f1e6" }] },
835                        { featureType: "road.arterial", elementType: "geometry", stylers: [{ color: "#fdfcf8" }] },
836                        { featureType: "road.highway", elementType: "geometry", stylers: [{ color: "#f8c967" }] },
837                        { featureType: "road.highway", elementType: "geometry.stroke", stylers: [{ color: "#e9bc62" }] },
838                        { featureType: "road.highway.controlled_access", elementType: "geometry", stylers: [{ color: "#e98d58" }] },
839                        { featureType: "road.highway.controlled_access", elementType: "geometry.stroke", stylers: [{ color: "#db8555" }] },
840                        { featureType: "road.local", elementType: "labels.text.fill", stylers: [{ color: "#806b63" }] },
841                        { featureType: "transit.line", elementType: "geometry", stylers: [{ color: "#dfd2ae" }] },
842                        { featureType: "transit.line", elementType: "labels.text.fill", stylers: [{ color: "#8f7d77" }] },
843                        { featureType: "transit.line", elementType: "labels.text.stroke", stylers: [{ color: "#ebe3cd" }] },
844                        { featureType: "transit.station", elementType: "geometry", stylers: [{ color: "#dfd2ae" }] },
845                        { featureType: "water", elementType: "geometry.fill", stylers: [{ color: "#b9d3c2" }] },
846                        { featureType: "water", elementType: "labels.text.fill", stylers: [{ color: "#92998d" }] },
847                    ],
848                    dark: [
849                        { elementType: "geometry", stylers: [{ color: "#212121" }] },
850                        { elementType: "labels.icon", stylers: [{ visibility: "off" }] },
851                        { elementType: "labels.text.fill", stylers: [{ color: "#757575" }] },
852                        { elementType: "labels.text.stroke", stylers: [{ color: "#212121" }] },
853                        { featureType: "administrative", elementType: "geometry", stylers: [{ color: "#757575" }] },
854                        { featureType: "administrative.country", elementType: "labels.text.fill", stylers: [{ color: "#9e9e9e" }] },
855                        { featureType: "administrative.land_parcel", stylers: [{ visibility: "off" }] },
856                        { featureType: "administrative.locality", elementType: "labels.text.fill", stylers: [{ color: "#bdbdbd" }] },
857                        { featureType: "poi", elementType: "labels.text.fill", stylers: [{ color: "#757575" }] },
858                        { featureType: "poi.park", elementType: "geometry", stylers: [{ color: "#181818" }] },
859                        { featureType: "poi.park", elementType: "labels.text.fill", stylers: [{ color: "#616161" }] },
860                        { featureType: "poi.park", elementType: "labels.text.stroke", stylers: [{ color: "#1b1b1b" }] },
861                        { featureType: "road", elementType: "geometry.fill", stylers: [{ color: "#2c2c2c" }] },
862                        { featureType: "road", elementType: "labels.text.fill", stylers: [{ color: "#8a8a8a" }] },
863                        { featureType: "road.arterial", elementType: "geometry", stylers: [{ color: "#373737" }] },
864                        { featureType: "road.highway", elementType: "geometry", stylers: [{ color: "#3c3c3c" }] },
865                        { featureType: "road.highway.controlled_access", elementType: "geometry", stylers: [{ color: "#4e4e4e" }] },
866                        { featureType: "road.local", elementType: "labels.text.fill", stylers: [{ color: "#616161" }] },
867                        { featureType: "transit", elementType: "labels.text.fill", stylers: [{ color: "#757575" }] },
868                        { featureType: "water", elementType: "geometry", stylers: [{ color: "#000000" }] },
869                        { featureType: "water", elementType: "labels.text.fill", stylers: [{ color: "#3d3d3d" }] },
870                    ],
871                    night: [
872                        { elementType: "geometry", stylers: [{ color: "#242f3e" }] },
873                        { elementType: "labels.text.fill", stylers: [{ color: "#746855" }] },
874                        { elementType: "labels.text.stroke", stylers: [{ color: "#242f3e" }] },
875                        { featureType: "administrative.locality", elementType: "labels.text.fill", stylers: [{ color: "#d59563" }] },
876                        { featureType: "poi", elementType: "labels.text.fill", stylers: [{ color: "#d59563" }] },
877                        { featureType: "poi.park", elementType: "geometry", stylers: [{ color: "#263c3f" }] },
878                        { featureType: "poi.park", elementType: "labels.text.fill", stylers: [{ color: "#6b9a76" }] },
879                        { featureType: "road", elementType: "geometry", stylers: [{ color: "#38414e" }] },
880                        { featureType: "road", elementType: "geometry.stroke", stylers: [{ color: "#212a37" }] },
881                        { featureType: "road", elementType: "labels.text.fill", stylers: [{ color: "#9ca5b3" }] },
882                        { featureType: "road.highway", elementType: "geometry", stylers: [{ color: "#746855" }] },
883                        { featureType: "road.highway", elementType: "geometry.stroke", stylers: [{ color: "#1f2835" }] },
884                        { featureType: "road.highway", elementType: "labels.text.fill", stylers: [{ color: "#f3d19c" }] },
885                        { featureType: "transit", elementType: "geometry", stylers: [{ color: "#2f3948" }] },
886                        { featureType: "transit.station", elementType: "labels.text.fill", stylers: [{ color: "#d59563" }] },
887                        { featureType: "water", elementType: "geometry", stylers: [{ color: "#17263c" }] },
888                        { featureType: "water", elementType: "labels.text.fill", stylers: [{ color: "#515c6d" }] },
889                        { featureType: "water", elementType: "labels.text.stroke", stylers: [{ color: "#17263c" }] },
890                    ],
891                    aubergine: [
892                        { elementType: "geometry", stylers: [{ color: "#1d2c4d" }] },
893                        { elementType: "labels.text.fill", stylers: [{ color: "#8ec3b9" }] },
894                        { elementType: "labels.text.stroke", stylers: [{ color: "#1a3646" }] },
895                        { featureType: "administrative.country", elementType: "geometry.stroke", stylers: [{ color: "#4b6878" }] },
896                        { featureType: "administrative.land_parcel", elementType: "labels.text.fill", stylers: [{ color: "#64779e" }] },
897                        { featureType: "administrative.province", elementType: "geometry.stroke", stylers: [{ color: "#4b6878" }] },
898                        { featureType: "landscape.man_made", elementType: "geometry.stroke", stylers: [{ color: "#334e87" }] },
899                        { featureType: "landscape.natural", elementType: "geometry", stylers: [{ color: "#023e58" }] },
900                        { featureType: "poi", elementType: "geometry", stylers: [{ color: "#283d6a" }] },
901                        { featureType: "poi", elementType: "labels.text.fill", stylers: [{ color: "#6f9ba5" }] },
902                        { featureType: "poi", elementType: "labels.text.stroke", stylers: [{ color: "#1d2c4d" }] },
903                        { featureType: "poi.park", elementType: "geometry.fill", stylers: [{ color: "#023e58" }] },
904                        { featureType: "poi.park", elementType: "labels.text.fill", stylers: [{ color: "#3C7680" }] },
905                        { featureType: "road", elementType: "geometry", stylers: [{ color: "#304a7d" }] },
906                        { featureType: "road", elementType: "labels.text.fill", stylers: [{ color: "#98a5be" }] },
907                        { featureType: "road", elementType: "labels.text.stroke", stylers: [{ color: "#1d2c4d" }] },
908                        { featureType: "road.highway", elementType: "geometry", stylers: [{ color: "#2c6675" }] },
909                        { featureType: "road.highway", elementType: "geometry.stroke", stylers: [{ color: "#255763" }] },
910                        { featureType: "road.highway", elementType: "labels.text.fill", stylers: [{ color: "#b0d5ce" }] },
911            
911            { featureType: "road.highway", elementType: "labels.text.stroke", stylers: [{ color: "#023e58" }] },
912                        { featureType: "transit", elementType: "labels.text.fill", stylers: [{ color: "#98a5be" }] },
913                        { featureType: "transit", elementType: "labels.text.stroke", stylers: [{ color: "#1d2c4d" }] },
914                        { featureType: "transit.line", elementType: "geometry.fill", stylers: [{ color: "#283d6a" }] },
915                        { featureType: "transit.station", elementType: "geometry", stylers: [{ color: "#3a4762" }] },
916                        { featureType: "water", elementType: "geometry", stylers: [{ color: "#0e1626" }] },
917                        { featureType: "water", elementType: "labels.text.fill", stylers: [{ color: "#4e6d70" }] },
918                    ],
919                },
920                d = { addressNoResults: StyleHatch.Strings.addressNoResults, addressQueryLimit: StyleHatch.Strings.addressQueryLimit, addressError: StyleHatch.Strings.addressError, authError: StyleHatch.Strings.authError },
921                u = { section: '[data-section-type="maps"]', map: "[data-map]", mapOverlay: "[data-map-overlay]" },
922                p = { mapError: "map-selection--load-error", errorMsg: "map-section__errors errors text-center" };
923            return (
924                (window.gm_authFailure = function () {
925                    return Shopify.designMode
926                        ? (e(u.section).addClass(p.mapError), e(u.map).remove(), void e(u.mapOverlay).after('<div class="' + p.errorMsg + '">' + StyleHatch.Strings.authError + "</div>"))
927                        : void log("Google Maps authentication error", window.google, r);
928                }),
929                (t.prototype = e.extend({}, t.prototype, {
930                    createMap: function () {
931                        var e = this.$map,
932                            t = e.data("map-style");
933                        return o(e)
934                            .then(
935                                function (a) {
936                                    var o = { zoom: n.zoom, center: a[0].geometry.location, draggable: !1, clickableIcons: !1, scrollwheel: !1, disableDoubleClickZoom: !0, disableDefaultUI: !0, styles: c[t] },
937                                        r = (this.map = new google.maps.Map(e[0], o)),
938                                        i = (this.center = r.getCenter());
939                                    new google.maps.Marker({ map: r, position: r.getCenter() });
940                                    google.maps.event.addDomListener(
941                                        window,
942                                        "resize",
943                                        slate.utils.debounce(function () {
944                                            google.maps.event.trigger(r, "resize"), r.setCenter(i), e.removeAttr("style");
945                                        }, 250)
946                                    );
947                                }.bind(this)
948                            )
949                            .fail(function () {
950                                var t;
951                                switch (status) {
952                                    case "ZERO_RESULTS":
953                                        t = d.addressNoResults;
954                                        break;
955                                    case "OVER_QUERY_LIMIT":
956                                        t = d.addresQueryLimit;
957                                        break;
958                                    case "REQUEST_DENIED":
959                                        t = d.authError;
960                                        break;
961                                    default:
962                                        t = d.addressError;
963                                }
964                                Shopify.designMode &&
965                                    e
966                                        .parent()
967                                        .addClass(p.mapError)
968                                        .append('<div class="' + p.errorMsg + '">' + t + "</div>");
969                            });
970                    },
971                    onUnload: function () {
972                        0 !== this.$map.length && google.maps.event.clearListeners(this.map, "resize");
973                    },
974                })),
975                t
976            );
977        })()),
978        (StyleHatch.PageSection = (function () {
979            function t(t) {
980                var a = (this.$container = e(t));
981                a.attr("data-section-id");
982                StyleHatch.Page.init(a);
983            }
984            return t;
985        })()),
986        (StyleHatch.Page = (function () {
987            function e(e) {
988                e.fitVids();
989            }
990            function t(e) {}
991            return { init: e, unload: t };
992        })()),
993        (StyleHatch.FeaturedCollectionSection = (function () {
994            function t(t) {
995                var a = (this.$container = e(t));
996                a.attr("data-section-id");
997                a.productBox(), StyleHatch.currencyConverter && StyleHatch.CurrencyConverter.init();
998            }
999            return t;
1000        })()),
1001        (StyleHatch.FeaturedCollectionSection.prototype = e.extend({}, StyleHatch.FeaturedCollectionSection.prototype, {
1002            onUnload: function (t) {
1003                var a = e("#section-" + t.detail.sectionId);
1004                a.attr("data-section-id");
1005                a.destroyProductBox();
1006            },
1007        })),
1008        (StyleHatch.SimpleCollectionSection = (function () {
1009            function t(t) {
1010                var a = (this.$container = e(t));
1011                a.attr("data-section-id");
1012                a.productBox(), StyleHatch.currencyConverter && StyleHatch.CurrencyConverter.init();
1013            }
1014            return t;
1015        })()),
1016        (StyleHatch.SimpleCollectionSection.prototype = e.extend({}, StyleHatch.SimpleCollectionSection.prototype, {
1017            onUnload: function (t) {
1018                var a = e("#section-" + t.detail.sectionId);
1019                a.attr("data-section-id");
1020                a.destroyProductBox();
1021            },
1022        })),
1023        (StyleHatch.instagrams = {}),
1024        (StyleHatch.InstagramSection = (function () {
1025            function t(t) {
1026                var a = (this.$container = e(t)),
1027                    o = a.attr("data-section-id"),
1028                    n = (this.instagram = "#Instagram-" + o);
1029                if (e("html").hasClass("lt-ie9")) return !1;
1030                var r = a.find(".instagram-container"),
1031                    i = a.find("header a.button, footer a.button"),
1032                    s = a.data("image-count"),
1033                    l = a.data("instagram-access-token"),
1034                    c = "https://api.instagram.com/v1/users/self/media/recent/?access_token=" + l + "&count=20",
1035                    d = 432e5,
1036                    u = StyleHatch.Strings.instagramAddToken,
1037                    p = StyleHatch.Strings.instagramInvalidToken,
1038                    f = StyleHatch.Strings.instagramRateLimitToken,
1039                    h = function () {
1040                        l
1041                            ? e.ajax({
1042                                  url: c,
1043                                  dataType: "jsonp",
1044                                  timeout: 5e3,
1045                                  success: function (e) {
1046                                      switch (e.meta.code) {
1047                                          case 400:
1048                                              Shopify.designMode && (r.attr("data-helper
1048-text", p), storeWithExpiration.set(l, e, d), a.show());
1049                                              break;
1050                                          case 429:
1051                                              Shopify.designMode && (r.attr("data-helper-text", f), a.show());
1052                                              break;
1053                                          default:
1054                                              y(e), storeWithExpiration.set(l, e, d);
1055                                      }
1056                                  },
1057                              })
1058                            : Shopify.designMode && (r.attr("data-helper-text", u), a.show());
1059                    },
1060                    y = function (t) {
1061                        if (t.data) {
1062                            if (t.data.length < s) {
1063                                var o = t.data.length,
1064                                    n = s,
1065                                    l = n - (n - o);
1066                                (s = t.data.length),
1067                                    a.find(".box").each(function (t) {
1068                                        t >= l && e(this).hide();
1069                                    });
1070                            }
1071                            for (var c = 0; c < s; c++) {
1072                                var d = t.data[c].images,
1073                                    u = d.thumbnail.url,
1074                                    p = d.thumbnail.width,
1075                                    f = d.low_resolution.url,
1076                                    h = d.low_resolution.width,
1077                                    y = d.standard_resolution.url,
1078                                    m = d.standard_resolution.width,
1079                                    g = t.data[c].link,
1080                                    v = t.data[c].likes.count,
1081                                    b = t.data[c].comments.count,
1082                                    S = "";
1083                                t.data[c].caption && (S = t.data[c].caption.text);
1084                                var w = a.find(".box-" + c),
1085                                    T = w.find("figure > a"),
1086                                    C = w.find("figure > a, li > a"),
1087                                    x = w.find("figcaption > p"),
1088                                    k = w.find("a.likes span.label"),
1089                                    $ = w.find("a.comments span.label");
1090                                T.html('<div class="card__image lazyload">');
1091                                var H = T.find(".card__image");
1092                                H.attr("data-sizes", "auto"), H.attr("data-bgset", u + " " + p + "w, " + f + " " + h + "w, " + y + " " + m + "w"), C.attr("href", g), x.html(S), k.text(v), $.text(b);
1093                            }
1094                            var _ = "https://www.instagram.com/" + t.data[0].user.username;
1095                            i.attr("href", _), i.attr("target", "_blank"), a.show(), r.addClass("loaded");
1096                        }
1097                    };
1098                if (storeWithExpiration.get(l) && !Shopify.designMode) {
1099                    var m = storeWithExpiration.get(l);
1100                    y(m);
1101                } else h();
1102                StyleHatch.instagrams[n] = this;
1103            }
1104            return t;
1105        })()),
1106        (StyleHatch.InstagramSection.prototype = e.extend({}, StyleHatch.InstagramSection.prototype, {
1107            onUnload: function () {
1108                delete StyleHatch.instagrams[this.instagram];
1109            },
1110        })),
1111        (StyleHatch.GenericSection = (function () {
1112            function t(t) {
1113                var a = (this.$container = e(t));
1114                a.attr("data-section-id");
1115                StyleHatch.cacheSelectors();
1116            }
1117            return t;
1118        })()),
1119        (StyleHatch.Product = (function () {
1120            function t(t) {
1121                var a = (this.$container = e(t)),
1122                    o = a.attr("data-section-id");
1123                (this.settings = {
1124                    enableHistoryState: a.data("enable-history-state") || !1,
1125                    enableSwatch: a.data("enable-swatch") || !1,
1126                    imageSize: "394x",
1127                    imageZoomSize: null,
1128                    namespace: ".product-" + o,
1129                    sectionId: o,
1130                    zoomEnabled: !1,
1131                    lightboxEnabled: !1,
1132                    productImageLightboxData: [],
1133                }),
1134                    (this.selectors = {
1135                        addToCartForm: "#AddToCartForm-" + o,
1136                        addToCart: "#AddToCart-" + o,
1137                        addToCartText: "#AddToCartText-" + o,
1138                        comparePrice: "#ComparePrice-" + o,
1139                        originalPrice: "#ProductPrice-" + o,
1140                        SKU: ".variant-sku",
1141                        originalSelectorId: "#ProductSelect-" + o,
1142                        productFeaturedImage: "#FeaturedImage-" + o,
1143                        productImageWrap: ".featured-container-" + o,
1144                        productPrices: ".product-single__price-" + o,
1145                        productThumbImages: ".product-single__thumbnail--" + o,
1146                        productPhoto: "#ProductPhoto-" + o,
1147                        productImage: "#ProductImage-" + o,
1148                        productThumbs: "#ProductThumbs-" + o,
1149                        quantityWrap: ".quantity-" + o,
1150                        quantity: ".quantity-select-" + o,
1151                        cartError: ".cart-error-" + o,
1152                        singleOptionSelector: ".single-option-selector-" + o,
1153                        cartButtons: "#CartButtons-" + o,
1154                        paymentButtonContainer: "#PaymentButtonContainer-" + o,
1155                        productSizeGuideLink: "a.product-size-guide-" + o,
1156                        productSizeGuideContent: "#product-size-guide-content-" + o,
1157                    }),
1158                    this._initSlider(),
1159                    e("#ProductJson-" + o).html() &&
1160                        ((this.productSingleObject = JSON.parse(document.getElementById("ProductJson-" + o).innerHTML)),
1161                        (this.settings.zoomEnabled = e(this.selectors.productImageWrap).hasClass("featured-zoom")),
1162                        Modernizr.objectfit && (this.settings.lightboxEnabled = e(this.selectors.productImageWrap).data("lightbox")),
1163                        a.productBox(),
1164                        StyleHatch.currencyConverter && StyleHatch.CurrencyConverter.init(),
1165                        this._initVariants(),
1166                        this._initQuanitySelect(),
1167                        e(this.selectors.productSizeGuideLink).length && e(this.selectors.productSizeGuideLink).magnificPopup({ items: { src: e(this.selectors.productSizeGuideContent), type: "inline" } }));
1168            }
1169            function a(e) {
1170                var t = e.easyZoom().data("easyZoom");
1171                t.teardown();
1172            }
1173            return (
1174                (t.prototype = e.extend({}, t.prototype, {
1175                    _initVariants: function () {
1176                        var e = {
1177                            $container: this.$container,
1178                            enableHistoryState: this.$container.data("enable-history-state") || !1,
1179                            enableSwatch: this.$container.data("enable-swatch"),
1180                            singleOptionSelector: this.selectors.singleOptionSelector,
1181                            originalSelectorId: this.selectors.originalSelectorId,
1182                            product: this.productSingleObject,
1183                        };
1184                        (this.variants = new slate.Variants(e)),
1185                            this.$container.on("variantChange" + this.settings.namespace, this._updateAddToCart.bind(this)),
1186                            this.$container.on("variantImageChange" + this.settings.namespace, this._updateImages.bind(this)),
1187                            this.$container.on("variantPriceChange" + this.settings.namespace, this._updatePrice.bind(this)),
1188                            this.$container.on("variantSKUChange" + this.settings.namespace, this._updateSKU.bind(this)),
1189                            e.enableSwatch && this.$container.on("variantChange" + this.settings.namespace, this._updateSwatches.bind(this));
1190                    },
1191                    _initQuanitySelect: function () {
1192                        var t = e(this.selectors.quantity);
1193                        t.each(function () {
1194                            var t = e(this),
1195                                a = t.find(".adjust-minus"),
1196                                o = t.find(".adjust-plus"),
1197                                n = t.find("input.quantity"),
1198                                r = n.val();
1199                            a.on("click", function (e) {
1200                                (r = n.val()), r > 1 && (r--, n.val(r)), e.preventDefault();
1201                            }),
1202                                o.on("click", function (e) {
1203                                    (r = n.val()), r++, n.val(r), e.preventDefault();
1204                                });
1205                        });
1206                    },
1207                    _initSlider: function () {
1208                        var t = this.$container.find(".product-image--slider");
1209                        if (t.length) {
1210                            var a = t.data("flickity-options"),
1211                                o = t.data("slider-enabled"),
1212                                n = t.data("zoom"),
1213                                r = t.data("lightbox"),
1214                                i = t.find("[data-initial-image]"),
1215                                s = i.parent().find(".product-image--cell").index(i);
1216                            if (((a.initialIndex = s), o || ((a.draggable = !1), (a.selectedAttraction = 1), (a.friction = 1)), i.removeAttr("data-initial-image"), t.flickity(a), !Modernizr.touchevents && n)) {
1217                                e(".product-image--cell").easyZoom();
1218                                t.on("dragStart.flickity", function (t) {
1219                                    var a = e(t.currentTarget).find(".easyzoom-flyout");
1220                                    a.addClass("hidden");
1221                                }).on("dragEnd.flickity", function (t) {
1222                                    var a = e(t.currentTarget).find(".easyzoom-flyout");
1223                                    a.removeClass("hidden");
1224                                });
1225                            }
1226                            t.on("dragStart.flickity", function (e, t) {
1227                                document.ontouchmove = function (e) {
1228                                    e.preventDefault();
1229                                };
1230                            }),
1231                                t.on("dragEnd.flickity", function (e, t) {
1232                                    document.ontouchmove = function (e) {
1233                                        return !0;
1234                                    };
1235                                }),
1236                                t.find("a").on("click", function (e) {
1237                                    e.preventDefault();
1238                                }),
1239                                r &&
1240                                    Modernizr.objectfit &&
1241                                    (t.on("staticClick.flickity", function () {
1242                                        t.flickity("toggleFullscreen");
1243                                    }),
1244                                    t.on("fullscreenChange.flickity", function (e, a) {
1245                                        a ? t.parent().addClass("is-fullscreen") : t.parent().removeClass("is-fullscreen");
1246                                    }));
1247                        }
1248                        var l = this.$container.find(".product-thumb--slider");
1249                        if (l.length) {
1250                            var a = l.data("flickity-options"),
1251                                o = l.data("slider-enabled");
1252                            if (o) {
1253                                var i = l.find("[data-initial-image]"),
1254                                    s = i.parent().find(".product-thumb--cell").index(i);
1255                                (a.initialIndex = s),
1256                                    i.removeAttr("data-initial-image"),
1257                                    l.flickity(a),
1258                                    l.find("a").on("click", function (e) {
1259                                        e.preventDefault();
1260                                    }),
1261                                    l.on("dragStart.flickity", function (e, t) {
1262                                        document.ontouchmove = function (e) {
1263                                            e.preventDefault();
1264                                        };
1265                                    }),
1266                                    l.on("dragEnd.flickity", function (e, t) {
1267                                        document.ontouchmove = function (e) {
1268                                            return !0;
1269                                        };
1270                                    });
1271                            } else {
1272                                var i = l.find("[data-initial-image]");
1273                                i.addClass("is-nav-selected"),
1274                                    i.removeAttr("data-initial-image"),
1275                                    l.find("a").on("click", function (a) {
1276                                        var o = e(this),
1277                                            n = o.parent(),
1278                                            r = n.data("image-id"),
1279                                            i = '[data-image-id="' + r + '"]';
1280                                        t.flickity("selectCell", i, !1, !0), n.parent().find(".is-nav-selected").removeClass("is-nav-selected"), n.addClass("is-nav-selected"), a.preventDefault();
1281                                    }),
1282                                    t.on("change.flickity", function (t, a) {
1283                                        var o = e(this),
1284                                            n = o.find(".product-image--cell").eq(a),
1285                                            r = n.data("image-id");
1286                                        l.find(".is-nav-selected").removeClass("is-nav-selected");
1287                                        var i = l.find('[data-image-id="' + r + '"]');
1288                                        i.addClass("is-nav-selected");
1289                                    });
1290                            }
1291                            Modernizr.objectfit ||
1292                                l.find(".product-thumb--cell a").each(function () {
1293                                    var t = e(this),
1294                                        a = t.find("img").prop("src");
1295                                    t.css({ "background-image": "url(" + a + ")" }), t.addClass("fallback-object-fit");
1296                                });
1297                        }
1298                        var c = this.$container.find(".thumbnails");
1299                        if (
1300                            c.length &&
1301                            (c.find("a").on("click", function (a) {
1302                                var o = e(this),
1303                                    n = o.data("image-id"),
1304                                    r = '[data-image-id="' + n + '"]';
1305                                t.flickity("selectCell", r, !1, !0), o.parent().parent().find(".active").removeClass("active"), o.addClass("active"), a.preventDefault();
1306                            }),
1307                            t.on("change.flickity", function (t, a) {
1308                                var o = e(this),
1309                                    n = o.find(".product-image--cell").eq(a),
1310                                    r = n.data("image-id");
1311                                c.find(".active").removeClass("active");
1312                                var i = c.find('[data-image-id="' + r + '"]');
1313                                i.addClass("active");
1314                                var s = c.find("[data-productthumbs]");
1315                                s.height() > c.height() &&
1316                                    c.data("enable-group") &&
1317                                    c.is(":visible") &&
1318                                    setTimeout(function () {
1319                                        i.scrollIntoView();
1320                                    }, 200);
1321                            }),
1322                            c.data("enable-group"))
1323                        ) {
1324                            c.css({ "overflow-y": "scroll", position: "relative" }),
1325                                t.resize(function () {
1326                                    c.height(e(this).find(".flickity-viewport").height());
1327                                });
1328                            var d = c.find("[data-productthumbs]");
1329                            setTimeout(function () {
1330                                d.height() > c.height() && c.find("a.active").scrollIntoView();
1331                            }, 200),
1332                                c.find("li").each(function (t) {
1333                                    e(this)
1334                                        .delay(100 * t)
1335                                        .fadeTo(200, 1);
1336                                });
1337                        }
1338                    },
1339                    _updateAddToCart: function (t) {
1340                        var a = t.variant,
1341                            o = e(this.selectors.addToCartForm).data("dynamic-checkout");
1342                        a
1343                            ? (e(this.selectors.cartError).hide(),
1344                              e(this.selectors.productPrices).removeClass("visibility-hidden").attr("aria-hidden", "true"),
1345                              a.available
1346                                  ? (e(this.selectors.addToCart).removeClass("disabled").prop("disabled", !1),
1347                                    e(this.selectors.addToCartText).text(StyleHatch.Strings.addToCart),
1348                                    e(this.selectors.quantityWrap).show(),
1349                                    o && e(this.selectors.cartButtons).addClass("cart-buttons__enabled"))
1350                                  : (e(this.selectors.addToCart).addClass("disabled").prop("disabled", !0),
1351                                    e(this.selectors.addToCartText).text(StyleHatch.Strings.soldOut),
1352                                    e(this.selectors.quantityWrap).hide(),
1353                                    o && e(this.selectors.cartButtons).removeClass("cart-buttons__enabled")))
1354                            : (e(this.selectors.addToCart).addClass("disabled").prop("disabled", !0),
1355                              e(this.selectors.addToCartText).text(StyleHatch.Strings.soldOut),
1356                              e(this.selectors.productPrices).addClass("visibility-hidden").attr("aria-hidden", "false"),
1357                              e(this.selectors.quantityWrap).hide(),
1358                              o && e(this.selectors.cartButtons).removeClass("cart-buttons__enabled"));
1359                    },
1360                    _updateSwatches: function (t) {
1361                        var a = t.variant,
1362                            o = e(t.currentTarget).find("[type=radio]"),
1363                            n = e(t.currentTarget).find(".radio-wrapper"),
1364                            r = this;
1365                        o.each(function () {
1366                            var t = e(this),
1367                                o = t.data("position"),
1368                                n = "option" + o,
1369                                i = ["option1", "option2", "option3"].filter(function (e) {
1370                                    return e != n;
1371                                }),
1372                                s = !1;
1373                            r.productSingleObject.variants.forEac
1373h(function (e) {
1374                                e.available && e[n] === t.val() && e[i[0]] === a[i[0]] && e[i[1]] === a[i[1]] && (s = !0);
1375                            }),
1376                                1 !== o && (s ? t.parent().removeClass("soldout") : t.parent().addClass("soldout"));
1377                        }),
1378                            n.each(function () {
1379                                var t = e(this),
1380                                    o = "option" + t.data("option-index"),
1381                                    n = t.find(".single-option-radio__label--value");
1382                                if (n.length) {
1383                                    var r = a[o];
1384                                    n.text(r);
1385                                }
1386                            });
1387                    },
1388                    _updateImages: function (t) {
1389                        var a,
1390                            o = t.variant;
1391                        theme.Images.getSizedImageUrl(o.featured_image.src, this.settings.imageSize);
1392                        this.settings.zoomEnabled && (a = theme.Images.getSizedImageUrl(o.featured_image.src, this.settings.imageZoomSize));
1393                        var n = (e(this.selectors.productThumbImages + '[data-image-id="' + o.featured_image.id + '"]'), this.$container.find(".product-image--slider"));
1394                        if (n.length) {
1395                            var r = '[data-image-id="' + o.featured_image.id + '"]';
1396                            n.flickity("selectCell", r, !1, !0);
1397                        }
1398                    },
1399                    _updatePrice: function (t) {
1400                        var a = t.variant;
1401                        e(this.selectors.originalPrice).html(theme.Currency.formatMoney(a.price, StyleHatch.currencyFormat)),
1402                            StyleHatch.currencyConverter &&
1403                                (removeDataAttributes(e(this.selectors.originalPrice)), Currency.convertAll(StyleHatch.shopCurrency, e("[name=currencies]").val()), e(".selected-currency").text(Currency.currentCurrency)),
1404                            a.compare_at_price > a.price
1405                                ? (e(this.selectors.comparePrice).find("span.money").html(theme.Currency.formatMoney(a.compare_at_price, StyleHatch.currencyFormat)), e(this.selectors.comparePrice).show())
1406                                : e(this.selectors.comparePrice).hide();
1407                    },
1408                    _updateSKU: function (t) {
1409                        var a = t.variant;
1410                        e(this.selectors.SKU).html(a.sku);
1411                    },
1412                    onUnload: function () {
1413                        this.$container.off(this.settings.namespace),
1414                            e.magnificPopup.close(),
1415                            this.settings.zoomEnabled && a(e(this.selectors.productImageWrap)),
1416                            StyleHatch.ajaxCartEnable && StyleHatch.AjaxCart.unload(),
1417                            this.$container.destroyProductBox();
1418                    },
1419                })),
1420                t
1421            );
1422        })()),
1423        (StyleHatch.Collection = (function () {
1424            function t(t) {
1425                var a = (this.$container = e(t));
1426                a.attr("data-section-id");
1427                (this.$sortSelect = e(o.sortSelection, a)),
1428                    (this.defaultSort = this._getDefaultSortValue()),
1429                    (this.$viewButton = e(o.viewChange)),
1430                    this.$sortSelect.on("change", this._onSortChange.bind(this)),
1431                    this.$viewButton.on("click", this._onViewChange),
1432                    (this.$productbox = e(o.productBox, a)),
1433                    this._initSidebar(),
1434                    this._initAdvancedTags(),
1435                    a.productBox(),
1436                    StyleHatch.currencyConverter && StyleHatch.CurrencyConverter.init();
1437            }
1438            var a = { SORT_BY: "sort_by", DEFAULT_SORT: "title-ascending", VIEW: "view" },
1439                o = {
1440                    sortSelection: "#SortBy",
1441                    defaultSort: ".sort-by__default-sort",
1442                    viewChange: ".change-view",
1443                    advancedFilter: ".advanced-filter a",
1444                    filterCollection: ".mobile-aside-container > a.button.simple",
1445                    mobileAside: ".mobile-aside-container aside",
1446                    productBox: ".box.product .image-table",
1447                    nestedMenu: "ul.nested-menu",
1448                };
1449            return (
1450                (t.prototype = e.extend({}, t.prototype, {
1451                    _onSortChange: function (e) {
1452                        var t = "";
1453                        (this.sort = this._getSortValue()), this.sort !== this.defaultSort && (t = [a.SORT_BY + "=" + this.sort]);
1454                        var o = document.URL,
1455                            n = o.indexOf("?") > -1;
1456                        if (n) document.location.href = replaceUrlParam(o, a.SORT_BY, this.sort);
1457                        else {
1458                            var r = (document.location.search = t.length ? "?" + t : "");
1459                            document.location.href = this.$filterSelect.val() + r;
1460                        }
1461                    },
1462                    _getSortValue: function () {
1463                        return this.$sortSelect.val() || this.defaultSort;
1464                    },
1465                    _getDefaultSortValue: function () {
1466                        return e(o.defaultSort, this.$container).val() || a.DEFAULT_SORT;
1467                    },
1468                    _onViewChange: function (t) {
1469                        var a = e(this).data("view"),
1470                            o = document.URL,
1471                            n = o.indexOf("?") > -1;
1472                        n ? (window.location = replaceUrlParam(o, "view", a)) : (window.location = o + "?view=" + a), t.preventDefault();
1473                    },
1474                    _initSidebar: function () {
1475                        e(o.filterCollection).on("click", function (t) {
1476                            e(o.mobileAside).slideToggle(), t.preventDefault();
1477                        }),
1478                            this.$container.find(o.nestedMenu).initNestedMenu();
1479                    },
1480                    _initAdvancedTags: function () {
1481                        var t,
1482                            a,
1483                            n,
1484                            r,
1485                            i = e(o.advancedFilter);
1486                        i.on("click", function (o) {
1487                            (t = e(this).parent()),
1488                                (a = t.data("group")),
1489                                (n = t.data("handle")),
1490                                (r = e('.active[data-group="' + a + '"]')),
1491                                !t.hasClass("active") && r.size() && (o.preventDefault(), (location.href = location.href.replace(r.data("handle"), n).replace(/(&page=\d+)|(page=\d+&)|(\?page=\d+$)/, "")));
1492                        });
1493                    },
1494                    onUnload: function () {
1495                        this.$sortSelect.off("change"), this.$viewButton.off("click"), e(o.advancedFilter).off("click"), this.$container.destroyProductBox(), this.$container.find(o.nestedMenu).destroyNestedMenu();
1496                    },
1497                })),
1498                t
1499            );
1500        })()),
1501        (StyleHatch.ListCollections = (function () {
1502            function t(t) {
1503                var o = (this.$container = e(t)),
1504                    n = (o.attr("data-section-id"), o.data("layout"));
1505                o.find(".card__image");
1506                (this.$productbox = e(a.productBox, o)), "preview" == n && o.productBox(), StyleHatch.currencyConverter && StyleHatch.CurrencyConverter.init();
1507            }
1508            var a = { productBox: ".box .image-table" };
1509            return (
1510                (t.prototype = e.extend({}, t.prototype, {
1511                    onUnload: function () {
1512                        $container.destroyProductBox();
1513                    },
1514                })),
1515                t
1516            );
1517        })()),
1518        (StyleHatch.BlogArticle = (function () {
1519            function t(t) {
1520                var a = (this.$container = e(t));
1521                a.attr("data-section-id");
1522                this._initSidebar(), StyleHatch.videoLayout();
1523            }
1524            var a = { filterCollection: ".mobile-aside-container > a.button.simple", mobileAside: ".mobile-aside-container aside", nestedMenu: "ul.nested-menu" };
1525            return (
1526                (t.prototype = e.extend({}, t.prototype, {
1527                    _initSidebar: function () {
1528                        e(a.filterCollection).on("click", function (t) {
1529                            e(a.mobileAside).slideToggle(), t.preventDefault();
1530                        }),
1531                            this.$container.find(a.nestedMenu).initNestedMenu();
1532                    },
1533                    onUnload: function () {
1534                        e(a.filterCollection).off("click"), this.$container.find(a.nestedMenu).destroyNestedMenu();
1535                    },
1536                })),
1537                t
1538            );
1539        })()),
1540        (StyleHatch.Password = (function () {
1541            function t(t) {
1542                var a = (this.$container = e(t)),
1543                    o = (a.attr("data-section-id"), e("#login_form"));
1544                e(".login-popup").magnificPopup({
1545                    type: "inline",
1546                    midClick: !0,
1547                    mainClass: "mfp-fade",
1548                    closeBtnInside: !1,
1549                    callbacks: {
1550                        afterClose: function () {
1551                            e("a").blur(), o.find(".errors").remove();
1552                        },
1553                    },
1554                }),
1555                    e("#mc-embedded-subscribe-form").on("submit", function () {
1556                        e("p.signup-message").hide(), e("p.thanks-message").show(), e(this).find(".input-row").hide();
1557                    }),
1558                    o.find(".errors").length > 0 && e(".login-popup").magnificPopup("open");
1559            }
1560            return (
1561                (t.prototype = e.extend({}, t.prototype, {
1562                    onUnload: function () {
1563                        e.magnificPopup.close(), e("#mc-embedded-subscribe-form").off("submit");
1564                    },
1565                })),
1566                t
1567            );
1568        })()),
1569        (StyleHatch.Cart = (function () {
1570            function t(t) {
1571                var a = (this.$container = e(t));
1572                a.attr("data-section-id");
1573                StyleHatch.quantitySelect();
1574            }
1575            return (t.prototype = e.extend({}, t.prototype, { onUnload: function () {} })), t;
1576        })()),
1577        (StyleHatch.AjaxCart = (function () {
1578            function t() {
1579                p = {
1580                    $body: e(d.body),
1581                    $util: e(d.util),
1582                    $cartPreview: e(d.cartPreview),
1583                    $addToCartForm: e(d.addToCartForm),
1584                    $addToCartButton: e(d.addToCartButton),
1585                    $cartButton: e(d.cartButton),
1586                    $cartCount: e(d.cartCount),
1587                    $cartCost: e(d.cartCost),
1588                };
1589            }
1590            function a() {
1591                t(), s();
1592            }
1593            function o(t) {
1594                var t = t,
1595                    a = t.find(".cart-error"),
1596                    o = t.find("[data-AddToCartText]").html(),
1597                    n = (t.find("[data-AddToCartText]").attr("data-added"), t.find("[data-AddToCartText]").attr("data-adding"));
1598                return (
1599                    t.find("[data-AddToCart]").addClass("added").prop("disabled", !0),
1600                    t.find("[data-AddToCartText]").html(n),
1601                    a.hide(),
1602                    e
1603                        .post(
1604                            u.addURL,
1605                            t.serialize(),
1606                            function (a) {
1607                                var n = a;
1608                                e.get(
1609                                    u.cartURL,
1610                                    function (e) {
1611                                        var a = e;
1612                                        r(a), i(n, a);
1613                                        var s;
1614                                        s = setTimeout(function () {
1615                                            t.find("[data-AddToCart]").removeClass("added").prop("disabled", !1), t.find("[data-AddToCartText]").html(o);
1616                                        }, 500);
1617                                    },
1618                                    "json"
1619                                );
1620                            },
1621                            "text"
1622                        )
1623                        .error(function (e) {
1624                            if ("undefined" != typeof e && "undefined" != typeof e.status) {
1625                                var n = JSON.parse(e.responseText);
1626                                a.html("<strong>" + n.message + ":</strong> <em>" + n.description + "<em>"), a.slideDown();
1627                            }
1628                            var r;
1629                            r = setTimeout(function () {
1630                                t.find("[data-AddToCart]").removeClass("added").prop("disabled", !1), t.find("[data-AddToCartText]").html(o);
1631                            }, 500);
1632                        }),
1633                    !1
1634                );
1635            }
1636            function n() {
1637                e.post(u.clearURL);
1638            }
1639            function r(e) {
1640                var t = (p.$cartButton, p.$cartCount),
1641                    a = p.$cartCost,
1642                    o = e.item_count,
1643                    n = theme.Currency.formatMoney(e.total_price, StyleHatch.currencyFormat);
1644                t.text(o), a.removeClass("money"), a.html('<span class="money">' + n + "</span>"), StyleHatch.currencyConverter && Currency.convertAll(StyleHatch.shopCurrency, jQuery("[name=currencies]").val());
1645            }
1646            function i(t, a) {
1647                var o = p.$util,
1648                    n = p.$cartPreview;
1649                clearTimeout(p.hideCartPreview), p.$cartPreview.hide();
1650                var r = a.item_count,
1651                    i = theme.Currency.formatMoney(a.total_price, StyleHatch.currencyFormat),
1652                    t = JSON.parse(t),
1653                    s = t.product_title,
1654                    l = t.variant_options,
1655                    c = t.image,
1656                    d = t.url,
1657                    u = theme.Currency.formatMoney(t.price, StyleHatch.currencyFormat),
1658                    f = (t.quantity, theme.Currency.formatMoney(t.line_price, StyleHatch.currencyFormat), n.find(".product-image").empty());
1659                f.append('<img src="' + c + '" alt="' + s + '">'), f.attr("href", d);
1660                var h = n.find(".product-title");
1661                h.html(s), h.attr("href", d);
1662                var y = n.find(".product-variant").empty();
1663                e.each(l, function () {
1664                    var e = this;
1665                    e.toLowerCase().indexOf("default title") < 0 ? (y.show(), y.append("<li>" + e + "</li>")) : y.hide();
1666                });
1667                var m = n.find(".product-price");
1668                m.removeClass("money"), m.html('<span class="money">' + u + "</span>");
1669                var g = n.find(".item-count");
1670                g.text(r), r > 1 ? (n.find(".count.plural").show(), n.find(".count.singular").hide()) : (n.find(".count.plural").hide(), n.find(".count.singular").show());
1671                var v = n.find(".total-price");
1672                v.html('<span class="money">' + i + "</span>");
1673                var b = o.height();
1674                n.css({ top: b }),
1675                    n.fadeIn(300),
1676                    (p.hideCartPreview = setTimeout(function () {
1677                        n.fadeOut(300);
1678                    }, 6e3)),
1679                    n.find("a.continue-shopping").on("click", function (e) {
1680                        n.fadeOut(300), e.preventDefault();
1681                    }),
1682                    StyleHatch.currencyConverter && Currency.convertAll(StyleHatch.shopCurrency, jQuery("[name=currencies]").val());
1683            }
1684            function s() {
1685                p.$addToCartForm.each(function () {
1686                    e(this).on("submit", function (t) {
1687                        var a = e(this);
1688                        o(a), t.preventDefault();
1689                    });
1690                });
1691            }
1692            function l() {
1693                p.$addToCartForm.off("submit");
1694            }
1695            function c() {
1696                l(), clearTimeout(p.hideCartPreview), p.$cartPreview.hide();
1697            }
1698            var d = {
1699                    body: "body",
1700                    util: "header.util",
1701                    cartPreview: "header.util .cart-preview",
1702                    addToCartForm: "[data-AddToCartForm] > form",
1703                    addToCartButton: "[data-AddToCartForm]",
1704                    cartButton: "[data-CartButton]",
1705                    cartCount: "#CartCount",
1706                    cartCost: "#CartCost",
1707                },
1708                u = { addURL: "/cart/add.js", cartURL: "/cart.js", clearURL: "/cart/clear.js" },
1709                p = {};
1710            return { init: a, clearCart: n, unload: c };
1711        })()),
1712        (StyleHatch.CurrencyConverter = (function () {
1713            function t() {
1714                i = { $body: e(n.body), $money: e(n.money) };
1715            }
1716            function a() {
1717                t(), o();
1718            }
1719            function o() {
1720                (r.cookieCurrency = Currency.cookie.read()),
1721                    e("span.money span.money").each(function () {
1722                        e(this).parents(n.money).removeClass("money");
1723                    }),
1724                    i.$money.each(function () {
1725                        "" !== Currency.currentCurrency ? e(this).attr("data-currency-" + Currency.currentCurrency, e(this).html()) : e(this).attr("data-currency-" + StyleHatch.shopCurrency, e(this).html());
1726                    }),
1727                    null == r.cookieCurrency
1728                        ? StyleHatch.shopCurrency !== StyleHatch.defaultCurrency
1729                            ? Currency.convertAll(StyleHatch.shopCurrency, StyleHatch.defaultCurrency)
1730                            : (Currency.currentCurrency = StyleHatch.defaultCurrency)
1731                        : e("[name=currencies]").size() && 0 === e("[name=currencies] option[value=" + r.cookieCurrency + "]").size()
1732                        ? ((Currency.currentCurrency = StyleHatch.shopCurrency), Currency.cookie.write(StyleHatch.shopCurrency))
1733                        : r.cookieCurrency === StyleHatch.shopCurrency
1734                        ? (Currency.currentCurrency = StyleHatch.shopCurrency)
1735                        : Currency.convertAll(StyleHatch.shopCurrency, r.cookieCurrency),
1736                    e("[name=currencies]")
1737                        .val(Currency.currentCurrency)
1738                        .change(function () {
1739                            var t = e(this).val();
1740                            Currency.convertAll(Currency.currentCurrency, t),
1741                                e(".selected-currency").text(Currency.currentCurrency),
1742                                e("p.currency-at-checkout").length > 0 && (Currency.currentCurrency == StyleHatch.shopCurrency ? e("p.currency-at-checkout").hide() : e("p.currency-at-checkout").show());
1743                        }),
1744                    e("[name=currencies]").val(Currency.currentCurrency).change();
1745            }
1746            var n = { body: "body", money: "span.money" },
1747                r = { enabled: !1 },
1748                i = {};
1749            return { init: a, config: r, convert: o };
1750        })()),
1751        (window.theme = window.theme || {}),
1752        (window.slate = window.slate || {}),
1753        (theme.Images = (function () {
1754            function e(e, t) {
1755                "string" == typeof e && (e = [e]);
1756                for (var a = 0; a < e.length; a++) {
1757                    var o = e[a];
1758                    this.loadImage(this.getSizedImageUrl(o, t));
1759                }
1760            }
1761            function t(e) {
1762                new Image().src = e;
1763            }
1764            function a(e, t, a) {
1765                var o = this.imageSize(t.src),
1766                    n = this.getSizedImageUrl(e.src, o);
1767                a ? a(n, e, t) : (t.src = n);
1768            }
1769            function o(e) {
1770                var t = e.match(/.+_((?:pico|icon|thumb|small|compact|medium|large|grande)|\d{1,4}x\d{0,4}|x\d{1,4})[_\.@]/);
1771                return null !== t ? t[1] : null;
1772            }
1773            function n(e, t) {
1774                if (null == t) return e;
1775                if ("master" === t) return this.removeProtocol(e);
1776                var a = e.match(/\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?$/i);
1777                if (null != a) {
1778                    var o = e.split(a[0]),
1779                        n = a[0];
1780                    return this.removeProtocol(o[0] + "_" + t + n);
1781                }
1782                return null;
1783            }
1784            function r(e) {
1785                return e.replace(/http(s)?:/, "");
1786            }
1787            return { preload: e, loadImage: t, switchImage: a, imageSize: o, getSizedImageUrl: n, removeProtocol: r };
1788        })()),
1789        (theme.Currency = (function () {
1790            function e(e, a) {
1791                function o(e, t, a, o) {
1792                    if (((t = slate.utils.defaultTo(t, 2)), (a = slate.utils.defaultTo(a, ",")), (o = slate.utils.defaultTo(o, ".")), isNaN(e) || null == e)) return 0;
1793                    e = (e / 100).toFixed(t);
1794                    var n = e.split("."),
1795                        r = n[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + a),
1796                        i = n[1] ? o + n[1] : "";
1797                    return r + i;
1798                }
1799                "string" == typeof e && (e = e.replace(".", ""));
1800                var n = "",
1801                    r = /\{\{\s*(\w+)\s*\}\}/,
1802                    i = a || t;
1803                switch (i.match(r)[1]) {
1804                    case "amount":
1805                        n = o(e, 2);
1806                        break;
1807                    case "amount_no_decimals":
1808                        n = o(e, 0);
1809                        break;
1810                    case "amount_with_comma_separator":
1811                        n = o(e, 2, ".", ",");
1812                        break;
1813                    case "amount_no_decimals_with_comma_separator":
1814                        n = o(e, 0, ".", ",");
1815                        break;
1816                    case "amount_no_decimals_with_space_separator":
1817                        n = o(e, 0, " ");
1818                }
1819                return i.replace(r, n);
1820            }
1821            var t = "${{amount}}";
1822            return { formatMoney: e };
1823        })()),
1824        (slate.utils = {
1825            findInstance: function (e, t, a) {
1826                for (var o = 0; o < e.length; o++) if (e[o][t] === a) return e[o];
1827            },
1828            removeInstance: function (e, t, a) {
1829                for (var o = e.length; o--; )
1830                    if (e[o][t] === a) {
1831                        e.splice(o, 1);
1832                        break;
1833                    }
1834                return e;
1835            },
1836            compact: function (e) {
1837                for (var t = -1, a = null == e ? 0 : e.length, o = 0, n = []; ++t < a; ) {
1838                    var r = e[t];
1839                    r && (n[o++] = r);
1840                }
1841                return n;
1842            },
1843            defaultTo: function (e, t) {
1844                return null == e || e !== e ? t : e;
1845            },
1846            debounce: function (e, t, a) {
1847                var o;
1848                return function () {
1849                    var n = this,
1850                        r = arguments,
1851                        i = function () {
1852                            (o = null), a || e.apply(n, r);
1853                        },
1854                        s = a && !o;
1855                    clearTimeout(o), (o = setTimeout(i, t)), s && e.apply(n, r);
1856                };
1857            },
1858        }),
1859        (slate.Variants = (function () {
1860            function t(t) {
1861                (this.$container = t.$container),
1862                    (this.product = t.product),
1863                    (this.singleOptionSelector = t.singleOptionSelector),
1864                    (this.originalSelectorId = t.originalSelectorId),
1865                    (this.enableHistoryState = t.enableHistoryState),
1866                    (this.enableSwatch = t.enableSwatch),
1867                    (this.currentVariant = this._getVariantFromOptions()),
1868                    e(this.singleOptionSelector, this.$container).on("change", this._onSelectChange.bind(this));
1869            }
1870            return (
1871                (t.prototype = e.extend({}, t.prototype, {
1872                    _getCurrentOptions: function () {
1873                        var t = e.map(e(this.singleOptionSelector, this.$container), function (t) {
1874                            var a = e(t),
1875                                o = a.attr("type"),
1876                                n = {};
1877                            return "radio" === o || "checkbox" === o ? !!a[0].checked && ((n.value = a.val()), (n.index = a.data("index")), n) : ((n.value = a.val()), (n.index = a.data("index")), n);
1878                        });
1879                        return (t = slate.utils.compact(t));
1880                    },
1881                    _getVariantFromOptions: function () {
1882                        var e = this._getCurrentOptions(),
1883                            t = this.product.variants,
1884                            a = !1;
1885                        return (
1886                            t.forEach(function (t) {
1887                                var o = !0;
1888                                t.options;
1889                                e.forEach(function (e) {
1890                                    o && (o = e.value === t[e.index]);
1891                                }),
1892                                    o && (a = t);
1893                            }),
1894                            a || null
1895                        );
1896                    },
1897                    _onSelectChange: function () {
1898                        var e = this._getVariantFromOptions();
1899                        this.$container.trigger({ type: "variantChange", variant: e }),
1900                            e && (this._updateMasterSelect(e), this._updateImages(e), this._updatePrice(e), this._updateSKU(e), (this.currentVariant = e), this.enableHistoryState && this._updateHistoryState(e));
1901                    },
1902                    _updateImages: function (e) {
1903                        var t = e.featured_image || {},
1904                            a = this.currentVariant.featured_image || {};
1905                        e.featured_image && t.src !== a.src && this.$container.trigger({ type: "variantImageChange", variant: e });
1906                    },
1907                    _updatePrice: function (e) {
1908                        (e.price === this.currentVariant.price && e.compare_at_price === this.currentVariant.compare_at_price) || this.$container.trigger({ type: "variantPriceChange", variant: e });
1909                    },
1910                    _updateSKU: function (e) {
1911                        e.sku !== this.currentVariant.sku && this.$container.trigger({ type: "variantSKUChange", variant: e });
1912                    },
1913                    _updateHistoryState: function (e) {
1914                        if (history.replaceState && e) {
1915                            var t = window.location.protocol + "//" + window.location.host + window.location.pathname + "?variant=" + e.id;
1916                            window.history.replaceState({ path: t }, "", t);
1917                        }
1918                    },
1919                    _updateMasterSelect: function (t) {
1920                        e(this.originalSelectorId, this.$container)[0].value = t.id;
1921                    },
1922                })),
1923                t
1924            );
1925        })()),
1926        e.fn.extend({
1927            productBox: function () {
1928                var t = e(this).find(".box.product figure");
1929                t.on("click", function (t) {
1930                    if (e(t.target).is(".vendor") || e(t.target).parent().is(".vendor"));
1931                    else {
1932                        t.preventDefault();
1933                        var a = e(this).find("a").attr("href");
1934                        t.shiftKey || t.ctrlKey || t.metaKey ? window.open(a, "_blank") : (window.location = a);
1935                    }
1936                }),
1937                    Modernizr.objectfit ||
1938                        t.find(".product_card__image-wrapper").each(function () {
1939                            var t = e(this),
1940                                a = t.find(".product_card__image.alt");
1941                            t.find("img").prop("src");
1942                            a.hide(), t.addClass("ie-fallback lazyload");
1943                        });
1944            },
1945            destroyProductBox: function () {
1946                var t = e(this).find(".box.product figure");
1947                t.off("click");
1948            },
1949            initNestedMenu: function () {
1950                var t = e(this),
1951                    a = t.find('a[aria-haspopup="true"]'),
1952                    o = function (e) {
1953                        var t = e.find("li.has-dropdown.expanded");
1954                        if (t.length > 0) {
1955                            t.removeClass("expanded");
1956                            var a = t.find("> a");
1957                            a.attr("aria-expanded", "false");
1958                            var o = t.find("> ul.dropdown");
1959                            o.attr("aria-hidden", "true"), o.slide
1959Up();
1960                            var r = o.find("a");
1961                            r.attr("tabindex", "-1"), n(e);
1962                        }
1963                    },
1964                    n = function (e) {
1965                        var t = e.find("li.has-sub-dropdown.expanded");
1966                        if (t.length > 0) {
1967                            t.removeClass("expanded");
1968                            var a = t.find("> a");
1969                            a.attr("aria-expanded", "false");
1970                            var o = t.find("> ul.sub-dropdown");
1971                            o.attr("aria-hidden", "true"), o.slideUp();
1972                            var r = o.find("a");
1973                            r.attr("tabindex", "-1"), n(e);
1974                        }
1975                    };
1976                a.on("click", function (t) {
1977                    var a = e(this),
1978                        r = a.parent(),
1979                        i = r.find("> ul"),
1980                        s = r.find("> ul > li > a"),
1981                        l = a.closest("ul.nested-menu");
1982                    "true" !== a.attr("aria-expanded") &&
1983                        (t.preventDefault(), r.hasClass("has-dropdown") ? o(l) : n(l), a.attr("aria-expanded", "true"), r.addClass("expanded"), i.attr("aria-hidden", "false"), s.attr("tabindex", "0"), i.slideDown());
1984                });
1985            },
1986            destroyNestedMenu: function () {
1987                var t = e(this),
1988                    a = t.find('a[aria-haspopup="true"]');
1989                a.off("click");
1990            },
1991        }),
1992        (StyleHatch.refreshFixTo = function () {
1993            StyleHatch.Promos.refreshFixTo();
1994            var t = e("*").filter(function () {
1995                return e(this).data("fixtoInstance");
1996            });
1997            t.each(function (t) {
1998                e(this).data("fixto-instance")._running && e(this).fixTo("refresh");
1999            });
2000        }),
2001        (StyleHatch.videoLayout = function () {
2002            e(".rte").fitVids();
2003        }),
2004        (StyleHatch.loginForms = function () {
2005            function e() {
2006                StyleHatch.cache.$recoverPasswordForm.show(), StyleHatch.cache.$customerLoginForm.hide();
2007            }
2008            function t() {
2009                StyleHatch.cache.$recoverPasswordForm.hide(), StyleHatch.cache.$customerLoginForm.show();
2010            }
2011            StyleHatch.cache.$recoverPasswordLink.on("click", function (t) {
2012                t.preventDefault(), e(), StyleHatch.updateHash("recover");
2013            }),
2014                StyleHatch.cache.$hideRecoverPasswordLink.on("click", function (e) {
2015                    e.preventDefault(), t(), StyleHatch.updateHash();
2016                }),
2017                "#recover" == StyleHatch.getHash() && e();
2018        }),
2019        (StyleHatch.initTemplates = function () {
2020            var e = StyleHatch.cache.$body,
2021                t = e.data("template");
2022            switch (t) {
2023                case "addresses":
2024                    StyleHatch.initCustomerAddressTemplate();
2025            }
2026        }),
2027        (StyleHatch.initCustomerAddressTemplate = function () {
2028            if (StyleHatch.addressJSValidation) {
2029                var t = e('.customer-address input[type="submit"]');
2030                t.on("click", function (t) {
2031                    var a = e(this).closest("form"),
2032                        o = a.find('input[name="address[last_name]"]'),
2033                        n = a.find('input[name="address[address1]"]'),
2034                        r = a.find('input[name="address[city]"]'),
2035                        i = a.find('select[name="address[country]"]'),
2036                        s = a.find('select[name="address[province]"]'),
2037                        l = a.find('input[name="address[zip]"]');
2038                    o.val() || o.addClass("required"),
2039                        n.val() || n.addClass("required"),
2040                        r.val() || r.addClass("required"),
2041                        "---" == i.val() && i.addClass("required"),
2042                        s.closest(".input-row").is(":visible") && ((s.val() && "---" != s.val() && "" != s.val()) || s.addClass("required")),
2043                        l.val() || l.addClass("required");
2044                    var c = a.find("input.required, select.required");
2045                    c.on("focus", function () {
2046                        e(this).removeClass("required");
2047                    }),
2048                        c.length > 0 ? (a.find("div.errors").parent().show(), t.preventDefault()) : a.find("div.errors").parent().hide();
2049                });
2050            }
2051        }),
2052        (StyleHatch.updateHash = function (t) {
2053            t
2054                ? ((window.location.hash = "#" + t),
2055                  e("#" + t)
2056                      .attr("tabindex", -1)
2057                      .focus())
2058                : (window.location.hash = "");
2059        }),
2060        (StyleHatch.getHash = function () {
2061            return window.location.hash;
2062        }),
2063        (StyleHatch.quantitySelect = function () {
2064            var t = e(".quantity-select");
2065            t.each(function () {
2066                var t = e(this),
2067                    a = t.find(".adjust-minus"),
2068                    o = t.find(".adjust-plus"),
2069                    n = t.find("input.quantity"),
2070                    r = n.val();
2071                a.on("click", function (e) {
2072                    (r = n.val()), r > 1 && (r--, n.val(r)), e.preventDefault();
2073                }),
2074                    o.on("click", function (e) {
2075                        (r = n.val()), r++, n.val(r), e.preventDefault();
2076                    });
2077            });
2078        }),
2079        (StyleHatch.resetPasswordSuccess = function () {
2080            StyleHatch.cache.$passwordResetSuccess.show();
2081        }),
2082        e(document).ready(function () {
2083            StyleHatch.init();
2084        });
2085})(jq223);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.