PageSourceSearch

https://hauptstrasse-bielefeld.de/wp-content/themes/wideviu/assets/js/dist/plugins.js

js hauptstrasse-bielefeld.de collected 2026-10-04 04:49:30 UTC 328,457 bytes, 5,708 lines download raw bytes

1/*! K3 ProdVersion 2020-06-12 03:06 */
2function _classCallCheck(instance, Constructor) {
3    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
4}
5
6function _classCallCheck(instance, Constructor) {
7    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
8}
9
10function _classCallCheck(instance, Constructor) {
11    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
12}
13
14function _classCallCheck(instance, Constructor) {
15    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
16}
17
18function _classCallCheck(instance, Constructor) {
19    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
20}
21
22function _classCallCheck(instance, Constructor) {
23    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
24}
25
26function _classCallCheck(instance, Constructor) {
27    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
28}
29
30function _classCallCheck(instance, Constructor) {
31    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
32}
33
34function _classCallCheck(instance, Constructor) {
35    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
36}
37
38function _classCallCheck(instance, Constructor) {
39    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
40}
41
42function _classCallCheck(instance, Constructor) {
43    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
44}
45
46function _classCallCheck(instance, Constructor) {
47    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
48}
49
50function _classCallCheck(instance, Constructor) {
51    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
52}
53
54function _classCallCheck(instance, Constructor) {
55    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
56}
57
58function _classCallCheck(instance, Constructor) {
59    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
60}
61
62function _classCallCheck(instance, Constructor) {
63    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
64}
65
66function _classCallCheck(instance, Constructor) {
67    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
68}
69
70function _classCallCheck(instance, Constructor) {
71    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
72}
73
74function _classCallCheck(instance, Constructor) {
75    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
76}
77
78function _classCallCheck(instance, Constructor) {
79    if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
80}
81
82!function(r, G, f, v) {
83    var J = f("html"), n = f(r), p = f(G), b = f.fancybox = function() {
84        b.open.apply(this, arguments);
85    }, I = navigator.userAgent.match(/msie/i), B = null, s = G.createTouch !== v, t = function(a) {
86        return a && a.hasOwnProperty && a instanceof f;
87    }, q = function(a) {
88        return a && "string" === f.type(a);
89    }, E = function(a) {
90        return q(a) && 0 < a.indexOf("%");
91    }, l = function(a, d) {
92        var e = parseInt(a, 10) || 0;
93        return d && E(a) && (e *= b.getViewport()[d] / 100), Math.ceil(e);
94    }, w = function(a, b) {
95        return l(a, b) + "px";
96    };
97    f.extend(b, {
98        version: "2.1.5",
99        defaults: {
100            padding: 15,
101            margin: 20,
102            width: 800,
103            height: 600,
104            minWidth: 100,
105            minHeight: 100,
106            maxWidth: 9999,
107            maxHeight: 9999,
108            pixelRatio: 1,
109            autoSize: !0,
110            autoHeight: !1,
111            autoWidth: !1,
112            autoResize: !0,
113            autoCenter: !s,
114            fitToView: !0,
115            aspectRatio: !1,
116            topRatio: .5,
117            leftRatio: .5,
118            scrolling: "auto",
119            wrapCSS: "",
120            arrows: !0,
121            closeBtn: !0,
122            closeClick: !1,
123            nextClick: !1,
124            mouseWheel: !0,
125            autoPlay: !1,
126            playSpeed: 3e3,
127            preload: 3,
128            modal: !1,
129            loop: !0,
130            ajax: {
131                dataType: "html",
132                headers: {
133                    "X-fancyBox": !0
134                }
135            },
136            iframe: {
137                scrolling: "auto",
138                preload: !0
139            },
140            swf: {
141                wmode: "transparent",
142                allowfullscreen: "true",
143                allowscriptaccess: "always"
144            },
145            keys: {
146                next: {
147                    13: "left",
148                    34: "up",
149                    39: "left",
150                    40: "up"
151                },
152                prev: {
153                    8: "right",
154                    33: "down",
155                    37: "right",
156                    38: "down"
157                },
158                close: [ 27 ],
159                play: [ 32 ],
160                toggle: [ 70 ]
161            },
162            direction: {
163                next: "left",
164                prev: "right"
165            },
166            scrollOutside: !0,
167            index: 0,
168            type: null,
169            href: null,
170            content: null,
171            title: null,
172            tpl: {
173                wrap: '<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',
174                image: '<img class="fancybox-image" src="{href}" alt="" />',
175                iframe: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (I ? ' allowtransparency="true"' : "") + "></iframe>",
176                error: '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
177                closeBtn: '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',
178                next: '<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
179                prev: '<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
180            },
181            openEffect: "fade",
182            openSpeed: 250,
183            openEasing: "swing",
184            openOpacity: !0,
185            openMethod: "zoomIn",
186            closeEffect: "fade",
187            closeSpeed: 250,
188            closeEasing: "swing",
189            closeOpacity: !0,
190            closeMethod: "zoomOut",
191            nextEffect: "elastic",
192            nextSpeed: 250,
193            nextEasing: "swing",
194            nextMethod: "changeIn",
195            prevEffect: "elastic",
196            prevSpeed: 250,
197            prevEasing: "swing",
198            prevMethod: "changeOut",
199            helpers: {
200                overlay: !0,
201                title: !0
202            },
203            onCancel: f.noop,
204            beforeLoad: f.noop,
205            afterLoad: f.noop,
206            beforeShow: f.noop,
207            afterShow: f.noop,
208            beforeChange: f.noop,
209            beforeClose: f.noop,
210            afterClose: f.noop
211        },
212        group: {},
213        opts: {},
214        previous: null,
215        coming: null,
216        current: null,
217        isActive: !1,
218        isOpen: !1,
219        isOpened: !1,
220        wrap: null,
221        skin: null,
222        outer: null,
223        inner: null,
224        player: {
225            timer: null,
226            isActive: !1
227        },
228        ajaxLoad: null,
229        imgPreload: null,
230        transitions: {},
231        helpers: {},
232        open: function(a, d) {
233            return a && (f.isPlainObject(d) || (d = {}), !1 !== b.close(!0)) ? (f.isArray(a) || (a = t(a) ? f(a).get() : [ a ]), 
234            f.each(a, function(e, c) {
235                var g, h, j, m, l, k = {};
236                "object" === f.type(c) && (c.nodeType && (c = f(c)), t(c) ? (k = {
237                    href: c.data("fancybox-href") || c.attr("href"),
238                    title: c.data("fancybox-title") || c.attr("title"),
239                    isDom: !0,
240                    element: c
241                }, f.metadata && f.extend(!0, k, c.metadata())) : k = c), g = d.href || k.href || (q(c) ? c : null), 
242                h = d.title !== v ? d.title : k.title || "", m = (j = d.content || k.content) ? "html" : d.type || k.type, 
243                !m && k.isDom && (m = c.data("fancybox-type"), m || (m = (m = c.prop("class").match(/fancybox\.(\w+)/)) ? m[1] : null)), 
244                q(g) && (m || (b.isImage(g) ? m = "image" : b.isSWF(g) ? m = "swf" : "#" === g.charAt(0) ? m = "inline" : q(c) && (m = "html", 
245                j = c)), "ajax" === m && (l = g.split(/\s+/, 2), g = l.shift(), l = l.shift())), 
246                j || ("inline" === m ? g ? j = f(q(g) ? g.replace(/.*(?=#[^\s]+$)/, "") : g) : k.isDom && (j = c) : "html" === m ? j = g : !m && !g && k.isDom && (m = "inline", 
247                j = c)), f.extend(k, {
248                    href: g,
249                    type: m,
250                    content: j,
251                    title: h,
252                    selector: l
253                }), a[e] = k;
254            }), b.opts = f.extend(!0, {}, b.defaults, d), d.keys !== v && (b.opts.keys = d.keys ? f.extend({}, b.defaults.keys, d.keys) : !1), 
255            b.group = a, b._start(b.opts.index)) : void 0;
256        },
257        cancel: function() {
258            var a = b.coming;
259            a && !1 !== b.trigger("onCancel") && (b.hideLoading(), b.ajaxLoad && b.ajaxLoad.abort(), 
260            b.ajaxLoad = null, b.imgPreload && (b.imgPreload.onload = b.imgPreload.onerror = null), 
261            a.wrap && a.wrap.stop(!0, !0).trigger("onReset").remove(), b.coming = null, b.current || b._afterZoomOut(a));
262        },
263        close: function(a) {
264            b.cancel(), !1 !== b.trigger("beforeClose") && (b.unbindEvents(), b.isActive && (b.isOpen && !0 !== a ? (b.isOpen = b.isOpened = !1, 
265            b.isClosing = !0, f(".fancybox-item, .fancybox-nav").remove(), b.wrap.stop(!0, !0).removeClass("fancybox-opened"), 
266            b.transitions[b.current.closeMethod]()) : (f(".fancybox-wrap").stop(!0).trigger("onReset").remove(), 
267            b._afterZoomOut())));
268        },
269        play: function(a) {
270            var d = function() {
271                clearTimeout(b.player.timer);
272            }, e = function() {
273                d(), b.current && b.player.isActive && (b.player.timer = setTimeout(b.next, b.current.playSpeed));
274            }, c = function() {
275                d(), p.unbind(".player"), b.player.isActive = !1, b.trigger("onPlayEnd");
276            };
277            !0 === a || !b.player.isActive && !1 !== a ? b.current && (b.current.loop || b.current.index < b.group.length - 1) && (b.player.isActive = !0, 
278            p.bind({
279                "onCancel.player beforeClose.player": c,
280                "onUpdate.player": e,
281                "beforeLoad.player": d
282            }), e(), b.trigger("onPlayStart")) : c();
283        },
284        next: function(a) {
285            var d = b.current;
286            d && (q(a) || (a = d.direction.next), b.jumpto(d.index + 1, a, "next"));
287        },
288        prev: function(a) {
289            var d = b.current;
290            d && (q(a) || (a = d.direction.prev), b.jumpto(d.index - 1, a, "prev"));
291        },
292        jumpto: function(a, d, e) {
293            var c = b.current;
294            c && (a = l(a), b.direction = d || c.direction[a >= c.index ? "next" : "prev"], 
295            b.router = e || "jumpto", c.loop && (0 > a && (a = c.group.length + a % c.group.length), 
296            a %= c.group.length), c.group[a] !== v && (b.cancel(), b._start(a)));
297        },
298        reposition: function(a, d) {
299            var k, e = b.current, c = e ? e.wrap : null;
300            c && (k = b._getPosition(d), a && "scroll" === a.type ? (delete k.position, c.stop(!0, !0).animate(k, 200)) : (c.css(k), 
301            e.pos = f.extend({}, e.dim, k)));
302        },
303        update: function(a) {
304            var d = a && a.type, e = !d || "orientationchange" === d;
305            e && (clearTimeout(B), B = null), b.isOpen && !B && (B = setTimeout(function() {
306                var c = b.current;
307                c && !b.isClosing && (b.wrap.removeClass("fancybox-tmp"), (e || "load" === d || "resize" === d && c.autoResize) && b._setDimension(), 
308                "scroll" === d && c.canShrink || b.reposition(a), b.trigger("onUpdate"), B = null);
309            }, e && !s ? 0 : 300));
310        },
311        toggle: function(a) {
312            b.isOpen && (b.current.fitToView = "boolean" === f.type(a) ? a : !b.current.fitToView, 
313            s && (b.wrap.removeAttr("style").addClass("fancybox-tmp"), b.trigger("onUpdate")), 
314            b.update());
315        },
316        hideLoading: function() {
317            p.unbind(".loading"), f("#fancybox-loading").remove();
318        },
319        showLoading: function() {
320            var a, d;
321            b.hideLoading(), a = f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body"), 
322            p.bind("keydown.loading", function(a) {
323                27 === (a.which || a.keyCode) && (a.preventDefault(), b.cancel());
324            }), b.defaults.fixed || (d = b.getViewport(), a.css({
325                position: "absolute",
326                top: .5 * d.h + d.y,
327                left: .5 * d.w + d.x
328            }));
329        },
330        getViewport: function() {
331            var a = b.current && b.current.locked || !1, d = {
332                x: n.scrollLeft(),
333                y: n.scrollTop()
334            };
335            return a ? (d.w = a[0].clientWidth, d.h = a[0].clientHeight) : (d.w = s && r.innerWidth ? r.innerWidth : n.width(), 
336            d.h = s && r.innerHeight ? r.innerHeight : n.height()), d;
337        },
338        unbindEvents: function() {
339            b.wrap && t(b.wrap) && b.wrap.unbind(".fb"), p.unbind(".fb"), n.unbind(".fb");
340        },
341        bindEvents: function() {
342            var d, a = b.current;
343            a && (n.bind("orientationchange.fb" + (s ? "" : " resize.fb") + (a.autoCenter && !a.locked ? " scroll.fb" : ""), b.update), 
344            (d = a.keys) && p.bind("keydown.fb", function(e) {
345                var c = e.which || e.keyCode, k = e.target || e.srcElement;
346                return 27 === c && b.coming ? !1 : void (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && (!k || !k.type && !f(k).is("[contenteditable]")) && f.each(d, function(d, k) {
347                    return 1 < a.group.length && k[c] !== v ? (b[d](k[c]), e.preventDefault(), !1) : -1 < f.inArray(c, k) ? (b[d](), 
348                    e.preventDefault(), !1) : void 0;
349                }));
350            }), f.fn.mousewheel && a.mouseWheel && b.wrap.bind("mousewheel.fb", function(d, c, k, g) {
351                for (var h = f(d.target || null), j = !1; h.length && !j && !h.is(".fancybox-skin") && !h.is(".fancybox-wrap"); ) j = h[0] && !(h[0].style.overflow && "hidden" === h[0].style.overflow) && (h[0].clientWidth && h[0].scrollWidth > h[0].clientWidth || h[0].clientHeight && h[0].scrollHeight > h[0].clientHeight), 
352                h = f(h).parent();
353                0 !== c && !j && 1 < b.group.length && !a.canShrink && (g > 0 || k > 0 ? b.prev(g > 0 ? "down" : "left") : (0 > g || 0 > k) && b.next(0 > g ? "up" : "right"), 
354                d.preventDefault());
355            }));
356        },
357        trigger: function(a, d) {
358            var e, c = d || b.coming || b.current;
359            if (c) {
360                if (f.isFunction(c[a]) && (e = c[a].apply(c, Array.prototype.slice.call(arguments, 1))), 
361                !1 === e) return !1;
362                c.helpers && f.each(c.helpers, function(d, e) {
363                    e && b.helpers[d] && f.isFunction(b.helpers[d][a]) && b.helpers[d][a](f.extend(!0, {}, b.helpers[d].defaults, e), c);
364                }), p.trigger(a);
365            }
366        },
367        isImage: function(a) {
368            return q(a) && a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i);
369        },
370        isSWF: function(a) {
371            return q(a) && a.match(/\.(swf)((\?|#).*)?$/i);
372        },
373        _start: function(a) {
374            var e, c, d = {};
375            if (a = l(a), e = b.group[a] || null, !e) return !1;
376            if (d = f.extend(!0, {}, b.opts, e), e = d.margin, c = d.padding, "number" === f.type(e) && (d.margin = [ e, e, e, e ]), 
377            "number" === f.type(c) && (d.padding = [ c, c, c, c ]), d.modal && f.extend(!0, d, {
378                closeBtn: !1,
379                closeClick: !1,
380                nextClick: !1,
381                arrows: !1,
382                mouseWheel: !1,
383                keys: null,
384                helpers: {
385                    overlay: {
386                        closeClick: !1
387                    }
388                }
389            }), d.autoSize && (d.autoWidth = d.autoHeight = !0), "auto" === d.width && (d.autoWidth = !0), 
390            "auto" === d.height && (d.autoHeight = !0), d.group = b.group, d.index = a, b.coming = d, 
391            !1 === b.trigger("beforeLoad")) b.coming = null; else {
392                if (c = d.type, e = d.href, !c) return b.coming = null, b.current && b.router && "jumpto" !== b.router ? (b.current.index = a, 
393                b[b.router](b.direction)) : !1;
394                if (b.isActive = !0, ("image" === c || "swf" === c) && (d.autoHeight = d.autoWidth = !1, 
395                d.scrolling = "visible"), "image" === c && (d.aspectRatio = !0), "iframe" === c && s && (d.scrolling = "scroll"), 
396                d.wrap = f(d.tpl.wrap).addClass("fancybox-" + (s ? "mobile" : "desktop") + " fancybox-type-" + c + " fancybox-tmp " + d.wrapCSS).appendTo(d.parent || "body"), 
397                f.extend(d, {
398                    skin: f(".fancybox-skin", d.wrap),
399                    outer: f(".fancybox-outer", d.wrap),
400                    inner: f(".fancybox-inner", d.wrap)
401                }), f.each([ "Top", "Right", "Bottom", "Left" ], function(a, b) {
402                    d.skin.css("padding" + b, w(d.padding[a]));
403                }), b.trigger("onReady"), "inline" === c || "html" === c) {
404                    if (!d.content || !d.content.length) return b._error("content");
405                } else if (!e) return b._error("href");
406                "image" === c ? b._loadImage() : "ajax" === c ? b._loadAjax() : "iframe" === c ? b._loadIframe() : b._afterLoad();
407            }
408        },
409        _error: function(a) {
410            f.extend(b.coming, {
411                type: "html",
412                autoWidth: !0,
413                autoHeight: !0,
414                minWidth: 0,
415                minHeight: 0,
416                scrolling: "no",
417                hasError: a,
418                content: b.coming.tpl.error
419            }), b._afterLoad();
420        },
421        _loadImage: function() {
422            var a = b.imgPreload = new Image();
423            a.onload = function() {
424                this.onload = this.onerror = null, b.coming.width = this.width / b.opts.pixelRatio, 
425                b.coming.height = this.height / b.opts.pixelRatio, b._afterLoad();
426            }, a.onerror = function() {
427                this.onload = this.onerror = null, b._error("image");
428            }, a.src = b.coming.href, !0 !== a.complete && b.showLoading();
429        },
430        _loadAjax: function() {
431            var a = b.coming;
432            b.showLoading(), b.ajaxLoad = f.ajax(f.extend({}, a.ajax, {
433                url: a.href,
434                error: function(a, e) {
435                    b.coming && "abort" !== e ? b._error("ajax", a) : b.hideLoading();
436                },
437                success: function(d, e) {
438                    "success" === e && (a.content = d, b._afterLoad());
439                }
440            }));
441        },
442        _loadIframe: function() {
443            var a = b.coming, d = f(a.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime())).attr("scrolling", s ? "auto" : a.iframe.scrolling).attr("src", a.href);
444            f(a.wrap).bind("onReset", function() {
445                try {
446                    f(this).find("iframe").hide().attr("src", "//about:blank").end().empty();
447                } catch (a) {}
448            }), a.iframe.preload && (b.showLoading(), d.one("load", function() {
449                f(this).data("ready", 1), s || f(this).bind("load.fb", b.update), f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show(), 
450                b._afterLoad();
451            })), a.content = d.appendTo(a.inner), a.iframe.preload || b._afterLoad();
452        },
453        _preloadImages: function() {
454            var f, g, a = b.group, d = b.current, e = a.length, c = d.preload ? Math.min(d.preload, e - 1) : 0;
455            for (g = 1; c >= g; g += 1) f = a[(d.index + g) % e], "image" === f.type && f.href && (new Image().src = f.href);
456        },
457        _afterLoad: function() {
458            var e, c, k, g, h, a = b.coming, d = b.current;
459            if (b.hideLoading(), a && !1 !== b.isActive) if (!1 === b.trigger("afterLoad", a, d)) a.wrap.stop(!0).trigger("onReset").remove(), 
460            b.coming = null; else {
461                switch (d && (b.trigger("beforeChange", d), d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove()), 
462                b.unbindEvents(), e = a.content, c = a.type, k = a.scrolling, f.extend(b, {
463                    wrap: a.wrap,
464                    skin: a.skin,
465                    outer: a.outer,
466                    inner: a.inner,
467                    current: a,
468                    previous: d
469                }), g = a.href, c) {
470                  case "inline":
471                  case "ajax":
472                  case "html":
473                    a.selector ? e = f("<div>").html(e).find(a.selector) : t(e) && (e.data("fancybox-placeholder") || e.data("fancybox-placeholder", f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()), 
474                    e = e.show().detach(), a.wrap.bind("onReset", function() {
475                        f(this).find(e).length && e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder", !1);
476                    }));
477                    break;
478
479                  case "image":
480                    e = a.tpl.image.replace("{href}", g);
481                    break;
482
483                  case "swf":
484                    e = '<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="' + g + '"></param>', 
485                    h = "", f.each(a.swf, function(a, b) {
486                        e += '<param name="' + a + '" value="' + b + '"></param>', h += " " + a + '="' + b + '"';
487                    }), e += '<embed src="' + g + '" type="application/x-shockwave-flash" width="100%" height="100%"' + h + "></embed></object>";
488                }
489                (!t(e) || !e.parent().is(a.inner)) && a.inner.append(e), b.trigger("beforeShow"), 
490                a.inner.css("overflow", "yes" === k ? "scroll" : "no" === k ? "hidden" : k), b._setDimension(), 
491                b.reposition(), b.isOpen = !1, b.coming = null, b.bindEvents(), b.isOpened ? d.prevMethod && b.transitions[d.prevMethod]() : f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove(), 
492                b.transitions[b.isOpened ? a.nextMethod : a.openMethod](), b._preloadImages();
493            }
494        },
495        _setDimension: function() {
496            var v, z, t, C, A, F, B, D, H, a = b.getViewport(), d = 0, e = !1, c = !1, e = b.wrap, k = b.skin, g = b.inner, h = b.current, c = h.width, j = h.height, m = h.minWidth, u = h.minHeight, n = h.maxWidth, p = h.maxHeight, s = h.scrolling, q = h.scrollOutside ? h.scrollbarWidth : 0, x = h.margin, y = l(x[1] + x[3]), r = l(x[0] + x[2]);
497            if (e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp"), x = l(k.outerWidth(!0) - k.width()), 
498            v = l(k.outerHeight(!0) - k.height()), z = y + x, t = r + v, C = E(c) ? (a.w - z) * l(c) / 100 : c, 
499            A = E(j) ? (a.h - t) * l(j) / 100 : j, "iframe" === h.type) {
500                if (H = h.content, h.autoHeight && 1 === H.data("ready")) try {
501                    H[0].contentWindow.document.location && (g.width(C).height(9999), F = H.contents().find("body"), 
502                    q && F.css("overflow-x", "hidden"), A = F.outerHeight(!0));
503                } catch (G) {}
504            } else (h.autoWidth || h.autoHeight) && (g.addClass("fancybox-tmp"), h.autoWidth || g.width(C), 
505            h.autoHeight || g.height(A), h.autoWidth && (C = g.width()), h.autoHeight && (A = g.height()), 
506            g.removeClass("fancybox-tmp"));
507            if (c = l(C), j = l(A), D = C / A, m = l(E(m) ? l(m, "w") - z : m), n = l(E(n) ? l(n, "w") - z : n), 
508            u = l(E(u) ? l(u, "h") - t : u), p = l(E(p) ? l(p, "h") - t : p), F = n, B = p, 
509            h.fitToView && (n = Math.min(a.w - z, n), p = Math.min(a.h - t, p)), z = a.w - y, 
510            r = a.h - r, h.aspectRatio ? (c > n && (c = n, j = l(c / D)), j > p && (j = p, c = l(j * D)), 
511            m > c && (c = m, j = l(c / D)), u >
511 j && (j = u, c = l(j * D))) : (c = Math.max(m, Math.min(c, n)), 
512            h.autoHeight && "iframe" !== h.type && (g.width(c), j = g.height()), j = Math.max(u, Math.min(j, p))), 
513            h.fitToView) if (g.width(c).height(j), e.width(c + x), a = e.width(), y = e.height(), 
514            h.aspectRatio) for (;(a > z || y > r) && c > m && j > u && !(19 < d++); ) j = Math.max(u, Math.min(p, j - 10)), 
515            c = l(j * D), m > c && (c = m, j = l(c / D)), c > n && (c = n, j = l(c / D)), g.width(c).height(j), 
516            e.width(c + x), a = e.width(), y = e.height(); else c = Math.max(m, Math.min(c, c - (a - z))), 
517            j = Math.max(u, Math.min(j, j - (y - r)));
518            q && "auto" === s && A > j && z > c + x + q && (c += q), g.width(c).height(j), e.width(c + x), 
519            a = e.width(), y = e.height(), e = (a > z || y > r) && c > m && j > u, c = h.aspectRatio ? F > c && B > j && C > c && A > j : (F > c || B > j) && (C > c || A > j), 
520            f.extend(h, {
521                dim: {
522                    width: w(a),
523                    height: w(y)
524                },
525                origWidth: C,
526                origHeight: A,
527                canShrink: e,
528                canExpand: c,
529                wPadding: x,
530                hPadding: v,
531                wrapSpace: y - k.outerHeight(!0),
532                skinSpace: k.height() - j
533            }), !H && h.autoHeight && j > u && p > j && !c && g.height("auto");
534        },
535        _getPosition: function(a) {
536            var d = b.current, e = b.getViewport(), c = d.margin, f = b.wrap.width() + c[1] + c[3], g = b.wrap.height() + c[0] + c[2], c = {
537                position: "absolute",
538                top: c[0],
539                left: c[3]
540            };
541            return d.autoCenter && d.fixed && !a && g <= e.h && f <= e.w ? c.position = "fixed" : d.locked || (c.top += e.y, 
542            c.left += e.x), c.top = w(Math.max(c.top, c.top + (e.h - g) * d.topRatio)), c.left = w(Math.max(c.left, c.left + (e.w - f) * d.leftRatio)), 
543            c;
544        },
545        _afterZoomIn: function() {
546            var a = b.current;
547            a && (b.isOpen = b.isOpened = !0, b.wrap.css("overflow", "visible").addClass("fancybox-opened"), 
548            b.update(), (a.closeClick || a.nextClick && 1 < b.group.length) && b.inner.css("cursor", "pointer").bind("click.fb", function(d) {
549                !f(d.target).is("a") && !f(d.target).parent().is("a") && (d.preventDefault(), b[a.closeClick ? "close" : "next"]());
550            }), a.closeBtn && f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb", function(a) {
551                a.preventDefault(), b.close();
552            }), a.arrows && 1 < b.group.length && ((a.loop || 0 < a.index) && f(a.tpl.prev).appendTo(b.outer).bind("click.fb", b.prev), 
553            (a.loop || a.index < b.group.length - 1) && f(a.tpl.next).appendTo(b.outer).bind("click.fb", b.next)), 
554            b.trigger("afterShow"), a.loop || a.index !== a.group.length - 1 ? b.opts.autoPlay && !b.player.isActive && (b.opts.autoPlay = !1, 
555            b.play()) : b.play(!1));
556        },
557        _afterZoomOut: function(a) {
558            a = a || b.current, f(".fancybox-wrap").trigger("onReset").remove(), f.extend(b, {
559                group: {},
560                opts: {},
561                router: !1,
562                current: null,
563                isActive: !1,
564                isOpened: !1,
565                isOpen: !1,
566                isClosing: !1,
567                wrap: null,
568                skin: null,
569                outer: null,
570                inner: null
571            }), b.trigger("afterClose", a);
572        }
573    }), b.transitions = {
574        getOrigPosition: function() {
575            var a = b.current, d = a.element, e = a.orig, c = {}, f = 50, g = 50, h = a.hPadding, j = a.wPadding, m = b.getViewport();
576            return !e && a.isDom && d.is(":visible") && (e = d.find("img:first"), e.length || (e = d)), 
577            t(e) ? (c = e.offset(), e.is("img") && (f = e.outerWidth(), g = e.outerHeight())) : (c.top = m.y + (m.h - g) * a.topRatio, 
578            c.left = m.x + (m.w - f) * a.leftRatio), ("fixed" === b.wrap.css("position") || a.locked) && (c.top -= m.y, 
579            c.left -= m.x), c = {
580                top: w(c.top - h * a.topRatio),
581                left: w(c.left - j * a.leftRatio),
582                width: w(f + j),
583                height: w(g + h)
584            };
585        },
586        step: function(a, d) {
587            var e, c, f = d.prop;
588            c = b.current;
589            var g = c.wrapSpace, h = c.skinSpace;
590            ("width" === f || "height" === f) && (e = d.end === d.start ? 1 : (a - d.start) / (d.end - d.start), 
591            b.isClosing && (e = 1 - e), c = "width" === f ? c.wPadding : c.hPadding, c = a - c, 
592            b.skin[f](l("width" === f ? c : c - g * e)), b.inner[f](l("width" === f ? c : c - g * e - h * e)));
593        },
594        zoomIn: function() {
595            var a = b.current, d = a.pos, e = a.openEffect, c = "elastic" === e, k = f.extend({
596                opacity: 1
597            }, d);
598            delete k.position, c ? (d = this.getOrigPosition(), a.openOpacity && (d.opacity = .1)) : "fade" === e && (d.opacity = .1), 
599            b.wrap.css(d).animate(k, {
600                duration: "none" === e ? 0 : a.openSpeed,
601                easing: a.openEasing,
602                step: c ? this.step : null,
603                complete: b._afterZoomIn
604            });
605        },
606        zoomOut: function() {
607            var a = b.current, d = a.closeEffect, e = "elastic" === d, c = {
608                opacity: .1
609            };
610            e && (c = this.getOrigPosition(), a.closeOpacity && (c.opacity = .1)), b.wrap.animate(c, {
611                duration: "none" === d ? 0 : a.closeSpeed,
612                easing: a.closeEasing,
613                step: e ? this.step : null,
614                complete: b._afterZoomOut
615            });
616        },
617        changeIn: function() {
618            var g, a = b.current, d = a.nextEffect, e = a.pos, c = {
619                opacity: 1
620            }, f = b.direction;
621            e.opacity = .1, "elastic" === d && (g = "down" === f || "up" === f ? "top" : "left", 
622            "down" === f || "right" === f ? (e[g] = w(l(e[g]) - 200), c[g] = "+=200px") : (e[g] = w(l(e[g]) + 200), 
623            c[g] = "-=200px")), "none" === d ? b._afterZoomIn() : b.wrap.css(e).animate(c, {
624                duration: a.nextSpeed,
625                easing: a.nextEasing,
626                complete: b._afterZoomIn
627            });
628        },
629        changeOut: function() {
630            var a = b.previous, d = a.prevEffect, e = {
631                opacity: .1
632            }, c = b.direction;
633            "elastic" === d && (e["down" === c || "up" === c ? "top" : "left"] = ("up" === c || "left" === c ? "-" : "+") + "=200px"), 
634            a.wrap.animate(e, {
635                duration: "none" === d ? 0 : a.prevSpeed,
636                easing: a.prevEasing,
637                complete: function() {
638                    f(this).trigger("onReset").remove();
639                }
640            });
641        }
642    }, b.helpers.overlay = {
643        defaults: {
644            closeClick: !0,
645            speedOut: 200,
646            showEarly: !0,
647            css: {},
648            locked: !s,
649            fixed: !0
650        },
651        overlay: null,
652        fixed: !1,
653        el: f("html"),
654        create: function(a) {
655            a = f.extend({}, this.defaults, a), this.overlay && this.close(), this.overlay = f('<div class="fancybox-overlay"></div>').appendTo(b.coming ? b.coming.parent : a.parent), 
656            this.fixed = !1, a.fixed && b.defaults.fixed && (this.overlay.addClass("fancybox-overlay-fixed"), 
657            this.fixed = !0);
658        },
659        open: function(a) {
660            var d = this;
661            a = f.extend({}, this.defaults, a), this.overlay ? this.overlay.unbind(".overlay").width("auto").height("auto") : this.create(a), 
662            this.fixed || (n.bind("resize.overlay", f.proxy(this.update, this)), this.update()), 
663            a.closeClick && this.overlay.bind("click.overlay", function(a) {
664                return f(a.target).hasClass("fancybox-overlay") ? (b.isActive ? b.close() : d.close(), 
665                !1) : void 0;
666            }), this.overlay.css(a.css).show();
667        },
668        close: function() {
669            var a, b;
670            n.unbind("resize.overlay"), this.el.hasClass("fancybox-lock") && (f(".fancybox-margin").removeClass("fancybox-margin"), 
671            a = n.scrollTop(), b = n.scrollLeft(), this.el.removeClass("fancybox-lock"), n.scrollTop(a).scrollLeft(b)), 
672            f(".fancybox-overlay").remove().hide(), f.extend(this, {
673                overlay: null,
674                fixed: !1
675            });
676        },
677        update: function() {
678            var b, a = "100%";
679            this.overlay.width(a).height("100%"), I ? (b = Math.max(G.documentElement.offsetWidth, G.body.offsetWidth), 
680            p.width() > b && (a = p.width())) : p.width() > n.width() && (a = p.width()), this.overlay.width(a).height(p.height());
681        },
682        onReady: function(a, b) {
683            var e = this.overlay;
684            f(".fancybox-overlay").stop(!0, !0), e || this.create(a), a.locked && this.fixed && b.fixed && (e || (this.margin = p.height() > n.height() ? f("html").css("margin-right").replace("px", "") : !1), 
685            b.locked = this.overlay.append(b.wrap), b.fixed = !1), !0 === a.showEarly && this.beforeShow.apply(this, arguments);
686        },
687        beforeShow: function(a, b) {
688            var e, c;
689            b.locked && (!1 !== this.margin && (f("*").filter(function() {
690                return "fixed" === f(this).css("position") && !f(this).hasClass("fancybox-overlay") && !f(this).hasClass("fancybox-wrap");
691            }).addClass("fancybox-margin"), this.el.addClass("fancybox-margin")), e = n.scrollTop(), 
692            c = n.scrollLeft(), this.el.addClass("fancybox-lock"), n.scrollTop(e).scrollLeft(c)), 
693            this.open(a);
694        },
695        onUpdate: function() {
696            this.fixed || this.update();
697        },
698        afterClose: function(a) {
699            this.overlay && !b.coming && this.overlay.fadeOut(a.speedOut, f.proxy(this.close, this));
700        }
701    }, b.helpers.title = {
702        defaults: {
703            type: "float",
704            position: "bottom"
705        },
706        beforeShow: function(a) {
707            var d = b.current, e = d.title, c = a.type;
708            if (f.isFunction(e) && (e = e.call(d.element, d)), q(e) && "" !== f.trim(e)) {
709                switch (d = f('<div class="fancybox-title fancybox-title-' + c + '-wrap">' + e + "</div>"), 
710                c) {
711                  case "inside":
712                    c = b.skin;
713                    break;
714
715                  case "outside":
716                    c = b.wrap;
717                    break;
718
719                  case "over":
720                    c = b.inner;
721                    break;
722
723                  default:
724                    c = b.skin, d.appendTo("body"), I && d.width(d.width()), d.wrapInner('<span class="child"></span>'), 
725                    b.current.margin[2] += Math.abs(l(d.css("margin-bottom")));
726                }
727                d["top" === a.position ? "prependTo" : "appendTo"](c);
728            }
729        }
730    }, f.fn.fancybox = function(a) {
731        var d, e = f(this), c = this.selector || "", k = function(g) {
732            var k, l, h = f(this).blur(), j = d;
733            !g.ctrlKey && !g.altKey && !g.shiftKey && !g.metaKey && !h.is(".fancybox-wrap") && (k = a.groupAttr || "data-fancybox-group", 
734            l = h.attr(k), l || (k = "rel", l = h.get(0)[k]), l && "" !== l && "nofollow" !== l && (h = c.length ? f(c) : e, 
735            h = h.filter("[" + k + '="' + l + '"]'), j = h.index(this)), a.index = j, !1 !== b.open(h, a) && g.preventDefault());
736        };
737        return a = a || {}, d = a.index || 0, c && !1 !== a.live ? p.undelegate(c, "click.fb-start").delegate(c + ":not('.fancybox-item, .fancybox-nav')", "click.fb-start", k) : e.unbind("click.fb-start").bind("click.fb-start", k), 
738        this.filter("[data-fancybox-start=1]").trigger("click"), this;
739    }, p.ready(function() {
740        var a, d;
741        if (f.scrollbarWidth === v && (f.scrollbarWidth = function() {
742            var a = f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"), b = a.children(), b = b.innerWidth() - b.height(99).innerWidth();
743            return a.remove(), b;
744        }), f.support.fixedPosition === v) {
745            a = f.support, d = f('<div style="position:fixed;top:20px;"></div>').appendTo("body");
746            var e = 20 === d[0].offsetTop || 15 === d[0].offsetTop;
747            d.remove(), a.fixedPosition = e;
748        }
749        f.extend(b.defaults, {
750            scrollbarWidth: f.scrollbarWidth(),
751            fixed: f.support.fixedPosition,
752            parent: f("body")
753        }), a = f(r).width(), J.addClass("fancybox-lock-test"), d = f(r).width(), J.removeClass("fancybox-lock-test"), 
754        f("<style type='text/css'>.fancybox-margin{margin-right:" + (d - a) + "px;}</style>").appendTo("head");
755    });
756}(window, document, jQuery), function() {
757    "use strict";
758    function FastClick(layer, options) {
759        function bind(method, context) {
760            return function() {
761                return method.apply(context, arguments);
762            };
763        }
764        var oldOnClick;
765        if (options = options || {}, this.trackingClick = !1, this.trackingClickStart = 0, 
766        this.targetElement = null, this.touchStartX = 0, this.touchStartY = 0, this.lastTouchIdentifier = 0, 
767        this.touchBoundary = options.touchBoundary || 10, this.layer = layer, this.tapDelay = options.tapDelay || 200, 
768        this.tapTimeout = options.tapTimeout || 700, !FastClick.notNeeded(layer)) {
769            for (var methods = [ "onMouse", "onClick", "onTouchStart", "onTouchMove", "onTouchEnd", "onTouchCancel" ], context = this, i = 0, l = methods.length; l > i; i++) context[methods[i]] = bind(context[methods[i]], context);
770            deviceIsAndroid && (layer.addEventListener("mouseover", this.onMouse, !0), layer.addEventListener("mousedown", this.onMouse, !0), 
771            layer.addEventListener("mouseup", this.onMouse, !0)), layer.addEventListener("click", this.onClick, !0), 
772            layer.addEventListener("touchstart", this.onTouchStart, !1), layer.addEventListener("touchmove", this.onTouchMove, !1), 
773            layer.addEventListener("touchend", this.onTouchEnd, !1), layer.addEventListener("touchcancel", this.onTouchCancel, 
773!1), 
774            Event.prototype.stopImmediatePropagation || (layer.removeEventListener = function(type, callback, capture) {
775                var rmv = Node.prototype.removeEventListener;
776                "click" === type ? rmv.call(layer, type, callback.hijacked || callback, capture) : rmv.call(layer, type, callback, capture);
777            }, layer.addEventListener = function(type, callback, capture) {
778                var adv = Node.prototype.addEventListener;
779                "click" === type ? adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) {
780                    event.propagationStopped || callback(event);
781                }), capture) : adv.call(layer, type, callback, capture);
782            }), "function" == typeof layer.onclick && (oldOnClick = layer.onclick, layer.addEventListener("click", function(event) {
783                oldOnClick(event);
784            }, !1), layer.onclick = null);
785        }
786    }
787    var deviceIsWindowsPhone = navigator.userAgent.indexOf("Windows Phone") >= 0, deviceIsAndroid = navigator.userAgent.indexOf("Android") > 0 && !deviceIsWindowsPhone, deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent) && !deviceIsWindowsPhone, deviceIsIOS4 = deviceIsIOS && /OS 4_\d(_\d)?/.test(navigator.userAgent), deviceIsIOSWithBadTarget = deviceIsIOS && /OS [6-7]_\d/.test(navigator.userAgent), deviceIsBlackBerry10 = navigator.userAgent.indexOf("BB10") > 0;
788    FastClick.prototype.needsClick = function(target) {
789        switch (target.nodeName.toLowerCase()) {
790          case "button":
791          case "select":
792          case "textarea":
793            if (target.disabled) return !0;
794            break;
795
796          case "input":
797            if (deviceIsIOS && "file" === target.type || target.disabled) return !0;
798            break;
799
800          case "label":
801          case "iframe":
802          case "video":
803            return !0;
804        }
805        return /\bneedsclick\b/.test(target.className);
806    }, FastClick.prototype.needsFocus = function(target) {
807        switch (target.nodeName.toLowerCase()) {
808          case "textarea":
809            return !0;
810
811          case "select":
812            return !deviceIsAndroid;
813
814          case "input":
815            switch (target.type) {
816              case "button":
817              case "checkbox":
818              case "file":
819              case "image":
820              case "radio":
821              case "submit":
822                return !1;
823            }
824            return !target.disabled && !target.readOnly;
825
826          default:
827            return /\bneedsfocus\b/.test(target.className);
828        }
829    }, FastClick.prototype.sendClick = function(targetElement, event) {
830        var clickEvent, touch;
831        document.activeElement && document.activeElement !== targetElement && document.activeElement.blur(), 
832        touch = event.changedTouches[0], clickEvent = document.createEvent("MouseEvents"), 
833        clickEvent.initMouseEvent(this.determineEventType(targetElement), !0, !0, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, !1, !1, !1, !1, 0, null), 
834        clickEvent.forwardedTouchEvent = !0, targetElement.dispatchEvent(clickEvent);
835    }, FastClick.prototype.determineEventType = function(targetElement) {
836        return deviceIsAndroid && "select" === targetElement.tagName.toLowerCase() ? "mousedown" : "click";
837    }, FastClick.prototype.focus = function(targetElement) {
838        var length;
839        deviceIsIOS && targetElement.setSelectionRange && 0 !== targetElement.type.indexOf("date") && "time" !== targetElement.type && "month" !== targetElement.type ? (length = targetElement.value.length, 
840        targetElement.setSelectionRange(length, length)) : targetElement.focus();
841    }, FastClick.prototype.updateScrollParent = function(targetElement) {
842        var scrollParent, parentElement;
843        if (scrollParent = targetElement.fastClickScrollParent, !scrollParent || !scrollParent.contains(targetElement)) {
844            parentElement = targetElement;
845            do {
846                if (parentElement.scrollHeight > parentElement.offsetHeight) {
847                    scrollParent = parentElement, targetElement.fastClickScrollParent = parentElement;
848                    break;
849                }
850                parentElement = parentElement.parentElement;
851            } while (parentElement);
852        }
853        scrollParent && (scrollParent.fastClickLastScrollTop = scrollParent.scrollTop);
854    }, FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {
855        return eventTarget.nodeType === Node.TEXT_NODE ? eventTarget.parentNode : eventTarget;
856    }, FastClick.prototype.onTouchStart = function(event) {
857        var targetElement, touch, selection;
858        if (event.targetTouches.length > 1) return !0;
859        if (targetElement = this.getTargetElementFromEventTarget(event.target), touch = event.targetTouches[0], 
860        deviceIsIOS) {
861            if (selection = window.getSelection(), selection.rangeCount && !selection.isCollapsed) return !0;
862            if (!deviceIsIOS4) {
863                if (touch.identifier && touch.identifier === this.lastTouchIdentifier) return event.preventDefault(), 
864                !1;
865                this.lastTouchIdentifier = touch.identifier, this.updateScrollParent(targetElement);
866            }
867        }
868        return this.trackingClick = !0, this.trackingClickStart = event.timeStamp, this.targetElement = targetElement, 
869        this.touchStartX = touch.pageX, this.touchStartY = touch.pageY, event.timeStamp - this.lastClickTime < this.tapDelay && event.preventDefault(), 
870        !0;
871    }, FastClick.prototype.touchHasMoved = function(event) {
872        var touch = event.changedTouches[0], boundary = this.touchBoundary;
873        return Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary ? !0 : !1;
874    }, FastClick.prototype.onTouchMove = function(event) {
875        return this.trackingClick ? ((this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) && (this.trackingClick = !1, 
876        this.targetElement = null), !0) : !0;
877    }, FastClick.prototype.findControl = function(labelElement) {
878        return void 0 !== labelElement.control ? labelElement.control : labelElement.htmlFor ? document.getElementById(labelElement.htmlFor) : labelElement.querySelector("button, input
878:not([type=hidden]), keygen, meter, output, progress, select, textarea");
879    }, FastClick.prototype.onTouchEnd = function(event) {
880        var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;
881        if (!this.trackingClick) return !0;
882        if (event.timeStamp - this.lastClickTime < this.tapDelay) return this.cancelNextClick = !0, 
883        !0;
884        if (event.timeStamp - this.trackingClickStart > this.tapTimeout) return !0;
885        if (this.cancelNextClick = !1, this.lastClickTime = event.timeStamp, trackingClickStart = this.trackingClickStart, 
886        this.trackingClick = !1, this.trackingClickStart = 0, deviceIsIOSWithBadTarget && (touch = event.changedTouches[0], 
887        targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement, 
888        targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent), 
889        targetTagName = targetElement.tagName.toLowerCase(), "label" === targetTagName) {
890            if (forElement = this.findControl(targetElement)) {
891                if (this.focus(targetElement), deviceIsAndroid) return !1;
892                targetElement = forElement;
893            }
894        } else if (this.needsFocus(targetElement)) return event.timeStamp - trackingClickStart > 100 || deviceIsIOS && window.top !== window && "input" === targetTagName ? (this.targetElement = null, 
895        !1) : (this.focus(targetElement), this.sendClick(targetElement, event), deviceIsIOS && "select" === targetTagName || (this.targetElement = null, 
896        event.preventDefault()), !1);
897        return deviceIsIOS && !deviceIsIOS4 && (scrollParent = targetElement.fastClickScrollParent, 
898        scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) ? !0 : (this.needsClick(targetElement) || (event.preventDefault(), 
899        this.sendClick(targetElement, event)), !1);
900    }, FastClick.prototype.onTouchCancel = function() {
901        this.trackingClick = !1, this.targetElement = null;
902    }, FastClick.prototype.onMouse = function(event) {
903        return this.targetElement ? event.forwardedTouchEvent ? !0 : event.cancelable && (!this.needsClick(this.targetElement) || this.cancelNextClick) ? (event.stopImmediatePropagation ? event.stopImmediatePropagation() : event.propagationStopped = !0, 
904        event.stopPropagation(), event.preventDefault(), !1) : !0 : !0;
905    }, FastClick.prototype.onClick = function(event) {
906        var permitted;
907        return this.trackingClick ? (this.targetElement = null, this.trackingClick = !1, 
908        !0) : "submit" === event.target.type && 0 === event.detail ? !0 : (permitted = this.onMouse(event), 
909        permitted || (this.targetElement = null), permitted);
910    }, FastClick.prototype.destroy = function() {
911        var layer = this.layer;
912        deviceIsAndroid && (layer.removeEventListener("mouseover", this.onMouse, !0), layer.removeEventListener("mousedown", this.onMouse, !0), 
913        layer.removeEventListener("mouseup", this.onMouse, !0)), layer.removeEventListener("click", this.onClick, !0), 
914        layer.removeEventListener("touchstart", this.onTouchStart, !1), layer.removeEventListener("touchmove", this.onTouchMove, !1), 
915        layer.removeEventListener("touchend", this.onTouchEnd, !1), layer.removeEventListener("touchcancel", this.onTouchCancel, !1);
916    }, FastClick.notNeeded = function(layer) {
917        var metaViewport, chromeVersion, blackberryVersion, firefoxVersion;
918        if ("undefined" == typeof window.ontouchstart) return !0;
919        if (chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [ , 0 ])[1]) {
920            if (!deviceIsAndroid) return !0;
921            if (metaViewport = document.querySelector("meta[name=viewport]")) {
922                if (-1 !== metaViewport.content.indexOf("user-scalable=no")) return !0;
923                if (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) return !0;
924            }
925        }
926        if (deviceIsBlackBerry10 && (blackberryVersion = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/), 
927        blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3 && (metaViewport = document.querySelector("meta[name=viewport]")))) {
928            if (-1 !== metaViewport.content.indexOf("user-scalable=no")) return !0;
929            if (document.documentElement.scrollWidth <= window.outerWidth) return !0;
930        }
931        return "none" === layer.style.msTouchAction || "manipulation" === layer.style.touchAction ? !0 : (firefoxVersion = +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [ , 0 ])[1], 
932        firefoxVersion >= 27 && (metaViewport = document.querySelector("meta[name=viewport]"), 
933        metaViewport && (-1 !== metaViewport.content.indexOf("user-scalable=no") || document.documentElement.scrollWidth <= window.outerWidth)) ? !0 : "none" === layer.style.touchAction || "manipulation" === layer.style.touchAction ? !0 : !1);
934    }, FastClick.attach = function(layer, options) {
935        return new FastClick(layer, options);
936    }, "function" == typeof define && "object" == typeof define.amd && define.amd ? define(function() {
937        return FastClick;
938    }) : "undefined" != typeof module && module.exports ? (module.exports = FastClick.attach, 
939    module.exports.FastClick = FastClick) : window.FastClick = FastClick;
940}(), !function($) {
941    "use strict";
942    function functionName(fn) {
943        if (void 0 === Function.prototype.name) {
944            var funcNameRegex = /function\s([^(]{1,})\(/, results = funcNameRegex.exec(fn.toString());
945            return results && results.length > 1 ? results[1].trim() : "";
946        }
947        return void 0 === fn.prototype ? fn.constructor.name : fn.prototype.constructor.name;
948    }
949    function parseValue(str) {
950        return "true" === str ? !0 : "false" === str ? !1 : isNaN(1 * str) ? str : parseFloat(str);
951    }
952    function hyphenate(str) {
953        return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
954    }
955    var FOUNDATION_VERSION = "6.3.0", Foundation = {
956        version: FOUNDATION_VERSION,
957        _plugins: {},
958        _uuids: [],
959        rtl: function() {
960            return "rtl" === $("html").attr("dir");
961        },
962        plugin: function(plugin, name) {
963            var className = name || functionName(plugin), attrName = hyphenate(className);
964            this._plugins[attrName] = this[className] = plugin;
965        },
966        registerPlugin: function(plugin, name) {
967            var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();
968            plugin.uuid = this.GetYoDigits(6, pluginName), plugin.$element.attr("data-" + pluginName) || plugin.$element.attr("data-" + pluginName, plugin.uuid), 
969            plugin.$element.data("zfPlugin") || plugin.$element.data("zfPlugin", plugin), plugin.$element.trigger("init.zf." + pluginName), 
970            this._uuids.push(plugin.uuid);
971        },
972        unregisterPlugin: function(plugin) {
973            var pluginName = hyphenate(functionName(plugin.$element.data("zfPlugin").constructor));
974            this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1), plugin.$element.removeAttr("data-" + pluginName).removeData("zfPlugin").trigger("destroyed.zf." + pluginName);
975            for (var prop in plugin) plugin[prop] = null;
976        },
977        reInit: function(plugins) {
978            var isJQ = plugins instanceof $;
979            try {
980                if (isJQ) plugins.each(function() {
981                    $(this).data("zfPlugin")._init();
982                }); else {
983                    var type = typeof plugins, _this = this, fns = {
984                        object: function(plgs) {
985                            plgs.forEach(function(p) {
986                                p = hyphenate(p), $("[data-" + p + "]").foundation("_init");
987                            });
988                        },
989                        string: function() {
990                            plugins = hyphenate(plugins), $("[data-" + plugins + "]").foundation("_init");
991                        },
992                        undefined: function() {
993                            this.object(Object.keys(_this._plugins));
994                        }
995                    };
996                    fns[type](plugins);
997                }
998            } catch (err) {
999                console.error(err);
1000            } finally {
1001                return plugins;
1002            }
1003        },
1004        GetYoDigits: function(length, namespace) {
1005            return length = length || 6, Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length)).toString(36).slice(1) + (namespace ? "-" + namespace : "");
1006        },
1007        reflow: function(elem, plugins) {
1008            "undefined" == typeof plugins ? plugins = Object.keys(this._plugins) : "string" == typeof plugins && (plugins = [ plugins ]);
1009            var _this = this;
1010            $.each(plugins, function(i, name) {
1011                var plugin = _this._plugins[name], $elem = $(elem).find("[data-" + name + "]").addBack("[data-" + name + "]");
1012                $elem.each(function() {
1013                    var $el = $(this), opts = {};
1014                    if ($el.data("zfPlugin")) return void console.warn("Tried to initialize " + name + " on an element that already has a Foundation plugin.");
1015                    if ($el.attr("data-options")) {
1016                        $el.attr("data-options").split(";").forEach(function(e, i) {
1017                            var opt = e.split(":").map(function(el) {
1018                                return el.trim();
1019                            });
1020                            opt[0] && (opts[opt[0]] = parseValue(opt[1]));
1021                        });
1022                    }
1023                    try {
1024                        $el.data("zfPlugin", new plugin($(this), opts));
1025                    } catch (er) {
1026                        console.error(er);
1027                    } finally {
1028                        return;
1029                    }
1030                });
1031            });
1032        },
1033        getFnName: functionName,
1034        transitionend: function($elem) {
1035            var end, transitions = {
1036                transition: "transitionend",
1037                WebkitTransition: "webkitTransitionEnd",
1038                MozTransition: "transitionend",
1039                OTransition: "otransitionend"
1040            }, elem = document.createElement("div");
1041            for (var t in transitions) "undefined" != typeof elem.style[t] && (end = transitions[t]);
1042            return end ? end : (end = setTimeout(function() {
1043                $elem.triggerHandler("transitionend", [ $elem ]);
1044            }, 1), "transitionend");
1045        }
1046    };
1047    Foundation.util = {
1048        throttle: function(func, delay) {
1049            var timer = null;
1050            return function() {
1051                var context = this, args = arguments;
1052                null === timer && (timer = setTimeout(function() {
1053                    func.apply(context, args), timer = null;
1054                }, delay));
1055            };
1056        }
1057    };
1058    var foundation = function(method) {
1059        var type = typeof method, $meta = $("meta.foundation-mq"), $noJS = $(".no-js");
1060        if ($meta.length || $('<meta class="foundation-mq">').appendTo(document.head), $noJS.length && $noJS.removeClass("no-js"), 
1061        "undefined" === type) Foundation.MediaQuery._init(), Foundation.reflow(this); else {
1062            if ("string" !== type) throw new TypeError("We're sorry, " + type + " is not a valid parameter. You must use a string representing the method you wish to invoke.");
1063            var args = Array.prototype.slice.call(arguments, 1), plugClass = this.data("zfPlugin");
1064            if (void 0 === plugClass || void 0 === plugClass[method]) throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : "this element") + ".");
1065            1 === this.length ? plugClass[method].apply(plugClass, args) : this.each(function(i, el) {
1066                plugClass[method].apply($(el).data("zfPlugin"), args);
1067            });
1068        }
1069        return this;
1070    };
1071    window.Foundation = Foundation, $.fn.foundation = foundation, function() {
1072        Date.now && window.Date.now || (window.Date.now = Date.now = function() {
1073            return new Date().getTime();
1074        });
1075        for (var vendors = [ "webkit", "moz" ], i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
1076            var vp = vendors[i];
1077            window.requestAnimationFrame = window[vp + "RequestAnimationFrame"], window.cancelAnimationFrame = window[vp + "CancelAnimationFrame"] || window[vp + "CancelRequestAnimationFrame"];
1078        }
1079        if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
1080            var lastTime = 0;
1081            window.requestAnimationFrame = function(callback) {
1082                var now = Date.now(), nextTime = Math.max(lastTime + 16, now);
1083                return setTimeout(function() {
1084                    callback(lastTime = nextTime);
1085                }, nextTime - now);
1086            }, window.cancelAnimationFrame = clearTimeout;
1087        }
1088        window.performance && window.performance.now || (window.performance = {
1089            start: Date.now(),
1090            now: function() {
1091                return Date.now() - this.start;
1092            }
1093        });
1094    }(), Function.prototype.bind || (Function.prototype.bind = function(oThis) {
1095        if ("function" != typeof this) throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
1096        var aArgs = Array.prototype.slice.call(arguments, 1), fToBind = this, fNOP = function() {}, fBound = function() {
1097            return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));
1098        };
1099        return this.prototype && (fNOP.prototype = this.prototype), fBound.prototype = new fNOP(), 
1100        fBound;
1101    });
1102}(jQuery), !function($) {
1103    function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {
1104        var top, bottom, left, right, eleDims = GetDimensions(element);
1105        if (parent) {
1106            var parDims = GetDimensions(parent);
1107            bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top, 
1108            top = eleDims.offset.top >= parDims.offset.top, left = eleDims.offset.left >= parDims.offset.left, 
1109            right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;
1110        } else bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top, 
1111        top = eleDims.offset.top >= eleDims.windowDims.offset.top, left = eleDims.offset.left >= eleDims.windowDims.offset.left, 
1112        right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;
1113        var allDirs = [ bottom, top, left, right ];
1114        return lrOnly ? left === right == !0 : tbOnly ? top === bottom == !0 : -1 === allDirs.indexOf(!1);
1115    }
1116    function GetDimensions(elem, test) {
1117        if (elem = elem.length ? elem[0] : elem, elem === window || elem === document) throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
1118        var rect = elem.getBoundingClientRect(), parRect = elem.parentNode.getBoundingClientRect(), winRect = document.body.getBoundingClientRect(), winY = window.pageYOffset, winX = window.pageXOffset;
1119        return {
1120            width: rect.width,
1121            height: rect.height,
1122            offset: {
1123                top: rect.top + winY,
1124                left: rect.left + winX
1125            },
1126            parentDims: {
1127                width: parRect.width,
1128                height: parRect.height,
1129                offset: {
1130                    top: parRect.top + winY,
1131                    left: parRect.left + winX
1132                }
1133            },
1134            windowDims: {
1135                width: winRect.width,
1136                height: winRect.height,
1137                offset: {
1138                    top: winY,
1139                    left: winX
1140                }
1141            }
1142        };
1143    }
1144    function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
1145        var $eleDims = GetDimensions(element), $anchorDims = anchor ? GetDimensions(anchor) : null;
1146        switch (position) {
1147          case "top":
1148            return {
1149                left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
1150                top: $anchorDims.offset.top - ($eleDims.height + vOffset)
1151            };
1152
1153          case "left":
1154            return {
1155                left: $anchorDims.offset.left - ($eleDims.width + hOffset),
1156                top: $anchorDims.offset.top
1157            };
1158
1159          case "right":
1160            return {
1161                left: $anchorDims.offset.left + $anchorDims.width + hOffset,
1162                top: $anchorDims.offset.top
1163            };
1164
1165          case "center top":
1166            return {
1167                left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
1168                top: $anchorDims.offset.top - ($eleDims.height + vOffset)
1169            };
1170
1171          case "center bottom":
1172            return {
1173                left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
1174                top: $anchorDims.offset.top + $anchorDims.height + vOffset
1175            };
1176
1177          case "center left":
1178            return {
1179                left: $anchorDims.offset.left - ($eleDims.width + hOffset),
1180                top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
1181            };
1182
1183          case "center right":
1184            return {
1185                left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,
1186                top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
1187            };
1188
1189          case "center":
1190            return {
1191                left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,
1192                top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2
1193            };
1194
1195          case "reveal":
1196            return {
1197                left: ($eleDims.windowDims.width - $eleDims.width) / 2,
1198                top: $eleDims.windowDims.offset.top + vOffset
1199            };
1200
1201          case "reveal full":
1202            return {
1203                left: $eleDims.windowDims.offset.left,
1204                top: $eleDims.windowDims.offset.top
1205            };
1206
1207          case "left bottom":
1208            return {
1209                left: $anchorDims.offset.left,
1210                top: $anchorDims.offset.top + $anchorDims.height + vOffset
1211            };
1212
1213          case "right bottom":
1214            return {
1215                left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
1216                top: $anchorDims.offset.top + $anchorDims.height + vOffset
1217            };
1218
1219          default:
1220            return {
1221                left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left + hOffset,
1222                top: $anchorDims.offset.top + $anchorDims.height + vOffset
1223            };
1224        }
1225    }
1226    Foundation.Box = {
1227        ImNotTouchingYou: ImNotTouchingYou,
1228        GetDimensions: GetDimensions,
1229        GetOffsets: GetOffsets
1230    };
1231}(jQuery), !function($) {
1232    function getKeyCodes(kcs) {
1233        var k = {};
1234        for (var kc in kcs) k[kcs[kc]] = kcs[kc];
1235        return k;
1236    }
1237    var keyCodes = {
1238        9: "TAB",
1239        13: "ENTER",
1240        27: "ESCAPE",
1241        32: "SPACE",
1242        37: "ARROW_LEFT",
1243        38: "ARROW_UP",
1244        39: "ARROW_RIGHT",
1245        40: "ARROW_DOWN"
1246    }, commands = {}, Keyboard = {
1247        keys: getKeyCodes(keyCodes),
1248        parseKey: function(event) {
1249            var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();
1250            return key = key.replace(/\W+/, ""), event.shiftKey && (key = "SHIFT_" + key), event.ctrlKey && (key = "CTRL_" + key), 
1251            event.altKey && (key = "ALT_" + key), key = key.replace(/_$/, "");
1252        },
1253        handleKey: function(event, component, functions) {
1254            var cmds, command, fn, commandList = commands[component], keyCode = this.parseKey(event);
1255            if (!commandList) return console.warn("Component not defined!");
1256            if (cmds = "undefined" == typeof commandList.ltr ? commandList : Foundation.rtl() ? $.extend({}, commandList.ltr, commandList.rtl) : $.extend({}, commandList.rtl, commandList.ltr), 
1257            command = cmds[keyCode], fn = functions[command], fn && "function" == typeof fn) {
1258                var returnValue = fn.apply();
1259                (functions.handled || "function" == typeof functions.handled) && functions.handled(returnValue);
1260            } else (functions.unhandled || "function" == typeof functions.unhandled) && functions.unhandled();
1261        },
1262        findFocusable: function($element) {
1263            return $element ? $element.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function() {
1264                return !$(this).is(":visible") || $(this).attr("tabindex") < 0 ? !1 : !0;
1265            }) : !1;
1266        },
1267        register: function(componentName, cmds) {
1268            commands[componentName] = cmds;
1269        },
1270        trapFocus: function($element) {
1271            var $focusable = Foundation.Keyboard.findFocusable($element), $firstFocusable = $focusable.eq(0), $lastFocusable = $focusable.eq(-1);
1272            $element.on("keydown.zf.trapfocus", function(event) {
1273                event.target === $lastFocusable[0] && "TAB" === Foundation.Keyboard.parseKey(event) ? (event.preventDefault(), 
1274                $firstFocusable.focus()) : event.target === $firstFocusable[0] && "SHIFT_TAB" === Foundation.Keyboard.parseKey(event) && (event.preventDefault(), 
1275                $lastFocusable.focus());
1276            });
1277        },
1278        releaseFocus: function($element) {
1279            $element.off("keydown.zf.trapfocus");
1280        }
1281    };
1282    Foundation.Keyboard = Keyboard;
1283}(jQuery), !function($) {
1284    function parseStyleToObject(str) {
1285        var styleObject = {};
1286        return "string" != typeof str ? styleObject : (str = str.trim().slice(1, -1)) ? styleObject = str.split("&").reduce(function(ret, param) {
1287            var parts = param.replace(/\+/g, " ").split("="), key = parts[0], val = parts[1];
1288            return key = decodeURIComponent(key), val = void 0 === val ? null : decodeURIComponent(val), 
1289            ret.hasOwnProperty(key) ? Array.isArray(ret[key]) ? ret[key].push(val) : ret[key] = [ ret[key], val ] : ret[key] = val, 
1290            ret;
1291        }, {}) : styleObject;
1292    }
1293    var MediaQuery = {
1294        queries: [],
1295        current: "",
1296        _init: function() {
1297            var namedQueries, self = this, extractedStyles = $(".foundation-mq").css("font-family");
1298            namedQueries = parseStyleToObject(extractedStyles);
1299            for (var key in namedQueries) namedQueries.hasOwnProperty(key) && self.queries.push({
1300                name: key,
1301                value: "only screen and (min-width: " + namedQueries[key] + ")"
1302            });
1303            this.current = this._getCurrentSize(), this._watcher();
1304        },
1305        atLeast: function(size) {
1306            var query = this.get(size);
1307            return query ? window.matchMedia(query).matches : !1;
1308        },
1309        is: function(size) {
1310            return size = size.trim().split(" "), size.length > 1 && "only" === size[1] ? size[0] === this._getCurrentSize() ? !0 : !1 : this.atLeast(size[0]);
1311        },
1312        get: function(size) {
1313            for (var i in this.queries) if (this.queries.hasOwnProperty(i)) {
1314                var query = this.queries[i];
1315                if (size === query.name) return query.value;
1316            }
1317            return null;
1318        },
1319        _getCurrentSize: function() {
1320            for (var matched, i = 0; i < this.queries.length; i++) {
1321                var query = this.queries[i];
1322                window.matchMedia(query.value).matches && (matched = query);
1323            }
1324            return "object" == typeof matched ? matched.name : matched;
1325        },
1326        _watcher: function() {
1327            var _this = this;
1328            $(window).on("resize.zf.mediaquery", function() {
1329                var newSize = _this._getCurrentSize(), currentSize = _this.current;
1330                newSize !== currentSize && (_this.current = newSize, $(window).trigger("changed.zf.mediaquery", [ newSize, currentSize ]));
1331            });
1332        }
1333    };
1334    Foundation.MediaQuery = MediaQuery, window.matchMedia || (window.matchMedia = function() {
1335        "use strict";
1336        var styleMedia = window.styleMedia || window.media;
1337        if (!styleMedia) {
1338            var style = document.createElement("style"), script = document.getElementsByTagName("script")[0], info = null;
1339            style.type = "text/css", style.id = "matchmediajs-test", script && script.parentNode && script.parentNode.insertBefore(style, script), 
1340            info = "getComputedStyle" in window && window.getComputedStyle(style, null) || style.currentStyle, 
1341            styleMedia = {
1342                matchMedium: function(media) {
1343                    var text = "@media " + media + "{ #matchmediajs-test { width: 1px; } }";
1344                    return style.styleSheet ? style.styleSheet.cssText = text : style.textContent = text, 
1345                    "1px" === info.width;
1346                }
1347            };
1348        }
1349        return function(media) {
1350            return {
1351                matches: styleMedia.matchMedium(media || "all"),
1352                media: media || "all"
1353            };
1354        };
1355    }()), Foundation.MediaQuery = MediaQuery;
1356}(jQuery), !function($) {
1357    function Move(duration, elem, fn) {
1358        function move(ts) {
1359            start || (start = ts), prog = ts - start, fn.apply(elem), duration > prog ? anim = window.requestAnimationFrame(move, elem) : (window.cancelAnimationFrame(anim), 
1360            elem.trigger("finished.zf.animate", [ elem ]).triggerHandler("finished.zf.animate", [ elem ]));
1361        }
1362        var anim, prog, start = null;
1363        return 0 === duration ? (fn.apply(elem), void elem.trigger("finished.zf.animate", [ elem ]).triggerHandler("finished.zf.animate", [ elem ])) : void (anim = window.requestAnimationFrame(move));
1364    }
1365    function animate(isIn, element, animation, cb) {
1366        function finish() {
1367            isIn || element.hide(), reset(), cb && cb.apply(element);
1368        }
1369        function reset() {
1370            element[0].style.transitionDuration = 0, element.removeClass(initClass + " " + activeClass + " " + animation);
1371        }
1372        if (element = $(element).eq(0), element.length) {
1373            var initClass = isIn ? initClasses[0] : initClasses[1], activeClass = isIn ? activeClasses[0] : activeClasses[1];
1374            reset(), element.addClass(animation).css("transition", "none"), requestAnimationFrame(function() {
1375                element.addClass(initClass), isIn && element.show();
1376            }), requestAnimationFrame(function() {
1377                element[0].offsetWidth, element.css("transition", "").addClass(activeClass);
1378            }), element.one(Foundation.transitionend(element), finish);
1379        }
1380    }
1381    var initClasses = [ "mui-enter", "mui-leave" ], activeClasses = [ "mui-enter-active", "mui-leave-active" ], Motion = {
1382        animateIn: function(element, animation, cb) {
1383            animate(!0, element, animation, cb);
1384        },
1385        animateOut: function(element, animation, cb) {
1386            animate(!1, element, animation, cb);
1387        }
1388    };
1389    Foundation.Move = Move, Foundation.Motion = Motion;
1390}(jQuery), !function($) {
1391    var Nest = {
1392        Feather: function(menu) {
1393            var type = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "zf";
1394            menu.attr("role", "menubar");
1395            var items = menu.find("li").attr({
1396                role: "menuitem"
1397            }), subMenuClass = "is-" + type + "-submenu", subItemClass = subMenuClass + "-item", hasSubClass = "is-" + type + "-submenu-parent";
1398            items.each(function() {
1399                var $item = $(this), $sub = $item.children("ul");
1400                $sub.length && ($item.addClass(hasSubClass).attr({
1401                    "aria-haspopup": !0,
1402                    "aria-label": $item.children("a:first").text()
1403                }), "drilldown" === type && $item.attr({
1404                    "aria-expanded": !1
1405                }), $sub.addClass("submenu " + subMenuClass).attr({
1406                    "data-submenu": "",
1407                    role: "menu"
1408                }), "drilldown" === type && $sub.attr({
1409                    "aria-hidden": !0
1410                })), $item.parent("[data-submenu]").length && $item.addClass("is-submenu-item " + subItemClass);
1411            });
1412        },
1413        Burn: function(menu, type) {
1414            var subMenuClass = "is-" + type + "-submenu", subItemClass = subMenuClass + "-item", hasSubClass = "is-" + type + "-submenu-parent";
1415            menu.find(">li, .menu, .menu > li").removeClass(subMenuClass + " " + subItemClass + " " + hasSubClass + " is-submenu-item submenu is-active").removeAttr("data-submenu").css("display", "");
1416        }
1417    };
1418    Foundation.Nest = Nest;
1419}(jQuery), !function($) {
1420    function Timer(elem, options, cb) {
1421        var start, timer, _this = this, duration = options.duration, nameSpace = Object.keys(elem.data())[0] || "timer", remain = -1;
1422        this.isPaused = !1, this.restart = function() {
1423            remain = -1, clearTimeout(timer), this.start();
1424        }, this.start = function() {
1425            this.isPaused = !1, clearTimeout(timer), remain = 0 >= remain ? duration : remain, 
1426            elem.data("paused", !1), start = Date.now(), timer = setTimeout(function() {
1427                options.infinite && _this.restart(), cb && "function" == typeof cb && cb();
1428            }, remain), elem.trigger("timerstart.zf." + nameSpace);
1429        }, this.pause = function() {
1430            this.isPaused = !0, clearTimeout(timer), elem.data("paused", !0);
1431            var end = Date.now();
1432            remain -= end - start, elem.trigger("timerpaused.zf." + nameSpace);
1433        };
1434    }
1435    function onImagesLoaded(images, callback) {
1436        function singleImageLoaded() {
1437            unloaded--, 0 === unloaded && callback();
1438        }
1439        var unloaded = images.length;
1440        0 === unloaded && callback(), images.each(function() {
1441            if (this.complete || 4 === this.readyState || "complete" === this.readyState) singleImageLoaded(); else {
1442                var src = $(this).attr("src");
1443                $(this).attr("src", src + "?" + new Date().getTime()), $(this).one("load", function() {
1444                    singleImageLoaded();
1445                });
1446            }
1447        });
1448    }
1449    Foundation.Timer = Timer, Foundation.onImagesLoaded = onImagesLoaded;
1450}(jQuery), function($) {
1451    function onTouchEnd() {
1452        this.removeEventListener("touchmove", onTouchMove), this.removeEventListener("touchend", onTouchEnd), 
1453        isMoving = !1;
1454    }
1455    function onTouchMove(e) {
1456        if ($.spotSwipe.preventDefault && e.preventDefault(), isMoving) {
1457            var dir, x = e.touches[0].pageX, dx = (e.touches[0].pageY, startPosX - x);
1458            elapsedTime = new Date().getTime() - startTime, Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold && (dir = dx > 0 ? "left" : "right"), 
1459            dir && (e.preventDefault(), onTouchEnd.call(this), $(this).trigger("swipe", dir).trigger("swipe" + dir));
1460        }
1461    }
1462    function onTouchStart(e) {
1463        1 == e.touches.length && (startPosX = e.touches[0].pageX, startPosY = e.touches[0].pageY, 
1464        isMoving = !0, startTime = new Date().getTime(), this.addEventListener("touchmove", onTouchMove, !1), 
1465        this.addEventListener("touchend", onTouchEnd, !1));
1466    }
1467    function init() {
1468        this.addEventListener && this.addEventListener("touchstart", onTouchStart, !1);
1469    }
1470    $.spotSwipe = {
1471        version: "1.0.0",
1472        enabled: "ontouchstart" in document.documentElement,
1473        preventDefault: !1,
1474        moveThreshold: 75,
1475        timeThreshold: 200
1476    };
1477    var startPosX, startPosY, startTime, elapsedTime, isMoving = !1;
1478    $.event.special.swipe = {
1479        setup: init
1480    }, $.each([ "left", "up", "down", "right" ], function() {
1481        $.event.special["swipe" + this] = {
1482            setup: function() {
1483                $(this).on("swipe", $.noop);
1484            }
1485        };
1486    });
1487}(jQuery), !function($) {
1488    $.fn.addTouch = function() {
1489        this.each(function(i, el) {
1490            $(el).bind("touchstart touchmove touchend touchcancel", function() {
1491                handleTouch(event);
1492            });
1493        });
1494        var handleTouch = function(event) {
1495            var simulatedEvent, touches = event.changedTouches, first = touches[0], eventTypes = {
1496                touchstart: "mousedown",
1497                touchmove: "mousemove",
1498                touchend: "mouseup"
1499            }, type = eventTypes[event.type];
1500            "MouseEvent" in window && "function" == typeof window.MouseEvent ? simulatedEvent = new window.MouseEvent(type, {
1501                bubbles: !0,
1502                cancelable: !0,
1503                screenX: first.screenX,
1504                screenY: first.screenY,
1505                clientX: first.clientX,
1506                clientY: first.clientY
1507            }) : (simulatedEvent = document.createEvent("MouseEvent"), simulatedEvent.initMouseEvent(type, !0, !0, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, !1, !1, !1, !1, 0, null)), 
1508            first.target.dispatchEvent(simulatedEvent);
1509        };
1510    };
1511}(jQuery), !function($) {
1512    function checkListeners() {
1513        eventsListener(), resizeListener(), scrollListener(), mutateListener(), closemeListener();
1514    }
1515    function closemeListener(pluginName) {
1516        var yetiBoxes = $("[data-yeti-box]"), plugNames = [ "dropdown", "tooltip", "reveal" ];
1517        if (pluginName && ("string" == typeof pluginName ? plugNames.push(pluginName) : "object" == typeof pluginName && "string" == typeof pluginName[0] ? plugNames.concat(pluginName) : console.error("Plugin names must be strings")), 
1518        yetiBoxes.length) {
1519            var listeners = plugNames.map(function(name) {
1520                return "closeme.zf." + name;
1521            }).join(" ");
1522            $(window).off(listeners).on(listeners, function(e, pluginId) {
1523                var plugin = e.namespace.split(".")[0], plugins = $("[data-" + plugin + "]").not('[data-yeti-box="' + pluginId + '"]');
1524                plugins.each(function() {
1525                    var _this = $(this);
1526                    _this.triggerHandler("close.zf.trigger", [ _this ]);
1527                });
1528            });
1529        }
1530    }
1531    function resizeListener(debounce) {
1532        var timer = void 0, $nodes = $("[data-resize]");
1533        $nodes.length && $(window).off("resize.zf.trigger").on("resize.zf.trigger", function(e) {
1534            timer && clearTimeout(timer), timer = setTimeout(function() {
1535                MutationObserver || $nodes.each(function() {
1536                    $(this).triggerHandler("resizeme.zf.trigger");
1537                }), $nodes.attr("data-events", "resize");
1538            }, debounce || 10);
1539        });
1540    }
1541    function scrollListener(debounce) {
1542        var timer = void 0, $nodes = $("[data-scroll]");
1543        $nodes.length && $(window).off("scroll.zf.trigger").on("scroll.zf.trigger", function(e) {
1544            timer && clearTimeout(timer), timer = setTimeout(function() {
1545                MutationObserver || $nodes.each(function() {
1546                    $(this).triggerHandler("scrollme.zf.trigger");
1547                }), $nodes.attr("data-events", "scroll");
1548            }, debounce || 10);
1549        });
1550    }
1551    function mutateListener(debounce) {
1552        var $nodes = $("[data-mutate]");
1553        $nodes.length && MutationObserver && $nodes.each(function() {
1554            $(this).triggerHandler("mutateme.zf.trigger");
1555        });
1556    }
1557    function eventsListener() {
1558        if (!MutationObserver) return !1;
1559        var nodes = document.querySelectorAll("[data-resize], [data-scroll], [data-mutate]"), listeningElementsMutation = function(mutationRecordsList) {
1560            var $target = $(mutationRecordsList[0].target);
1561            switch (mutationRecordsList[0].type) {
1562              case "attributes":
1563                "scroll" === $target.attr("data-events") && "data-events" === mutationRecordsList[0].attributeName && $target.triggerHandler("scrollme.zf.trigger", [ $target, window.pageYOffset ]), 
1564                "resize" === $target.attr("data-events") && "data-events" === mutationRecordsList[0].attributeName && $target.triggerHandler("resizeme.zf.trigger", [ $target ]), 
1565                "style" === mutationRecordsList[0].attributeName && ($target.closest("[data-mutate]").attr("data-events", "mutate"), 
1566                $target.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger", [ $target.closest("[data-mutate]") ]));
1567                break;
1568
1569              case "childList":
1570                $target.closest("[data-mutate]").attr("data-events", "mutate"), $target.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger", [ $target.closest("[data-mutate]") ]);
1571                break;
1572
1573              default:
1574                return !1;
1575            }
1576        };
1577        if (nodes.length) for (var i = 0; i <= nodes.length - 1; i++) {
1578            var elementObserver = new MutationObserver(listeningElementsMutation);
1579            elementObserver.observe(nodes[i], {
1580                attributes: !0,
1581                childList: !0,
1582                characterData: !1,
1583                subtree: !0,
1584                attributeFilter: [ "data-events", "style" ]
1585            });
1586        }
1587    }
1588    var MutationObserver = function() {
1589        for (var prefixes = [ "WebKit", "Moz", "O", "Ms", "" ], i = 0; i < prefixes.length; i++) if (prefixes[i] + "MutationObserver" in window) return window[prefixes[i] + "MutationObserver"];
1590        return !1;
1591    }(), triggers = function(el, type) {
1592        el.data(type).split(" ").forEach(function(id) {
1593            $("#" + id)["close" === type ? "trigger" : "triggerHandler"](type + ".zf.trigger", [ el ]);
1594        });
1595    };
1596    $(document).on("click.zf.trigger", "[data-open]", function() {
1597        triggers($(this), "open");
1598    }), $(document).on("click.zf.trigger", "[data-close]", function() {
1599        var id = $(this).data("close");
1600        id ? triggers($(this), "close") : $(this).trigger("close.zf.trigger");
1601    }), $(document).on("click.zf.trigger", "[data-toggle]", function() {
1602        var id = $(this).data("toggle");
1603        id ? triggers($(this), "toggle") : $(this).trigger("toggle.zf.trigger");
1604    }), $(document).on("close.zf.trigger", "[data-closable]", function(e) {
1605        e.stopPropagation();
1606        var animation = $(this).data("closable");
1607        "" !== animation ? Foundation.Motion.animateOut($(this), animation, function() {
1608            $(this).trigger("closed.zf");
1609        }) : $(this).fadeOut().trigger("closed.zf");
1610    }), $(document).on("focus.zf.trigger blur.zf.trigger", "[data-toggle-focus]", function() {
1611        var id = $(this).data("toggle-focus");
1612        $("#" + id).triggerHandler("toggle.zf.trigger", [ $(this) ]);
1613    }), $(window).on("load", function() {
1614        checkListeners();
1615    }), Foundation.IHearYou = checkListeners;
1616}(jQuery);
1617
1618var _createClass = function() {
1619    function defineProperties(target, props) {
1620        for (var i = 0; i < props.length; i++) {
1621            var descriptor = props[i];
1622            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
1623            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
1624        }
1625    }
1626    return function(Constructor, protoProps, staticProps) {
1627        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
1628        Constructor;
1629    };
1630}();
1631
1632!function($) {
1633    var Abide = function() {
1634        function Abide(element) {
1635            var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
1636            _classCallCheck(this, Abide), this.$element = element, this.options = $.extend({}, Abide.defaults, this.$element.data(), options), 
1637            this._init(), Foundation.registerPlugin(this, "Abide");
1638        }
1639        return _createClass(Abide, [ {
1640            key: "_init",
1641            value: function() {
1642                this.$inputs = this.$element.find("input, textarea, select"), this._events();
1643            }
1644        }, {
1645            key: "_events",
1646            value: function() {
1647                var _this2 = this;
1648                this.$element.off(".abide").on("reset.zf.abide", function() {
1649                    _this2.resetForm();
1650                }).on("submit.zf.abide", function() {
1651                    return _this2.validateForm();
1652                }), "fieldChange" === this.options.validateOn && this.$inputs.off("change.zf.abide").on("change.zf.abide", function(e) {
1653                    _this2.validateInput($(e.target));
1654                }), this.options.liveValidate && this.$inputs.off("input.zf.abide").on("input.zf.abide", function(e) {
1655                    _this2.validateInput($(e.target));
1656                }), this.options.validateOnBlur && this.$inputs.off("blur.zf.abide").on("blur.zf.abide", function(e) {
1657                    _this2.validateInput($(e.target));
1658                });
1659            }
1660        }, {
1661            key: "_reflow",
1662            value: function() {
1663                this._init();
1664            }
1665        }, {
1666            key: "requiredCheck",
1667            value: function($el) {
1668                if (!$el.attr("required")) return !0;
1669                var isGood = !0;
1670                switch ($el[0].type) {
1671                  case "checkbox":
1672                    isGood = $el[0].checked;
1673                    break;
1674
1675                  case "select":
1676                  case "select-one":
1677                  case "select-multiple":
1678                    var opt = $el.find("option:selected");
1679                    opt.length && opt.val() || (isGood = !1);
1680                    break;
1681
1682                  default:
1683                    $el.val() && $el.val().length || (isGood = !1);
1684                }
1685                return isGood;
1686            }
1687        }, {
1688            key: "findFormError",
1689            value: function($el) {
1690                var $error = $el.siblings(this.options.formErrorSelector);
1691                return $error.length || ($error = $el.parent().find(this.options.formErrorSelector)), 
1692                $error;
1693            }
1694        }, {
1695            key: "findLabel",
1696            value: function($el) {
1697                var id = $el[0].id, $label = this.$element.find('label[for="' + id + '"]');
1698                return $label.length ? $label : $el.closest("label");
1699            }
1700        }, {
1701            key: "findRadioLabels",
1702            value: function($els) {
1703                var _this3 = this, labels = $els.map(function(i, el) {
1704                    var id = el.id, $label = _this3.$element.find('label[for="' + id + '"]');
1705                    return $label.length || ($label = $(el).closest("label")), $label[0];
1706                });
1707                return $(labels);
1708            }
1709        }, {
1710            key: "addErrorClasses",
1711            value: function($el) {
1712                var $label = this.findLabel($el), $formError = this.findFormError($el);
1713                $label.length && $label.addClass(this.options.labelErrorClass), $formError.length && $formError.addClass(this.options.formErrorClass), 
1714                $el.addClass(this.options.inputErrorClass).attr("data-invalid", "");
1715            }
1716        }, {
1717            key: "removeRadioErrorClasses",
1718            value: function(groupName) {
1719                var $els = this.$element.find(':radio[name="' + groupName + '"]'), $labels = this.findRadioLabels($els), $formErrors = this.findFormError($els);
1720                $labels.length && $labels.removeClass(this.options.labelErrorClass), $formErrors.length && $formErrors.removeClass(this.options.formErrorClass), 
1721                $els.removeClass(this.options.inputErrorClass).removeAttr("data-invalid");
1722            }
1723        }, {
1724            key: "removeErrorClasses",
1725            value: function($el) {
1726                if ("radio" == $el[0].type) return this.removeRadioErrorClasses($el.attr("name"));
1727                var $label = this.findLabel($el), $formError = this.findFormError($el);
1728                $label.length && $label.removeClass(this.options.labelErrorClass), $formError.length && $formError.removeClass(this.options.formErrorClass), 
1729                $el.removeClass(this.options.inputErrorClass).removeAttr("data-invalid");
1730            }
1731        }, {
1732            key: "validateInput",
1733            value: function($el) {
1734                var _this4 = this, clearRequire = this.requiredCheck($el), validated = !1, customValidator = !0, validator = $el.attr("data-validator"), equalTo = !0;
1735                if ($el.is("[data-abide-ignore]") || $el.is('[type="hidden"]')) return !0;
1736                switch ($el[0].type) {
1737                  case "radio":
1738                    validated = this.validateRadio($el.attr("name"));
1739                    break;
1740
1741                  case "checkbox":
1742                    validated = clearRequire;
1743                    break;
1744
1745                  case "select":
1746                  case "select-one":
1747                  case "select-multiple":
1748                    validated = clearRequire;
1749                    break;
1750
1751                  default:
1752                    validated = this.validateText($el);
1753                }
1754                validator && (customValidator = this.matchValidation($el, validator, $el.attr("required"))), 
1755                $el.attr("data-equalto") && (equalTo = this.options.validators.equalTo($el));
1756                var goodToGo = -1 === [ clearRequire, validated, customValidator, equalTo ].indexOf(!1), message = (goodToGo ? "valid" : "invalid") + ".zf.abide";
1757                if (goodToGo) {
1758                    var dependentElements = this.$element.find('[data-equalto="' + $el.attr("id") + '"]');
1759                    dependentElements.length && !function() {
1760                        var _this = _this4;
1761                        dependentElements.each(function() {
1762                            $(this).val() && _this.validateInput($(this));
1763                        });
1764                    }();
1765                }
1766                return this[goodToGo ? "removeErrorClasses" : "addErrorClasses"]($el), $el.trigger(message, [ $el ]), 
1767                goodToGo;
1768            }
1769        }, {
1770            key: "validateForm",
1771            value: function() {
1772                var acc = [], _this = this;
1773                this.$inputs.each(function() {
1774                    acc.push(_this.validateInput($(this)));
1775                });
1776                var noError = -1 === acc.indexOf(!1);
1777                return this.$element.find("[data-abide-error]").css("display", noError ? "n
1777one" : "block"), 
1778                this.$element.trigger((noError ? "formvalid" : "forminvalid") + ".zf.abide", [ this.$element ]), 
1779                noError;
1780            }
1781        }, {
1782            key: "validateText",
1783            value: function($el, pattern) {
1784                pattern = pattern || $el.attr("pattern") || $el.attr("type");
1785                var inputText = $el.val(), valid = !1;
1786                return inputText.length ? valid = this.options.patterns.hasOwnProperty(pattern) ? this.options.patterns[pattern].test(inputText) : pattern !== $el.attr("type") ? new RegExp(pattern).test(inputText) : !0 : $el.prop("required") || (valid = !0), 
1787                valid;
1788            }
1789        }, {
1790            key: "validateRadio",
1791            value: function(groupName) {
1792                var $group = this.$element.find(':radio[name="' + groupName + '"]'), valid = !1, required = !1;
1793                return $group.each(function(i, e) {
1794                    $(e).attr("required") && (required = !0);
1795                }), required || (valid = !0), valid || $group.each(function(i, e) {
1796                    $(e).prop("checked") && (valid = !0);
1797                }), valid;
1798            }
1799        }, {
1800            key: "matchValidation",
1801            value: function($el, validators, required) {
1802                var _this5 = this;
1803                required = required ? !0 : !1;
1804                var clear = validators.split(" ").map(function(v) {
1805                    return _this5.options.validators[v]($el, required, $el.parent());
1806                });
1807                return -1 === clear.indexOf(!1);
1808            }
1809        }, {
1810            key: "resetForm",
1811            value: function() {
1812                var $form = this.$element, opts = this.options;
1813                $("." + opts.labelErrorClass, $form).not("small").removeClass(opts.labelErrorClass), 
1814                $("." + opts.inputErrorClass, $form).not("small").removeClass(opts.inputErrorClass), 
1815                $(opts.formErrorSelector + "." + opts.formErrorClass).removeClass(opts.formErrorClass), 
1816                $form.find("[data-abide-error]").css("display", "none"), $(":input", $form).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").removeAttr("data-invalid"), 
1817                $(":input:radio", $form).not("[data-abide-ignore]").prop("checked", !1).removeAttr("data-invalid"), 
1818                $(":input:checkbox", $form).not("[data-abide-ignore]").prop("checked", !1).removeAttr("data-invalid"), 
1819                $form.trigger("formreset.zf.abide", [ $form ]);
1820            }
1821        }, {
1822            key: "destroy",
1823            value: function() {
1824                var _this = this;
1825                this.$element.off(".abide").find("[data-abide-error]").css("display", "none"), this.$inputs.off(".abide").each(function() {
1826                    _this.removeErrorClasses($(this));
1827                }), Foundation.unregisterPlugin(this);
1828            }
1829        } ]), Abide;
1830    }();
1831    Abide.defaults = {
1832        validateOn: "fieldChange",
1833        labelErrorClass: "is-invalid-label",
1834        inputErrorClass: "is-invalid-input",
1835        formErrorSelector: ".form-error",
1836        formErrorClass: "is-visible",
1837        liveValidate: !1,
1838        validateOnBlur: !1,
1839        patterns: {
1840            alpha: /^[a-zA-Z]+$/,
1841            alpha_numeric: /^[a-zA-Z0-9]+$/,
1842            integer: /^[-+]?\d+$/,
1843            number: /^[-+]?\d*(?:[\.\,]\d+)?$/,
1844            card: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
1845            cvv: /^([0-9]){3,4}$/,
1846            email: /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,
1847            url: /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,
1848            domain: /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
1849            datetime: /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,
1850            date: /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,
1851            time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
1852            dateISO: /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
1853            month_day_year: /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
1854            day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
1855            color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
1856        },
1857        validators: {
1858            equalTo: function(el, required, parent) {
1859                return $("#" + el.attr("data-equalto")).val() === el.val();
1860            }
1861        }
1862    }, Foundation.plugin(Abide, "Abide");
1863}(jQuery);
1864
1865var _createClass = function() {
1866    function defineProperties(target, props) {
1867        for (var i = 0; i < props.length; i++) {
1868            var descriptor = props[i];
1869            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
1870            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
1871        }
1872    }
1873    return function(Constructor, protoProps, staticProps) {
1874        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
1875        Constructor;
1876    };
1877}();
1878
1879!function($) {
1880    var Accordion = function() {
1881        function Accordion(element, options) {
1882            _classCallCheck(this, Accordion), this.$element = element, this.options = $.extend({}, Accordion.defaults, this.$element.data(), options), 
1883            this._init(), Foundation.registerPlugin(this, "Accordion"), Foundation.Keyboard.register("Accordion", {
1884                ENTER: "toggle",
1885                SPACE: "toggle",
1886                ARROW_DOWN: "next",
1887                ARROW_UP: "previous"
1888            });
1889        }
1890        return _createClass(Accordion, [ {
1891            key: "_init",
1892            value: function() {
1893                this.$element.attr("role", "tablist"), this.$tabs = this.$element.children("[data-accordion-item]"), 
1894                this.$tabs.each(function(idx, el) {
1895                    var $el = $(el), $content = $el.children("[data-tab-content]"), id = $content[0].id || Foundation.GetYoDigits(6, "accordion"), linkId = el.id || id + "-label";
1896                    $el.find("a:first").attr({
1897                        "aria-controls": id,
1898                        role: "tab",
1899                        id: linkId,
1900                        "aria-expanded": !1,
1901                        "aria-selected": !1
1902                    }), $content.attr({
1903                        role: "tabpanel",
1904                        "aria-labelledby": linkId,
1905                        "aria-hidden": !0,
1906                        id: id
1907                    });
1908                });
1909                var $initActive = this.$element.find(".is-active").children("[data-tab-content]");
1910                $initActive.length && this.down($initActive, !0), this._events();
1911            }
1912        }, {
1913            key: "_events",
1914            value: function() {
1915                var _this = this;
1916                this.$tabs.each(function() {
1917                    var $elem = $(this), $tabContent = $elem.children("[data-tab-content]");
1918                    $tabContent.length && $elem.children("a").off("click.zf.accordion keydown.zf.accordion").on("click.zf.accordion", function(e) {
1919                        e.preventDefault(), _this.toggle($tabContent);
1920                    }).on("keydown.zf.accordion", function(e) {
1921                        Foundation.Keyboard.handleKey(e, "Accordion", {
1922                            toggle: function() {
1923                                _this.toggle($tabContent);
1924                            },
1925                            next: function() {
1926                                var $a = $elem.next().find("a").focus();
1927                                _this.options.multiExpand || $a.trigger("click.zf.accordion");
1928                            },
1929                            previous: function() {
1930                                var $a = $elem.prev().find("a").focus();
1931                                _this.options.multiExpand || $a.trigger("click.zf.accordion");
1932                            },
1933                            handled: function() {
1934                                e.preventDefault(), e.stopPropagation();
1935                            }
1936                        });
1937                    });
1938                });
1939            }
1940        }, {
1941            key: "toggle",
1942            value: function($target) {
1943                $target.parent().hasClass("is-active") ? this.up($target) : this.down($target);
1944            }
1945        }, {
1946            key: "down",
1947            value: function($target, firstTime) {
1948                var _this2 = this;
1949                if ($target.attr("aria-hidden", !1).parent("[data-tab-content]").addBack().parent().addClass("is-active"), 
1950                !this.options.multiExpand && !firstTime) {
1951                    var $currentActive = this.$element.children(".is-active").children("[data-tab-content]");
1952                    $currentActive.length && this.up($currentActive.not($target));
1953                }
1954                $target.slideDown(this.options.slideSpeed, function() {
1955                    _this2.$element.trigger("down.zf.accordion", [ $target ]);
1956                }), $("#" + $target.attr("aria-labelledby")).attr({
1957                    "aria-expanded": !0,
1958                    "aria-selected": !0
1959                });
1960            }
1961        }, {
1962            key: "up",
1963            value: function($target) {
1964                var $aunts = $target.parent().siblings(), _this = this;
1965                (this.options.allowAllClosed || $aunts.hasClass("is-active")) && $target.parent().hasClass("is-active") && ($target.slideUp(_this.options.slideSpeed, function() {
1966                    _this.$element.trigger("up.zf.accordion", [ $target ]);
1967                }), $target.attr("aria-hidden", !0).parent().removeClass("is-active"), $("#" + $target.attr("aria-labelledby")).attr({
1968                    "aria-expanded": !1,
1969                    "aria-selected": !1
1970                }));
1971            }
1972        }, {
1973            key: "destroy",
1974            value: function() {
1975                this.$element.find("[data-tab-content]").stop(!0).slideUp(0).css("display", ""), 
1976                this.$element.find("a").off(".zf.accordion"), Foundation.unregisterPlugin(this);
1977            }
1978        } ]), Accordion;
1979    }();
1980    Accordion.defaults = {
1981        slideSpeed: 250,
1982        multiExpand: !1,
1983        allowAllClosed: !1
1984    }, Foundation.plugin(Accordion, "Accordion");
1985}(jQuery);
1986
1987var _createClass = function() {
1988    function defineProperties(target, props) {
1989        for (var i = 0; i < props.length; i++) {
1990            var descriptor = props[i];
1991            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
1992            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
1993        }
1994    }
1995    return function(Constructor, protoProps, staticProps) {
1996        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
1997        Constructor;
1998    };
1999}();
2000
2001!function($) {
2002    var AccordionMenu = function() {
2003        function AccordionMenu(element, options) {
2004            _classCallCheck(this, AccordionMenu), this.$element = element, this.options = $.extend({}, AccordionMenu.defaults, this.$element.data(), options), 
2005            Foundation.Nest.Feather(this.$element, "accordion"), this._init(), Foundation.registerPlugin(this, "AccordionMenu"), 
2006            Foundation.Keyboard.register("AccordionMenu", {
2007                ENTER: "toggle",
2008                SPACE: "toggle",
2009                ARROW_RIGHT: "open",
2010                ARROW_UP: "up",
2011                ARROW_DOWN: "down",
2012                ARROW_LEFT: "close",
2013                ESCAPE: "closeAll"
2014            });
2015        }
2016        return _createClass(AccordionMenu, [ {
2017            key: "_init",
2018            value: function() {
2019                this.$element.find("[data-submenu]").not(".is-active").slideUp(0), this.$element.attr({
2020                    role: "menu",
2021                    "aria-multiselectable": this.options.multiOpe
2021n
2022                }), this.$menuLinks = this.$element.find(".is-accordion-submenu-parent"), this.$menuLinks.each(function() {
2023                    var linkId = this.id || Foundation.GetYoDigits(6, "acc-menu-link"), $elem = $(this), $sub = $elem.children("[data-submenu]"), subId = $sub[0].id || Foundation.GetYoDigits(6, "acc-menu"), isActive = $sub.hasClass("is-active");
2024                    $elem.attr({
2025                        "aria-controls": subId,
2026                        "aria-expanded": isActive,
2027                        role: "menuitem",
2028                        id: linkId
2029                    }), $sub.attr({
2030                        "aria-labelledby": linkId,
2031                        "aria-hidden": !isActive,
2032                        role: "menu",
2033                        id: subId
2034                    });
2035                });
2036                var initPanes = this.$element.find(".is-active");
2037                if (initPanes.length) {
2038                    var _this = this;
2039                    initPanes.each(function() {
2040                        _this.down($(this));
2041                    });
2042                }
2043                this._events();
2044            }
2045        }, {
2046            key: "_events",
2047            value: function() {
2048                var _this = this;
2049                this.$element.find("li").each(function() {
2050                    var $submenu = $(this).children("[data-submenu]");
2051                    $submenu.length && $(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu", function(e) {
2052                        e.preventDefault(), _this.toggle($submenu);
2053                    });
2054                }).on("keydown.zf.accordionmenu", function(e) {
2055                    var $prevElement, $nextElement, $element = $(this), $elements = $element.parent("ul").children("li"), $target = $element.children("[data-submenu]");
2056                    $elements.each(function(i) {
2057                        return $(this).is($element) ? ($prevElement = $elements.eq(Math.max(0, i - 1)).find("a").first(), 
2058                        $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find("a").first(), 
2059                        $(this).children("[data-submenu]:visible").length && ($nextElement = $element.find("li:first-child").find("a").first()), 
2060                        $(this).is(":first-child") ? $prevElement = $element.parents("li").first().find("a").first() : $prevElement.parents("li").first().children("[data-submenu]:visible").length && ($prevElement = $prevElement.parents("li").find("li:last-child").find("a").first()), 
2061                        void ($(this).is(":last-child") && ($nextElement = $element.parents("li").first().next("li").find("a").first()))) : void 0;
2062                    }), Foundation.Keyboard.handleKey(e, "AccordionMenu", {
2063                        open: function() {
2064                            $target.is(":hidden") && (_this.down($target), $target.find("li").first().find("a").first().focus());
2065                        },
2066                        close: function() {
2067                            $target.length && !$target.is(":hidden") ? _this.up($target) : $element.parent("[data-submenu]").length && (_this.up($element.parent("[data-submenu]")), 
2068                            $element.parents("li").first().find("a").first().focus());
2069                        },
2070                        up: function() {
2071                            return $prevElement.focus(), !0;
2072                        },
2073                        down: function() {
2074                            return $nextElement.focus(), !0;
2075                        },
2076                        toggle: function() {
2077                            $element.children("[data-submenu]").length && _this.toggle($element.children("[data-submenu]"));
2078                        },
2079                        closeAll: function() {
2080                            _this.hideAll();
2081                        },
2082                        handled: function(preventDefault) {
2083                            preventDefault && e.preventDefault(), e.stopImmediatePropagation();
2084                        }
2085                    });
2086                });
2087            }
2088        }, {
2089            key: "hideAll",
2090            value: function() {
2091                this.up(this.$element.find("[data-submenu]"));
2092            }
2093        }, {
2094            key: "showAll",
2095            value: function() {
2096                this.down(this.$element.find("[data-submenu]"));
2097            }
2098        }, {
2099            key: "toggle",
2100            value: function($target) {
2101                $target.is(":animated") || ($target.is(":hidden") ? this.down($target) : this.up($target));
2102            }
2103        }, {
2104            key: "down",
2105            value: function($target) {
2106                var _this = this;
2107                this.options.multiOpen || this.up(this.$element.find(".is-active").not($target.parentsUntil(this.$element).add($target))), 
2108                $target.addClass("is-active").attr({
2109                    "aria-hidden": !1
2110                }).parent(".is-accordion-submenu-parent").attr({
2111                    "aria-expanded": !0
2112                }), $target.slideDown(_this.options.slideSpeed, function() {
2113                    _this.$element.trigger("down.zf.accordionMenu", [ $target ]);
2114                });
2115            }
2116        }, {
2117            key: "up",
2118            value: function($target) {
2119                var _this = this;
2120                $target.slideUp(_this.options.slideSpeed, function() {
2121                    _this.$element.trigger("up.zf.accordionMenu", [ $target ]);
2122                });
2123                var $menus = $target.find("[data-submenu]").slideUp(0).addBack().attr("aria-hidden", !0);
2124                $menus.parent(".is-accordion-submenu-parent").attr("aria-expanded", !1);
2125            }
2126        }, {
2127            key: "destroy",
2128            value: function() {
2129                this.$element.find("[data-submenu]").slideDown(0).css("display", ""), this.$element.find("a").off("click.zf.accordionMenu"), 
2130                Foundation.Nest.Burn(this.$element, "accordion"), Foundation.unregisterPlugin(this);
2131            }
2132        } ]), AccordionMenu;
2133    }();
2134    AccordionMenu.defaults = {
2135        slideSpeed: 250,
2136        multiOpen: !0
2137    }, Foundation.plugin(AccordionMenu, "AccordionMenu");
2138}(jQuery);
2139
2140var _createClass = function() {
2141    function defineProperties(target, props) {
2142        for (var i = 0; i < props.length; i++) {
2143            var descriptor = props[i];
2144            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
2145            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
2146        }
2147    }
2148    return function(Constructor, protoProps, staticProps) {
2149        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
2150        Constructor;
2151    };
2152}();
2153
2154!function($) {
2155    var Drilldown = function() {
2156        function Drilldown(element, options) {
2157            _classCallCheck(this, Drilldown), this.$element = element, this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options), 
2158            Foundation.Nest.Feather(this.$element, "drilldown"), this._init(), Foundation.registerPlugin(this, "Drilldown"), 
2159            Foundation.Keyboard.register("Drilldown", {
2160                ENTER: "open",
2161                SPACE: "open",
2162                ARROW_RIGHT: "next",
2163                ARROW_UP: "up",
2164                ARROW_DOWN: "down",
2165                ARROW_LEFT: "previous",
2166                ESCAPE: "close",
2167                TAB: "down",
2168                SHIFT_TAB: "up"
2169            });
2170        }
2171        return _createClass(Drilldown, [ {
2172            key: "_init",
2173            value: function() {
2174                this.$submenuAnchors = this.$element.find("li.is-drilldown-submenu-parent").children("a"), 
2175                this.$submenus = this.$submenuAnchors.parent("li").children("[data-submenu]"), this.$menuItems = this.$element.find("li").not(".js-drilldown-back").attr("role", "menuitem").find("a"), 
2176                this.$element.attr("data-mutate", this.$element.attr("data-drilldown") || Foundation.GetYoDigits(6, "drilldown")), 
2177                this._prepareMenu(), this._registerEvents(), this._keyboardEvents();
2178            }
2179        }, {
2180            key: "_prepareMenu",
2181            value: function() {
2182                var _this = this;
2183                this.$submenuAnchors.each(function() {
2184                    var $link = $(this), $sub = $link.parent();
2185                    _this.options.parentLink && $link.clone().prependTo($sub.children("[data-submenu]")).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menu-item"></li>'), 
2186                    $link.data("savedHref", $link.attr("href")).removeAttr("href").attr("tabindex", 0), 
2187                    $link.children("[data-submenu]").attr({
2188                        "aria-hidden": !0,
2189                        tabindex: 0,
2190                        role: "menu"
2191                    }), _this._events($link);
2192                }), this.$submenus.each(function() {
2193                    var $menu = $(this), $back = $menu.find(".js-drilldown-back");
2194                    if (!$back.length) switch (_this.options.backButtonPosition) {
2195                      case "bottom":
2196                        $menu.append(_this.options.backButton);
2197                        break;
2198
2199                      case "top":
2200                        $menu.prepend(_this.options.backButton);
2201                        break;
2202
2203                      default:
2204                        console.error("Unsupported backButtonPosition value '" + _this.options.backButtonPosition + "'");
2205                    }
2206                    _this._back($menu);
2207                }), this.options.autoHeight || this.$submenus.addClass("drilldown-submenu-cover-previous"), 
2208                this.$element.parent().hasClass("is-drilldown") || (this.$wrapper = $(this.options.wrapper).addClass("is-drilldown"), 
2209                this.options.animateHeight && this.$wrapper.addClass("animate-height"), this.$wrapper = this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims()));
2210            }
2211        }, {
2212            key: "_resize",
2213            value: function() {
2214                this.$wrapper.css({
2215                    "max-width": "none",
2216                    "min-height": "none"
2217                }), this.$wrapper.css(this._getMaxDims());
2218            }
2219        }, {
2220            key: "_events",
2221            value: function($elem) {
2222                var _this = this;
2223                $elem.off("click.zf.drilldown").on("click.zf.drilldown", function(e) {
2224                    if ($(e.target).parentsUntil("ul", "li").hasClass("is-drilldown-submenu-parent") && (e.stopImmediatePropagation(), 
2225                    e.preventDefault()), _this._show($elem.parent("li")), _this.options.closeOnClick) {
2226                        var $body = $("body");
2227                        $body.off(".zf.drilldown").on("click.zf.drilldown", function(e) {
2228                            e.target === _this.$element[0] || $.contains(_this.$element[0], e.target) || (e.preventDefault(), 
2229                            _this._hideAll(), $body.off(".zf.drilldown"));
2230                        });
2231                    }
2232                }), this.$element.on("mutateme.zf.trigger", this._resize.bind(this));
2233            }
2234        }, {
2235            key: "_registerEvents",
2236            value: function() {
2237                this.options.scrollTop && (this._bindHandler = this._scrollTop.bind(this), this.$element.on("open.zf.drilldown hide.zf.drilldown closed.zf.drilldown", this._bindHandler));
2238            }
2239        }, {
2240            key: "_scrollTop",
2241            value: function() {
2242                var _this = this, $scrollTopElement = "" != _this.options.scrollTopElement ? $(_this.options.scrollTopElement) : _this.$element, scrollPos = parseInt($scrollTopElement.offset().top + _this.options.scrollTopOffset);
2243                $("html, body").stop(!0).animate({
2244                    scrollTop: scrollPos
2245                }, _this.options.animationDuration, _this.options.animationEasing, function() {
2246                    this === $("html")[0] && _this.$element.trigger("scrollme.zf.drilldown");
2247                });
2248            }
2249        }, {
2250            key: "_keyboardEvents",
2251            value: function() {
2252                var _this = this;
2253                this.$menuItems.add(this.$element.find(".js-drilldown-back > a, .is-submenu-parent-item > a")).on("keydown.zf.drilldown", function(e) {
2254                    var $prevElement, $nextElement, $element = $(this), $elements = $element.parent("li").parent("ul").children("li").children("a");
2255                    $elements.each(function(i) {
2256                        return $(this).is($element) ? ($prevElement = $elements.eq(Math.max(0, i - 1)), 
2257                        void ($nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)))) : void 0;
2258                    }), Foundation.Keyboard.handleKey(e, "Drilldown", {
2259                        next: function() {
2260                            return $element.is(_this.$submenuAnchors) ? (_this._show($element.parent("li")), 
2261                            $element.parent("li").one(Foundation.transitionend($element), function() {
2262                                $element.parent("li").find("ul li a").filter(_this.$menuItems).first().focus();
2263                            }), !0) : void 0;
2264                        },
2265                        previous: function() {
2266                            return _this._hide($element.parent("li").parent("ul")), $element.parent("li").parent("ul").one(Foundation.transitionend($element), function() {
2267                                setTimeout(function() {
2268                                    $element.parent("li").parent("ul").parent("li").children("a").first().focus();
2269                                }, 1);
2270                            }), !0;
2271                        },
2272                        up: function() {
2273                            return $prevElement.focus(), !0;
2274                        },
2275                        down: function() {
2276                            return $nextElement.focus(), !0;
2277                        },
2278                        close: function() {
2279                            _this._back();
2280                        },
2281                        open: function() {
2282                            return $element.is(_this.$menuItems) ? $element.is(_this.$submenuAnchors) ? (_this._show($element.parent("li")), 
2283                            $element.parent("li").one(Foundation.transitionend($element), function() {
2284                                $element.parent("li").find("ul li a").filter(_this.$menuItems).first().focus();
2285                            }), !0) : void 0 : (_this._hide($element.parent("li").parent("ul")), $element.parent("li").parent("ul").one(Foundation.transitionend($element), function() {
2286                                setTimeout(function() {
2287                                    $element.parent("li").parent("ul").parent("li").children("a").first().focus();
2288                                }, 1);
2289                            }), !0);
2290                        },
2291                        handled: function(preventDefault) {
2292                            preventDefault && e.preventDefault(), e.stopImmediatePropagation();
2293                        }
2294                    });
2295                });
2296            }
2297        }, {
2298            key: "_hideAll",
2299            value: function() {
2300                var $elem = this.$element.find(".is-drilldown-submenu.is-active").addClass("is-closing");
2301                this.options.autoHeight && this.$wrapper.css({
2302                    height: $elem.parent().closest("ul").data("calcHeight")
2303                }), $elem.one(Foundation.transitionend($elem), function(e) {
2304                    $elem.removeClass("is-active is-closing");
2305                }), this.$element.trigger("closed.zf.drilldown");
2306            }
2307        }, {
2308            key: "_back",
2309            value: function($elem) {
2310                var _this = this;
2311                $elem.off("click.zf.drilldown"), $elem.children(".js-drilldown-back").on("click.zf.drilldown", function(e) {
2312                    e.stopImmediatePropagation(), _this._hide($elem);
2313                    var parentSubMenu = $elem.parent("li").parent("ul").parent("li");
2314                    parentSubMenu.length && _this._show(parentSubMenu);
2315                });
2316            }
2317        }, {
2318            key: "_menuLinkEvents",
2319            value: function() {
2320                var _this = this;
2321                this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown", function(e) {
2322                    setTimeout(function() {
2323                        _this._hideAll();
2324                    }, 0);
2325                });
2326            }
2327        }, {
2328            key: "_show",
2329            value: function($elem) {
2330                this.options.autoHeight && this.$wrapper.css({
2331                    height: $elem.children("[data-submenu]").data("calcHeight")
2332                }), $elem.attr("aria-expanded", !0), $elem.children("[data-submenu]").addClass("is-active").attr("aria-hidden", !1), 
2333                this.$element.trigger("open.zf.drilldown", [ $elem ]);
2334            }
2335        }, {
2336            key: "_hide",
2337            value: function($elem) {
2338                this.options.autoHeight && this.$wrapper.css({
2339                    height: $elem.parent().closest("ul").data("calcHeight")
2340                });
2341                $elem.parent("li").attr("aria-expanded", !1), $elem.attr("aria-hidden", !0).addClass("is-closing"), 
2342                $elem.addClass("is-closing").one(Foundation.transitionend($elem), function() {
2343                    $elem.removeClass("is-active is-closing"), $elem.blur();
2344                }), $elem.trigger("hide.zf.drilldown", [ $elem ]);
2345            }
2346        }, {
2347            key: "_getMaxDims",
2348            value: function() {
2349                var maxHeight = 0, result = {}, _this = this;
2350                return this.$submenus.add(this.$element).each(function() {
2351                    var height = ($(this).children("li").length, Foundation.Box.GetDimensions(this).height);
2352                    maxHeight = height > maxHeight ? height : maxHeight, _this.options.autoHeight && ($(this).data("calcHeight", height), 
2353                    $(this).hasClass("is-drilldown-submenu") || (result.height = height));
2354                }), this.options.autoHeight || (result["min-height"] = maxHeight + "px"), result["max-width"] = this.$element[0].getBoundingClientRect().width + "px", 
2355                result;
2356            }
2357        }, {
2358            key: "destroy",
2359            value: function() {
2360                this.options.scrollTop && this.$element.off(".zf.drilldown", this._bindHandler), 
2361                this._hideAll(), this.$element.off("mutateme.zf.trigger"), Foundation.Nest.Burn(this.$element, "drilldown"), 
2362                this.$element.unwrap().find(".js-drilldown-back, .is-submenu-parent-item").remove().end().find(".is-active, .is-closing, .is-drilldown-submenu").removeClass("is-active is-closing is-drilldown-submenu").end().find("[data-submenu]").removeAttr("aria-hidden tabindex role"), 
2363                this.$submenuAnchors.each(function() {
2364                    $(this).off(".zf.drilldown");
2365                }), this.$submenus.removeClass("drilldown-submenu-cover-previous"), this.$element.find("a").each(function() {
2366                    var $link = $(this);
2367                    $link.removeAttr("tabindex"), $link.data("savedHref") && $link.attr("href", $link.data("savedHref")).removeData("savedHref");
2368                }), Foundation.unregisterPlugin(this);
2369            }
2370        } ]), Drilldown;
2371    }();
2372    Drilldown.defaults = {
2373        backButton: '<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',
2374        backButtonPosition: "top",
2375        wrapper: "<div></div>",
2376        parentLink: !1,
2377        closeOnClick: !1,
2378        autoHeight: !1,
2379        animateHeight: !1,
2380        scrollTop: !1,
2381        scrollTopElement: "",
2382        scrollTopOffset: 0,
2383        animationDuration: 500,
2384        animationEasing: "swing"
2385    }, Foundation.plugin(Drilldown, "Drilldown");
2386}(jQuery);
2387
2388var _createClass = function() {
2389    function defineProperties(target, props) {
2390        for (var i = 0; i < props.length; i++) {
2391            var descriptor = props[i];
2392            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
2393            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
2394        }
2395    }
2396    return function(Constructor, protoProps, staticProps) {
2397        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
2398        Constructor;
2399    };
2400}();
2401
2402!function($) {
2403    var Dropdown = function() {
2404        function Dropdown(element, options) {
2405            _classCallCheck(this, Dropdown), this.$element = element, this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options), 
2406            this._init(), Foundation.registerPlugin(this, "Dropdown"), Foundation.Keyboard.register("Dropdown", {
2407                ENTER: "open",
2408                SPACE: "open",
2409                ESCAPE: "close"
2410            });
2411        }
2412        return _createClass(Dropdown, [ {
2413            key: "_init",
2414            value: function() {
2415                var $id = this.$element.attr("id");
2416                this.$anchor = $($('[data-toggle="' + $id + '"]').length ? '[data-toggle="' + $id + '"]' : '[data-open="' + $id + '"]'), 
2417                this.$anchor.attr({
2418                    "aria-controls": $id,
2419                    "data-is-focus": !1,
2420                    "data-yeti-box": $id,
2421                    "aria-haspopup": !0,
2422                    "aria-expanded": !1
2423                }), this.options.parentClass ? this.$parent = this.$element.parents("." + this.options.parentClass) : this.$parent = null, 
2424                this.options.positionClass = this.getPositionClass(), this.counter = 4, this.usedPositions = [], 
2425                this.$element.attr({
2426                    "aria-hidden": "true",
2427                    "data-yeti-box": $id,
2428                    "data-resize": $id,
2429                    "aria-labelledby": this.$anchor[0].id || Foundation.GetYoDigits(6, "dd-anchor")
2430                }), this._events();
2431            }
2432        }, {
2433            key: "getPositionClass",
2434            value: function() {
2435                var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);
2436                verticalPosition = verticalPosition ? verticalPosition[0] : "";
2437                var horizontalPosition = /float-(\S+)/.exec(this.$anchor[0].className);
2438                horizontalPosition = horizontalPosition ? horizontalPosition[1] : "";
2439                var position = horizontalPosition ? horizontalPosition + " " + verticalPosition : verticalPosition;
2440                return position;
2441            }
2442        }, {
2443            key: "_reposition",
2444            value: function(position) {
2445                this.usedPositions.push(position ? position : "bottom"), !position && this.usedPositions.indexOf("top") < 0 ? this.$element.addClass("top") : "top" === position && this.usedPositions.indexOf("bottom") < 0 ? this.$element.removeClass(position) : "left" === position && this.usedPositions.indexOf("right") < 0 ? this.$element.removeClass(position).addClass("right") : "right" === position && this.usedPositions.indexOf("left") < 0 ? this.$element.removeClass(position).addClass("left") : !position && this.usedPositions.indexOf("top") > -1 && this.usedPositions.indexOf("left") < 0 ? this.$element.addClass("left") : "to
2445p" === position && this.usedPositions.indexOf("bottom") > -1 && this.usedPositions.indexOf("left") < 0 ? this.$element.removeClass(position).addClass("left") : "left" === position && this.usedPositions.indexOf("right") > -1 && this.usedPositions.indexOf("bottom") < 0 ? this.$element.removeClass(position) : "right" === position && this.usedPositions.indexOf("left") > -1 && this.usedPositions.indexOf("bottom") < 0 ? this.$element.removeClass(position) : this.$element.removeClass(position), 
2446                this.classChanged = !0, this.counter--;
2447            }
2448        }, {
2449            key: "_setPosition",
2450            value: function() {
2451                if ("false" === this.$anchor.attr("aria-expanded")) return !1;
2452                var position = this.getPositionClass(), $eleDims = Foundation.Box.GetDimensions(this.$element), direction = (Foundation.Box.GetDimensions(this.$anchor), 
2453                "left" === position ? "left" : "right" === position ? "left" : "top"), param = "top" === direction ? "height" : "width";
2454                "height" === param ? this.options.vOffset : this.options.hOffset;
2455                if ($eleDims.width >= $eleDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.$element, this.$parent)) {
2456                    var newWidth = $eleDims.windowDims.width, parentHOffset = 0;
2457                    if (this.$parent) {
2458                        var $parentDims = Foundation.Box.GetDimensions(this.$parent), parentHOffset = $parentDims.offset.left;
2459                        $parentDims.width < newWidth && (newWidth = $parentDims.width);
2460                    }
2461                    return this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, "center bottom", this.options.vOffset, this.options.hOffset + parentHOffset, !0)).css({
2462                        width: newWidth - 2 * this.options.hOffset,
2463                        height: "auto"
2464                    }), this.classChanged = !0, !1;
2465                }
2466                for (this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset)); !Foundation.Box.ImNotTouchingYou(this.$element, this.$parent, !0) && this.counter; ) this._reposition(position), 
2467                this._setPosition();
2468            }
2469        }, {
2470            key: "_events",
2471            value: function() {
2472                var _this = this;
2473                this.$element.on({
2474                    "open.zf.trigger": this.open.bind(this),
2475                    "close.zf.trigger": this.close.bind(this),
2476                    "toggle.zf.trigger": this.toggle.bind(this),
2477                    "resizeme.zf.trigger": this._setPosition.bind(this)
2478                }), this.options.hover && (this.$anchor.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown", function() {
2479                    var bodyData = $("body").data();
2480                    ("undefined" == typeof bodyData.whatinput || "mouse" === bodyData.whatinput) && (clearTimeout(_this.timeout), 
2481                    _this.timeout = setTimeout(function() {
2482                        _this.open(), _this.$anchor.data("hover", !0);
2483                    }, _this.options.hoverDelay));
2484                }).on("mouseleave.zf.dropdown", function() {
2485                    clearTimeout(_this.timeout), _this.timeout = setTimeout(function() {
2486                        _this.close(), _this.$anchor.data("hover", !1);
2487                    }, _this.options.hoverDelay);
2488                }), this.options.hoverPane && this.$element.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown", function() {
2489                    clearTimeout(_this.timeout);
2490                }).on("mouseleave.zf.dropdown", function() {
2491                    clearTimeout(_this.timeout), _this.timeout = setTimeout(function() {
2492                        _this.close(), _this.$anchor.data("hover", !1);
2493                    }, _this.options.hoverDelay);
2494                })), this.$anchor.add(this.$element).on("keydown.zf.dropdown", function(e) {
2495                    var $target = $(this);
2496                    Foundation.Keyboard.findFocusable(_this.$element);
2497                    Foundation.Keyboard.handleKey(e, "Dropdown", {
2498                        open: function() {
2499                            $target.is(_this.$anchor) && (_this.open(), _this.$element.attr("tabindex", -1).focus(), 
2500                            e.preventDefault());
2501                        },
2502                        close: function() {
2503                            _this.close(), _this.$anchor.focus();
2504                        }
2505                    });
2506                });
2507            }
2508        }, {
2509            key: "_addBodyHandler",
2510            value: function() {
2511                var $body = $(document.body).not(this.$element), _this = this;
2512                $body.off("click.zf.dropdown").on("click.zf.dropdown", function(e) {
2513                    _this.$anchor.is(e.target) || _this.$anchor.find(e.target).length || _this.$element.find(e.target).length || (_this.close(), 
2514                    $body.off("click.zf.dropdown"));
2515                });
2516            }
2517        }, {
2518            key: "open",
2519            value: function() {
2520                if (this.$element.trigger("closeme.zf.dropdown", this.$element.attr("id")), this.$anchor.addClass("hover").attr({
2521                    "aria-expanded": !0
2522                }), this._setPosition(), this.$element.addClass("is-open").attr({
2523                    "aria-hidden": !1
2524                }), this.options.autoFocus) {
2525                    var $focusable = Foundation.Keyboard.findFocusable(this.$element);
2526                    $focusable.length && $focusable.eq(0).focus();
2527                }
2528                this.options.closeOnClick && this._addBodyHandler(), this.options.trapFocus && Foundation.Keyboard.trapFocus(this.$element), 
2529                this.$element.trigger("show.zf.dropdown", [ this.$element ]);
2530            }
2531        }, {
2532            key: "close",
2533            value: function() {
2534                if (!this.$element.hasClass("is-open")) return !1;
2535                if (this.$element.removeClass("is-open").attr({
2536                    "aria-hidden": !0
2537                }), this.$anchor.removeClass("hover").attr("aria-expanded", !1), this.classChanged) {
2538                    var curPositionClass = this.getPositionClass();
2539                    curPositionClass && this.$element.removeClass(curPositionClass), this.$element.addClass(this.options.positionClass).css({
2540                        height: "",
2541                        width: ""
2542                    }), this.classChanged = !1, this.counter = 4, this.usedPositions.length = 0;
2543                }
2544                this.$element.trigger("hide.zf.dropdown", [ this.$element ]), this.options.trapFocus && Foundation.Keyboard.releaseFocus(this.$element);
2545            }
2546        }, {
2547            key: "toggle",
2548            value: function() {
2549                if (this.$element.hasClass("is-open")) {
2550                    if (this.$anchor.data("hover")) return;
2551                    this.close();
2552                } else this.open();
2553            }
2554        }, {
2555            key: "destroy",
2556            value: function() {
2557                this.$element.off(".zf.trigger").hide(), this.$anchor.off(".zf.dropdown"), Foundation.unregisterPlugin(this);
2558            }
2559        } ]), Dropdown;
2560    }();
2561    Dropdown.defaults = {
2562        parentClass: null,
2563        hoverDelay: 250,
2564        hover: !1,
2565        hoverPane: !1,
2566        vOffset: 1,
2567        hOffset: 1,
2568        positionClass: "",
2569        trapFocus: !1,
2570        autoFocus: !1,
2571        closeOnClick: !1
2572    }, Foundation.plugin(Dropdown, "Dropdown");
2573}(jQuery);
2574
2575var _createClass = function() {
2576    function defineProperties(target, props) {
2577        for (var i = 0; i < props.length; i++) {
2578            var descriptor = props[i];
2579            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
2580            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
2581        }
2582    }
2583    return function(Constructor, protoProps, staticProps) {
2584        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
2585        Constructor;
2586    };
2587}();
2588
2589!function($) {
2590    var DropdownMenu = function() {
2591        function DropdownMenu(element, options) {
2592            _classCallCheck(this, DropdownMenu), this.$element = element, this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options), 
2593            Foundation.Nest.Feather(this.$element, "dropdown"), this._init(), Foundation.registerPlugin(this, "DropdownMenu"), 
2594            Foundation.Keyboard.register("DropdownMenu", {
2595                ENTER: "open",
2596                SPACE: "open",
2597                ARROW_RIGHT: "next",
2598                ARROW_UP: "up",
2599                ARROW_DOWN: "down",
2600                ARROW_LEFT: "previous",
2601                ESCAPE: "close"
2602            });
2603        }
2604        return _createClass(DropdownMenu, [ {
2605            key: "_init",
2606            value: function() {
2607                var subs = this.$element.find("li.is-dropdown-submenu-parent");
2608                this.$element.children(".is-dropdown-submenu-parent").children(".is-dropdown-submenu").addClass("first-sub"), 
2609                this.$menuItems = this.$element.find('[role="menuitem"]'), this.$tabs = this.$element.children('[role="menuitem"]'), 
2610                this.$tabs.find("ul.is-dropdown-submenu").addClass(this.options.verticalClass), 
2611                this.$element.hasClass(this.options.rightClass) || "right" === this.options.alignment || Foundation.rtl() || this.$element.parents(".top-bar-right").is("*") ? (this.options.alignment = "right", 
2612                subs.addClass("opens-left")) : subs.addClass("opens-right"), this.changed = !1, 
2613                this._events();
2614            }
2615        }, {
2616            key: "_isVertical",
2617            value: function() {
2618                return "block" === this.$tabs.css("display");
2619            }
2620        }, {
2621            key: "_events",
2622            value: function() {
2623                var _this = this, hasTouch = "ontouchstart" in window || "undefined" != typeof window.ontouchstart, parClass = "is-dropdown-submenu-parent", handleClick
2623Fn = function(e) {
2624                    var $elem = $(e.target).parentsUntil("ul", "." + parClass), hasSub = $elem.hasClass(parClass), hasClicked = "true" === $elem.attr("data-is-click"), $sub = $elem.children(".is-dropdown-submenu");
2625                    if (hasSub) if (hasClicked) {
2626                        if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) return;
2627                        e.stopImmediatePropagation(), e.preventDefault(), _this._hide($elem);
2628                    } else e.preventDefault(), e.stopImmediatePropagation(), _this._show($sub), $elem.add($elem.parentsUntil(_this.$element, "." + parClass)).attr("data-is-click", !0);
2629                };
2630                (this.options.clickOpen || hasTouch) && this.$menuItems.on("click.zf.dropdownmenu touchstart.zf.dropdownmenu", handleClickFn), 
2631                _this.options.closeOnClickInside && this.$menuItems.on("click.zf.dropdownmenu touchend.zf.dropdownmenu", function(e) {
2632                    var $elem = $(this), hasSub = $elem.hasClass(parClass);
2633                    hasSub || _this._hide();
2634                }), this.options.disableHover || this.$menuItems.on("mouseenter.zf.dropdownmenu", function(e) {
2635                    var $elem = $(this), hasSub = $elem.hasClass(parClass);
2636                    hasSub && (clearTimeout($elem.data("_delay")), $elem.data("_delay", setTimeout(function() {
2637                        _this._show($elem.children(".is-dropdown-submenu"));
2638                    }, _this.options.hoverDelay)));
2639                }).on("mouseleave.zf.dropdownmenu", function(e) {
2640                    var $elem = $(this), hasSub = $elem.hasClass(parClass);
2641                    if (hasSub && _this.options.autoclose) {
2642                        if ("true" === $elem.attr("data-is-click") && _this.options.clickOpen) return !1;
2643                        clearTimeout($elem.data("_delay")), $elem.data("_delay", setTimeout(function() {
2644                            _this._hide($elem);
2645                        }, _this.options.closingTime));
2646                    }
2647                }), this.$menuItems.on("keydown.zf.dropdownmenu", function(e) {
2648                    var $prevElement, $nextElement, $element = $(e.target).parentsUntil("ul", '[role="menuitem"]'), isTab = _this.$tabs.index($element) > -1, $elements = isTab ? _this.$tabs : $element.siblings("li").add($element);
2649                    $elements.each(function(i) {
2650                        return $(this).is($element) ? ($prevElement = $elements.eq(i - 1), void ($nextElement = $elements.eq(i + 1))) : void 0;
2651                    });
2652                    var nextSibling = function() {
2653                        $element.is(":last-child") || ($nextElement.children("a:first").focus(), e.preventDefault());
2654                    }, prevSibling = function() {
2655                        $prevElement.children("a:first").focus(), e.preventDefault();
2656                    }, openSub = function() {
2657                        var $sub = $element.children("ul.is-dropdown-submenu");
2658                        $sub.length && (_this._show($sub), $element.find("li > a:first").focus(), e.preventDefault());
2659                    }, closeSub = function() {
2660                        var close = $element.parent("ul").parent("li");
2661                        close.children("a:first").focus(), _this._hide(close), e.preventDefault();
2662                    }, functions = {
2663                        open: openSub,
2664                        close: function() {
2665                            _this._hide(_this.$element), _this.$menuItems.find("a:first").focus(), e.preventDefault();
2666                        },
2667                        handled: function() {
2668                            e.stopImmediatePropagation();
2669                        }
2670                    };
2671                    isTab ? _this._isVertical() ? Foundation.rtl() ? $.extend(functions, {
2672                        down: nextSibling,
2673                        up: prevSibling,
2674                        next: closeSub,
2675                        previous: openSub
2676                    }) : $.extend(functions, {
2677                        down: nextSibling,
2678                        up: prevSibling,
2679                        next: openSub,
2680                        previous: closeSub
2681                    }) : Foundation.rtl() ? $.extend(functions, {
2682                        next: prevSibling,
2683                        previous: nextSibling,
2684                        down: openSub,
2685                        up: closeSub
2686                    }) : $.extend(functions, {
2687                        next: nextSibling,
2688                        previous: prevSibling,
2689                        down: openSub,
2690                        up: closeSub
2691                    }) : Foundation.rtl() ? $.extend(functions, {
2692                        next: closeSub,
2693                        previous: openSub,
2694                        down: nextSibling,
2695                        up: prevSibling
2696                    }) : $.extend(functions, {
2697                        next: openSub,
2698                        previous: closeSub,
2699                        down: nextSibling,
2700                        up: prevSibling
2701                    }), Foundation.Keyboard.handleKey(e, "DropdownMenu", functions);
2702                });
2703            }
2704        }, {
2705            key: "_addBodyHandler",
2706            value: function() {
2707                var $body = $(document.body), _this = this;
2708                $body.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu").on("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu", function(e) {
2709                    var $link = _this.$element.find(e.target);
2710                    $link.length || (_this._hide(), $body.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu"));
2711                });
2712            }
2713        }, {
2714            key: "_show",
2715            value: function($sub) {
2716                var idx = this.$tabs.index(this.$tabs.filter(function(i, el) {
2717                    return $(el).find($sub).length > 0;
2718                })), $sibs = $sub.parent("li.is-dropdown-submenu-parent").siblings("li.is-dropdown-submenu-parent");
2719                this._hide($sibs, idx), $sub.css("visibility", "hidden").addClass("js-dropdown-active").parent("li.is-dropdown-submenu-parent").addClass("is-active");
2720                var clear = Foundation.Box.ImNotTouchingYou($sub, null, !0);
2721                if (!clear) {
2722                    var oldClass = "left" === this.options.alignment ? "-right" : "-left", $parentLi = $sub.parent(".is-dropdown-submenu-parent");
2723                    $parentLi.removeClass("opens" + oldClass).addClass("opens-" + this.options.alignment), 
2724                    clear = Foundation.Box.ImNotTouchingYou($sub, null, !0), clear || $parentLi.removeClass("opens-" + this.options.alignment).addClass("opens-inner"), 
2725                    this.changed = !0;
2726                }
2727                $sub.css("visibility", ""), this.options.closeOnClick && this._addBodyHandler(), 
2728                this.$element.trigger("show.zf.dropdownmenu", [ $sub ]);
2729            }
2730        }, {
2731            key: "_hide",
2732            value: function($elem, idx) {
2733                var $toClose;
2734                $toClose = $elem && $elem.length ? $elem : void 0 !== idx ? this.$tabs.not(function(i, el) {
2735                    return i === idx;
2736                }) : this.$element;
2737                var somethingToClose = $toClose.hasClass("is-active") || $toClose.find(".
2737is-active").length > 0;
2738                if (somethingToClose) {
2739                    if ($toClose.find("li.is-active").add($toClose).attr({
2740                        "data-is-click": !1
2741                    }).removeClass("is-active"), $toClose.find("ul.js-dropdown-active").removeClass("js-dropdown-active"), 
2742                    this.changed || $toClose.find("opens-inner").length) {
2743                        var oldClass = "left" === this.options.alignment ? "right" : "left";
2744                        $toClose.find("li.is-dropdown-submenu-parent").add($toClose).removeClass("opens-inner opens-" + this.options.alignment).addClass("opens-" + oldClass), 
2745                        this.changed = !1;
2746                    }
2747                    this.$element.trigger("hide.zf.dropdownmenu", [ $toClose ]);
2748                }
2749            }
2750        }, {
2751            key: "destroy",
2752            value: function() {
2753                this.$menuItems.off(".zf.dropdownmenu").removeAttr("data-is-click").removeClass("is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner"), 
2754                $(document.body).off(".zf.dropdownmenu"), Foundation.Nest.Burn(this.$element, "dropdown"), 
2755                Foundation.unregisterPlugin(this);
2756            }
2757        } ]), DropdownMenu;
2758    }();
2759    DropdownMenu.defaults = {
2760        disableHover: !1,
2761        autoclose: !0,
2762        hoverDelay: 50,
2763        clickOpen: !1,
2764        closingTime: 500,
2765        alignment: "left",
2766        closeOnClick: !0,
2767        closeOnClickInside: !0,
2768        verticalClass: "vertical",
2769        rightClass: "align-right",
2770        forceFollow: !0
2771    }, Foundation.plugin(DropdownMenu, "DropdownMenu");
2772}(jQuery);
2773
2774var _createClass = function() {
2775    function defineProperties(target, props) {
2776        for (var i = 0; i < props.length; i++) {
2777            var descriptor = props[i];
2778            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
2779            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
2780        }
2781    }
2782    return function(Constructor, protoProps, staticProps) {
2783        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
2784        Constructor;
2785    };
2786}();
2787
2788!function($) {
2789    var Equalizer = function() {
2790        function Equalizer(element, options) {
2791            _classCallCheck(this, Equalizer), this.$element = element, this.options = $.extend({}, Equalizer.defaults, this.$element.data(), options), 
2792            this._init(), Foundation.registerPlugin(this, "Equalizer");
2793        }
2794        return _createClass(Equalizer, [ {
2795            key: "_init",
2796            value: function() {
2797                var eqId = this.$element.attr("data-equalizer") || "", $watched = this.$element.find('[data-equalizer-watch="' + eqId + '"]');
2798                this.$watched = $watched.length ? $watched : this.$element.find("[data-equalizer-watch]"), 
2799                this.$element.attr("data-resize", eqId || Foundation.GetYoDigits(6, "eq")), this.$element.attr("data-mutate", eqId || Foundation.GetYoDigits(6, "eq")), 
2800                this.hasNested = this.$element.find("[data-equalizer]").length > 0, this.isNested = this.$element.parentsUntil(document.body, "[data-equalizer]").length > 0, 
2801                this.isOn = !1, this._bindHandler = {
2802                    onResizeMeBound: this._onResizeMe.bind(this),
2803                    onPostEqualizedBound: this._onPostEqualized.bind(this)
2804                };
2805                var tooSmall, imgs = this.$element.find("img");
2806                this.options.equalizeOn ? (tooSmall = this._checkMQ(), $(window).on("changed.zf.mediaquery", this._checkMQ.bind(this))) : this._events(), 
2807                (void 0 !== tooSmall && tooSmall === !1 || void 0 === tooSmall) && (imgs.length ? Foundation.onImagesLoaded(imgs, this._reflow.bind(this)) : this._reflow());
2808            }
2809        }, {
2810            key: "_pauseEvents",
2811            value: function() {
2812                this.isOn = !1, this.$element.off({
2813                    ".zf.equalizer": this._bindHandler.onPostEqualizedBound,
2814                    "resizeme.zf.trigger": this._bindHandler.onResizeMeBound,
2815                    "mutateme.zf.trigger": this._bindHandler.onResizeMeBound
2816                });
2817            }
2818        }, {
2819            key: "_onResizeMe",
2820            value: function(e) {
2821                this._reflow();
2822            }
2823        }, {
2824            key: "_onPostEqualized",
2825            value: function(e) {
2826                e.target !== this.$element[0] && this._reflow();
2827            }
2828        }, {
2829            key: "_events",
2830            value: function() {
2831                this._pauseEvents(), this.hasNested ? this.$element.on("postequalized.zf.equalizer", this._bindHandler.onPostEqualizedBound) : (this.$element.on("resizeme.zf.trigger", this._bindHandler.onResizeMeBound), 
2832                this.$element.on("mutateme.zf.trigger", this._bindHandler.onResizeMeBound)), this.isOn = !0;
2833            }
2834        }, {
2835            key: "_checkMQ",
2836            value: function() {
2837                var tooSmall = !Foundation.MediaQuery.is(this.options.equalizeOn);
2838                return tooSmall ? this.isOn && (this._pauseEvents(), this.$watched.css("height", "auto")) : this.isOn || this._events(), 
2839                tooSmall;
2840            }
2841        }, {
2842            key: "_killswitch",
2843            value: function() {}
2844        }, {
2845            key: "_reflow",
2846            value: function() {
2847                return !this.options.equalizeOnStack && this._isStacked() ? (this.$watched.css("height", "auto"), 
2848                !1) : void (this.options.equalizeByRow ? this.getHeightsByRow(this.applyHeightByRow.bind(this)) : this.getHeights(this.applyHeight.bind(this)));
2849            }
2850        }, {
2851            key: "_isStacked",
2852            value: function() {
2853                return this.$watched[0] && this.$watched[1] ? this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top : !0;
2854            }
2855        }, {
2856            key: "getHeights",
2857            value: function(cb) {
2858                for (var heights = [], i = 0, len = this.$watched.length; len > i; i++) this.$watched[i].style.height = "auto", 
2859                heights.push(this.$watched[i].offsetHeight);
2860                cb(heights);
2861            }
2862        }, {
2863            key: "getHeightsByRow",
2864            value: function(cb) {
2865                var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0, groups = [], group = 0;
2866                groups[group] = [];
2867                for (var i = 0, len = this.$watched.length; len > i; i++) {
2868                    this.$watched[i].style.height = "auto";
2869                    var elOffsetTop = $(this.$watched[i]).offset().top;
2870                    elOffsetTop != lastElTopOffset && (group++, groups[group] = [], lastElTopOffset = elOffsetTop), 
2871                    groups[group].push([ this.$watched[i], this.$watched[i].offsetHeight ]);
2872                }
2873                for (var j = 0, ln = groups.length; ln > j; j++) {
2874                    var heights = $(groups[j]).map(function() {
2875                        return this[1];
2876                    }).get(), max = Math.max.apply(null, heights);
2877                    groups[j].push(max);
2878                }
2879                cb(groups);
2880            }
2881        }, {
2882            key: "applyHeight",
2883            value: function(heights) {
2884                var max = Math.max.apply(null, heights);
2885                this.$element.trigger("preequalized.zf.equalizer"), this.$watched.css("height", max), 
2886                this.$element.trigger("postequalized.zf.equalizer");
2887            }
2888        }, {
2889            key: "applyHeightByRow",
2890            value: function(groups) {
2891                this.$element.trigger("preequalized.zf.equalizer");
2892                for (var i = 0, len = groups.length; len > i; i++) {
2893                    var groupsILength = groups[i].length, max = groups[i][groupsILength - 1];
2894                    if (2 >= groupsILength) $(groups[i][0][0]).css({
2895                        height: "auto"
2896                    }); else {
2897                        this.$element.trigger("preequalizedrow.zf.equal
2897izer");
2898                        for (var j = 0, lenJ = groupsILength - 1; lenJ > j; j++) $(groups[i][j][0]).css({
2899                            height: max
2900                        });
2901                        this.$element.trigger("postequalizedrow.zf.equalizer");
2902                    }
2903                }
2904                this.$element.trigger("postequalized.zf.equalizer");
2905            }
2906        }, {
2907            key: "destroy",
2908            value: function() {
2909                this._pauseEvents(), this.$watched.css("height", "auto"), Foundation.unregisterPlugin(this);
2910            }
2911        } ]), Equalizer;
2912    }();
2913    Equalizer.defaults = {
2914        equalizeOnStack: !1,
2915        equalizeByRow: !1,
2916        equalizeOn: ""
2917    }, Foundation.plugin(Equalizer, "Equalizer");
2918}(jQuery);
2919
2920var _createClass = function() {
2921    function defineProperties(target, props) {
2922        for (var i = 0; i < props.length; i++) {
2923            var descriptor = props[i];
2924            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
2925            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
2926        }
2927    }
2928    return function(Constructor, protoProps, staticProps) {
2929        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
2930        Constructor;
2931    };
2932}();
2933
2934!function($) {
2935    var Interchange = function() {
2936        function Interchange(element, options) {
2937            _classCallCheck(this, Interchange), this.$element = element, this.options = $.extend({}, Interchange.defaults, options), 
2938            this.rules = [], this.currentPath = "", this._init(), this._events(), Foundation.registerPlugin(this, "Interchange");
2939        }
2940        return _createClass(Interchange, [ {
2941            key: "_init",
2942            value: function() {
2943                this._addBreakpoints(), this._generateRules(), this._reflow();
2944            }
2945        }, {
2946            key: "_events",
2947            value: function() {
2948                var _this2 = this;
2949                $(window).on("resize.zf.interchange", Foundation.util.throttle(function() {
2950                    _this2._reflow();
2951                }, 50));
2952            }
2953        }, {
2954            key: "_reflow",
2955            value: function() {
2956                var match;
2957                for (var i in this.rules) if (this.rules.hasOwnProperty(i)) {
2958                    var rule = this.rules[i];
2959                    window.matchMedia(rule.query).matches && (match = rule);
2960                }
2961                match && this.replace(match.path);
2962            }
2963        }, {
2964            key: "_addBreakpoints",
2965            value: function() {
2966                for (var i in Foundation.MediaQuery.queries) if (Foundation.MediaQuery.queries.hasOwnProperty(i)) {
2967                    var query = Foundation.MediaQuery.queries[i];
2968                    Interchange.SPECIAL_QUERIES[query.name] = query.value;
2969                }
2970            }
2971        }, {
2972            key: "_generateRules",
2973            value: function(element) {
2974                var rules, rulesList = [];
2975                rules = this.options.rules ? this.options.rules : this.$element.data("interchange").match(/\[.*?\]/g);
2976                for (var i in rules) if (rules.hasOwnProperty(i)) {
2977                    var rule = rules[i].slice(1, -1).split(", "), path = rule.slice(0, -1).join(""), query = rule[rule.length - 1];
2978                    Interchange.SPECIAL_QUERIES[query] && (query = Interchange.SPECIAL_QUERIES[query]), 
2979                    rulesList.push({
2980                        path: path,
2981                        query: query
2982                    });
2983                }
2984                this.rules = rulesList;
2985            }
2986        }, {
2987            key: "replace",
2988            value: function(path) {
2989                if (this.currentPath !== path) {
2990                    var _this = this, trigger = "replaced.zf.interchange";
2991                    "IMG" === this.$element[0].nodeName ? this.$element.attr("src", path).on("load", function() {
2992                        _this.currentPath = path;
2993                    }).trigger(trigger) : path.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i) ? this.$element.css({
2994                        "background-image": "url(" + path + ")"
2995                    }).trigger(trigger) : $.get(path, function(response) {
2996                        _this.$element.html(response).trigger(trigger), $(response).foundation(), _this.currentPath = path;
2997                    });
2998                }
2999            }
3000        }, {
3001            key: "destroy",
3002            value: function() {}
3003        } ]), Interchange;
3004    }();
3005    Interchange.defaults = {
3006        rules: null
3007    }, Interchange.SPECIAL_QUERIES = {
3008        landscape: "screen and (orientation: landscape)",
3009        portrait: "screen and (orientation: portrait)",
3010        retina: "only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)"
3011    }, Foundation.plugin(Interchange, "Interchange");
3012}(jQuery);
3013
3014var _createClass = function() {
3015    function defineProperties(target, props) {
3016        for (var i = 0; i < props.length; i++) {
3017            var descriptor = props[i];
3018            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
3019            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
3020        }
3021    }
3022    return function(Constructor, protoProps, staticProps) {
3023        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
3024        Constructor;
3025    };
3026}();
3027
3028!function($) {
3029    var Magellan = function() {
3030        function Magellan(element, options) {
3031            _classCallCheck(this, Magellan), this.$element = element, this.options = $.extend({}, Magellan.defaults, this.$element.data(), options), 
3032            this._init(), this.calcPoints(), Foundation.registerPlugin(this, "Magellan");
3033        }
3034        return _createClass(Magellan, [ {
3035            key: "_init",
3036            value: function() {
3037                var id = this.$element[0].id || Foundation.GetYoDigits(6, "magellan");
3038                this.$targets = $("[data-magellan-target]"), this.$links = this.$element.find("a"), 
3039                this.$element.attr({
3040                    "data-resize": id,
3041                    "data-scroll": id,
3042                    id: id
3043                }), this.$active = $(), this.scrollPos = parseInt(window.pageYOffset, 10), this._events();
3044            }
3045        }, {
3046            key: "calcPoints",
3047            value: function() {
3048                var _this = this, body = document.body, html = document.documentElement;
3049                this.points = [], this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight)), 
3050                this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight)), 
3051                this.$targets.each(function() {
3052                    var $tar = $(this), pt = Math.round($tar.offset().top - _this.options.threshold);
3053                    $tar.targetPoint = pt, _this.points.push(pt);
3054                });
3055            }
3056        }, {
3057            key: "_events",
3058            value: function() {
3059                var _this = this;
3060                $("html, body"), {
3061                    duration: _this.options.animationDuration,
3062                    easing: _this.options.animationEasing
3063                };
3064                $(window).one("load", function() {
3065                    _this.options.deepLinking && location.hash && _this.scrollToLoc(location.hash), 
3066                    _this.calcPoints(), _this._updateActive();
3067                }), this.$element.on({
3068                    "resizeme.zf.trigger": this.reflow.bind(this),
3069                    "scrollme.zf.trigger": this._updateActive.bind(this)
3070                }).on("click.zf.magellan", 'a[href^="#"]', function(e) {
3071                    e.preventDefault();
3072                    var arrival = this.getAttribute("href");
3073                    _this.scrollToLoc(arrival);
3074                }), $(window).on("popstate", function(e) {
3075                    _this.options.deepLinking && _this.scrollToLoc(window.location.hash);
3076                });
3077            }
3078        }, {
3079            key: "scrollToLoc",
3080            value: function(loc) {
3081                if (!$(loc).length) return !1;
3082                this._inTransition = !0;
3083                var _this = this, scrollPos = Math.round($(loc).offset().top - this.options.threshold / 2 - this.options.barOffset);
3084                $("html, body").stop(!0).animate({
3085                    scrollTop: scrollPos
3086                }, this.options.animationDuration, this.options.animationEasing, function() {
3087                    _this._inTransition = !1, _this._updateActive();
3088                });
3089            }
3090        }, {
3091            key: "reflow",
3092            value: function() {
3093                this.calcPoints(), this._updateActive();
3094            }
3095        }, {
3096            key: "_updateActive",
3097            value: function() {
3098                if (!this._inTransition) {
3099                    var curIdx, winPos = parseInt(window.pageYOffset, 10);
3100                    if (winPos + this.winHeight === this.docHeight) curIdx = this.points.length - 1; else if (winPos < this.points[0]) curIdx = void 0; else {
3101                        var isDown = this.scrollPos < winPos, _this = this, curVisible = this.points.filter(function(p, i) {
3102                            return isDown ? p - _this.options.barOffset <= winPos : p - _this.options.barOffset - _this.options.threshold <= winPos;
3103                        });
3104                        curIdx = curVisible.length ? curVisible.length - 1 : 0;
3105                    }
3106                    if (this.$active.removeClass(this.options.activeClass), this.$active = this.$links.filter('[href="#' + this.$targets.eq(curIdx).data("magellan-target") + '"]').addClass(this.options.activeClass), 
3107                    this.options.deepLinking) {
3108                        var hash = "";
3109                        void 0 != curIdx && (hash = this.$active[0].getAttribute("href")), hash !== window.location.hash && (window.history.pushState ? window.history.pushState(null, null, hash) : window.location.hash = hash);
3110                    }
3111                    this.scrollPos = winPos, this.$element.trigger("update.zf.magellan", [ this.$active ]);
3112                }
3113            }
3114        }, {
3115            key: "destroy",
3116            value: function() {
3117                if (this.$element.off(".zf.trigger .zf.magellan").find("." + this.options.activeClass).removeClass(this.options.activeClass), 
3118                this.options.deepLinking) {
3119                    var hash = this.$active[0].getAttribute("href");
3120                    window.location.hash.replace(hash, "");
3121                }
3122                Foundation.unregisterPlugin(this);
3123            }
3124        } ]), Magellan;
3125    }();
3126    Magellan.defaults = {
3127        animationDuration: 500,
3128        animationEasing: "linear",
3129        threshold: 50,
3130        activeClass: "active",
3131        deepLinking: !1,
3132        barOffset: 0
3133    }, Foundation.plugin(Magellan, "Magellan");
3134}(jQuery);
3135
3136var _createClass = function() {
3137    function defineProperties(target, props) {
3138        for (var i = 0; i < props.length; i++) {
3139            var descriptor = props[i];
3140            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
3141            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
3142        }
3143    }
3144    return function(Constructor, protoProps, staticProps) {
3145        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
3146        Constructor;
3147    };
3148}();
3149
3150!function($) {
3151    var OffCanvas = function() {
3152        function OffCanvas(element, options) {
3153            _classCallCheck(this, OffCanvas), this.$element = element, this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options), 
3154            this.$lastTrigger = $(), this.$triggers = $(), this._init(), this._events(), Foundation.registerPlugin(this, "OffCanvas"), 
3155            Foundation.Keyboard.register("OffCanvas", {
3156                ESCAPE: "close"
3157            });
3158        }
3159        return _createClass(OffCanvas, [ {
3160            key: "_init",
3161            value: function() {
3162                var id = this.$element.attr("id");
3163                if (this.$element.attr("aria-hidden", "true"), this.$element.addClass("is-transition-" + this.options.transition), 
3164                this.$triggers = $(document).find('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr("aria-expanded", "false").attr("aria-controls", id), 
3165                this.options.contentOverlay === !0) {
3166                    var overlay = document.createElement("div"), overlayPosition = "fixed" === $(this.$element).css("position") ? "is-overlay-fixed" : "is-overlay-absolute";
3167                    overlay.setAttribute("class", "js-off-canvas-overlay " + overlayPosition), this.$overlay = $(overlay), 
3168                    "is-overlay-fixed" === overlayPosition ? $("body").append(this.$overlay) : this.$element.siblings("[data-off-canvas-content]").append(this.$overlay);
3169                }
3170                this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, "g").test(this.$element[0].className), 
3171                this.options.isRevealed === !0 && (this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split("-")[2], 
3172                this._setMQChecker()), !this.options.transitionTime == !0 && (this.options.transitionTime = 1e3 * parseFloat(window.getComputedStyle($("[data-off-canvas]")[0]).transitionDuration));
3173            }
3174        }, {
3175            key: "_events",
3176            value: function() {
3177                if (this.$element.off(".zf.trigger .zf.offcanvas").on({
3178                    "open.zf.trigger": this.open.bind(this),
3179                    "close.zf.trigger": this.close.bind(this),
3180                    "toggle.zf.trigger": this.toggle.bind(this),
3181                    "keydown.zf.offcanvas": this._handleKeyboard.bind(this)
3182                }), this.options.closeOnClick === !0) {
3183                    var $target = this.options.contentOverlay ? this.$overlay : $("[data-off-canvas-content]");
3184                    $target.on({
3185                        "click.zf.offcanvas": this.close.bind(this)
3186                    });
3187                }
3188            }
3189        }, {
3190            key: "_setMQChecker",
3191            value: function() {
3192                var _this = this;
3193                $(window).on("changed.zf.mediaquery", function() {
3194                    Foundation.MediaQuery.atLeast(_this.options.revealOn) ? _this.reveal(!0) : _this.reveal(!1);
3195                }).one("load.zf.offcanvas", function() {
3196                    Foundation.MediaQuery.atLeast(_this.options.revealOn) && _this.reveal(!0);
3197                });
3198            }
3199        }, {
3200            key: "reveal",
3201            value: function(isRevealed) {
3202                var $closer = this.$element.find("[data-close]");
3203                isRevealed ? (this.close(), this.isRevealed = !0, this.$element.attr("aria-hidden", "false"), 
3204                this.$element.off("open.zf.trigger toggle.zf.trigger"), $closer.length && $closer.hide()) : (this.isRevealed = !1, 
3205                this.$element.attr("aria-hidden", "true"), this.$element.on({
3206                    "open.zf.trigger": this.open.bind(this),
3207                    "toggle.zf.trigger": this.toggle.bind(this)
3208                }), $closer.length && $closer.show());
3209            }
3210        }, {
3211            key: "_stopScrolling",
3212            value: function(event) {
3213                return !1;
3214            }
3215        }, {
3216            key: "open",
3217            value: function(event, trigger) {
3218                if (!this.$element.hasClass("is-open") && !this.isRevealed) {
3219                    var _this = this;
3220                    trigger && (this.$lastTrigger = trigger), "top" === this.options.forceTo ? window.scrollTo(0, 0) : "bottom" === this.options.forceTo && window.scrollTo(0, document.body.scrollHeight), 
3221                    _this.$element.addClass("is-open"), this.$triggers.attr("aria-expanded", "true"), 
3222                    this.$element.attr("aria-hidden", "false").trigger("opened.zf.offcanvas"), this.options.contentScroll === !1 && $("body").addClass("is-off-canvas-open").on("touchmove", this._stopScrolling), 
3223                    this.options.contentOverlay === !0 && this.$overlay.addClass("is-visible"), this.options.closeOnClick === !0 && this.options.contentOverlay === !0 && this.$overlay.addClass("is-closable"), 
3224                    this.options.autoFocus === !0 && this.$element.one(Foundation.transitionend(this.$element), function() {
3225                        _this.$element.find("a, button").eq(0).focus();
3226                    }), this.options.trapFocus === !0 && (this.$element.siblings("[data-off-canvas-content]").attr("tabindex", "-1"), 
3227                    Foundation.Keyboard.trapFocus(this.$element));
3228                }
3229            }
3230        }, {
3231            key: "close",
3232            value: function(cb) {
3233                if (this.$element.hasClass("is-open") && !this.isRevealed) {
3234                    var _this = this;
3235                    _this.$element.removeClass("is-open"), this.$element.attr("aria-hidden", "true").trigger("closed.zf.offcanvas"), 
3236                    this.options.contentScroll === !1 && $("body").removeClass("is-off-canvas-open").off("touchmove", this._stopScrolling), 
3237                    this.options.contentOverlay === !0 && this.$overlay.removeClass("is-visible"), this.options.closeOnClick === !0 && this.options.contentOverlay === !0 && this.$overlay.removeClass("is-closable"), 
3238                    this.$triggers.attr("aria-expanded", "false"), this.options.trapFocus === !0 && (this.$element.siblings("[data-off-canvas-content]").removeAttr("tabindex"), 
3239                    Foundation.Keyboard.releaseFocus(this.$element));
3240                }
3241            }
3242        }, {
3243            key: "toggle",
3244            value: function(event, trigger) {
3245                this.$element.hasClass("is-open") ? this.close(event, trigger) : this.open(event, trigger);
3246            }
3247        }, {
3248            key: "_handleKeyboard",
3249            value: function(e) {
3250                var _this2 = this;
3251                Foundation.Keyboard.handleKey(e, "OffCanvas", {
3252                    close: function() {
3253                        return _this2.close(), _this2.$lastTrigger.focus(), !0;
3254                    },
3255                    handled: function() {
3256                        e.stopPropagation(), e.preventDefault();
3257                    }
3258                });
3259            }
3260        }, {
3261            key: "destroy",
3262            value: function() {
3263                this.close(), this.$element.off(".zf.trigger .zf.offcanvas"), this.$overlay.off(".zf.offcanvas"), 
3264                Foundation.unregisterPlugin(this);
3265            }
3266        } ]), OffCanvas;
3267    }();
3268    OffCanvas.defaults = {
3269        closeOnClick: !0,
3270        contentOverlay: !0,
3271        contentScroll: !0,
3272        transitionTime: 0,
3273        transition: "push",
3274        forceTo: null,
3275        isRevealed: !1,
3276        revealOn: null,
3277        autoFocus: !0,
3278        revealClass: "reveal-for-",
3279        trapFocus: !1
3280    }, Foundation.plugin(OffCanvas, "OffCanvas");
3281}(jQuery);
3282
3283var _createClass = function() {
3284    function defineProperties(target, props) {
3285        for (var i = 0; i < props.length; i++) {
3286            var descriptor = props[i];
3287            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
3288            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
3289        }
3290    }
3291    return function(Constructor, protoProps, staticProps) {
3292        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
3293        Constructor;
3294    };
3295}();
3296
3297!function($) {
3298    var Orbit = function() {
3299        function Orbit(element, options) {
3300            _classCallCheck(this, Orbit), this.$element = element, this.options = $.extend({}, Orbit.defaults, this.$element.data(), options), 
3301            this._init(), Foundation.registerPlugin(this, "Orbit"), Foundation.Keyboard.register("Orbit", {
3302                ltr: {
3303                    ARROW_RIGHT: "next",
3304                    ARROW_LEFT: "previous"
3305                },
3306                rtl: {
3307                    ARROW_LEFT: "next",
3308                    ARROW_RIGHT: "previous"
3309                }
3310            });
3311        }
3312        return _createClass(Orbit, [ {
3313            key: "_init",
3314            value: function() {
3315                this._reset(), this.$wrapper = this.$element.find("." + this.options.containerClass), 
3316                this.$slides = this.$element.find("." + this.options.slideClass);
3317                var $images = this.$element.find("img"), initActive = this.$slides.filter(".is-active"), id = this.$element[0].id || Foundation.GetYoDigits(6, "orbit");
3318                this.$element.attr({
3319                    "data-resize": id,
3320                    id: id
3321                }), initActive.length || this.$slides.eq(0).addClass("is-active"), this.options.useMUI || this.$slides.addClass("no-motionui"), 
3322                $images.length ? Foundation.onImagesLoaded($images, this._prepareForOrbit.bind(this)) : this._prepareForOrbit(), 
3323                this.options.bullets && this._loadBullets(), this._events(), this.options.autoPlay && this.$slides.length > 1 && this.geoSync(), 
3324                this.options.accessible && this.$wrapper.attr("tabindex", 0);
3325            }
3326        }, {
3327            key: "_loadBullets",
3328            value: function() {
3329                this.$bullets = this.$element.find("." + this.options.boxOfBullets).find("button");
3330            }
3331        }, {
3332            key: "geoSync",
3333            value: function() {
3334                var _this = this;
3335                this.timer = new Foundation.Timer(this.$element, {
3336                    duration: this.options.timerDelay,
3337                    infinite: !1
3338                }, function() {
3339                    _this.changeSlide(!0);
3340                }), this.timer.start();
3341            }
3342        }, {
3343            key: "_prepareForOrbit",
3344            value: function() {
3345                this._setWrapperHeight();
3346            }
3347        }, {
3348            key: "_setWrapperHeight",
3349            value: function(cb) {
3350                var temp, max = 0, counter = 0, _this = this;
3351                this.$slides.each(function() {
3352                    temp = this.getBoundingClientRect().height, $(this).attr("data-slide", counter), 
3353                    _this.$slides.filter(".is-active")[0] !== _this.$slides.eq(counter)[0] && $(this).css({
3354                        position: "relative",
3355                        display: "none"
3356                    }), max = temp > max ? temp : max, counter++;
3357                }), counter === this.$slides.length && (this.$wrapper.css({
3358                    height: max
3359                }), cb && cb(max));
3360            }
3361        }, {
3362            key: "_setSlideHeight",
3363            value: function(height) {
3364                this.$slides.each(function() {
3365                    $(this).css("max-height", height);
3366                });
3367            }
3368        }, {
3369            key: "_events",
3370            value: function() {
3371                var _this = this;
3372                if (this.$element.off(".resizeme.zf.trigger").on({
3373                    "resizeme.zf.trigger": this._prepareForOrbit.bind(this)
3374                }), this.$slides.length > 1) {
3375                    if (this.options.swipe && this.$slides.off("swipeleft.zf.orbit swiperight.zf.orbit").on("swipeleft.zf.orbit", function(e) {
3376                        e.preventDefault(), _this.changeSlide(!0);
3377                    }).on("swiperight.zf.orbit", function(e) {
3378                        e.preventDefault(), _this.changeSlide(!1);
3379                    }), this.options.autoPlay && (this.$slides.on("click.zf.orbit", function() {
3380                        _this.$element.data("clickedOn", _this.$element.data("clickedOn") ? !1 : !0), _this.timer[_this.$element.data("clickedOn") ? "pause" : "start"]();
3381                    }), this.options.pauseOnHover && this.$element.on("mouseenter.zf.orbit", function() {
3382                        _this.timer.pause();
3383                    }).on("mouseleave.zf.orbit", function() {
3384                        _this.$element.data("clickedOn") || _this.timer.start();
3385                    })), this.options.navButtons) {
3386                        var $controls = this.$element.find("." + this.options.nextClass + ", ." + this.options.prevClass);
3387                        $controls.attr("tabindex", 0).on("click.zf.orbit touchend.zf.orbit", function(e) {
3388                            e.preventDefault(), _this.changeSlide($(this).hasClass(_this.options.nextClass));
3389                        });
3390                    }
3391                    this.options.bullets && this.$bullets.on("click.zf.orbit touchend.zf.orbit", function() {
3392                        if (/is-active/g.test(this.className)) return !1;
3393                        var idx = $(this).data("slide"), ltr = idx > _this.$slides.filter(".is-active").data("slide"), $slide = _this.$slides.eq(idx);
3394                        _this.changeSlide(ltr, $slide, idx);
3395                    }), this.options.accessible && this.$wrapper.add(this.$bullets).on("keydown.zf.orbit", function(e) {
3396                        Foundation.Keyboard.handleKey(e, "Orbit", {
3397                            next: function() {
3398                                _this.changeSlide(!0);
3399                            },
3400                            previous: function() {
3401                                _this.changeSlide(!1);
3402                            },
3403                            handled: function() {
3404                                $(e.target).is(_this.$bullets) && _this.$bullets.filter(".is-active").focus();
3405                            }
3406                        });
3407                    });
3408                }
3409            }
3410        }, {
3411            key: "_reset",
3412            value: function() {
3413                "undefined" != typeof this.$slides && this.$slides.length > 1 && (this.$element.off(".zf.orbit").find("*").off(".zf.orbit"), 
3414                this.options.autoPlay && this.timer.restart(), this.$slides.each(function(el) {
3415                    $(el).removeClass("is-active is-active is-in").removeAttr("aria-live").hide();
3416                }), this.$slides.first().addClass("is-active").show(), this.$element.trigger("slidechange.zf.orbit", [ this.$slides.first() ]), 
3417                this.options.bullets && this._updateBullets(0));
3418            }
3419        }, {
3420            key: "changeSlide",
3421            value: function(isLTR, chosenSlide, idx) {
3422                if (this.$slides) {
3423                    var $curSlide = this.$slides.filter(".is-active").eq(0);
3424                    if (/mui/g.test($curSlide[0].className)) return !1;
3425                    var $newSlide, $firstSlide = this.$slides.first(), $lastSlide = this.$slides.last(), dirIn = isLTR ? "Right" : "Left", dirOut = isLTR ? "Left" : "Right", _this = this;
3426                    $newSlide = chosenSlide ? chosenSlide : isLTR ? this.options.infiniteWrap ? $curSlide.next("." + this.options.slideClass).length ? $curSlide.next("." + this.options.slideClass) : $firstSlide : $curSlide.next("." + this.options.slideClass) : this.options.infiniteWrap ? $curSlide.prev("." + this.options.slideClass).length ? $curSlide.prev("." + this.options.slideClass) : $lastSlide : $curSlide.prev("." + this.options.slideClass), 
3427                    $newSlide.length && (this.$element.trigger("beforeslidechange.zf.orbit", [ $curSlide, $newSlide ]), 
3428                    this.options.bullets && (idx = idx || this.$slides.index($newSlide), this._updateBullets(idx)), 
3429                    this.options.useMUI && !this.$element.is(":hidden") ? (Foundation.Motion.animateIn($newSlide.addClass("is-active").css({
3430                        position: "absolute",
3431                        top: 0
3432                    }), this.options["animInFrom" + dirIn], function() {
3433                        $newSlide.css({
3434                            position: "relative",
3435                            display: "block"
3436                        }).attr("aria-live", "polite");
3437                    }), Foundation.Motion.animateOut($curSlide.removeClass("is-active"), this.options["animOutTo" + dirOut], function() {
3438                        $curSlide.removeAttr("aria-live"), _this.options.autoPlay && !_this.timer.isPaused && _this.timer.restart();
3439                    })) : ($curSlide.removeClass("is-active is-in").removeAttr("aria-live").hide(), 
3440                    $newSlide.addClass("is-active is-in").attr("aria-live", "polite").show(), this.options.autoPlay && !this.timer.isPaused && this.timer.restart()), 
3441                    this.$element.trigger("slidechange.zf.orbit", [ $newSlide ]));
3442                }
3443            }
3444        }, {
3445            key: "_updateBullets",
3446            value: function(idx) {
3447                var $oldBullet = this.$element.find("." + this.options.boxOfBullets).find(".is-active").removeClass("is-active").blur(), span = $oldBullet.find("span:last").detach();
3448                this.$bullets.eq(idx).addClass("is-active").append(span);
3449            }
3450        }, {
3451            key: "destroy",
3452            value: function() {
3453                this.$element.off(".zf.orbit").find("*").off(".zf.orbit").end().hide(), Foundation.unregisterPlugin(this);
3454            }
3455        } ]), Orbit;
3456    }();
3457    Orbit.defaults = {
3458        bullets: !0,
3459        navButtons: !0,
3460        animInFromRight: "slide-in-right",
3461        animOutToRight: "slide-out-right",
3462        animInFromLeft: "slide-in-left",
3463        animOutToLeft: "slide-out-left",
3464        autoPlay: !0,
3465        timerDelay: 5e3,
3466        infiniteWrap: !0,
3467        swipe: !0,
3468        pauseOnHover: !0,
3469        accessible: !0,
3470        containerClass: "orbit-container",
3471        slideClass: "orbit-slide",
3472        boxOfBullets: "orbit-bullets",
3473        nextClass: "orbit-next",
3474        prevClass: "orbit-previous",
3475        useMUI: !0
3476    }, Foundation.plugin(Orbit, "Orbit");
3477}(jQuery);
3478
3479var _createClass = function() {
3480    function defineProperties(target, props) {
3481        for (var i = 0; i < props.length; i++) {
3482            var descriptor = props[i];
3483            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
3484            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
3485        }
3486    }
3487    return function(Constructor, protoProps, staticProps) {
3488        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
3489        Constructor;
3490    };
3491}();
3492
3493!function($) {
3494    var ResponsiveMenu = function() {
3495        function ResponsiveMenu(element, options) {
3496            _classCallCheck(this, ResponsiveMenu), this.$element = $(element), this.rules = this.$element.data("responsive-menu"), 
3497            this.currentMq = null, this.currentPlugin = null, this._init(), this._events(), 
3498            Foundation.registerPlugin(this, "ResponsiveMenu");
3499        }
3500        return _createClass(ResponsiveMenu, [ {
3501            key: "_init",
3502            value: function() {
3503                if ("string" == typeof this.rules) {
3504                    for (var rulesTree = {}, rules = this.rules.split(" "), i = 0; i < rules.length; i++) {
3505                        var rule = rules[i].split("-"), ruleSize = rule.length > 1 ? rule[0] : "small", rulePlugin = rule.length > 1 ? rule[1] : rule[0];
3506                        null !== MenuPlugins[rulePlugin] && (rulesTree[ruleSize] = MenuPlugins[rulePlugin]);
3507                    }
3508                    this.rules = rulesTree;
3509                }
3510                $.isEmptyObject(this.rules) || this._checkMediaQueries(), this.$element.attr("data-mutate", this.$element.attr("data-mutate") || Foundation.GetYoDigits(6, "responsive-menu"));
3511            }
3512        }, {
3513            key: "_events",
3514            value: function() {
3515                var _this = this;
3516                $(window).on("changed.zf.mediaquery", function() {
3517                    _this._checkMediaQueries();
3518                });
3519            }
3520        }, {
3521            key: "_checkMediaQueries",
3522            value: function() {
3523                var matchedMq, _this = this;
3524                $.each(this.rules, function(key) {
3525                    Foundation.MediaQuery.atLeast(key) && (matchedMq = key);
3526                }), matchedMq && (this.currentPlugin instanceof this.rules[matchedMq].plugin || ($.each(MenuPlugins, function(key, value) {
3527                    _this.$element.removeClass(value.cssClass);
3528                }), this.$element.addClass(this.rules[matchedMq].cssClass), this.currentPlugin && this.currentPlugin.destroy(), 
3529                this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {})));
3530            }
3531        }, {
3532            key: "destroy",
3533            value: function() {
3534                this.currentPlugin.destroy(), $(window).off(".zf.ResponsiveMenu"), Foundation.unregisterPlugin(this);
3535            }
3536        } ]), ResponsiveMenu;
3537    }();
3538    ResponsiveMenu.defaults = {};
3539    var MenuPlugins = {
3540        dropdown: {
3541            cssClass: "dropdown",
3542            plugin: Foundation._plugins["dropdown-menu"] || null
3543        },
3544        drilldown: {
3545            cssClass: "drilldown",
3546            plugin: Foundation._plugins.drilldown || null
3547        },
3548        accordion: {
3549            cssClass: "accordion-menu",
3550            plugin: Foundation._plugins["accordion-menu"] || null
3551        }
3552    };
3553    Foundation.plugin(ResponsiveMenu, "ResponsiveMenu");
3554}(jQuery);
3555
3556var _createClass = function() {
3557    function defineProperties(target, props) {
3558        for (var i = 0; i < props.length; i++) {
3559            var descriptor = props[i];
3560            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
3561            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
3562        }
3563    }
3564    return function(Constructor, protoProps, staticProps) {
3565        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
3566        Constructor;
3567    };
3568}();
3569
3570!function($) {
3571    var ResponsiveToggle = function() {
3572        function ResponsiveToggle(element, options) {
3573            _classCallCheck(this, ResponsiveToggle), this.$element = $(element), this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options), 
3574            this._init(), this._events(), Foundation.registerPlugin(this, "ResponsiveToggle");
3575        }
3576        return _createClass(ResponsiveToggle, [ {
3577            key: "_init",
3578            value: function() {
3579                var targetID = this.$element.data("responsive-toggle");
3580                if (targetID || console.error("Your tab bar needs an ID of a Menu as the value of data-tab-bar."), 
3581                this.$targetMenu = $("#" + targetID), this.$toggler = this.$element.find("[data-toggle]"), 
3582                this.options = $.extend({}, this.options, this.$targetMenu.data()), this.options.animate) {
3583                    var input = this.options.animate.split(" ");
3584                    this.animationIn = input[0], this.animationOut = input[1] || null;
3585                }
3586                this._update();
3587            }
3588        }, {
3589            key: "_events",
3590            value: function() {
3591                this._updateMqHandler = this._update.bind(this), $(window).on("changed.zf.mediaquery", this._updateMqHandler), 
3592                this.$toggler.on("click.zf.responsiveToggle", this.toggleMenu.bind(this));
3593            }
3594        }, {
3595            key: "_update",
3596            value: function() {
3597                Foundation.MediaQuery.atLeast(this.options.hideFor) ? (this.$element.hide(), this.$targetMenu.show()) : (this.$element.show(), 
3598                this.$targetMenu.hide());
3599            }
3600        }, {
3601            key: "toggleMenu",
3602            value: function() {
3603                var _this2 = this;
3604                Foundation.MediaQuery.atLeast(this.options.hideFor) || (this.options.animate ? this.$targetMenu.is(":hidden") ? Foundation.Motion.animateIn(this.$targetMenu, this.animationIn, function() {
3605                    _this2.$element.trigger("toggled.zf.responsiveToggle"), _this2.$targetMenu.find("[data-mutate]").triggerHandler("mutateme.zf.trigger");
3606                }) : Foundation.Motion.animateOut(this.$targetMenu, this.animationOut, function() {
3607                    _this2.$element.trigger("toggled.zf.responsiveToggle");
3608                }) : (this.$targetMenu.toggle(0), this.$targetMenu.find("[data-mutate]").trigger("mutateme.zf.trigger"), 
3609                this.$element.trigger("toggled.zf.responsiveToggle")));
3610            }
3611        }, {
3612            key: "destroy",
3613            value: function() {
3614                this.$element.off(".zf.responsiveToggle"), this.$toggler.off(".zf.responsiveToggle"), 
3615                $(window).off("changed.zf.mediaquery", this._updateMqHandler), Foundation.unregisterPlugin(this);
3616            }
3617        } ]), ResponsiveToggle;
3618    }();
3619    ResponsiveToggle.defaults = {
3620        hideFor: "medium",
3621        animate: !1
3622    }, Foundation.plugin(ResponsiveToggle, "ResponsiveToggle");
3623}(jQuery);
3624
3625var _createClass = function() {
3626    function defineProperties(target, props) {
3627        for (var i = 0; i < props.length; i++) {
3628            var descriptor = props[i];
3629            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
3630            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
3631        }
3632    }
3633    return function(Constructor, protoProps, staticProps) {
3634        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
3635        Constructor;
3636    };
3637}();
3638
3639!function($) {
3640    function iPhoneSniff() {
3641        return /iP(ad|hone|od).*OS/.test(window.navigator.userAgent);
3642    }
3643    function androidSniff() {
3644        return /Android/.test(window.navigator.userAgent);
3645    }
3646    function mobileSniff() {
3647        return iPhoneSniff() || androidSniff();
3648    }
3649    var Reveal = function() {
3650        function Reveal(element, options) {
3651            _classCallCheck(this, Reveal), this.$element = element, this.options = $.extend({}, Reveal.defaults, this.$element.data(), options), 
3652            this._init(), Foundation.registerPlugin(this, "Reveal"), Foundation.Keyboard.register("Reveal", {
3653                ENTER: "open",
3654                SPACE: "open",
3655                ESCAPE: "close"
3656            });
3657        }
3658        return _createClass(Reveal, [ {
3659            key: "_init",
3660            value: function() {
3661                this.id = this.$element.attr("id"), this.isActive = !1, this.cached = {
3662                    mq: Foundation.MediaQuery.current
3663                }, this.isMobile = mobileSniff(), this.$anchor = $($('[data-open="' + this.id + '"]').length ? '[data-open="' + this.id + '"]' : '[data-toggle="' + this.id + '"]'), 
3664                this.$anchor.attr({
3665                    "aria-controls": this.id,
3666                    "aria-haspopup": !0,
3667                    tabindex: 0
3668                }), (this.options.fullScreen || this.$element.hasClass("full")) && (this.options.fullScreen = !0, 
3669                this.options.overlay = !1), this.options.overlay && !this.$overlay && (this.$overlay = this._makeOverlay(this.id)), 
3670                this.$element.attr({
3671                    role: "dialog",
3672                    "aria-hidden": !0,
3673                    "data-yeti-box": this.id,
3674                    "data-resize": this.id
3675                }), this.$overlay ? this.$element.detach().appendTo(this.$overlay) : (this.$element.detach().appendTo($(this.options.appendTo)), 
3676                this.$element.addClass("without-overlay")), this._events(), this.options.deepLink && window.location.hash === "#" + this.id && $(window).one("load.zf.reveal", this.open.bind(this));
3677            }
3678        }, {
3679            key: "_makeOverlay",
3680            value: function() {
3681                return $("<div></div>").addClass("reveal-overlay").appendTo(this.options.appendTo);
3682            }
3683        }, {
3684            key: "_updatePosition",
3685            value: function() {
3686                var left, top, width = this.$element.outerWidth(), outerWidth = $(window).width(), height = this.$element.outerHeight(), outerHeight = $(window).height();
3687                left = "auto" === this.options.hOffset ? parseInt((outerWidth - width) / 2, 10) : parseInt(this.options.hOffset, 10), 
3688                top = "auto" === this.options.vOffset ? height > outerHeight ? parseInt(Math.min(100, outerHeight / 10), 10) : parseInt((outerHeight - height) / 4, 10) : parseInt(this.options.vOffset, 10), 
3689                this.$element.css({
3690                    top: top + "px"
3691                }), this.$overlay && "auto" === this.options.hOffset || (this.$element.css({
3692                    left: left + "px"
3693                }), this.$element.css({
3694                    margin: "0px"
3695                }));
3696            }
3697        }, {
3698            key: "_events",
3699            value: function() {
3700                var _this2 = this, _this = this;
3701                this.$element.on({
3702                    "open.zf.trigger": this.open.bind(this),
3703                    "close.zf.trigger": function(event, $element) {
3704                        return event.target === _this.$element[0] || $(event.target).parents("[data-closable]")[0] === $element ? _this2.close.apply(_this2) : void 0;
3705                    },
3706                    "toggle.zf.trigger": this.toggle.bind(this),
3707                    "resizeme.zf.trigger": function() {
3708                        _this._updatePosition();
3709                    }
3710                }
3710), this.$anchor.length && this.$anchor.on("keydown.zf.reveal", function(e) {
3711                    (13 === e.which || 32 === e.which) && (e.stopPropagation(), e.preventDefault(), 
3712                    _this.open());
3713                }), this.options.closeOnClick && this.options.overlay && this.$overlay.off(".zf.reveal").on("click.zf.reveal", function(e) {
3714                    e.target !== _this.$element[0] && !$.contains(_this.$element[0], e.target) && $.contains(document, e.target) && _this.close();
3715                }), this.options.deepLink && $(window).on("popstate.zf.reveal:" + this.id, this._handleState.bind(this));
3716            }
3717        }, {
3718            key: "_handleState",
3719            value: function(e) {
3720                window.location.hash !== "#" + this.id || this.isActive ? this.close() : this.open();
3721            }
3722        }, {
3723            key: "open",
3724            value: function() {
3725                function addRevealOpenClasses() {
3726                    _this.isMobile ? (_this.originalScrollPos || (_this.originalScrollPos = window.pageYOffset), 
3727                    $("html, body").addClass("is-reveal-open")) : $("body").addClass("is-reveal-open");
3728                }
3729                var _this3 = this;
3730                if (this.options.deepLink) {
3731                    var hash = "#" + this.id;
3732                    window.history.pushState ? window.history.pushState(null, null, hash) : window.location.hash = hash;
3733                }
3734                this.isActive = !0, this.$element.css({
3735                    visibility: "hidden"
3736                }).show().scrollTop(0), this.options.overlay && this.$overlay.css({
3737                    visibility: "hidden"
3738                }).show(), this._updatePosition(), this.$element.hide().css({
3739                    visibility: ""
3740                }), this.$overlay && (this.$overlay.css({
3741                    visibility: ""
3742                }).hide(), this.$element.hasClass("fast") ? this.$overlay.addClass("fast") : this.$element.hasClass("slow") && this.$overlay.addClass("slow")), 
3743                this.options.multipleOpened || this.$element.trigger("closeme.zf.reveal", this.id);
3744                var _this = this;
3745                this.options.animationIn ? !function() {
3746                    var afterAnimation = function() {
3747                        _this.$element.attr({
3748                            "aria-hidden": !1,
3749                            tabindex: -1
3750                        }).focus(), addRevealOpenClasses(), Foundation.Keyboard.trapFocus(_this.$element);
3751                    };
3752                    _this3.options.overlay && Foundation.Motion.animateIn(_this3.$overlay, "fade-in"), 
3753                    Foundation.Motion.animateIn(_this3.$element, _this3.options.animationIn, function() {
3754                        _this3.$element && (_this3.focusableElements = Foundation.Keyboard.findFocusable(_this3.$element), 
3755                        afterAnimation());
3756                    });
3757                }() : (this.options.overlay && this.$overlay.show(0), this.$element.show(this.options.showDelay)), 
3758                this.$element.attr({
3759                    "aria-hidden": !1,
3760                    tabindex: -1
3761                }).focus(), Foundation.Keyboard.trapFocus(this.$element), this.$element.trigger("open.zf.reveal"), 
3762                addRevealOpenClasses(), setTimeout(function() {
3763                    _this3._extraHandlers();
3764                }, 0);
3765            }
3766        }, {
3767            key: "_extraHandlers",
3768            value: function() {
3769                var _this = this;
3770                this.$element && (this.focusableElements = Foundation.Keyboard.findFocusable(this.$element), 
3771                this.options.overlay || !this.options.closeOnClick || this.options.fullScreen || $("body").on("click.zf.reveal", function(e) {
3772                    e.target !== _this.$element[0] && !$.contains(_this.$element[0], e.target) && $.contains(document, e.target) && _this.close();
3773                }), this.options.closeOnEsc && $(window).on("keydown.zf.reveal", function(e) {
3774                    Foundation.Keyboard.handleKey(e, "Reveal", {
3775                        close: function() {
3776                            _this.options.closeOnEsc && (_this.close(), _this.$anchor.focus());
3777                        }
3778                    });
3779                }
3779), this.$element.on("keydown.zf.reveal", function(e) {
3780                    var $target = $(this);
3781                    Foundation.Keyboard.handleKey(e, "Reveal", {
3782                        open: function() {
3783                            _this.$element.find(":focus").is(_this.$element.find("[data-close]")) ? setTimeout(function() {
3784                                _this.$anchor.focus();
3785                            }, 1) : $target.is(_this.focusableElements) && _this.open();
3786                        },
3787                        close: function() {
3788                            _this.options.closeOnEsc && (_this.close(), _this.$anchor.focus());
3789                        },
3790                        handled: function(preventDefault) {
3791                            preventDefault && e.preventDefault();
3792                        }
3793                    });
3794                }));
3795            }
3796        }, {
3797            key: "close",
3798            value: function() {
3799                function finishUp() {
3800                    _this.isMobile ? ($("html, body").removeClass("is-reveal-open"), _this.originalScrollPos && ($("body").scrollTop(_this.originalScrollPos), 
3801                    _this.originalScrollPos = null)) : $("body").removeClass("is-reveal-open"), Foundation.Keyboard.releaseFocus(_this.$element), 
3802                    _this.$element.attr("aria-hidden", !0), _this.$element.trigger("closed.zf.reveal");
3803                }
3804                if (!this.isActive || !this.$element.is(":visible")) return !1;
3805                var _this = this;
3806                this.options.animationOut ? (this.options.overlay ? Foundation.Motion.animateOut(this.$overlay, "fade-out", finishUp) : finishUp(), 
3807                Foundation.Motion.animateOut(this.$element, this.options.animationOut)) : (this.options.overlay ? this.$overlay.hide(0, finishUp) : finishUp(), 
3808                this.$element.hide(this.options.hideDelay)), this.options.closeOnEsc && $(window).off("keydown.zf.reveal"), 
3809                !this.options.overlay && this.options.closeOnClick && $("body").off("click.zf.reveal"), 
3810                this.$element.off("keydown.zf.reveal"), this.options.resetOnClose && this.$element.html(this.$element.html()), 
3811                this.isActive = !1, _this.options.deepLink && (window.history.replaceState ? window.history.replaceState("", document.title, window.location.href.replace("#" + this.id, "")) : window.location.hash = "");
3812            }
3813        }, {
3814            key: "toggle",
3815            value: function() {
3816                this.isActive ? this.close() : this.open();
3817            }
3818        }, {
3819            key: "destroy",
3820            value: function() {
3821                this.options.overlay && (this.$element.appendTo($(this.options.appendTo)), this.$overlay.hide().off().remove()), 
3822                this.$element.hide().off(), this.$anchor.off(".zf"), $(window).off(".zf.reveal:" + this.id), 
3823                Foundation.unregisterPlugin(this);
3824            }
3825        } ]), Reveal;
3826    }();
3827    Reveal.defaults = {
3828        animationIn: "",
3829        animationOut: "",
3830        showDelay: 0,
3831        hideDelay: 0,
3832        closeOnClick: !0,
3833        closeOnEsc: !0,
3834        multipleOpened: !1,
3835        vOffset: "auto",
3836        hOffset: "auto",
3837        fullScreen: !1,
3838        btmOffsetPct: 10,
3839        overlay: !0,
3840        resetOnClose: !1,
3841        deepLink: !1,
3842        appendTo: "body"
3843    }, Foundation.plugin(Reveal, "Reveal");
3844}(jQuery);
3845
3846var _createClass = function() {
3847    function defineProperties(target, props) {
3848        for (var i = 0; i < props.length; i++) {
3849            var descriptor = props[i];
3850            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
3851            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
3852        }
3853    }
3854    return function(Constructor, protoProps, staticProps) {
3855        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
3856        Constructor;
3857    };
3858}();
3859
3860!function($) {
3861    function percent(frac, num) {
3862        return frac / num;
3863    }
3864    function absPosition($handle, dir, clickPos, param) {
3865        return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos);
3866    }
3867    function baseLog(base, value) {
3868        return Math.log(value) / Math.log(base);
3869    }
3870    var Slider = function() {
3871        function Slider(element, options) {
3872            _classCallCheck(this, Slider), this.$element = element, this.options = $.extend({}, Slider.defaults, this.$element.data(), options), 
3873            this._init(), Foundation.registerPlugin(this, "Slider"), Foundation.Keyboard.register("Slider", {
3874                ltr: {
3875                    ARROW_RIGHT: "increase",
3876                    ARROW_UP: "increase",
3877                    ARROW_DOWN: "decrease",
3878                    ARROW_LEFT: "decrease",
3879                    SHIFT_ARROW_RIGHT: "increase_fast",
3880                    SHIFT_ARROW_UP: "increase_fast",
3881                    SHIFT_ARROW_DOWN: "decrease_fast",
3882                    SHIFT_ARROW_LEFT: "decrease_fast"
3883                },
3884                rtl: {
3885                    ARROW_LEFT: "increase",
3886                    ARROW_RIGHT: "decrease",
3887                    SHIFT_ARROW_LEFT: "increase_fast",
3888                    SHIFT_ARROW_RIGHT: "decrease_fast"
3889                }
3890            });
3891        }
3892        return _createClass(Slider, [ {
3893            key: "_init",
3894            value: function() {
3895                this.inputs = this.$element.find("input"), this.handles = this.$element.find("[data-sli
3895der-handle]"), 
3896                this.$handle = this.handles.eq(0), this.$input = this.inputs.length ? this.inputs.eq(0) : $("#" + this.$handle.attr("aria-controls")), 
3897                this.$fill = this.$element.find("[data-slider-fill]").css(this.options.vertical ? "height" : "width", 0);
3898                var isDbl = !1;
3899                (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) && (this.options.disabled = !0, 
3900                this.$element.addClass(this.options.disabledClass)), this.inputs.length || (this.inputs = $().add(this.$input), 
3901                this.options.binding = !0), this._setInitAttr(0), this.handles[1] && (this.options.doubleSided = !0, 
3902                this.$handle2 = this.handles.eq(1), this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $("#" + this.$handle2.attr("aria-controls")), 
3903                this.inputs[1] || (this.inputs = this.inputs.add(this.$input2)), isDbl = !0, this._setInitAttr(1)), 
3904                this.setHandles(), this._events();
3905            }
3906        }, {
3907            key: "setHandles",
3908            value: function() {
3909                var _this2 = this;
3910                this.handles[1] ? this._setHandlePos(this.$handle, this.inputs.eq(0).val(), !0, function() {
3911                    _this2._setHandlePos(_this2.$handle2, _this2.inputs.eq(1).val(), !0);
3912                }) : this._setHandlePos(this.$handle, this.inputs.eq(0).val(), !0);
3913            }
3914        }, {
3915            key: "_reflow",
3916            value: function() {
3917                this.setHandles();
3918            }
3919        }, {
3920            key: "_pctOfBar",
3921            value: function(value) {
3922                var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start);
3923                switch (this.options.positionValueFunction) {
3924                  case "pow":
3925                    pctOfBar = this._logTransform(pctOfBar);
3926                    break;
3927
3928                  case "log":
3929                    pctOfBar = this._powTransform(pctOfBar);
3930                }
3931                return pctOfBar.toFixed(2);
3932            }
3933        }, {
3934            key: "_value",
3935            value: function(pctOfBar) {
3936                switch (this.options.positionValueFunction) {
3937                  case "pow":
3938                    pctOfBar = this._powTransform(pctOfBar);
3939                    break;
3940
3941                  case "log":
3942                    pctOfBar = this._logTransform(pctOfBar);
3943                }
3944                var value = (this.options.end - this.options.start) * pctOfBar + this.options.start;
3945                return value;
3946            }
3947        }, {
3948            key: "_logTransform",
3949            value: function(value) {
3950                return baseLog(this.options.nonLinearBase, value * (this.options.nonLinearBase - 1) + 1);
3951            }
3952        }, {
3953            key: "_powTransform",
3954            value: function(value) {
3955                return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1);
3956            }
3957        }, {
3958            key: "_setHandlePos",
3959            value: function($hndl, location, noInvert, cb) {
3960                if (!this.$element.hasClass(this.options.disabledClass)) {
3961                    location = parseFloat(location), location < this.options.start ? location = this.options.start : location > this.options.end && (location = this.options.end);
3962                    var isDbl = this.options.doubleSided;
3963                    if (isDbl) if (0 === this.handles.index($hndl)) {
3964                        var h2Val = parseFloat(this.$handle2.attr("aria-valuenow"));
3965                        location = location >= h2Val ? h2Val - this.options.step : location;
3966                    } else {
3967                        var h1Val = parseFloat(this.$handle.attr("aria-valuenow"));
3968                        location = h1Val >= location ? h1Val + this.options.step : location;
3969                    }
3970                    this.options.vertical && !noInvert && (location = this.options.end - location);
3971                    var _this = this, vert = this.options.vertical, hOrW = vert ? "height" : "width", lOrT = vert ? "top" : "left", handleDim = $hndl[0].getBoundingClientRect()[hOrW], elemDim = this.$element[0].getBoundingClientRect()[hOrW], pctOfBar = this._pctOfBar(location), pxToMove = (elemDim - handleDim) * pctOfBar, movement = (100 * percent(pxToMove, elemDim)).toFixed(this.options.decimal);
3972                    location = parseFloat(location.toFixed(this.options.decimal));
3973                    var css = {};
3974                    if (this._setValues($hndl, location), isDbl) {
3975                        var dim, isLeftHndl = 0 === this.handles.index($hndl), handlePct = ~~(100 * percent(handleDim, elemDim));
3976                        if (isLeftHndl) css[lOrT] = movement + "%", dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct, 
3977                        cb && "function" == typeof cb && cb(); else {
3978                            var handlePos = parseFloat(this.$handle[0].style[lOrT]);
3979                            dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start) / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct;
3980                        }
3981                        css["min-" + hOrW] = dim + "%";
3982                    }
3983                    this.$element.one("finished.zf.animate", function() {
3984                        _this.$element.trigger("moved.zf.slider", [ $hndl ]);
3985                    });
3986                    var moveTime = this.$element.data("dragging") ? 1e3 / 60 : this.options.moveTime;
3987                    Foundation.Move(moveTime, $hndl, function() {
3988                        isNaN(movement) ? $hndl.css(lOrT, 100 * pctOfBar + "%") : $hndl.css(lOrT, movement + "%"), 
3989                        _this.options.doubleSided ? _this.$fill.css(css) : _this.$fill.css(hOrW, 100 * pctOfBar + "%");
3990                    }), clearTimeout(_this.timeout), _this.timeout = setTimeout(function() {
3991                        _this.$element.trigger("changed.zf.slider", [ $hndl ]);
3992                    }, _this.options.changedDelay);
3993                }
3994            }
3995        }, {
3996            key: "_setInitAttr",
3997            value: function(idx) {
3998                var initVal = 0 === idx ? this.options.initialStart : this.options.initialEnd, id = this.inputs.eq(idx).attr("id") || Foundation.GetYoDigits(6, "slider");
3999                this.inputs.eq(idx).attr({
4000                    id: id,
4001                    max: this.options.end,
4002                    min: this.options.start,
4003                    step: this.options.step
4004                }), this.inputs.eq(idx).val(initVal), this.handles.eq(idx).attr({
4005                    role: "slider",
4006                    "aria-controls": id,
4007                    "aria-valuemax": this.options.end,
4008                    "aria-valuemin": this.options.start,
4009                    "aria-valuenow": initVal,
4010                    "aria-orientation": this.options.vertical ? "vertical" : "horizontal",
4011                    tabindex: 0
4012                });
4013            }
4014        }, {
4015            key: "_setValues",
4016            value: function($handle, val) {
4017                var idx = this.options.doubleSided ? this.handles.index($handle) : 0;
4018                this.inputs.eq(idx).val(val), $handle.attr("aria-valuenow", val);
4019            }
4020        }, {
4021            key: "_handleEvent",
4022            value: function(e, $handle, val) {
4023                var value, hasVal;
4024                if (val) value = this._adjustValue(null, val), hasVal = !0; else {
4025                    e.preventDefault();
4026                    var _this = this, vertical = this.options.vertical, param = vertical ? "height" : "width", direction = vertical ? "top" : "left", eventOffset = vertical ? e.pageY : e.pageX, barDim = (this.$handle[0].getBoundingClientRect()[param] / 2, 
4027                    this.$element[0].getBoundingClientRect()[param]), windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft(), elemOffset = this.$element.offset()[direction];
4028                    e.clientY === e.pageY && (eventOffset += windowScroll);
4029                    var barXY, eventFromBar = eventOffset - elemOffset;
4030                    barXY = 0 > eventFromBar ? 0 : eventFromBar > barDim ? barDim : eventFromBar;
4031                    var offsetPct = percent(barXY, barDim);
4032                    if (value = this._value(offsetPct), Foundation.rtl() && !this.options.vertical && (value = this.options.end - value), 
4033                    value = _this._adjustValue(null, value), hasVal = !1, !$handle) {
4034                        var firstHndlPos = absPosition(this.$handle, direction, barXY, param), secndHndlPos = absPosition(this.$handle2, direction, barXY, param);
4035                        $handle = secndHndlPos >= firstHndlPos ? this.$handle : this.$handle2;
4036                    }
4037                }
4038                this._setHandlePos($handle, value, hasVal);
4039            }
4040        }, {
4041            key: "_adjustValue",
4042            value: function($handle, value) {
4043                var val, left, prev_val, next_val, step = this.options.step, div = parseFloat(step / 2);
4044                return val = $handle ? parseFloat($handle.attr("aria-valuenow")) : value, left = val % step, 
4045                prev_val = val - left, next_val = prev_val + step, 0 === left ? val : val = val >= prev_val + div ? next_val : prev_val;
4046            }
4047        }, {
4048            key: "_events",
4049            value: function() {
4050                this._eventsForHandle(this.$handle), this.handles[1] && this._eventsForHandle(this.$handle2);
4051            }
4052        }, {
4053            key: "_eventsForHandle",
4054            value: function($handle) {
4055                var curHandle, _this = this;
4056                if (this.inputs.off("change.zf.slider").on("change.zf.slider", function(e) {
4057                    var idx = _this.inputs.index($(this));
4058                    _this._handleEvent(e, _this.handles.eq(idx), $(this).val());
4059                }), this.options.clickSelect && this.$element.off("click.zf.slider").on("click.zf.slider", function(e) {
4060                    return _this.$element.data("dragging") ? !1 : void ($(e.target).is("[data-slider-handle]") || (_this.options.doubleSided ? _this._handleEvent(e) : _this._handleEvent(e, _this.$handle)));
4061                }), this.options.draggable) {
4062                    this.handles.addTouch();
4063                    var $body = $("body");
4064                    $handle.off("mousedown.zf.slider").on("mousedown.zf.slider", function(e) {
4065                        $handle.addClass("is-dragging"), _this.$fill.addClass("is-dragging"), _this.$element.data("dragging", !0), 
4066                        curHandle = $(e.currentTarget), $body.on("mousemove.zf.slider", function(e) {
4067                            e.preventDefault(), _this._handleEvent(e, curHandle);
4068                        }).on("mouseup.zf.slider", function(e) {
4069                            _this._handleEvent(e, curHandle), $handle.removeClass("is-dragging"), _this.$fill.removeClass("is-dragging"), 
4070                            _this.$element.data("dragging", !1), $body.off("mousemove.zf.slider mouseup.zf.slider");
4071                        });
4072                    }).on("selectstart.zf.slider touchmove.zf.slider", function(e) {
4073                        e.preventDefault();
4074                    });
4075                }
4076                $handle.off("keydown.zf.slider").on("keydown.zf.slider", function(e) {
4077                    var newValue, _$handle = $(this), idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0, oldValue = parseFloat(_this.inputs.eq(idx).val());
4078                    Foundation.Keyboard.handleKey(e, "Slider", {
4079                        decrease: function() {
4080                            newValue = oldValue - _this.options.step;
4081                        },
4082                        increase: function() {
4083                            newValue = oldValue + _this.options.step;
4084                        },
4085                        decrease_fast: function() {
4086                            newValue = oldValue - 10 * _this.options.step;
4087                        },
4088                        increase_fast: function() {
4089                            newValue = oldValue + 10 * _this.options.step;
4090                        },
4091                        handled: function() {
4092                            e.preventDefault(), _this._setHandlePos(_$handle, newValue, !0);
4093                        }
4094                    });
4095                });
4096            }
4097        }, {
4098            key: "destroy",
4099            value: function() {
4100                this.handles.off(".zf.slider"), this.inputs.off(".zf.slider"), this.$element.off(".zf.slider"), 
4101                clearTimeout(this.timeout), Foundation.unregisterPlugin(this);
4102            }
4103        } ]), Slider;
4104    }();
4105    Slider.defaults = {
4106        start: 0,
4107        end: 100,
4108        step: 1,
4109        initialStart: 0,
4110        initialEnd: 100,
4111        binding: !1,
4112        clickSelect: !0,
4113        vertical: !1,
4114        draggable: !0,
4115        disabled: !1,
4116        doubleSided: !1,
4117        decimal: 2,
4118        moveTime: 200,
4119        disabledClass: "disabled",
4120        invertVertical: !1,
4121        changedDelay: 500,
4122        nonLinearBase: 5,
4123        positionValueFunction: "linear"
4124    }, Foundation.plugin(Slider, "Slider");
4125}(jQuery);
4126
4127var _createClass = function() {
4128    function defineProperties(target, props) {
4129        for (var i = 0; i < props.length; i++) {
4130            var descriptor = props[i];
4131            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
4132            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
4133        }
4134    }
4135    return function(Constructor, protoProps, staticProps) {
4136        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
4137        Constructor;
4138    };
4139}();
4140
4141!function($) {
4142    function emCalc(em) {
4143        return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;
4144    }
4145    var Sticky = function() {
4146        function Sticky(element, options) {
4147            _classCallCheck(this, Sticky), this.$element = element, this.options = $.extend({}, Sticky.defaults, this.$element.data(), options), 
4148            this._init(), Foundation.registerPlugin(this, "Sticky");
4149        }
4150        return _createClass(Sticky, [ {
4151            key: "_init",
4152            value: function() {
4153                var $parent = this.$element.parent("[data-sticky-container]"), id = this.$element[0].id || Foundation.GetYoDigits(6, "sticky"), _this = this;
4154                $parent.length || (this.wasWrapped = !0), this.$container = $parent.length ? $parent : $(this.options.container).wrapInner(this.$element), 
4155                this.$container.addClass(this.options.containerClass), this.$element.addClass(this.options.stickyClass).attr({
4156                    "data-resize": id
4157                }), this.scrollCount = this.options.checkEvery, this.isStuck = !1, $(window).one("load.zf.sticky", function() {
4158                    _this.containerHeight = "none" == _this.$element.css("display") ? 0 : _this.$element[0].getBoundingClientRect().height, 
4159                    _this.$container.css("height", _this.containerHeight), _this.elemHeight = _this.containerHeight, 
4160                    "" !== _this.options.anchor ? _this.$anchor = $("#" + _this.options.anchor) : _this._parsePoints(), 
4161                    _this._setSizes(function() {
4162                        var scroll = window.pageYOffset;
4163                        _this._calc(!1, scroll), _this.isStuck || _this._removeSticky(scroll >= _this.topPoint ? !1 : !0);
4164                    }), _this._events(id.split("-").reverse().join("-"));
4165                });
4166            }
4167        }, {
4168            key: "_parsePoints",
4169            value: function() {
4170                for (var top = "" == this.options.topAnchor ? 1 : this.options.topAnchor, btm = "" == this.options.btmAnchor ? document.documentElement.scrollHeight : this.options.btmAnchor, pts = [ top, btm ], breaks = {}, i = 0, len = pts.length; len > i && pts[i]; i++) {
4171                    var pt;
4172                    if ("number" == typeof pts[i]) pt = pts[i]; else {
4173                        var place = pts[i].split(":"), anchor = $("#" + place[0]);
4174                        pt = anchor.offset().top, place[1] && "bottom" === place[1].toLowerCase() && (pt += anchor[0].getBoundingClientRect().height);
4175                    }
4176                    breaks[i] = pt;
4177                }
4178                this.points = breaks;
4179            }
4180        }, {
4181            key: "_events",
4182            value: function(id) {
4183                var _this = this, scrollListener = this.scrollListener = "scroll.zf." + id;
4184                this.isOn || (this.canStick && (this.isOn = !0, $(window).off(scrollListener).on(scrollListener, function(e) {
4185                    0 === _this.scrollCount ? (_this.scrollCount = _this.options.checkEvery, _this._setSizes(function() {
4186                        _this._calc(!1, window.pageYOffset);
4187                    })) : (_this.scrollCount--, _this._calc(!1, window.pageYOffset));
4188                })), this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger", function(e, el) {
4189                    _this._setSizes(function() {
4190                        _this._calc(!1), _this.canStick ? _this.isOn || _this._events(id) : _this.isOn && _this._pauseListeners(scrollListener);
4191                    });
4192                }));
4193            }
4194        }, {
4195            key: "_pauseListeners",
4196            value: function(scrollListener) {
4197                this.isOn = !1, $(window).off(scrollListener), this.$element.trigger("pause.zf.sticky");
4198            }
4199        }, {
4200            key: "_calc",
4201            value: function(checkSizes, scroll) {
4202                return checkSizes && this._setSizes(), this.canStick ? (scroll || (scroll = window.pageYOffset), 
4203                void (scroll >= this.topPoint ? scroll <= this.bottomPoint ? this.isStuck || this._setSticky() : this.isStuck && this._removeSticky(!1) : this.isStuck && this._removeSticky(!0))) : (this.isStuck && this._removeSticky(!0), 
4204                !1);
4205            }
4206        }, {
4207            key: "_setSticky",
4208            value: function() {
4209                var _this = this, stickTo = this.options.stickTo, mrgn = "top" === stickTo ? "marginTop" : "marginBottom", notStuckTo = "top" === stickTo ? "bottom" : "top", css = {};
4210                css[mrgn] = this.options[mrgn] + "em", css[stickTo] = 0, css[notStuckTo] = "auto", 
4211                this.isStuck = !0, this.$element.removeClass("is-anchored is-at-" + notStuckTo).addClass("is-stuck is-at-" + stickTo).css(css).trigger("sticky.zf.stuckto:" + stickTo), 
4212                this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", function() {
4213                    _this._setSizes();
4214                });
4215            }
4216        }, {
4217            key: "_removeSticky",
4218            value: function(isTop) {
4219                var stickTo = this.options.stickTo, stickToTop = "top" === stickTo, css = {}, anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight, mrgn = stickToTop ? "marginTop" : "marginBottom", topOrBottom = isTop ? "top" : "bottom";
4220                css[mrgn] = 0, css.bottom = "auto", isTop ? css.top = 0 : css.top = anchorPt, this.isStuck = !1, 
4221                this.$element.removeClass("is-stuck is-at-" + stickTo).addClass("is-anchored is-at-" + topOrBottom).css(css).trigger("sticky.zf.unstuckfrom:" + topOrBottom);
4222            }
4223        }, {
4224            key: "_setSizes",
4225            value: function(cb) {
4226                this.canStick = Foundation.MediaQuery.is(this.options.stickyOn), this.canStick || cb && "function" == typeof cb && cb();
4227                var newElemWidth = this.$container[0].getBoundingClientRect().width, comp = window.getComputedStyle(this.$container[0]), pdngl = parseInt(comp["padding-left"], 10), pdngr = parseInt(comp["padding-right"], 10);
4228                this.$anchor && this.$anchor.length ? this.anchorHeight = this.$anchor[0].getBoundingClientRect().height : this._parsePoints(), 
4229                this.$element.css({
4230                    "max-width": newElemWidth - pdngl - pdngr + "px"
4231                });
4232                var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;
4233                if ("none" == this.$element.css("display") && (newContainerHeight = 0), this.containerHeight = newContainerHeight, 
4234                this.$container.css({
4235                    height: newContainerHeight
4236                }), this.elemHeight = newContainerHeight, !this.isStuck && this.$element.hasClass("is-at-bottom")) {
4237                    var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;
4238                    this.$element.css("top", anchorPt);
4239                }
4240                this._setBreakPoints(newContainerHeight, function() {
4241                    cb && "function" == typeof cb && cb();
4242                });
4243            }
4244        }, {
4245            key: "_setBreakPoints",
4246            value: function(elemHeight, cb) {
4247                if (!this.canStick) {
4248                    if (!cb || "function" != typeof cb) return !1;
4249                    cb();
4250                }
4251                var mTop = emCalc(this.options.marginTop), mBtm = emCalc(this.options.marginBottom), topPoint = this.points ? this.points[0] : this.$anchor.offset().top, bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight, winHeight = window.innerHeight;
4252                "top" === this.options.stickTo ? (topPoint -= mTop, bottomPoint -= elemHeight + mTop) : "bottom" === this.options.stickTo && (topPoint -= winHeight - (elemHeight + mBtm), 
4253                bottomPoint -= winHeight - mBtm), this.topPoint = topPoint, this.bottomPoint = bottomPoint, 
4254                cb && "function" == typeof cb && cb();
4255            }
4256        }, {
4257            key: "destroy",
4258            value: function() {
4259                this._removeSticky(!0), this.$element.removeClass(this.options.stickyClass + " is-anchored is-at-top").css({
4260                    height: "",
4261                    top: "",
4262                    bottom: "",
4263                    "max-width": ""
4264                }).off("resizeme.zf.trigger"), this.$anchor && this.$anchor.length && this.$anchor.off("change.zf.sticky"), 
4265                $(window).off(this.scrollListener), this.wasWrapped ? this.$element.unwrap() : this.$container.removeClass(this.options.containerClass).css({
4266                    height: ""
4267                }), Foundation.unregisterPlugin(this);
4268            }
4269        } ]), Sticky;
4270    }();
4271    Sticky.defaults = {
4272        container: "<div data-sticky-container></div>",
4273        stickTo: "top",
4274        anchor: "",
4275        topAnchor: "",
4276        btmAnchor: "",
4277        marginTop: 1,
4278        marginBottom: 1,
4279        stickyOn: "medium",
4280        stickyClass: "sticky",
4281        containerClass: "sticky-container",
4282        checkEvery: -1
4283    }, Foundation.plugin(Sticky, "Sticky");
4284}(jQuery);
4285
4286var _createClass = function() {
4287    function defineProperties(target, props) {
4288        for (var i = 0; i < props.length; i++) {
4289            var descriptor = props[i];
4290            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
4291            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
4292        }
4293    }
4294    return function(Constructor, protoProps, staticProps) {
4295        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
4296        Constructor;
4297    };
4298}();
4299
4300!function($) {
4301    var Tabs = function() {
4302        function Tabs(element, options) {
4303            _classCallCheck(this, Tabs), this.$element = element, this.options = $.extend({}, Tabs.defaults, this.$element.data(), options), 
4304            this._init(), Foundation.registerPlugin(this, "Tabs"), Foundation.Keyboard.register("Tabs", {
4305                ENTER: "open",
4306                SPACE: "open",
4307                ARROW_RIGHT: "next",
4308                ARROW_UP: "previous",
4309                ARROW_DOWN: "next",
4310                ARROW_LEFT: "previous"
4311            });
4312        }
4313        return _createClass(Tabs, [ {
4314            key: "_init",
4315            value: function() {
4316                var _this = this;
4317                if (this.$element.attr({
4318                    role: "tablist"
4319                }), this.$tabTitles = this.$element.find("." + this.options.linkClass), this.$tabContent = $('[data-tabs-content="' + this.$element[0].id + '"]'), 
4320                this.$tabTitles.each(function() {
4321                    var $elem = $(this), $link = $elem.find("a"), isActive = $elem.hasClass("" + _this.options.linkActiveClass), hash = $link[0].hash.slice(1), linkId = $link[0].id ? $link[0].id : hash + "-label", $tabContent = $("#" + hash);
4322                    if ($elem.attr({
4323                        role: "presentation"
4324                    }), $link.attr({
4325                        role: "tab",
4326                        "aria-controls": hash,
4327                        "aria-selected": isActive,
4328                        id: linkId
4329                    }), $tabContent.attr({
4330                        role: "tabpanel",
4331                        "aria-hidden": !isActive,
4332                        "aria-labelledby": linkId
4333                    }), isActive && _this.options.autoFocus && $(window).load(function() {
4334                        $("html, body").animate({
4335                            scrollTop: $elem.offset().top
4336                        }, _this.options.deepLinkSmudgeDelay, function() {
4337                            $link.focus();
4338                        });
4339                    }), _this.options.deepLink) {
4340                        var anchor = window.location.hash;
4341                        if (anchor.length) {
4342                            var $link = $elem.find('[href="' + anchor + '"]');
4343                            $link.length && (_this.selectTab($(anchor)), _this.options.deepLinkSmudge && $(window).load(function() {
4344                                var offset = $elem.offset();
4345                                $("html, body").animate({
4346                                    scrollTop: offset.top
4347                                }, _this.options.deepLinkSmudgeDelay);
4348                            }), $elem.trigger("deeplink.zf.tabs", [ $link, $(anchor) ]));
4349                        }
4350                    }
4351                }), this.options.matchHeight) {
4352                    var $images = this.$tabContent.find("img");
4353                    $images.length ? Foundation.onImagesLoaded($images, this._setHeight.bind(this)) : this._setHeight();
4354                }
4355                this._events();
4356            }
4357        }, {
4358            key: "_events",
4359            value: function() {
4360                this._addKeyHandler(), this._addClickHandler(), this._setHeightMqHandler = null, 
4361                this.options.matchHeight && (this._setHeightMqHandler = this._setHeight.bind(this), 
4362                $(window).on("changed.zf.mediaquery", this._setHeightMqHandler));
4363            }
4364        }, {
4365            key: "_addClickHandler",
4366            value: function() {
4367                var _this = this;
4368                this.$element.off("click.zf.tabs").on("click.zf.tabs", "." + this.options.linkClass, function(e) {
4369                    e.preventDefault(), e.stopPropagation(), _this._handleTabChange($(this));
4370                });
4371            }
4372        }, {
4373            key: "_addKeyHandler",
4374            value: function() {
4375                var _this = this;
4376                this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs", function(e) {
4377                    if (9 !== e.which) {
4378                        var $prevElement, $nextElement, $element = $(this), $elements = $element.parent("ul").children("li");
4379                        $elements.each(function(i) {
4380                            return $(this).is($element) ? void (_this.options.wrapOnKeys ? ($prevElement = 0 === i ? $elements.last(
4380) : $elements.eq(i - 1), 
4381                            $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1)) : ($prevElement = $elements.eq(Math.max(0, i - 1)), 
4382                            $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)))) : void 0;
4383                        }), Foundation.Keyboard.handleKey(e, "Tabs", {
4384                            open: function() {
4385                                $element.find('[role="tab"]').focus(), _this._handleTabChange($element);
4386                            },
4387                            previous: function() {
4388                                $prevElement.find('[role="tab"]').focus(), _this._handleTabChange($prevElement);
4389                            },
4390                            next: function() {
4391                                $nextElement.find('[role="tab"]').focus(), _this._handleTabChange($nextElement);
4392                            },
4393                            handled: function() {
4394                                e.stopPropagation(), e.preventDefault();
4395                            }
4396                        });
4397                    }
4398                });
4399            }
4400        }, {
4401            key: "_handleTabChange",
4402            value: function($target) {
4403                if ($target.hasClass("" + this.options.linkActiveClass)) return void (this.options.activeCollapse && (this._collapseTab($target), 
4404                this.$element.trigger("collapse.zf.tabs", [ $target ])));
4405                var $oldTab = this.$element.find("." + this.options.linkClass + "." + this.options.linkActiveClass), $tabLink = $target.find('[role="tab"]'), hash = $tabLink[0].hash, $targetContent = this.$tabContent.find(hash);
4406                if (this._collapseTab($oldTab), this._openTab($target), this.options.deepLink) {
4407                    var anchor = $target.find("a").attr("href");
4408                    this.options.updateHistory ? history.pushState({}, "", anchor) : history.replaceState({}, "", anchor);
4409                }
4410                this.$element.trigger("change.zf.tabs", [ $target, $targetContent ]), $targetContent.find("[data-mutate]").trigger("mutateme.zf.trigger");
4411            }
4412        }, {
4413            key: "_openTab",
4414            value: function($target) {
4415                var $tabLink = $target.find('[role="tab"]'), hash = $tabLink[0].hash, $targetContent = this.$tabContent.find(hash);
4416                $target.addClass("" + this.options.linkActiveClass), $tabLink.attr({
4417                    "aria-selected": "true"
4418                }), $targetContent.addClass("" + this.options.panelActiveClass).attr({
4419                    "aria-hidden": "false"
4420                });
4421            }
4422        }, {
4423            key: "_collapseTab",
4424            value: function($target) {
4425                var $target_anchor = $target.removeClass("" + this.options.linkActiveClass).find('[role="tab"]').attr({
4426                    "aria-selected": "false"
4427                });
4428                $("#" + $target_anchor.attr("aria-controls")).removeClass("" + this.options.panelActiveClass).attr({
4429                    "aria-hidden": "true"
4430                });
4431            }
4432        }, {
4433            key: "selectTab",
4434            value: function(elem) {
4435                var idStr;
4436                idStr = "object" == typeof elem ? elem[0].id : elem, idStr.indexOf("#") < 0 && (idStr = "#" + idStr);
4437                var $target = this.$tabTitles.find('[href="' + idStr + '"]').parent("." + this.options.linkClass);
4438                this._handleTabChange($target);
4439            }
4440        }, {
4441            key: "_setHeight",
4442            value: function() {
4443                var max = 0;
4444                this.$tabContent.find("." + this.options.panelClass).css("height", "").each(function() {
4445                    var panel = $(this), isActive = panel.hasClass("" + this.options.panelActiveClass);
4446                    isActive || panel.css({
4447                        visibility: "hidden",
4448                        display: "block"
4449                    });
4450                    var temp = this.getBoundingClientRect().height;
4451                    isActive || panel.css({
4452                        visibility: "",
4453                        display: ""
4454                    }), max = temp > max ? temp : max;
4455                }).css("height", max + "px");
4456            }
4457        }, {
4458            key: "destroy",
4459            value: function() {
4460                this.$element.find("." + this.options.linkClass).off(".zf.tabs").hide().end().find("." + this.options.panelClass).hide(), 
4461                this.options.matchHeight && null != this._setHeightMqHandler && $(window).off("changed.zf.mediaquery", this._setHeightMqHandler), 
4462                Foundation.unregisterPlugin(this);
4463            }
4464        } ]), Tabs;
4465    }();
4466    Tabs.defaults = {
4467        deepLink: !1,
4468        deepLinkSmudge: !1,
4469        deepLinkSmudgeDelay: 300,
4470        updateHistory: !1,
4471        autoFocus: !1,
4472        wrapOnKeys: !0,
4473        matchHeight: !1,
4474        activeCollapse: !1,
4475        linkClass: "tabs-title",
4476        linkActiveClass: "is-active",
4477        panelClass: "tabs-panel",
4478        panelActiveClass: "is-active"
4479    }, Foundation.plugin(Tabs, "Tabs");
4480}(jQuery);
4481
4482var _createClass = function() {
4483    function defineProperties(target, props) {
4484        for (var i = 0; i < props.length; i++) {
4485            var descriptor = props[i];
4486            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
4487            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
4488        }
4489    }
4490    return function(Constructor, protoProps, staticProps) {
4491        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
4492        Constructor;
4493    };
4494}();
4495
4496!function($) {
4497    var Toggler = function() {
4498        function Toggler(element, options) {
4499            _classCallCheck(this, Toggler), this.$element = element, this.options = $.extend({}, Toggler.defaults, element.data(), options), 
4500            this.className = "", this._init(), this._events(), Foundation.registerPlugin(this, "Toggler");
4501        }
4502        return _createClass(Toggler, [ {
4503            key: "_init",
4504            value: function() {
4505                var input;
4506                this.options.animate ? (input = this.options.animate.split(" "), this.animationIn = input[0], 
4507                this.animationOut = input[1] || null) : (input = this.$element.data("toggler"), 
4508                this.className = "." === input[0] ? input.slice(1) : input);
4509                var id = this.$element[0].id;
4510                $('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr("aria-controls", id), 
4511                this.$element.attr("aria-expanded", this.$element.is(":hidden") ? !1 : !0);
4512            }
4513        }, {
4514            key: "_events",
4515            value: function() {
4516                this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger", this.toggle.bind(this));
4517            }
4518        }, {
4519            key: "toggle",
4520            value: function() {
4521                this[this.options.animate ? "_toggleAnimate" : "_toggleClass"]();
4522            }
4523        }, {
4524            key: "_toggleClass",
4525            value: function() {
4526                this.$element.toggleClass(this.className);
4527                var isOn = this.$element.hasClass(this.className);
4528                isOn ? this.$element.trigger("on.zf.toggler") : this.$element.trigger("off.zf.toggler"), 
4529                this._updateARIA(isOn), this.$element.find("[data-mutate]").trigger("mutateme.zf.trigger");
4530            }
4531        }, {
4532            key: "_toggleAnimate",
4533            value: function() {
4534                var _this = this;
4535                this.$element.is(":hidden") ? Foundation.Motion.animateIn(this.$element, this.animationIn, function() {
4536                    _this._updateARIA(!0), this.trigger("on.zf.toggler"), this.find("[data-mutate]").trigger("mutateme.zf.trigger");
4537                }) : Foundation.Motion.animateOut(this.$element, this.animationOut, function() {
4538                    _this._updateARIA(!1), this.trigger("off.zf.toggler"), this.find("[data-mutate]").trigger("mutateme.zf.trigger");
4539                });
4540            }
4541        }, {
4542            key: "_updateARIA",
4543            value: function(isOn) {
4544                this.$element.attr("aria-expanded", isOn ? !0 : !1);
4545            }
4546        }, {
4547            key: "destroy",
4548            value: function() {
4549                this.$element.off(".zf.toggler"), Foundation.unregisterPlugin(this);
4550            }
4551        } ]), Toggler;
4552    }();
4553    Toggler.defaults = {
4554        animate: !1
4555    }, Foundation.plugin(Toggler, "Toggler");
4556}(jQuery);
4557
4558var _createClass = function() {
4559    function defineProperties(target, props) {
4560        for (var i = 0; i < props.length; i++) {
4561            var descriptor = props[i];
4562            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
4563            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
4564        }
4565    }
4566    return function(Constructor, protoProps, staticProps) {
4567        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
4568        Constructor;
4569    };
4570}();
4571
4572!function($) {
4573    var Tooltip = function() {
4574        function Tooltip(element, options) {
4575            _classCallCheck(this, Tooltip), this.$element = element, this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options), 
4576            this.isActive = !1, this.isClick = !1, this._init(), Foundation.registerPlugin(this, "Tooltip");
4577        }
4578        return _createClass(Tooltip, [ {
4579            key: "_init",
4580            value: function() {
4581                var elemId = this.$element.attr("aria-describedby") || Foundation.GetYoDigits(6, "tooltip");
4582                this.options.positionClass = this.options.positionClass || this._getPositionClass(this.$element), 
4583                this.options.tipText = this.options.tipText || this.$element.attr("title"), this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId), 
4584                this.options.allowHtml ? this.template.appendTo(document.body).html(this.options.tipText).hide() : this.template.appendTo(document.body).text(this.options.tipText).hide(), 
4585                this.$element.attr({
4586                    title: "",
4587                    "aria-describedby": elemId,
4588                    "data-yeti-box": elemId,
4589                    "data-toggle": elemId,
4590                    "data-resize": elemId
4591                }).addClass(this.options.triggerClass), this.usedPositions = [], this.counter = 4, 
4592                this.classChanged = !1, this._events();
4593            }
4594        }, {
4595            key: "_getPositionClass",
4596            value: function(element) {
4597                if (!element) return "";
4598                var position = element[0].className.match(/\b(top|left|right)\b/g);
4599                return position = position ? position[0] : "";
4600            }
4601        }, {
4602            key: "_buildTemplate",
4603            value: function(id) {
4604                var templateClasses = (this.options.tooltipClass + " " + this.options.positionClass + " " + this.options.templateClasses).trim(), $template = $("<div></div>").addClass(templateClasses).attr({
4605                    role: "tooltip",
4606                    "aria-hidden": !0,
4607                    "data-is-active": !1,
4608                    "data-is-focus": !1,
4609                    id: id
4610                });
4611                return $template;
4612            }
4613        }, {
4614            key: "_reposition",
4615            value: function(position) {
4616                this.usedPositions.push(position ? position : "bottom"), !position && this.usedPositions.indexOf("top") < 0 ? this.template.addClass("top") : "top" === position && this.usedPositions.indexOf("bottom") < 0 ? this.template.removeClass(position) : "left" === position && this.usedPositions.indexOf("right") < 0 ? this.template.removeClass(position).addClass("right") : "right" === position && this.usedPositions.indexOf("left") < 0 ? this.template.removeClass(position).addClass("left") : !position && this.usedPositions.indexOf("top") > -1 && this.usedPositions.indexOf("left") < 0 ? this.template.addClass("left") : "top" === position && this.usedPositions.indexOf("bottom") > -1 && this.usedPositions.indexOf("left") < 0 ? this.template.removeClass(position).addClass("left") : "left" === position && this.usedPositions.indexOf("right") > -1 && this.usedPositions.indexOf("bottom") < 0 ? this.template.removeClass(position) : "right" === position && this.usedPositions.indexOf("left") > -1 && this.usedPositions.indexOf("bottom") < 0 ? this.template.removeClass(position) : this.template.removeClass(position), 
4617                this.classChanged = !0, this.counter--;
4618            }
4619        }, {
4620            key: "_setPosition",
4621            value: function() {
4622                var position = this._getPositionClass(this.template), $tipDims = Foundation.Box.GetDimensions(this.template), $anchorDims = Foundation.Box.GetDimensions(this.$element), direction = "left" === position ? "left" : "right" === position ? "left" : "top", param = "top" === direction ? "height" : "width";
4623                "height" === param ? this.options.vOffset : this.options.hOffset;
4624                if ($tipDims.width >= $tipDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.template)) return this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, "center bottom", this.options.vOffset, this.options.hOffset, !0)).css({
4625                    width: $anchorDims.windowDims.width - 2 * this.options.hOffset,
4626                    height: "auto"
4627                }), !1;
4628                for (this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, "center " + (position || "bottom"), this.options.vOffset, this.options.hOffset)); !Foundation.Box.ImNotTouchingYou(this.template) && this.counter; ) this._reposition(position), 
4629                this._setPosition();
4630            }
4631        }, {
4632            key: "show",
4633            value: function() {
4634                if ("all" !== this.options.showOn && !Foundation.MediaQuery.is(this.options.showOn)) return !1;
4635                var _this = this;
4636                this.template.css("visibility", "hidden").show(), this._setPosition(), this.$element.trigger("closeme.zf.tooltip", this.template.attr("id")), 
4637                this.template.attr({
4638                    "data-is-active": !0,
4639                    "aria-hidden": !1
4640                }), _this.isActive = !0, this.template.stop().hide().css("visibility", "").fadeIn(this.options.fadeInDuration, function() {}), 
4641                this.$element.trigger("show.zf.tooltip");
4642            }
4643        }, {
4644            key: "hide",
4645            value: function() {
4646                var _this = this;
4647                this.template.stop().attr({
4648                    "aria-hidden": !0,
4649                    "data-is-active": !1
4650                }).fadeOut(this.options.fadeOutDuration, function() {
4651                    _this.isActive = !1, _this.isClick = !1, _this.classChanged && (_this.template.removeClass(_this._getPositionClass(_this.template)).addClass(_this.options.positionClass), 
4652                    _this.usedPositions = [], _this.counter = 4, _this.classChanged = !1);
4653                }), this.$element.trigger("hide.zf.tooltip");
4654            }
4655        }, {
4656            key: "_events",
4657            value: function() {
4658                var _this = this, isFocus = (this.template, !1);
4659                this.options.disableHover || this.$element.on("mouseenter.zf.tooltip", function(e) {
4660                    _this.isActive || (_this.timeout = setTimeout(function() {
4661                        _this.show();
4662                    }, _this.options.hoverDelay));
4663                }).on("mouseleave.zf.tooltip", function(e) {
4664                    clearTimeout(_this.timeout), (!isFocus || _this.isClick && !_this.options.clickOpen) && _this.hide();
4665                }), this.options.clickOpen ? this.$element.on("mousedown.zf.tooltip", function(e) {
4666                    e.stopImmediatePropagation(), _this.isClick || (_this.isClick = !0, !_this.options.disableHover && _this.$element.attr("tabindex") || _this.isActive || _this.show());
4667                }) : this.$element.on("mousedown.zf.tooltip", function(e) {
4668                    e.stopImmediatePropagation(), _this.isClick = !0;
4669                }), this.options.disableForTouch || this.$element.on("tap.zf.tooltip touchend.zf.tooltip", function(e) {
4670                    _this.isActive ? _this.hide() : _this.show();
4671                }), this.$element.on({
4672                    "close.zf.trigger": this.hide.bind(this)
4673                }), this.$element.on("focus.zf.tooltip", function(e) {
4674                    return isFocus = !0, _this.isClick ? (_this.options.clickOpen || (isFocus = !1), 
4675                    !1) : void _this.show();
4676                }).on("focusout.zf.tooltip", function(e) {
4677                    isFocus = !1, _this.isClick = !1, _this.hide();
4678                }).on("resizeme.zf.trigger", function() {
4679                    _this.isActive && _this._setPosition();
4680                });
4681            }
4682        }, {
4683            key: "toggle",
4684            value: function() {
4685                this.isActive ? this.hide() : this.show();
4686            }
4687        }, {
4688            key: "destroy",
4689            value: function() {
4690                this.$element.attr("title", this.template.text()).off(".zf.trigger .zf.tooltip").removeClass("has-tip top right left").removeAttr("aria-describedby aria-haspopup data-disable-hover data-resize data-toggle data-tooltip data-yeti-box"), 
4691                this.template.remove(), Foundation.unregisterPlugin(this);
4692            }
4693        } ]), Tooltip;
4694    }();
4695    Tooltip.defaults = {
4696        disableForTouch: !1,
4697        hoverDelay: 200,
4698        fadeInDuration: 150,
4699        fadeOutDuration: 150,
4700        disableHover: !1,
4701        templateClasses: "",
4702        tooltipClass: "tooltip",
4703        triggerClass: "has-tip",
4704        showOn: "small",
4705        template: "",
4706        tipText: "",
4707        touchCloseText: "Tap to close.",
4708        clickOpen: !0,
4709        positionClass: "",
4710        vOffset: 10,
4711        hOffset: 12,
4712        allowHtml: !1
4713    }, Foundation.plugin(Tooltip, "Tooltip");
4714}(jQuery);
4715
4716var _createClass = function() {
4717    function defineProperties(target, props) {
4718        for (var i = 0; i < props.length; i++) {
4719            var descriptor = props[i];
4720            descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, 
4721            "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
4722        }
4723    }
4724    return function(Constructor, protoProps, staticProps) {
4725        return protoProps && defineProperties(Constructor.prototype, protoProps), staticProps && defineProperties(Constructor, staticProps), 
4726        Constructor;
4727    };
4728}();
4729
4730!function($) {
4731    var ResponsiveAccordionTabs = function() {
4732        function ResponsiveAccordionTabs(element, options) {
4733            _classCallCheck(this, ResponsiveAccordionTabs), this.$element = $(element), this.options = $.extend({}, this.$element.data(), options), 
4734            this.rules = this.$element.data("responsive-accordion-tabs"), this.currentMq = null, 
4735            this.currentPlugin = null, this.$element.attr("id") || this.$element.attr("id", Foundation.GetYoDigits(6, "responsiveaccordiontabs")), 
4736            this._init(), this._events(), Foundation.registerPlugin(this, "ResponsiveAccordionTabs");
4737        }
4738        return _createClass(ResponsiveAccordionTabs, [ {
4739            key: "_init",
4740            value: function() {
4741                if ("string" == typeof this.rules) {
4742                    for (var rulesTree = {}, rules = this.rules.split(" "), i = 0; i < rules.length; i++) {
4743                        var rule = rules[i].split("-"), ruleSize = rule.length > 1 ? rule[0] : "small", rulePlugin = rule.length > 1 ? rule[1] : rule[0];
4744                        null !== MenuPlugins[rulePlugin] && (rulesTree[ruleSize] = MenuPlugins[rulePlugin]);
4745                    }
4746                    this.rules = rulesTree;
4747                }
4748                this._getAllOptions(), $.isEmptyObject(this.rules) || this._checkMediaQueries();
4749            }
4750        }, {
4751            key: "_getAllOptions",
4752            value: function() {
4753                var _this = this;
4754                _this.allOptions = {};
4755                for (var key in MenuPlugins) if (MenuPlugins.hasOwnProperty(key)) {
4756                    var obj = MenuPlugins[key];
4757                    try {
4758                        var dummyPlugin = $("<ul></ul>"), tmpPlugin = new obj.plugin(dummyPlugin, _this.options);
4759                        for (var keyKey in tmpPlugin.options) if (tmpPlugin.options.hasOwnProperty(keyKey) && "zfPlugin" !== keyKey) {
4760                            var objObj = tmpPlugin.options[keyKey];
4761                            _this.allOptions[keyKey] = objObj;
4762                        }
4763                        tmpPlugin.destroy();
4764                    } catch (e) {}
4765                }
4766            }
4767        }, {
4768            key: "_events",
4769            value: function() {
4770                var _this = this;
4771                $(window).on("changed.zf.mediaquery", function() {
4772                    _this._checkMediaQueries();
4773                });
4774            }
4775        }, {
4776            key: "_checkMediaQueries",
4777            value: function() {
4778                var matchedMq, _this = this;
4779                $.each(this.rules, function(key) {
4780                    Foundation.MediaQuery.atLeast(key) && (matchedMq = key);
4781                }), matchedMq && (this.currentPlugin instanceof this.rules[matchedMq].plugin || ($.each(MenuPlugins, function(key, value) {
4782                    _this.$element.removeClass(value.cssClass);
4783                }), this.$element.addClass(this.rules[matchedMq].cssClass), this.currentPlugin && (!this.currentPlugin.$element.data("zfPlugin") && this.storezfData && this.currentPlugin.$element.data("zfPlugin", this.storezfData), 
4784                this.currentPlugin.destroy()), this._handleMarkup(this.rules[matchedMq].cssClass), 
4785                this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {}), this.storezfData = this.currentPlugin.$element.data("zfPlugin")));
4786            }
4787        }, {
4788            key: "_handleMarkup",
4789            value: function(toSet) {
4790                var _this = this, fromString = "accordion", $panels = $("[data-tabs-content=" + this.$element.attr("id") + "]");
4791                if ($panels.length && (fromString = "tabs"), fromString !== toSet) {
4792                    var tabsTitle = _this.allOptions.linkClass ? _this.allOptions.linkClass : "tabs-title", tabsPanel = _this.allOptions.panelClass ? _this.allOptions.panelClass : "tabs-panel";
4793                    this.$element.removeAttr("role");
4794                    var $liHeads = this.$element.children("." + tabsTitle + ",[data-accordion-item]").removeClass(tabsTitle).removeClass("accordion-item").removeAttr("data-accordion-item"), $liHeadsA = $liHeads.children("a").removeClass("accordion-title");
4795                    if ("tabs" === fromString ? ($panels = $panels.children("." + tabsPanel).removeClass(tabsPanel).removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby"), 
4796                    $panels.children("a").removeAttr("role").removeAttr("aria-controls").removeAttr("aria-selected")) : $panels = $liHeads.children("[data-tab-content]").removeClass("accordion-content"), 
4797                    $panels.css({
4798                        display: "",
4799                        visibility: ""
4800                    }), $liHeads.css({
4801                        display: "",
4802                        visibility: ""
4803                    }), "accordion" === toSet) $panels.each(function(key, value) {
4804                        $(value).appendTo($liHeads.get(key)).addClass("accordion-content").attr("data-tab-content", "").removeClass("is-active").css({
4805                            height: ""
4806                        }), $("[data-tabs-content=" + _this.$element.attr("id") + "]").after('<div id="tabs-placeholder-' + _this.$element.attr("id") + '"></div>').remove(), 
4807                        $liHeads.addClass("accordion-item").attr("data-accordion-item", ""), $liHeadsA.addClass("accordion-title");
4808                    }); else if ("tabs" === toSet) {
4809                        var $tabsContent = $("[data-tabs-content=" + _this.$element.attr("id") + "]"), $placeholder = $("#tabs-placeholder-" + _this.$element.attr("id"));
4810                        $placeholder.length ? ($tabsContent = $('<div class="tabs-content"></div>').insertAfter($placeholder).attr("data-tabs-content", _this.$element.attr("id")), 
4811                        $placeholder.remove()) : $tabsContent = $('<div class="tabs-content"></div>').insertAfter(_this.$element).attr("data-tabs-content", _this.$element.attr("id")), 
4812                        $panels.each(function(key, value) {
4813                            var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel), hash = $liHeadsA.get(key).hash.slice(1), id = $(value).attr("id") || Foundation.GetYoDigits(6, "accordion");
4814                            hash !== id && ("" !== hash ? $(value).attr("id", hash) : (hash = id, $(value).attr("id", hash), 
4815                            $($liHeadsA.get(key)).attr("href", $($liHeadsA.get(key)).attr("href").replace("#", "") + "#" + hash)));
4816                            var isActive = $($liHeads.get(key)).hasClass("is-active");
4817                            isActive && tempValue.addClass("is-active");
4818                        }), $liHeads.addClass(tabsTitle);
4819                    }
4820                }
4821            }
4822        }, {
4823            key: "destroy",
4824            value: function() {
4825                this.currentPlugin && this.currentPlugin.destroy(), $(window).off(".zf.ResponsiveAccordionTabs"), 
4826                Foundation.unregisterPlugin(this);
4827            }
4828        } ]), ResponsiveAccordionTabs;
4829    }();
4830    ResponsiveAccordionTabs.defaults = {};
4831    var MenuPlugins = {
4832        tabs: {
4833            cssClass: "tabs",
4834            plugin: Foundation._plugins.tabs || null
4835        },
4836        accordion: {
4837            cssClass: "accordion",
4838            plugin: Foundation._plugins.accordion || null
4839        }
4840    };
4841    Foundation.plugin(ResponsiveAccordionTabs, "ResponsiveAccordionTabs");
4842}(jQuery), !function(a, b) {
4843    function c(a, b) {
4844        var c = a.createElement("p"), d = a.getElementsByTagName("head")[0] || a.documentElement;
4845        return c.innerHTML = "x<style>" + b + "</style>", d.insertBefore(c.lastChild, d.firstChild);
4846    }
4847    function d() {
4848        var a = t.elements;
4849        return "string" == typeof a ? a.split(" ") : a;
4850    }
4851    function e(a, b) {
4852        var c = t.elements;
4853        "string" != typeof c && (c = c.join(" ")), "string" != typeof a && (a = a.join(" ")), 
4854        t.elements = c + " " + a, j(b);
4855    }
4856    function f(a) {
4857        var b = s[a[q]];
4858        return b || (b = {}, r++, a[q] = r, s[r] = b), b;
4859    }
4860    function g(a, c, d) {
4861        if (c || (c = b), l) return c.createElement(a);
4862        d || (d = f(c));
4863        var e;
4864        return e = d.cache[a] ? d.cache[a].cloneNode() : p.test(a) ? (d.cache[a] = d.createElem(a)).cloneNode() : d.createElem(a), 
4865        !e.canHaveChildren || o.test(a) || e.tagUrn ? e : d.frag.appendChild(e);
4866    }
4867    function h(a, c) {
4868        if (a || (a = b), l) return a.createDocumentFragment();
4869        c = c || f(a);
4870        for (var e = c.frag.cloneNode(), g = 0, h = d(), i = h.length; i > g; g++) e.createElement(h[g]);
4871        return e;
4872    }
4873    function i(a, b) {
4874        b.cache || (b.cache = {}, b.createElem = a.createElement, b.createFrag = a.createDocumentFragment, 
4875        b.frag = b.createFrag()), a.createElement = function(c) {
4876            return t.shivMethods ? g(c, a, b) : b.createElem(c);
4877        }, a.createDocumentFragment = Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + d().join().replace(/[\w\-:]+/g, function(a) {
4878            return b.createElem(a), b.frag.createElement(a), 'c("' + a + '")';
4879        }) + ");return n}")(t, b.frag);
4880    }
4881    function j(a) {
4882        a || (a = b);
4883        var d = f(a);
4884        return !t.shivCSS || k || d.hasCSS || (d.hasCSS = !!c(a, "article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")), 
4885        l || i(a, d), a;
4886    }
4887    var k, l, m = "3.7.3-pre", n = a.html5 || {}, o = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, p = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i, q = "_html5shiv", r = 0, s = {};
4888    !function() {
4889        try {
4890            var a = b.createElement("a");
4891            a.innerHTML = "<xyz></xyz>", k = "hidden" in a, l = 1 == a.childNodes.length || function() {
4892                b.createElement("a");
4893                var a = b.createDocumentFragment();
4894                return "undefined" == typeof a.cloneNode || "undefined" == typeof a.createDocumentFragment || "undefined" == typeof a.createElement;
4895            }();
4896        } catch (c) {
4897            k = !0, l = !0;
4898        }
4899    }();
4900    var t = {
4901        elements: n.elements || "abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",
4902        version: m,
4903        shivCSS: n.shivCSS !== !1,
4904        supportsUnknownElements: l,
4905        shivMethods: n.shivMethods !== !1,
4906        type: "default",
4907        shivDocument: j,
4908        createElement: g,
4909        createDocumentFragment: h,
4910        addElements: e
4911    };
4912    a.html5 = t, j(b), "object" == typeof module && module.exports && (module.exports = t);
4913}("undefined" != typeof window ? window : this, document), function(factory) {
4914    "use strict";
4915    "function" == typeof define && define.amd ? define([ "jquery" ], factory) : "undefined" != typeof exports ? module.exports = factory(require("jquery")) : factory(jQuery);
4916}(function($) {
4917    "use strict";
4918    var Slick = window.Slick || {};
4919    Slick = function() {
4920        function Slick(element, settings) {
4921            var dataSettings, _ = this;
4922            _.defaults = {
4923                accessibility: !0,
4924                adaptiveHeight: !1,
4925                appendArrows: $(element),
4926                appendDots: $(element),
4927                arrows: !0,
4928                asNavFor: null,
4929                prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
4930                nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
4931                autoplay: !1,
4932                autoplaySpeed: 3e3,
4933                centerMode: !1,
4934                centerPadding: "50px",
4935                cssEase: "ease",
4936                customPaging: function(slider, i) {
4937                    return '<button type="button" data-role="none" role="button" aria-required="false" tabindex="0">' + (i + 1) + "</button>";
4938                },
4939                dots: !1,
4940                dotsClass: "slick-dots",
4941                draggable: !0,
4942                easing: "linear",
4943                edgeFriction: .35,
4944                fade: !1,
4945                focusOnSelect: !1,
4946                infinite: !0,
4947                initialSlide: 0,
4948                lazyLoad: "ondemand",
4949                mobileFirst: !1,
4950                pauseOnHover: !0,
4951                pauseOnDotsHover: !1,
4952                respondTo: "window",
4953                responsive: null,
4954                rows: 1,
4955                rtl: !1,
4956                slide: "",
4957                slidesPerRow: 1,
4958                slidesToShow: 1,
4959                slidesToScroll: 1,
4960                speed: 500,
4961                swipe: !0,
4962                swipeToSlide: !1,
4963                touchMove: !0,
4964                touchThreshold: 5,
4965                useCSS: !0,
4966                useTransform: !1,
4967                variableWidth: !1,
4968                vertical: !1,
4969                verticalSwiping: !1,
4970                waitForAnimate: !0,
4971                zIndex: 1e3
4972            }
vendor: 4,574 bytes, lines 4972-5046
4972, _.initials = {
4973                animating: !1,
4974                dragging: !1,
4975                autoPlayTimer: null,
4976                currentDirection: 0,
4977                currentLeft: null,
4978                currentSlide: 0,
4979                direction: 1,
4980                $dots: null,
4981                listWidth: null,
4982                listHeight: null,
4983                loadIndex: 0,
4984                $nextArrow: null,
4985                $prevArrow: null,
4986                slideCount: null,
4987                slideWidth: null,
4988                $slideTrack: null,
4989                $slides: null,
4990                sliding: !1,
4991                slideOffset: 0,
4992                swipeLeft: null,
4993                $list: null,
4994                touchObject: {},
4995                transformsEnabled: !1,
4996                unslicked: !1
4997            }, $.extend(_, _.initials), _.activeBreakpoint = null, _.animType = null, _.animProp = null, 
4998            _.breakpoints = [], _.breakpointSettings = [], _.cssTransitions = !1, _.hidden = "hidden", 
4999            _.paused = !1, _.positionProp = null, _.respondTo = null, _.rowCount = 1, _.shouldClick = !0, 
5000            _.$slider = $(element), _.$slidesCache = null, _.transformType = null, _.transitionType = null, 
5001            _.visibilityChange = "visibilitychange", _.windowWidth = 0, _.windowTimer = null, 
5002            dataSettings = $(element).data("slick") || {}, _.options = $.extend({}, _.defaults, dataSettings, settings), 
5003            _.currentSlide = _.options.initialSlide, _.originalSettings = _.options, "undefined" != typeof document.mozHidden ? (_.hidden = "mozHidden", 
5004            _.visibilityChange = "mozvisibilitychange") : "undefined" != typeof document.webkitHidden && (_.hidden = "webkitHidden", 
5005            _.visibilityChange = "webkitvisibilitychange"), _.autoPlay = $.proxy(_.autoPlay, _), 
5006            _.autoPlayClear = $.proxy(_.autoPlayClear, _), _.changeSlide = $.proxy(_.changeSlide, _), 
5007            _.clickHandler = $.proxy(_.clickHandler, _), _.selectHandler = $.proxy(_.selectHandler, _), 
5008            _.setPosition = $.proxy(_.setPosition, _), _.swipeHandler = $.proxy(_.swipeHandler, _), 
5009            _.dragHandler = $.proxy(_.dragHandler, _), _.keyHandler = $.proxy(_.keyHandler, _), 
5010            _.autoPlayIterator = $.proxy(_.autoPlayIterator, _), _.instanceUid = instanceUid++, 
5011            _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, _.registerBreakpoints(), _.init(!0), _.checkResponsive(!0);
5012        }
5013        var instanceUid = 0;
5014        return Slick;
5015    }(), Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
5016        var _ = this;
5017        if ("boolean" == typeof index) addBefore = index, index = null; else if (0 > index || index >= _.slideCount) return !1;
5018        _.unload(), "number" == typeof index ? 0 === index && 0 === _.$slides.length ? $(markup).appendTo(_.$slideTrack) : addBefore ? $(markup).insertBefore(_.$slides.eq(index)) : $(markup).insertAfter(_.$slides.eq(index)) : addBefore === !0 ? $(markup).prependTo(_.$slideTrack) : $(markup).appendTo(_.$slideTrack), 
5019        _.$slides = _.$slideTrack.children(this.options.slide), _.$slideTrack.children(this.options.slide).detach(), 
5020        _.$slideTrack.append(_.$slides), _.$slides.each(function(index, element) {
5021            $(element).attr("data-slick-index", index);
5022        }), _.$slidesCache = _.$slides, _.reinit();
5023    }, Slick.prototype.animateHeight = function() {
5024        var _ = this;
5025        if (1 === _.options.slidesToShow && _.options.adaptiveHeight === !0 && _.options.vertical === !1) {
5026            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(!0);
5027            _.$list.animate({
5028                height: targetHeight
5029            }, _.options.speed);
5030        }
5031    }, Slick.prototype.animateSlide = function(targetLeft, callback) {
5032        var animProps = {}, _ = this;
5033        _.animateHeight(), _.options.rtl === !0 && _.options.vertical === !1 && (targetLeft = -targetLeft), 
5034        _.transformsEnabled === !1 ? _.options.vertical === !1 ? _.$slideTrack.animate({
5035            left: targetLeft
5036        }, _.options.speed, _.options.easing, callback) : _.$slideTrack.animate({
5037            top: targetLeft
5038        }, _.options.speed, _.options.easing, callback) : _.cssTransitions === !1 ? (_.options.rtl === !0 && (_.currentLeft = -_.currentLeft), 
5039        $({
5040            animStart: _.currentLeft
5041        }).animate({
5042            animStart: targetLeft
5043        }, {
5044            duration: _.options.speed,
5045            easing: _.options.easing,
5046            step: function(now) {
5047                now = Math.ceil(now), _.options.vertical === !1 ? (animProps[_.animType] = "translate(" + now + "px, 0px)", 
5048                _.$slideTrack.css(animProps)) : (animProps[_.animType] = "translate(0px," + now + "px)", 
5049                _.$slideTrack.css(animProps));
5050            },
5051            complete: function() {
5052                callback && callback.call();
5053            }
5054        })) : (_.applyTransition(), targetLeft = Math.ceil(targetLeft), _.options.vertical === !1 ? animProps[_.animType] = "translate3d(" + targetLeft + "px, 0px, 0px)" : animProps[_.animType] = "translate3d(0px," + targetLeft + "px, 0px)", 
5055        _.$slideTrack.css(animProps), callback && setTimeout(function() {
5056            _.disableTransition(), callback.call();
5057        }, _.options.speed));
5058    }, Slick.prototype.asNavFor = function(index) {
5059        var _ = this, asNavFor = _.options.asNavFor;
5060        asNavFor && null !== asNavFor && (asNavFor = $(asNavFor).not(_.$slider)), null !== asNavFor && "object" == typeof asNavFor && asNavFor.each(function() {
5061            var target = $(this).slick("getSlick");
5062            target.unslicked || target.slideHandler(index, !0);
5063        });
5064    }, Slick.prototype.applyTransition = function(slide) {
5065        var _ = this, transition = {};
5066        _.options.fade === !1 ? transition[_.transitionType] = _.transformType + " " + _.options.speed + "ms " + _.options.cssEase : transition[_.transitionType] = "opacity " + _.options.speed + "ms " + _.options.cssEase, 
5067        _.options.fade === !1 ? _.$slideTrack.css(transition) : _.$slides.eq(slide).css(transition);
5068    }, Slick.prototype.autoPlay = function() {
5069        var _ = this;
5070        _.autoPlayTimer && clearInterval(_.autoPlayTimer), _.slideCount > _.options.slidesToShow && _.paused !== !0 && (_.autoPlayTimer = setInterval(_.autoPlayIterator, _.options.autoplaySpeed));
5071    }, Slick.prototype.autoPlayClear = function() {
5072        var _ = this;
5073        _.autoPlayTimer && clearInterval(_.autoPlayTimer);
5074    }, Slick.prototype.autoPlayIterator = function() {
5075        var _ = this;
5076        _.options.infinite === !1 ? 1 === _.direction ? (_.currentSlide + 1 === _.slideCount - 1 && (_.direction = 0), 
5077        _.slideHandler(_.currentSlide + _.options.slidesToScroll)) : (_.currentSlide - 1 === 0 && (_.direction = 1), 
5078        _.slideHandler(_.currentSlide - _.options.slidesToScroll)) : _.slideHandler(_.currentSlide + _.options.slidesToScroll);
5079    }, Slick.prototype.buildArrows = function() {
5080        var _ = this;
5081        _.options.arrows === !0 && (_.$prevArrow = $(_.options.prevArrow).addClass("slick-arrow"), 
5082        _.$nextArrow = $(_.options.nextArrow).addClass("slick-arrow"), _.slideCount > _.options.slidesToShow ? (_.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), 
5083        _.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), _.htmlExpr.test(_.options.prevArrow) && _.$prevArrow.prependTo(_.options.appendArrows), 
5084        _.htmlExpr.test(_.options.nextArrow) && _.$nextArrow.appendTo(_.options.appendArrows), 
5085        _.options.infinite !== !0 && _.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : _.$prevArrow.add(_.$nextArrow).addClass("slick-hidden").attr({
5086            "aria-disabled": "true",
5087            tabindex: "-1"
5088        }));
5089    }, Slick.prototype.buildDots = function() {
5090        var i, dotString, _ = this;
5091        if (_.options.dots === !0 && _.slideCount > _.options.slidesToShow) {
5092            for (dotString = '<ul class="' + _.options.dotsClass + '">', i = 0; i <= _.getDotCount(); i += 1) dotString += "<li>" + _.options.customPaging.call(this, _, i) + "</li>";
5093            dotString += "</ul>", _.$dots = $(dotString).appendTo(_.options.appendDots), _.$dots.find("li").first().addClass("slick-active").attr("aria-hidden", "false");
5094        }
5095    }, Slick.prototype.buildOut = function() {
5096        var _ = this;
5097        _.$slides = _.$slider.children(_.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), 
5098        _.slideCount = _.$slides.length, _.$slides.each(function(index, element) {
5099            $(element).attr("data-slick-index", index).data("originalStyling", $(element).attr("style") || "");
5100        }), _.$slider.addClass("slick-slider"), _.$slideTrack = 0 === _.slideCount ? $('<div class="slick-track"/>').appendTo(_.$slider) : _.$slides.wrapAll('<div class="slick-track"/>').parent(), 
5101        _.$list = _.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(), 
5102        _.$slideTrack.css("opacity", 0), (_.options.centerMode === !0 || _.o
vendor: 5,599 bytes, lines 5102-5177
5102ptions.swipeToSlide === !0) && (_.options.slidesToScroll = 1), 
5103        $("img[data-lazy]", _.$slider).not("[src]").addClass("slick-loading"), _.setupInfinite(), 
5104        _.buildArrows(), _.buildDots(), _.updateDots(), _.setSlideClasses("number" == typeof _.currentSlide ? _.currentSlide : 0), 
5105        _.options.draggable === !0 && _.$list.addClass("draggable");
5106    }, Slick.prototype.buildRows = function() {
5107        var a, b, c, newSlides, numOfSlides, originalSlides, slidesPerSection, _ = this;
5108        if (newSlides = document.createDocumentFragment(), originalSlides = _.$slider.children(), 
5109        _.options.rows > 1) {
5110            for (slidesPerSection = _.options.slidesPerRow * _.options.rows, numOfSlides = Math.ceil(originalSlides.length / slidesPerSection), 
5111            a = 0; numOfSlides > a; a++) {
5112                var slide = document.createElement("div");
5113                for (b = 0; b < _.options.rows; b++) {
5114                    var row = document.createElement("div");
5115                    for (c = 0; c < _.options.slidesPerRow; c++) {
5116                        var target = a * slidesPerSection + (b * _.options.slidesPerRow + c);
5117                        originalSlides.get(target) && row.appendChild(originalSlides.get(target));
5118                    }
5119                    slide.appendChild(row);
5120                }
5121                newSlides.appendChild(slide);
5122            }
5123            _.$slider.html(newSlides), _.$slider.children().children().children().css({
5124                width: 100 / _.options.slidesPerRow + "%",
5125                display: "inline-block"
5126            });
5127        }
5128    }, Slick.prototype.checkResponsive = function(initial, forceUpdate) {
5129        var breakpoint, targetBreakpoint, respondToWidth, _ = this, triggerBreakpoint = !1, sliderWidth = _.$slider.width(), windowWidth = window.innerWidth || $(window).width();
5130        if ("window" === _.respondTo ? respondToWidth = windowWidth : "slider" === _.respondTo ? respondToWidth = sliderWidth : "min" === _.respondTo && (respondToWidth = Math.min(windowWidth, sliderWidth)), 
5131        _.options.responsive && _.options.responsive.length && null !== _.options.responsive) {
5132            targetBreakpoint = null;
5133            for (breakpoint in _.breakpoints) _.breakpoints.hasOwnProperty(breakpoint) && (_.originalSettings.mobileFirst === !1 ? respondToWidth < _.breakpoints[breakpoint] && (targetBreakpoint = _.breakpoints[breakpoint]) : respondToWidth > _.breakpoints[breakpoint] && (targetBreakpoint = _.breakpoints[breakpoint]));
5134            null !== targetBreakpoint ? null !== _.activeBreakpoint ? (targetBreakpoint !== _.activeBreakpoint || forceUpdate) && (_.activeBreakpoint = targetBreakpoint, 
5135            "unslick" === _.breakpointSettings[targetBreakpoint] ? _.unslick(targetBreakpoint) : (_.options = $.extend({}, _.originalSettings, _.breakpointSettings[targetBreakpoint]), 
5136            initial === !0 && (_.currentSlide = _.options.initialSlide), _.refresh(initial)), 
5137            triggerBreakpoint = targetBreakpoint) : (_.activeBreakpoint = targetBreakpoint, 
5138            "unslick" === _.breakpointSettings[targetBreakpoint] ? _.unslick(targetBreakpoint) : (_.options = $.extend({}, _.originalSettings, _.breakpointSettings[targetBreakpoint]), 
5139            initial === !0 && (_.currentSlide = _.options.initialSlide), _.refresh(initial)), 
5140            triggerBreakpoint = targetBreakpoint) : null !== _.activeBreakpoint && (_.activeBreakpoint = null, 
5141            _.options = _.originalSettings, initial === !0 && (_.currentSlide = _.options.initialSlide), 
5142            _.refresh(initial), triggerBreakpoint = targetBreakpoint), initial || triggerBreakpoint === !1 || _.$slider.trigger("breakpoint", [ _, triggerBreakpoint ]);
5143        }
5144    }, Slick.prototype.changeSlide = function(event, dontAnimate) {
5145        var indexOffset, slideOffset, unevenOffset, _ = this, $target = $(event.target);
5146        switch ($target.is("a") && event.preventDefault(), $target.is("li") || ($target = $target.closest("li")), 
5147        unevenOffset = _.slideCount % _.options.slidesToScroll !== 0, indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll, 
5148        event.data.message) {
5149          case "previous":
5150            slideOffset = 0 === indexOffset ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset, 
5151            _.slideCount > _.options.slidesToShow && _.slideHandler(_.currentSlide - slideOffset, !1, dontAnimate);
5152            break;
5153
5154          case "next":
5155            slideOffset = 0 === indexOffset ? _.options.slidesToScroll : indexOffset, _.slideCount > _.options.slidesToShow && _.slideHandler(_.currentSlide + slideOffset, !1, dontAnimate);
5156            break;
5157
5158          case "index":
5159            var index = 0 === event.data.index ? 0 : event.data.index || $target.index() * _.options.slidesToScroll;
5160            _.slideHandler(_.checkNavigable(index), !1, dontAnimate), $target.children().trigger("focus");
5161            break;
5162
5163          default:
5164            return;
5165        }
5166    }, Slick.prototype.checkNavigable = function(index) {
5167        var navigables, prevNavigable, _ = this;
5168        if (navigables = _.getNavigableIndexes(), prevNavigable = 0, index > navigables[navigables.length - 1]) index = navigables[navigables.length - 1]; else for (var n in navigables) {
5169            if (index < navigables[n]) {
5170                index = prevNavigable;
5171                break;
5172            }
5173            prevNavigable = navigables[n];
5174        }
5175        return index;
5176    }, Slick.prototype.cleanUpEvents = function() {
5177        var _ = this;
5178        _.options.dots && null !== _.$dots && ($("li", _.$dots).off("click.slick", _.changeSlide), 
5179        _.options.pauseOnDotsHover === !0 && _.options.autoplay === !0 && $("li", _.$dots).off("mouseenter.slick", $.proxy(_.setPaused, _, !0)).off("mouseleave.slick", $.proxy(_.setPaused, _, !1))), 
5180        _.options.arrows === !0 && _.slideCount > _.options.slidesToShow && (_.$prevArrow && _.$prevArrow.off("click.slick", _.changeSlide), 
5181        _.$nextArrow && _.$nextArrow.off("click.slick", _.changeSlide)), _.$list.off("touchstart.slick mousedown.slick", _.swipeHandler), 
5182        _.$list.off("touchmove.slick mousemove.slick", _.swipeHandler), _.$list.off("touchend.slick mouseup.slick", _.swipeHandler), 
5183        _.$list.off("touchcancel.slick mouseleave.slick", _.swipeHandler), _.$list.off("click.slick", _.clickHandler), 
5184        $(document).off(_.visibilityChange, _.visibility), _.$list.off("mouseenter.slick", $.proxy(_.setPaused, _, !0)), 
5185        _.$list.off("mouseleave.slick", $.proxy(_.setPaused, _, !1)), _.options.accessibility === !0 && _.$list.off("keydown.slick", _.keyHandler), 
5186        _.options.focusOnSelect === !0 && $(_.$slideTrack).children().off("click.slick", _.selectHandler), 
5187        $(window).off("orientationchange.slick.slick-" + _.instanceUid, _.orientationChange), 
5188        $(window).off("resize.slick.slick-" + _.instanceUid, _.resize), $("[draggable!=true]", _.$slideTrack).off("dragstart", _.preventDefault), 
5189        $(window).off("load.slick.slick-" + _.instanceUid, _.setPosition), $(document).off("ready.slick.slick-" + _.instanceUid, _.setPosition);
5190    }, Slick.prototype.cleanUpRows = function() {
5191        var originalSlides, _ = this;
5192        _.options.rows > 1 && (originalSlides = _.$slides.children().children(), originalSlides.removeAttr("style"), 
5193        _.$slider.html(originalSlides));
5194    }, Slick.prototype.clickHandler = function(event) {
5195        var _ = this;
5196        _.shouldClick === !1 && (event.stopImmediatePropagation(), event.stopPropagation(), 
5197        event.preventDefault());
5198    }, Slick.prototype.destroy = function(refresh) {
5199        var _ = this;
5200        _.autoPlayClear(), _.touchObject = {}, _.cleanUpEvents(), $(".slick-cloned", _.$slider).detach(), 
5201        _.$dots && _.$dots.remove(), _.$prevArrow && _.$prevArrow.length && (_.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), 
5202        _.htmlExpr.test(_.options.prevArrow) && _.$prevArrow.remove()), _.$nextArrow && _.$nextArrow.length && (_.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), 
5203        _.htmlExpr.test(_.options.nextArrow) && _.$nextArrow.remove()), _.$slides && (_.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() {
5204            $(this).attr("style", $(this).data("originalStyling"));
5205        }), _.$slideTrack.children(this.options.slide).detach(), _.$slideTrack.detach(), 
5206        _.$list.detach(), _.$slider.append(_.$slides)), _.cleanUpRows(), _.$slider.removeClass("slick-slider"), 
5207        _.$slider.removeClass("slick-initialized"), _.unslicked = !0, refresh || _.$slider.trigger("destroy", [ _ ]);
5208    }, Slick.prototype.disableTransition = function(slide) {
5209        var _ = this, transition = {};
5210        transition[_.transitionType] = "", _.options.fade === !1 ? _.$slideTrack.css(transition) : _.$slides.eq(slide).css(transition);
5211    }, Slick.prototype.fadeSlide = function(slideIndex, callback) {
5212        var _ = this;
5213        _.cssTransitions === !1 ? (_.$slides.eq(slideIndex).css({
5214            zIndex: _.options.zIndex
5215        }), _.$slides.eq(slideIndex).animate({
5216            opacity: 1
5217        }, _.options.speed, _.options.easing, callback)) : (_.applyTransition(slideIndex), 
5218        _.$slides.eq(slideIndex).css({
5219            opacity: 1,
5220            zIndex: _.options.zIndex
5221        }), callback && setTimeout(function() {
5222            _.disableTransition(slideIndex), callback.call();
5223        }, _.options.speed));
5224    }, Slick.prototype.fadeSlideOut = function(slideIndex) {
5225        var _ = this;
5226        _.cssTransitions === !1 ? _.$slides.eq(slideIndex).animate({
5227            opacity: 0,
5228            zIndex: _.options.zIndex - 2
5229        }, _.options.speed, _.options.easing) : (_.applyTransition(slideIndex), _.$slides.eq(slideIndex).css({
5230            opacity: 0,
5231            zIndex: _.options.zIndex - 2
5232        }));
5233    }
5233, Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {
5234        var _ = this;
5235        null !== filter && (_.$slidesCache = _.$slides, _.unload(), _.$slideTrack.children(this.options.slide).detach(), 
5236        _.$slidesCache.filter(filter).appendTo(_.$slideTrack), _.reinit());
5237    }, Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
5238        var _ = this;
5239        return _.currentSlide;
5240    }, Slick.prototype.getDotCount = function() {
5241        var _ = this, breakPoint = 0, counter = 0, pagerQty = 0;
5242        if (_.options.infinite === !0) for (;breakPoint < _.slideCount; ) ++pagerQty, breakPoint = counter + _.options.slidesToScroll, 
5243        counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; else if (_.options.centerMode === !0) pagerQty = _.slideCount; else for (;breakPoint < _.slideCount; ) ++pagerQty, 
5244        breakPoint = counter + _.options.slidesToScroll, counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
5245        return pagerQty - 1;
5246    }, Slick.prototype.getLeft = function(slideIndex) {
5247        var targetLeft, verticalHeight, targetSlide, _ = this, verticalOffset = 0;
5248        return _.slideOffset = 0, verticalHeight = _.$slides.first().outerHeight(!0), _.options.infinite === !0 ? (_.slideCount > _.options.slidesToShow && (_.slideOffset = _.slideWidth * _.options.slidesToShow * -1, 
5249        verticalOffset = verticalHeight * _.options.slidesToShow * -1), _.slideCount % _.options.slidesToScroll !== 0 && slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow && (slideIndex >
vendor: 1,249 bytes, lines 5249-5256
5249 _.slideCount ? (_.slideOffset = (_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth * -1, 
5250        verticalOffset = (_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight * -1) : (_.slideOffset = _.slideCount % _.options.slidesToScroll * _.slideWidth * -1, 
5251        verticalOffset = _.slideCount % _.options.slidesToScroll * verticalHeight * -1))) : slideIndex + _.options.slidesToShow > _.slideCount && (_.slideOffset = (slideIndex + _.options.slidesToShow - _.slideCount) * _.slideWidth, 
5252        verticalOffset = (slideIndex + _.options.slidesToShow - _.slideCount) * verticalHeight), 
5253        _.slideCount <= _.options.slidesToShow && (_.slideOffset = 0, verticalOffset = 0), 
5254        _.options.centerMode === !0 && _.options.infinite === !0 ? _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth : _.options.centerMode === !0 && (_.slideOffset = 0, 
5255        _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2)), targetLeft = _.options.vertical === !1 ? slideIndex * _.slideWidth * -1 + _.slideOffset : slideIndex * verticalHeight * -1 + verticalOffset, 
5256        _.options.variableWidth === !0 && (targetSlide = _.slideCount <= _.options.slidesToShow || _.o
5256ptions.infinite === !1 ? _.$slideTrack.children(".slick-slide").eq(slideIndex) : _.$slideTrack.children(".slick-slide").eq(slideIndex + _.options.slidesToShow), 
5257        targetLeft = _.options.rtl === !0 ? targetSlide[0] ? -1 * (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) : 0 : targetSlide[0] ? -1 * targetSlide[0].offsetLeft : 0, 
5258        _.options.centerMode === !0 && (targetSlide = _.slideCount <= _.options.slidesToShow || _.options.infinite === !1 ? _.$slideTrack.children(".slick-slide").eq(slideIndex) : _.$slideTrack.children(".slick-slide").eq(slideIndex + _.options.slidesToShow + 1), 
5259        targetLeft = _.options.rtl === !0 ? targetSlide[0] ? -1 * (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) : 0 : targetSlide[0] ? -1 * targetSlide[0].offsetLeft : 0, 
5260        targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2)), targetLeft;
5261    }, Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {
5262        var _ = this;
5263        return _.options[option];
5264    }, Slick.prototype.getNavigableIndexes = function() {
5265        var max, _ = this, breakPoint = 0, counter = 0, indexes = [];
5266        for (_.options.infinite === !1 ? max = _.slideCount : (breakPoint = -1 * _.options.slidesToScroll, 
5267        counter = -1 * _.options.slidesToScroll, max = 2 * _.slideCount); max > breakPoint; ) indexes.push(breakPoint), 
5268        breakPoint = counter + _.options.slidesToScroll, counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
5269        return indexes;
5270    }, Slick.prototype.getSlick = function() {
5271        return this;
5272    }, Slick.prototype.getSlideCount = function() {
5273        var slidesTraversed, swipedSlide, centerOffset, _ = this;
5274        return centerOffset = _.options.centerMode === !0 ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0, 
5275        _.options.swipeToSlide === !0 ? (_.$slideTrack.find(".slick-slide").each(function(index, slide) {
5276            return slide.offsetLeft - centerOffset + $(slide).outerWidth() / 2 > -1 * _.swipeLeft ? (swipedSlide = slide, 
5277            !1) : void 0;
5278        }), slidesTraversed = Math.abs($(swipedSlide).attr("data-slick-index") - _.currentSlide) || 1) : _.options.slidesToScroll;
5279    }, Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {
5280        var _ = this;
5281        _.changeSlide({
5282            data: {
5283                message: "index",
5284                index: parseInt(slide)
5285            }
5286        }, dontAnimate);
5287    }, Slick.prototype.init = function(creation) {
5288        var _ = this;
5289        $(_.$slider).hasClass("slick-initialized") || ($(_.$slider).addClass("slick-initialized"), 
5290        _.buildRows(), _.buildOut(), _.setProps(), _.startLoad(), _.loadSlider(), _.initializeEvents(), 
5291        _.updateArrows(), _.updateDots()), creation && _.$slider.trigger("init", [ _ ]), 
5292        _.options.accessibility === !0 && _.initADA();
5293    }, Slick.prototype.initArrowEvents = function() {
5294        var _ = this;
5295        _.options.arrows === !0 && _.slideCount > _.options.slidesToShow && (_.$prevArrow.on("click.slick", {
5296            message: "previous"
5297        }, _.changeSlide), _.$nextArrow.on("click.slick", {
5298            message: "next"
5299        }, _.changeSlide));
5300    }, Slick.prototype.initDotEvents = function() {
5301        var _ = this;
5302        _.options.dots === !0 && _.slideCount > _.options.slidesToShow && $("li", _.$dots).on("click.slick", {
5303            message: "index"
5304        }, _.changeSlide), _.options.dots === !0 && _.options.pauseOnDotsHover === !0 && _.options.autoplay === !0 && $("li", _.$dots).on("mouseenter.slick", $.proxy(_.setPaused, _, !0)).on("mouseleave.slick", $.proxy(_.setPaused, _, !1));
5305    }, Slick.prototype.initializeEvents = function() {
5306        var _ = this;
5307        _.initArrowEvents(), _.initDotEvents(), _.$list.on("touchstart.slick mousedown.slick", {
5308            action: "start"
5309        }, _.swipeHandler), _.$list.on("touchmove.slick mousemove.slick", {
5310            action: "move"
5311        }, _.swipeHandler), _.$list.on("touchend.slick mouseup.slick", {
5312            action: "end"
5313        }
5313, _.swipeHandler), _.$list.on("touchcancel.slick mouseleave.slick", {
5314            action: "end"
5315        }, _.swipeHandler), _.$list.on("click.slick", _.clickHandler), $(document).on(_.visibilityChange, $.proxy(_.visibility, _)), 
5316        _.$list.on("mouseenter.slick", $.proxy(_.setPaused, _, !0)), _.$list.on("mouseleave.slick", $.proxy(_.setPaused, _, !1)), 
5317        _.options.accessibility === !0 && _.$list.on("keydown.slick", _.keyHandler), _.options.focusOnSelect === !0 && $(_.$slideTrack).children().on("click.slick", _.selectHandler), 
5318        $(window).on("orientationchange.slick.slick-" + _.instanceUid, $.proxy(_.orientationChange, _)), 
5319        $(window).on("resize.slick.slick-" + _.instanceUid, $.proxy(_.resize, _)), $("[draggable!=true]", _.$slideTrack).on("dragstart", _.preventDefault), 
5320        $(window).on("load.slick.slick-" + _.instanceUid, _.setPosition), $(document).on("ready.slick.slick-" + _.instanceUid, _.setPosition);
5321    }, Slick.prototype.initUI = function() {
5322        var _ = this;
5323        _.options.arrows === !0 && _.slideCount > _.options.slidesToShow && (_.$prevArrow.show(), 
5324        _.$nextArrow.show()), _.options.dots === !0 && _.slideCount > _.options.slidesToShow && _.$dots.show(), 
5325        _.options.autoplay === !0 && _.autoPlay();
5326    }, Slick.prototype.keyHandler = function(event) {
5327        var _ = this;
5328        event.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === event.keyCode && _.options.accessibility === !0 ? _.changeSlide({
5329            data: {
5330                message: "previous"
5331            }
5332        }) : 39 === event.keyCode && _.options.accessibility === !0 && _.changeSlide({
5333            data: {
5334                message: "next"
5335            }
5336        }));
5337    }, Slick.prototype.lazyLoad = function() {
5338        function loadImages(imagesScope) {
5339            $("img[data-lazy]", imagesScope).each(function() {
5340                var image = $(this), imageSource = $(this).attr("data-lazy"), imageToLoad = document.createElement("img");
5341                imageToLoad.onload = function() {
5342                    image.animate({
5343                        opacity: 0
5344                    }, 100, function() {
5345                        image.attr("src", imageSource).animate({
5346                            opacity: 1
5347                        }, 200, function() {
5348                            image.removeAttr("data-lazy").removeClass("slick-loading");
5349                        });
5350                    });
5351                }, imageToLoad.src = imageSource;
5352            });
5353        }
5354        var loadRange, cloneRange, rangeStart, rangeEnd, _ = this;
5355        _.options.centerMode === !0 ? _.options.infinite === !0 ? (rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1), 
5356        rangeEnd = rangeStart + _.options.slidesToShow + 2) : (rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1)), 
5357        rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide) : (rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide, 
5358        rangeEnd = rangeStart + _.options.slidesToShow, _.options.fade === !0 && (rangeStart > 0 && rangeStart--, 
5359        rangeEnd <= _.slideCount && rangeEnd++)), loadRange = _.$slider.find(".slick-slide").slice(rangeStart, rangeEnd), 
5360        loadImages(loadRange), _.slideCount <= _.options.slidesToShow ? (cloneRange = _.$slider.find(".slick-slide"), 
5361        loadImages(cloneRange)) : _.currentSlide >= _.slideCount - _.options.slidesToShow ? (cloneRange = _.$slider.find(".slick-cloned").slice(0, _.options.slidesToShow), 
5362        loadImages(cloneRange)) : 0 === _.currentSlide && (cloneRange = _.$slider.find(".slick-cloned").slice(-1 * _.options.slidesToShow), 
5363        loadImages(cloneRange));
5364    }, Slick.prototype.loadSlider = function() {
5365        var _ = this;
5366        _.setPosition(), _.$slideTrack.css({
5367            opacity: 1
5368        }), _.$slider.removeClass("slick-loading"), _.initUI(), "progressive" === _.options.lazyLoad && _.progressiveLazyLoad();
5369    }, Slick.prototype.next = Slick.prototype.slickNext = function() {
5370        var _ = this;
5371        _.changeSlide({
5372            data: {
5373                message: "next"
5374            }
5375        });
5376    }, Slick.prototype.orientationChange = function() {
5377        var _ = this;
5378        _.checkResponsive(), _.setPosition();
5379    }, Slick.prototype.pause = Slick.prototype.slickPause = function() {
5380        var _ = this;
5381        _.autoPlayClear(), _.paused = !0;
5382    }, Slick.prototype.play = Slick.prototype.slickPlay = function() {
5383        var _ = this;
5384        _.paused = !1, _.autoPlay();
5385    }, Slick.prototype.postSlide = function(index) {
5386        var _ = this;
5387        _.$slider.trigger("afterChange", [ _, index ]), _.animating = !1, _.setPosition(), 
5388        _.swipeLeft = null, _.options.autoplay === !0 && _.paused === !1 && _.autoPlay(), 
5389        _.options.accessibility === !0 && _.initADA();
5390    }, Slick.prototype.prev = Slick.prototype.slickPrev = function() {
5391        var _ = this;
5392        _.changeSlide({
5393            data: {
5394                message: "previous"
5395            }
5396        });
5397    }, Slick.prototype.preventDefault = function(event) {
5398        event.preventDefault();
5399    }, Slick.prototype.progressiveLazyLoad = function() {
5400        var imgCount, targetImage, _ = this;
5401        imgCount = $("img[data-lazy]", _.$slider).length, imgCount > 0 && (targetImage = $("img[data-lazy]", _.$slider).first(), 
5402        targetImage.attr("src", null), targetImage.attr("src", targetImage.attr("data-lazy")).removeClass("slick-loading").load(function() {
5403            targetImage.removeAttr("data-lazy"), _.progressiveLazyLoad(), _.options.adaptiveHeight === !0 && _.setPosition();
5404        }).error(function() {
5405            targetImage.removeAttr("data-lazy"), _.progressiveLazyLoad();
5406        }));
5407    }, Slick.prototype.refresh = function(initializing) {
5408        var currentSlide, firstVisible, _ = this;
5409        firstVisible = _.slideCount - _.options.slidesToShow, _.options.infinite || (_.slideCount <= _.options.slidesToShow ? _.currentSlide = 0 : _.currentSlide > firstVisible && (_.currentSlide = firstVisible)), 
5410        currentSlide = _.currentSlide, _.destroy(!0), $.extend(_, _.initials, {
5411            currentSlide: currentSlide
5412        }), _.init(), initializing || _.changeSlide({
5413            data: {
5414                message: "index",
5415                index: currentSlide
5416            }
5417        }, !1);
5418    }, Slick.prototype.registerBreakpoints = function() {
5419        var breakpoint, currentBreakpoint, l, _ = this, responsiveSettings = _.options.responsive || null;
5420        if ("array" === $.type(responsiveSettings) && responsiveSettings.length) {
5421            _.respondTo = _.options.respondTo || "window";
5422            for (breakpoint in responsiveSettings) if (l = _.breakpoints.length - 1, currentBreakpoint = responsiveSettings[breakpoint].breakpoint, 
5423            responsiveSettings.hasOwnProperty(breakpoint)) {
5424                for (;l >= 0; ) _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint && _.breakpoints.splice(l, 1), 
5425                l--;
5426                _.breakpoints.push(currentBreakpoint), _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;
5427            }
5428            _.breakpoints.sort(function(a, b) {
5429                return _.options.mobileFirst ? a - b : b - a;
5430            });
5431        }
5432    }, Slick.prototype.reinit = function() {
5433        var _ = this;
5434        _.$slides = _.$slideTrack.children(_.options.slide).addClass("slick-slide"), _.slideCount = _.$slides.length, 
5435        _.currentSlide >= _.slideCount && 0 !== _.currentSlide && (_.currentSlide = _.currentSlide - _.options.slidesToScroll), 
5436        _.slideCount <= _.options.slidesToShow && (_.currentSlide = 0), _.registerBreakpoints(), 
5437        _.setProps(), _.setupInfinite(), _.buildArrows(), _.updateArrows(), _.initArrowEvents(), 
5438        _.buildDots(), _.updateDots(), _.initDotEvents(), _.checkResponsive(!1, !0), _.options.focusOnSelect === !0 && $(_.$slideTrack).children().on("click.slick", _.selectHandler), 
5439        _.setSlideClasses(0), _.setPosition(), _.$slider.trigger("reInit", [ _ ]), _.options.autoplay === !0 && _.focusHandler();
5440    }, Slick.prototype.resize = function() {
5441        var _ = this;
5442        $(window).width() !== _.windowWidth && (clearTimeout(_.windowDelay), _.windowDelay = window.setTimeout(function() {
5443            _.windowWidth = $(window).width(), _.checkResponsive(), _.unslicked || _.setPosition();
5444        }, 50));
5445    }, Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {
5446        var _ = this;
5447        return "boolean" == typeof index ? (removeBefore = index, index = removeBefore === !0 ? 0 : _.slideCount - 1) : index = removeBefore === !0 ? --index : index, 
5448        _.slideCount < 1 || 0 > index || index > _.slideCount - 1 ? !1 : (_.unload(), removeAll === !0 ? _.$slideTrack.children().remove() : _.$slideTrack.children(this.options.slide).eq(index).remove(), 
5449        _.$slides = _.$slideTrack.children(this.options.slide), _.$slideTrack.children(this.options.slide).detach(), 
5450        _.$slideTrack.append(_.$slides), _.$slidesCache = _.$slides, void _.reinit());
5451    }, Slick.prototype.setCSS = function(position) {
5452        var x, y, _ = this, positionProps = {};
vendor: 17,582 bytes, lines 5453-5646
5453        _.options.rtl === !0 && (position = -position), x = "left" == _.positionProp ? Math.ceil(position) + "px" : "0px", 
5454        y = "top" == _.positionProp ? Math.ceil(position) + "px" : "0px", positionProps[_.positionProp] = position, 
5455        _.transformsEnabled === !1 ? _.$slideTrack.css(positionProps) : (positionProps = {}, 
5456        _.cssTransitions === !1 ? (positionProps[_.animType] = "translate(" + x + ", " + y + ")", 
5457        _.$slideTrack.css(positionProps)) : (positionProps[_.animType] = "translate3d(" + x + ", " + y + ", 0px)", 
5458        _.$slideTrack.css(positionProps)));
5459    }, Slick.prototype.setDimensions = function() {
5460        var _ = this;
5461        _.options.vertical === !1 ? _.options.centerMode === !0 && _.$list.css({
5462            padding: "0px " + _.options.centerPadding
5463        }) : (_.$list.height(_.$slides.first().outerHeight(!0) * _.options.slidesToShow), 
5464        _.options.centerMode === !0 && _.$list.css({
5465            padding: _.options.centerPadding + " 0px"
5466        })), _.listWidth = _.$list.width(), _.listHeight = _.$list.height(), _.options.vertical === !1 && _.options.variableWidth === !1 ? (_.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow), 
5467        _.$slideTrack.width(Math.ceil(_.slideWidth * _.$slideTrack.children(".slick-slide").length))) : _.options.variableWidth === !0 ? _.$slideTrack.width(5e3 * _.slideCount) : (_.slideWidth = Math.ceil(_.listWidth), 
5468        _.$slideTrack.height(Math.ceil(_.$slides.first().outerHeight(!0) * _.$slideTrack.children(".slick-slide").length)));
5469        var offset = _.$slides.first().outerWidth(!0) - _.$slides.first().width();
5470        _.options.variableWidth === !1 && _.$slideTrack.children(".slick-slide").width(_.slideWidth - offset);
5471    }, Slick.prototype.setFade = function() {
5472        var targetLeft, _ = this;
5473        _.$slides.each(function(index, element) {
5474            targetLeft = _.slideWidth * index * -1, _.options.rtl === !0 ? $(element).css({
5475                position: "relative",
5476                right: targetLeft,
5477                top: 0,
5478                zIndex: _.options.zIndex - 2,
5479                opacity: 0
5480            }) : $(element).css({
5481                position: "relative",
5482                left: targetLeft,
5483                top: 0,
5484                zIndex: _.options.zIndex - 2,
5485                opacity: 0
5486            });
5487        }), _.$slides.eq(_.currentSlide).css({
5488            zIndex: _.options.zIndex - 1,
5489            opacity: 1
5490        });
5491    }, Slick.prototype.setHeight = function() {
5492        var _ = this;
5493        if (1 === _.options.slidesToShow && _.options.adaptiveHeight === !0 && _.options.vertical === !1) {
5494            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(!0);
5495            _.$list.css("height", targetHeight);
5496        }
5497    }, Slick.prototype.setOption = Slick.prototype.slickSetOption = function(option, value, refresh) {
5498        var l, item, _ = this;
5499        if ("responsive" === option && "array" === $.type(value)) for (item in value) if ("array" !== $.type(_.options.responsive)) _.options.responsive = [ value[item] ]; else {
5500            for (l = _.options.responsive.length - 1; l >= 0; ) _.options.responsive[l].breakpoint === value[item].breakpoint && _.options.responsive.splice(l, 1), 
5501            l--;
5502            _.options.responsive.push(value[item]);
5503        } else _.options[option] = value;
5504        refresh === !0 && (_.unload(), _.reinit());
5505    }, Slick.prototype.setPosition = function() {
5506        var _ = this;
5507        _.setDimensions(), _.setHeight(), _.options.fade === !1 ? _.setCSS(_.getLeft(_.currentSlide)) : _.setFade(), 
5508        _.$slider.trigger("setPosition", [ _ ]);
5509    }, Slick.prototype.setProps = function() {
5510        var _ = this, bodyStyle = document.body.style;
5511        _.positionProp = _.options.vertical === !0 ? "top" : "left", "top" === _.positionProp ? _.$slider.addClass("slick-vertical") : _.$slider.removeClass("slick-vertical"), 
5512        (void 0 !== bodyStyle.WebkitTransition || void 0 !== bodyStyle.MozTransition || void 0 !== bodyStyle.msTransition) && _.options.useCSS === !0 && (_.cssTransitions = !0), 
5513        _.options.fade && ("number" == typeof _.options.zIndex ? _.options.zIndex < 3 && (_.options.zIndex = 3) : _.options.zIndex = _.defaults.zIndex), 
5514        void 0 !== bodyStyle.OTransform && (_.animType = "OTransform", _.transformType = "-o-transform", 
5515        _.transitionType = "OTransition", void 0 === bodyStyle.perspectiveProperty && void 0 === bodyStyle.webkitPerspective && (_.animType = !1)), 
5516        void 0 !== bodyStyle.MozTransform && (_.animType = "MozTransform", _.transformType = "-moz-transform", 
5517        _.transitionType = "MozTransition", void 0 === bodyStyle.perspectiveProperty && void 0 === bodyStyle.MozPerspective && (_.animType = !1)), 
5518        void 0 !== bodyStyle.webkitTransform && (_.animType = "webkitTransform", _.transformType = "-webkit-transform", 
5519        _.transitionType = "webkitTransition", void 0 === bodyStyle.perspectiveProperty && void 0 === bodyStyle.webkitPerspective && (_.animType = !1)), 
5520        void 0 !== bodyStyle.msTransform && (_.animType = "msTransform", _.transformType = "-ms-transform", 
5521        _.transitionType = "msTransition", void 0 === bodyStyle.msTransform && (_.animType = !1)), 
5522        void 0 !== bodyStyle.transform && _.animType !== !1 && (_.animType = "transform", 
5523        _.transformType = "transform", _.transitionType = "transition"), _.transformsEnabled = _.options.useTransform && null !== _.animType && _.animType !== !1;
5524    }, Slick.prototype.setSlideClasses = function(index) {
5525        var centerOffset, allSlides, indexOffset, remainder, _ = this;
5526        allSlides = _.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), 
5527        _.$slides.eq(index).addClass("slick-current"), _.options.centerMode === !0 ? (centerOffset = Math.floor(_.options.slidesToShow / 2), 
5528        _.options.infinite === !0 && (index >= centerOffset && index <= _.slideCount - 1 - centerOffset ? _.$slides.slice(index - centerOffset, index + centerOffset + 1).addClass("slick-active").attr("aria-hidden", "false") : (indexOffset = _.options.slidesToShow + index, 
5529        allSlides.slice(indexOffset - centerOffset + 1, indexOffset + centerOffset + 2).addClass("slick-active").attr("aria-hidden", "false")), 
5530        0 === index ? allSlides.eq(allSlides.length - 1 - _.options.slidesToShow).addClass("slick-center") : index === _.slideCount - 1 && allSlides.eq(_.options.slidesToShow).addClass("slick-center")), 
5531        _.$slides.eq(index).addClass("slick-center")) : index >= 0 && index <= _.slideCount - _.options.slidesToShow ? _.$slides.slice(index, index + _.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : allSlides.length <= _.options.slidesToShow ? allSlides.addClass("slick-active").attr("aria-hidden", "false") : (remainder = _.slideCount % _.options.slidesToShow, 
5532        indexOffset = _.options.infinite === !0 ? _.options.slidesToShow + index : index, 
5533        _.options.slidesToShow == _.options.slidesToScroll && _.slideCount - index < _.options.slidesToShow ? allSlides.slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder).addClass("slick-active").attr("aria-hidden", "false") : allSlides.slice(indexOffset, indexOffset + _.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false")), 
5534        "ondemand" === _.options.lazyLoad && _.lazyLoad();
5535    }, Slick.prototype.setupInfinite = function() {
5536        var i, slideIndex, infiniteCount, _ = this;
5537        if (_.options.fade === !0 && (_.options.centerMode = !1), _.options.infinite === !0 && _.options.fade === !1 && (slideIndex = null, 
5538        _.slideCount > _.options.slidesToShow)) {
5539            for (infiniteCount = _.options.centerMode === !0 ? _.options.slidesToShow + 1 : _.options.slidesToShow, 
5540            i = _.slideCount; i > _.slideCount - infiniteCount; i -= 1) slideIndex = i - 1, 
5541            $(_.$slides[slideIndex]).clone(!0).attr("id", "").attr("data-slick-index", slideIndex - _.slideCount).prependTo(_.$slideTrack).addClass("slick-cloned");
5542            for (i = 0; infiniteCount > i; i += 1) slideIndex = i, $(_.$slides[slideIndex]).clone(!0).attr("id", "").attr("data-slick-index", slideIndex + _.slideCount).appendTo(_.$slideTrack).addClass("slick-cloned");
5543            _.$slideTrack.find(".slick-cloned").find("[id]").each(function() {
5544                $(this).attr("id", "");
5545            });
5546        }
5547    }, Slick.prototype.setPaused = function(paused) {
5548        var _ = this;
5549        _.options.autoplay === !0 && _.options.pauseOnHover === !0 && (_.paused = paused, 
5550        paused ? _.autoPlayClear() : _.autoPlay());
5551    }, Slick.prototype.selectHandler = function(event) {
5552        var _ = this, targetElement = $(event.target).is(".slick-slide") ? $(event.target) : $(event.target).parents(".slick-slide"), index = parseInt(targetElement.attr("data-slick-index"));
5553        return index || (index = 0), _.slideCount <= _.options.slidesToShow ? (_.setSlideClasses(index), 
5554        void _.asNavFor(index)) : void _.slideHandler(index);
5555    }, Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
5556        var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null, _ = this;
5557        return sync = sync || !1, _.animating === !0 && _.options.waitForAnimate === !0 || _.options.fade === !0 && _.currentSlide === index || _.slideCount <= _.options.slidesToShow ? void 0 : (sync === !1 && _.asNavFor(index), 
5558        targetSlide = index, targetLeft = _.getLeft(targetSlide), slideLeft = _.getLeft(_.currentSlide), 
5559        _.currentLeft = null === _.swipeLeft ? slideLeft : _.swipeLeft, _.options.infinite === !1 && _.options.centerMode === !1 && (0 > index || index > _.getDotCount() * _.options.slidesToScroll) ? void (_.options.fade === !1 && (targetSlide = _.currentSlide, 
5560        dontAnimate !== !0 ? _.animateSlide(slideLeft, function() {
5561            _.postSlide(targetSlide);
5562        }) : _.postSlide(targetSlide))) : _.options.infinite === !1 && _.options.centerMode === !0 && (0 > index || index > _.slideCount - _.options.slidesToScroll) ? void (_.options.fade === !1 && (targetSlide = _.currentSlide, 
5563        dontAnimate !== !0 ? _.animateSlide(slideLeft, function() {
5564            _.postSlide(targetSlide);
5565        }) : _.postSlide(targetSlide))) : (_.options.autoplay === !0 && clearInterval(_.autoPlayTimer), 
5566        animSlide = 0 > targetSlide ? _.slideCount % _.options.slidesToScroll !== 0 ? _.slideCount - _.slideCount % _.options.slidesToScroll : _.slideCount + targetSlide : targetSlide >= _.slideCount ? _.slideCount % _.options.slidesToScroll !== 0 ? 0 : targetSlide - _.slideCount : targetSlide, 
5567        _.animating = !0, _.$slider.trigger("beforeChange", [ _, _.currentSlide, animSlide ]), 
5568        oldSlide = _.currentSlide, _.currentSlide = animSlide, _.setSlideClasses(_.currentSlide), 
5569        _.updateDots(), _.updateArrows(), _.options.fade === !0 ? (dontAnimate !== !0 ? (_.fadeSlideOut(oldSlide), 
5570        _.fadeSlide(animSlide, function() {
5571            _.postSlide(animSlide);
5572        })) : _.postSlide(animSlide), void _.animateHeight()) : void (dontAnimate !== !0 ? _.animateSlide(targetLeft, function() {
5573            _.postSlide(animSlide);
5574        }) : _.postSlide(animSlide))));
5575    }, Slick.prototype.startLoad = function() {
5576        var _ = this;
5577        _.options.arrows === !0 && _.slideCount > _.options.slidesToShow && (_.$prevArrow.hide(), 
5578        _.$nextArrow.hide()), _.options.dots === !0 && _.slideCount > _.options.slidesToShow && _.$dots.hide(), 
5579        _.$slider.addClass("slick-loading");
5580    }, Slick.prototype.swipeDirection = function() {
5581        var xDist, yDist, r, swipeAngle, _ = this;
5582        return xDist = _.touchObject.startX - _.touchObject.curX, yDist = _.touchObject.startY - _.touchObject.curY, 
5583        r = Math.atan2(yDist, xDist), swipeAngle = Math.round(180 * r / Math.PI), 0 > swipeAngle && (swipeAngle = 360 - Math.abs(swipeAngle)), 
5584        45 >= swipeAngle && swipeAngle >= 0 ? _.options.rtl === !1 ? "left" : "right" : 360 >= swipeAngle && swipeAngle >= 315 ? _.options.rtl === !1 ? "left" : "right" : swipeAngle >= 135 && 225 >= swipeAngle ? _.options.rtl === !1 ? "right" : "left" : _.options.verticalSwiping === !0 ? swipeAngle >= 35 && 135 >= swipeAngle ? "left" : "right" : "vertical";
5585    }, Slick.prototype.swipeEnd = function(event) {
5586        var slideCount, _ = this;
5587        if (_.dragging = !1, _.shouldClick = _.touchObject.swipeLength > 10 ? !1 : !0, void 0 === _.touchObject.curX) return !1;
5588        if (_.touchObject.edgeHit === !0 && _.$slider.trigger("edge", [ _, _.swipeDirection() ]), 
5589        _.touchObject.swipeLength >= _.touchObject.minSwipe) switch (_.swipeDirection()) {
5590          case "left":
5591            slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide + _.getSlideCount()) : _.currentSlide + _.getSlideCount(), 
5592            _.slideHandler(slideCount), _.currentDirection = 0, _.touchObject = {}, _.$slider.trigger("swipe", [ _, "left" ]);
5593            break;
5594
5595          case "right":
5596            slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide - _.getSlideCount()) : _.currentSlide - _.getSlideCount(), 
5597            _.slideHandler(slideCount), _.currentDirection = 1, _.touchObject = {}, _.$slider.trigger("swipe", [ _, "right" ]);
5598        } else _.touchObject.startX !== _.touchObject.curX && (_.slideHandler(_.currentSlide), 
5599        _.touchObject = {});
5600    }, Slick.prototype.swipeHandler = function(event) {
5601        var _ = this;
5602        if (!(_.options.swipe === !1 || "ontouchend" in document && _.options.swipe === !1 || _.options.draggable === !1 && -1 !== event.type.indexOf("mouse"))) switch (_.touchObject.fingerCount = event.originalEvent && void 0 !== event.originalEvent.touches ? event.originalEvent.touches.length : 1, 
5603        _.touchObject.minSwipe = _.listWidth / _.options.touchThreshold, _.options.verticalSwiping === !0 && (_.touchObject.minSwipe = _.listHeight / _.options.touchThreshold), 
5604        event.data.action) {
5605          case "start":
5606            _.swipeStart(event);
5607            break;
5608
5609          case "move":
5610            _.swipeMove(event);
5611            break;
5612
5613          case "end":
5614            _.swipeEnd(event);
5615        }
5616    }, Slick.prototype.swipeMove = function(event) {
5617        var curLeft, swipeDirection, swipeLength, positionOffset, touches, _ = this;
5618        return touches = void 0 !== event.originalEvent ? event.originalEvent.touches : null, 
5619        !_.dragging || touches && 1 !== touches.length ? !1 : (curLeft = _.getLeft(_.currentSlide), 
5620        _.touchObject.curX = void 0 !== touches ? touches[0].pageX : event.clientX, _.touchObject.curY = void 0 !== touches ? touches[0].pageY : event.clientY, 
5621        _.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(_.touchObject.curX - _.touchObject.startX, 2))), 
5622        _.options.verticalSwiping === !0 && (_.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(_.touchObject.curY - _.touchObject.startY, 2)))), 
5623        swipeDirection = _.swipeDirection(), "vertical" !== swipeDirection ? (void 0 !== event.originalEvent && _.touchObject.swipeLength > 4 && event.preventDefault(), 
5624        positionOffset = (_.options.rtl === !1 ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1), 
5625        _.options.verticalSwiping === !0 && (positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1), 
5626        swipeLength = _.touchObject.swipeLength, _.touchObject.edgeHit = !1, _.options.infinite === !1 && (0 === _.currentSlide && "right" === swipeDirection || _.currentSlide >= _.getDotCount() && "left" === swipeDirection) && (swipeLength = _.touchObject.swipeLength * _.options.edgeFriction, 
5627        _.touchObject.edgeHit = !0), _.options.vertical === !1 ? _.swipeLeft = curLeft + swipeLength * positionOffset : _.swipeLeft = curLeft + swipeLength * (_.$list.height() / _.listWidth) * positionOffset, 
5628        _.options.verticalSwiping === !0 && (_.swipeLeft = curLeft + swipeLength * positionOffset), 
5629        _.options.fade === !0 || _.options.touchMove === !1 ? !1 : _.animating === !0 ? (_.swipeLeft = null, 
5630        !1) : void _.setCSS(_.swipeLeft)) : void 0);
5631    }, Slick.prototype.swipeStart = function(event) {
5632        var touches, _ = this;
5633        return 1 !== _.touchObject.fingerCount || _.slideCount <= _.options.slidesToShow ? (_.touchObject = {}, 
5634        !1) : (void 0 !== event.originalEvent && void 0 !== event.originalEvent.touches && (touches = event.originalEvent.touches[0]), 
5635        _.touchObject.startX = _.touchObject.curX = void 0 !== touches ? touches.pageX : event.clientX, 
5636        _.touchObject.startY = _.touchObject.curY = void 0 !== touches ? touches.pageY : event.clientY, 
5637        void (_.dragging = !0));
5638    }, Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {
5639        var _ = this;
5640        null !== _.$slidesCache && (_.unload(), _.$slideTrack.children(this.options.slide).detach(), 
5641        _.$slidesCache.appendTo(_.$slideTrack), _.reinit());
5642    }, Slick.prototype.unload = function() {
5643        var _ = this;
5644        $(".slick-cloned", _.$slider).remove(), _.$dots && _.$dots.remove(), _.$prevArrow && _.htmlExpr.test(_.options.prevArrow) && _.$prevArrow.remove(), 
5645        _.$nextArrow && _.htmlExpr.test(_.options.nextArrow) && _.$nextArrow.remove(), _.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "");
5646    }
5646, Slick.prototype.unslick = function(fromBreakpoint) {
5647        var _ = this;
5648        _.$slider.trigger("unslick", [ _, fromBreakpoint ]), _.destroy();
5649    }, Slick.prototype.updateArrows = function() {
5650        var centerOffset, _ = this;
5651        centerOffset = Math.floor(_.options.slidesToShow / 2), _.options.arrows === !0 && _.slideCount > _.options.slidesToShow && !_.options.infinite && (_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 
5652        _.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === _.currentSlide ? (_.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), 
5653        _.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : _.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === !1 ? (_.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), 
5654        _.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : _.currentSlide >= _.slideCount - 1 && _.options.centerMode === !0 && (_.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), 
5655        _.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")));
5656    }, Slick.prototype.updateDots = function() {
5657        var _ = this;
5658        null !== _.$dots && (_.$dots.find("li").removeClass("slick-active").attr("aria-hidden", "true"), 
5659        _.$dots.find("li").eq(Math.floor(_.currentSlide / _.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden", "false"));
5660    }, Slick.prototype.visibility = function() {
5661        var _ = this;
5662        document[_.hidden] ? (_.paused = !0, _.autoPlayClear()) : _.options.autoplay === !0 && (_.paused = !1, 
5663        _.autoPlay());
5664    }, Slick.prototype.initADA = function() {
5665        var _ = this;
5666        _.$slides.add(_.$slideTrack.find(".slick-cloned")).attr({
5667            "aria-hidden": "true",
5668            tabindex: "-1"
5669        }).find("a, input, button, select").attr({
5670            tabindex: "-1"
5671        }), _.$slideTrack.attr("role", "listbox"), _.$slides.not(_.$slideTrack.find(".slick-cloned")).each(function(i) {
5672            $(this).attr({
5673                role: "option",
5674                "aria-describedby": "slick-slide" + _.instanceUid + i
5675            });
5676        }), null !== _.$dots && _.$dots.attr("role", "tablist").find("li").each(function(i) {
5677            $(this).attr({
5678                role: "presentation",
5679                "aria-selected": "false",
5680                "aria-controls": "navigation" + _.instanceUid + i,
5681                id: "slick-slide" + _.instanceUid + i
5682            });
5683        }).first().attr("aria-selected", "true").end().find("button").attr("role", "button").end().closest("div").attr("role", "toolbar"), 
5684        _.activateADA();
5685    }, Slick.prototype.activateADA = function() {
5686        var _ = this;
5687        _.$slideTrack.find(".slick-active").attr({
5688            "aria-hidden": "false"
5689        }).find("a, input, button, select").attr({
5690            tabindex: "0"
5691        });
5692    }, Slick.prototype.focusHandler = function() {
5693        var _ = this;
5694        _.$slider.on("focus.slick blur.slick", "*", function(event) {
5695            event.stopImmediatePropagation();
5696            var sf = $(this);
5697            setTimeout(function() {
5698                _.isPlay && (sf.is(":focus") ? (_.autoPlayClear(), _.paused = !0) : (_.paused = !1, 
5699                _.autoPlay()));
5700            }, 0);
5701        });
5702    }, $.fn.slick = function() {
5703        var i, ret, _ = this, opt = arguments[0], args = Array.prototype.slice.call(arguments, 1), l = _.length;
5704        for (i = 0; l > i; i++) if ("object" == typeof opt || "undefined" == typeof opt ? _[i].slick = new Slick(_[i], opt) : ret = _[i].slick[opt].apply(_[i].slick, args), 
5705        "undefined" != typeof ret) return ret;
5706        return _;
5707    };
5708});

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.