/*! This minified app bundle contains open source software from several third party developers. Please review CREDITS.md in the root directory or LICENSE.md in the current directory for complete licensing, copyright and patent information. This file and the included code may not be redistributed without the attributions listed in LICENSE.md, including associate copyright notices and licensing information. */ /*! For license information please see custom.unified.js.LICENSE.txt */ var et_pb_custom = { "ajaxurl": "https:\/\/billforward.io\/wp-admin\/admin-ajax.php", "images_uri": "https:\/\/billforward.io\/wp-content\/themes\/Divi\/images", "builder_images_uri": "https:\/\/billforward.io\/wp-content\/themes\/Divi\/includes\/builder\/images", "et_frontend_nonce": "2c42c03e52", "subscription_failed": "Please, check the fields below to make sure you entered the correct information.", "et_ab_log_nonce": "f0e8795365", "fill_message": "Please, fill in the following fields:", "contact_error_message": "Please, fix the following errors:", "invalid": "Invalid email", "captcha": "Captcha", "prev": "Prev", "previous": "Previous", "next": "Next", "wrong_captcha": "You entered the wrong number in captcha.", "wrong_checkbox": "Checkbox", "ignore_waypoints": "no", "is_divi_theme_used": "1", "widget_search_selector": ".widget_search", "ab_tests": [], "is_ab_testing_active": "", "page_id": "3068", "unique_test_id": "", "ab_bounce_rate": "5", "is_cache_plugin_active": "no", "is_shortcode_tracking": "", "tinymce_uri": "" }; var et_frontend_scripts = { "builderCssContainerPrefix": "#et-boc", "builderCssLayoutPrefix": "#et-boc .et-l" }; var et_pb_box_shadow_elements = []; var et_pb_motion_elements = { "desktop": [], "tablet": [], "phone": [] }; !function(t) { var e = {}; function n(r) { if (e[r]) return e[r].exports; var i = e[r] = { i: r, l: !1, exports: {} }; return t[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports } n.m = t, n.c = e, n.d = function(t, e, r) { n.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: r }) } , n.r = function(t) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }) } , n.t = function(t, e) { if (1 & e && (t = n(t)), 8 & e) return t; if (4 & e && "object" == typeof t && t && t.__esModule) return t; var r = Object.create(null); if (n.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t) for (var i in t) n.d(r, i, function(e) { return t[e] } .bind(null, i)); return r } , n.n = function(t) { var e = t && t.__esModule ? function() { return t.default } : function() { return t } ; return n.d(e, "a", e), e } , n.o = function(t, e) { return Object.prototype.hasOwnProperty.call(t, e) } , n.p = "", n(n.s = 18) }([function(t, e) { t.exports = jQuery } , function(t, e) { /*! * SmoothScroll for websites v1.2.1 * Licensed under the terms of the MIT license. * * People involved * - Balazs Galambosi (maintainer) * - Michael Herf (Pulse Algorithm) */ !function() { var t, e = { frameRate: 150, animationTime: 400, stepSize: 80, pulseAlgorithm: !0, pulseScale: 8, pulseNormalize: 1, accelerationDelta: 20, accelerationMax: 1, keyboardSupport: !0, arrowScroll: 50, touchpadSupport: !0, fixedBackground: !0, excluded: "" }, n = e, r = !1, i = { x: 0, y: 0 }, o = !1, a = document.documentElement, s = [120, 120, 120], c = 37, u = 38, l = 39, d = 40, f = 32, p = 33, _ = 34, h = 35, v = 36; n = e; function m() { if (document.body) { var e, i = document.body, s = document.documentElement, c = window.innerHeight, u = i.scrollHeight; if (a = document.compatMode.indexOf("CSS") >= 0 ? s : i, t = i, (e = document.body.classList.contains("et-fb")) && I("keydown", x), n.keyboardSupport && !e && T("keydown", x), o = !0, top != self) r = !0; else if (u > c && (i.offsetHeight <= c || s.offsetHeight <= c)) { var l = !1; if (s.style.height = "auto", setTimeout((function() { l || s.scrollHeight == document.height || (l = !0, setTimeout((function() { s.style.height = document.height + "px", l = !1 } ), 500)) } ), 10), a.offsetHeight <= c) { var d = document.createElement("div"); d.style.clear = "both", i.appendChild(d) } } n.fixedBackground || (i.style.backgroundAttachment = "scroll", s.style.backgroundAttachment = "scroll") } } var g = [] , b = !1 , w = +new Date; function y(t, e, r, o) { var a, s; if (o || (o = 1e3), a = (a = e) > 0 ? 1 : -1, s = (s = r) > 0 ? 1 : -1, (i.x !== a || i.y !== s) && (i.x = a, i.y = s, g = [], w = 0), 1 != n.accelerationMax) { var c = +new Date - w; if (c < n.accelerationDelta) { var u = (1 + 30 / c) / 2; u > 1 && (u = Math.min(u, n.accelerationMax), e *= u, r *= u) } w = +new Date } if (g.push({ x: e, y: r, lastX: e < 0 ? .99 : -.99, lastY: r < 0 ? .99 : -.99, start: +new Date }), !b) { var l = t === document.body; M((function i(a) { for (var s = +new Date, c = 0, u = 0, d = 0; d < g.length; d++) { var f = g[d] , p = s - f.start , _ = p >= n.animationTime , h = _ ? 1 : p / n.animationTime; n.pulseAlgorithm && (h = z(h)); var v = f.x * h - f.lastX >> 0 , m = f.y * h - f.lastY >> 0; c += v, u += m, f.lastX += v, f.lastY += m, _ && (g.splice(d, 1), d--) } l ? window.scrollBy(c, u) : (c && (t.scrollLeft += c), u && (t.scrollTop += u)), e || r || (g = []), g.length ? M(i, t, o / n.frameRate + 1) : b = !1 } ), t, 0), b = !0 } } function x(e) { var r = e.target , i = e.ctrlKey || e.altKey || e.metaKey || e.shiftKey && e.keyCode !== f; if (/input|textarea|select|embed/i.test(r.nodeName) || r.isContentEditable || e.defaultPrevented || i) return !0; if (A(r, "button") && e.keyCode === f) return !0; var o = 0 , a = 0 , s = S(t) , m = s.clientHeight; switch (s == document.body && (m = window.innerHeight), e.keyCode) { case u: a = -n.arrowScroll; break; case d: a = n.arrowScroll; break; case f: a = -(e.shiftKey ? 1 : -1) * m * .9; break; case p: a = .9 * -m; break; case _: a = .9 * m; break; case v: a = -window.pageYOffset; break; case h: var g = s.scrollHeight - s.scrollTop - m; a = g > 0 ? g + 10 : 0; break; case c: o = -n.arrowScroll; break; case l: o = n.arrowScroll; break; default: return !0 } y(s, o, a), e.preventDefault() } var C = {}; setInterval((function() { C = {} } ), 1e4); var k, j = (k = 0, function(t) { return t.uniqueID || (t.uniqueID = k++) } ); function O(t, e) { for (var n = t.length; n--; ) C[j(t[n])] = e; return e } function S(t) { var e = [] , n = a.scrollHeight; do { var i = C[j(t)]; if (i) return O(e, i); if (e.push(t), n === t.scrollHeight) { if (!r || a.clientHeight + 10 < n) return O(e, document.body) } else if (t.clientHeight + 10 < t.scrollHeight) { var o = getComputedStyle(t, "").getPropertyValue("overflow-y"); if ("scroll" === o || "auto" === o) return O(e, t) } } while (t = t.parentNode) } function T(t, e, n) { window.addEventListener(t, e, n || !1) } function I(t, e, n) { window.removeEventListener(t, e, n || !1) } function A(t, e) { return (t.nodeName || "").toLowerCase() === e.toLowerCase() } function E(t, e) { return Math.floor(t / e) == t / e } var M = window.requestAnimationFrame || window.webkitRequestAnimationFrame || function(t, e, n) { window.setTimeout(t, n || 1e3 / 60) } ; function P(t) { var e, r; return (t *= n.pulseScale) < 1 ? e = t - (1 - Math.exp(-t)) : (t -= 1, e = (r = Math.exp(-1)) + (1 - Math.exp(-t)) * (1 - r)), e * n.pulseNormalize } function z(t) { return t >= 1 ? 1 : t <= 0 ? 0 : (1 == n.pulseNormalize && (n.pulseNormalize /= P(1)), P(t)) } var L = /chrome/i.test(window.navigator.userAgent) , R = null; "onwheel"in document.createElement("div") ? R = "wheel" : "onmousewheel"in document.createElement("div") && (R = "mousewheel"); var W = document.body.className.split(" ").filter((function(t) { return "et_smooth_scroll" === t } )).length > 0; R && L && W && (window.addEventListener(R, (function(e) { o || m(); var r = e.target , i = S(r) , a = document.documentElement.className.split(" ").filter((function(t) { return "et-fb-preview--tablet" === t || "et-fb-preview--phone" === t || "et-fb-preview--zoom" === t } )).length > 0; if (!i || e.defaultPrevented || A(t, "embed") || A(r, "embed") && /\.pdf/i.test(r.src) || a) return !0; var c = e.wheelDeltaX || 0 , u = e.wheelDeltaY || 0; if (c || u || (u = e.wheelDelta || 0), !n.touchpadSupport && function(t) { if (!t) return; return t = Math.abs(t), s.push(t), s.shift(), clearTimeout(void 0), !(E(s[0], 120) && E(s[1], 120) && E(s[2], 120)) }(u)) return !0; Math.abs(c) > 1.2 && (c *= n.stepSize / 120), Math.abs(u) > 1.2 && (u *= n.stepSize / 120), y(i, -c, -u), e.preventDefault() } ), { passive: !1 }), T("mousedown", (function(e) { t = e.target } )), T("load", m)), window.ET_SmoothScroll = { toggleKeydown: function(t) { t ? T("keydown", x) : I("keydown", x) } } }() } , function(t, e) { var n; (n = jQuery).fn.et_shortcodes_switcher = function(t) { return t = n.extend({ slides: ">div", activeClass: "active", linksNav: "", findParent: !0, lengthElement: "li", useArrows: !1, arrowLeft: "a#prev-arrow", arrowRight: "a#next-arrow", auto: !1, autoSpeed: 5e3, slidePadding: "", pauseOnHover: !0, fx: "fade", sliderType: "" }, t), this.each((function() { var e, r, i, o = jQuery(this).parent().css("position", "relative"), a = jQuery(this).css({ overflow: "hidden", position: "relative" }), s = o.find(".et-tabs-content-wrapper"), c = s.parent(), u = a.find(".et-tabs-content-wrapper" + t.slides), l = u.length, d = 1, f = c.width(); if ("slide" === t.fx && (s.width(200 * (l + 2) + "%"), u.css({ width: f, visibility: "visible" }), s.append(u.filter(":first").clone().removeClass().addClass("et_slidecontent_cloned")), s.prepend(u.filter(":last").clone().removeClass().addClass("et_slidecontent_cloned")), s.css("left", -f)), u.filter(":first").css({ display: "block" }).addClass("et_shortcode_slide_active"), "" != t.slidePadding && u.css("padding", t.slidePadding), "" != t.linksNav) { var p = jQuery(t.linksNav) , _ = ""; (_ = t.findParent ? p.parent() : p).filter(".active").length || _.filter(":first").addClass("active"), p.click((function() { var e; return g(e = (t.findParent ? jQuery(this).parent() : jQuery(this)).prevAll(t.lengthElement).length + 1, e > d ? 1 : -1), !1 } )) } if (t.useArrows) { var h = jQuery(t.arrowRight) , v = jQuery(t.arrowLeft); h.click((function() { return y(), !1 } )), v.click((function() { return x(), !1 } )) } function m() { "" != _ && (_.siblings().removeClass("active"), _.filter(":eq(" + (d - 1) + ")").addClass("active")) } function g(n, o) { if (!u.filter(":animated").length && (e = u.parent().find(".et_slidecontent").filter(":eq(" + (d - 1) + ")"), d !== n)) return e.removeClass("et_shortcode_slide_active"), r = u.parent().find(".et_slidecontent").filter(":eq(" + (n - 1) + ")").addClass("et_shortcode_slide_active"), (d > n || 1 === d) && -1 === o ? ("slide" === t.fx && (a = r.prevAll(".et_slidecontent").length + 1, f = !1, e.prev(".et_slidecontent_cloned").length && (a = 0, f = !0), s.animate({ left: -c.width() * a }, 500, (function() { f && s.css("left", -c.width() * l) } ))), "fade" === t.fx && w()) : ("slide" === t.fx && function(t) { var n = r.prevAll(".et_slidecontent").length + 1 , i = !1; e.next(".et_slidecontent_cloned").length && (n = e.prevAll().length + 1, i = !0), s.animate({ left: -c.width() * n }, 500, (function() { i && s.css("left", -c.width()) } )) }(), "fade" === t.fx && w()), d = r.prevAll(".et_slidecontent").length + 1, "" != t.linksNav && m(), "images" !== t.sliderType && "simple" !== t.sliderType || (i.find("li").removeClass("et_shortcodes_active_control"), i.find("li").eq(d - 1).addClass("et_shortcodes_active_control")), !1; var a, f } if (t.auto) { interval_shortcodes = setInterval((function() { b || (g(d === l ? 1 : d + 1, 1), "" != t.linksNav && m()) } ), t.autoSpeed); var b = !1 } function w(t) { e.css({ display: "none", opacity: "0" }), r.css({ opacity: "0", display: "block" }).animate({ opacity: 1 }, 700) } function y() { d === l ? g(1, 1) : g(d + 1), "" != t.linksNav && m() } function x() { g(1 === d ? l : d - 1, -1), "" != t.linksNav && m() } t.pauseOnHover && o.hover((function() { b = !0 } ), (function() { b = !1 } )), "slide" === t.fx && n(window).resize((function() { s.find(">div").css({ width: c.width() }), s.css("left", -c.width() * d) } )), function() { var e = o.find(".et_slidecontent").length , r = ""; if (e > 1 && ("images" === t.sliderType || "simple" === t.sliderType)) { o.append('
"), i = o.find(".et_shortcodes_controls"); for (var a = 0; a < e; a++) r += '
  • '; i.prepend(r), i.find("li:first").addClass("et_shortcodes_active_control"), i.find("a").click((function() { var t = n(this).parent("li").prevAll().length + 1; return t == d || g(t, t > d ? 1 : -1), !1 } )), o.find(".et_shortcodes_controls_arrows").find("a").click((function() { var t, e = jQuery(this); return e.hasClass("et_sc_nav_next") && y(), e.hasClass("et_sc_nav_prev") && x(), i.find("li").removeClass("et_shortcodes_active_control"), t = d - 1, i.find("li").eq(t).addClass("et_shortcodes_active_control"), !1 } )) } else "images" !== t.sliderType && "simple" !== t.sliderType && (o.prepend('"), o.find(".et_shortcodes_mobile_nav").find("a").click((function() { var t = jQuery(this); return t.hasClass("et_sc_nav_next") && y(), t.hasClass("et_sc_nav_prev") && x(), !1 } ))) }() } )) } , window.et_shortcodes_init = function(t) { var e = void 0 !== t ? t : n("body") , r = e.find(".pricing-table a.icon-button"); $et_tooltip = e.find(".et-tooltip"), $et_tooltip.on("mouseover mouseout", (function(t) { "mouseover" == t.type ? n(this).find(".et-tooltip-box").stop(!0, !0).animate({ opacity: "show", bottom: "25px" }, 300) : n(this).find(".et-tooltip-box").delay(200).animate({ opacity: "hide", bottom: "35px" }, 300) } )), $et_learn_more = e.find(".et-learn-more .heading-more"), $et_learn_more.on("click", (function() { n(this).hasClass("open") ? n(this).removeClass("open") : n(this).addClass("open"), n(this).parent(".et-learn-more").find(".learn-more-content").animate({ opacity: "toggle", height: "toggle" }, 300) } )), e.find(".et-learn-more").not(".et-open").find(".learn-more-content").css({ visibility: "visible", display: "none" }), r.each((function() { var t = n(this) , e = t.width() , r = t.innerWidth(); t.css({ width: e, marginLeft: "-" + r / 2 + "px", visibility: "visible" }) } )), e.find(".et-tabs-container, .tabs-left, .et-simple-slider, .et-image-slider").each((function(t) { var e = n(this).attr("class") , r = /et_sliderauto_speed_(\d+)/g.exec(e) , i = /et_sliderauto_(\w+)/g.exec(e) , o = /et_slidertype_(\w+)/g.exec(e) , a = /et_sliderfx_(\w+)/g.exec(e) , s = ".et-tabs-content" , c = {}; c.linksNav = n(this).find(".et-tabs-control li a"), c.findParent = !0, c.fx = a[1], c.auto = "false" !== i[1], c.autoSpeed = r[1], "simple" === o[1] ? ((c = {}).fx = a[1], c.auto = "false" !== i[1], c.autoSpeed = r[1], c.sliderType = "simple", s = ".et-simple-slides") : "images" === o[1] && (c.sliderType = "images", c.linksNav = "#" + n(this).attr("id") + " .controllers a.switch", c.findParent = !1, c.lengthElement = "#" + n(this).attr("id") + " a.switch", s = ".et-image-slides"), n(this).find(s).et_shortcodes_switcher(c) } )) } , jQuery(document).ready((function(t) { window.et_shortcodes_init() } )) } , function(t, e) { !function(t) { "use strict"; t.fn.fitVids = function(e) { var n = { customSelector: null, ignore: null }; if (!document.getElementById("fit-vids-style")) { var r = document.head || document.getElementsByTagName("head")[0] , i = document.createElement("div"); i.innerHTML = '

    x

    ', r.appendChild(i.childNodes[1]) } return e && t.extend(n, e), this.each((function() { var e = ['iframe[src*="player.vimeo.com"]', 'iframe[src*="youtube.com"]', 'iframe[src*="youtube-nocookie.com"]', 'iframe[src*="kickstarter.com"][src*="video.html"]', "object", "embed"]; n.customSelector && e.push(n.customSelector); var r = ".fitvidsignore"; n.ignore && (r = r + ", " + n.ignore); var i = t(this).find(e.join(",")); (i = (i = i.not("object object")).not(r)).each((function() { var e = t(this); if (!(e.parents(r).length > 0 || "embed" === this.tagName.toLowerCase() && e.parent("object").length || e.parent(".fluid-width-video-wrapper").length)) { e.css("height") || e.css("width") || !isNaN(e.attr("height")) && !isNaN(e.attr("width")) || (e.attr("height", 9), e.attr("width", 16)); var n = ("object" === this.tagName.toLowerCase() || e.attr("height") && !isNaN(parseInt(e.attr("height"), 10)) ? parseInt(e.attr("height"), 10) : e.height()) / (isNaN(parseInt(e.attr("width"), 10)) ? e.width() : parseInt(e.attr("width"), 10)); if (!e.attr("name")) { var i = "fitvid" + t.fn.fitVids._count; e.attr("name", i), t.fn.fitVids._count++ } e.wrap('
    ').parent(".fluid-width-video-wrapper").css("padding-top", 100 * n + "%"), e.removeAttr("height").removeAttr("width") } } )) } )) } , t.fn.fitVids._count = 0 }(window.jQuery || window.Zepto) } , function(t, e) { /*! * Waypoints - 4.0.0 * Copyright © 2011-2015 Caleb Troughton * Licensed under the MIT license. * https://github.com/imakewebthings/waypoints/blog/master/licenses.txt */ !function() { "use strict"; function t(r) { if (!r) throw new Error("No options passed to Waypoint constructor"); if (!r.element) throw new Error("No element option passed to Waypoint constructor"); if (!r.handler) throw new Error("No handler option passed to Waypoint constructor"); this.key = "waypoint-" + e, this.options = t.Adapter.extend({}, t.defaults, r), this.element = this.options.element, this.adapter = new t.Adapter(this.element), this.callback = r.handler, this.axis = this.options.horizontal ? "horizontal" : "vertical", this.enabled = this.options.enabled, this.triggerPoint = null, this.group = t.Group.findOrCreate({ name: this.options.group, axis: this.axis }), this.context = t.Context.findOrCreateByElement(this.options.context), t.offsetAliases[this.options.offset] && (this.options.offset = t.offsetAliases[this.options.offset]), this.group.add(this), this.context.add(this), n[this.key] = this, e += 1 } var e = 0 , n = {}; t.prototype.queueTrigger = function(t) { this.group.queueTrigger(this, t) } , t.prototype.trigger = function(t) { this.enabled && this.callback && this.callback.apply(this, t) } , t.prototype.destroy = function() { this.context.remove(this), this.group.remove(this), delete n[this.key] } , t.prototype.disable = function() { return this.enabled = !1, this } , t.prototype.enable = function() { return this.context.refresh(), this.enabled = !0, this } , t.prototype.next = function() { return this.group.next(this) } , t.prototype.previous = function() { return this.group.previous(this) } , t.invokeAll = function(t) { var e = []; for (var r in n) e.push(n[r]); for (var i = 0, o = e.length; o > i; i++) e[i][t]() } , t.destroyAll = function() { t.invokeAll("destroy") } , t.disableAll = function() { t.invokeAll("disable") } , t.enableAll = function() { t.invokeAll("enable") } , t.refreshAll = function() { t.Context.refreshAll() } , t.viewportHeight = function() { return window.innerHeight || document.documentElement.clientHeight } , t.viewportWidth = function() { return document.documentElement.clientWidth } , t.adapters = [], t.defaults = { context: window, continuous: !0, enabled: !0, group: "default", horizontal: !1, offset: 0 }, t.offsetAliases = { "bottom-in-view": function() { return this.context.innerHeight() - this.adapter.outerHeight() }, "right-in-view": function() { return this.context.innerWidth() - this.adapter.outerWidth() } }, window.Waypoint = t }(), function() { "use strict"; function t(t) { window.setTimeout(t, 1e3 / 60) } function e(t) { this.element = t, this.Adapter = i.Adapter, this.adapter = new this.Adapter(t), this.key = "waypoint-context-" + n, this.didScroll = !1, this.didResize = !1, this.oldScroll = { x: this.adapter.scrollLeft(), y: this.adapter.scrollTop() }, this.waypoints = { vertical: {}, horizontal: {} }, t.waypointContextKey = this.key, r[t.waypointContextKey] = this, n += 1, this.createThrottledScrollHandler(), this.createThrottledResizeHandler() } var n = 0 , r = {} , i = window.Waypoint , o = window.onload; e.prototype.add = function(t) { var e = t.options.horizontal ? "horizontal" : "vertical"; this.waypoints[e][t.key] = t, this.refresh() } , e.prototype.checkEmpty = function() { var t = this.Adapter.isEmptyObject(this.waypoints.horizontal) , e = this.Adapter.isEmptyObject(this.waypoints.vertical); t && e && (this.adapter.off(".waypoints"), delete r[this.key]) } , e.prototype.createThrottledResizeHandler = function() { function t() { e.handleResize(), e.didResize = !1 } var e = this; this.adapter.on("resize.waypoints", (function() { e.didResize || (e.didResize = !0, i.requestAnimationFrame(t)) } )) } , e.prototype.createThrottledScrollHandler = function() { function t() { e.handleScroll(), e.didScroll = !1 } var e = this; this.adapter.on("scroll.waypoints", (function() { (!e.didScroll || i.isTouch) && (e.didScroll = !0, i.requestAnimationFrame(t)) } )) } , e.prototype.handleResize = function() { i.Context.refreshAll() } , e.prototype.handleScroll = function() { var t = {} , e = { horizontal: { newScroll: this.adapter.scrollLeft(), oldScroll: this.oldScroll.x, forward: "right", backward: "left" }, vertical: { newScroll: this.adapter.scrollTop(), oldScroll: this.oldScroll.y, forward: "down", backward: "up" } }; for (var n in e) { var r = e[n] , i = r.newScroll > r.oldScroll ? r.forward : r.backward; for (var o in this.waypoints[n]) { var a = this.waypoints[n][o] , s = r.oldScroll < a.triggerPoint , c = r.newScroll >= a.triggerPoint; (s && c || !s && !c) && (a.queueTrigger(i), t[a.group.id] = a.group) } } for (var u in t) t[u].flushTriggers(); this.oldScroll = { x: e.horizontal.newScroll, y: e.vertical.newScroll } } , e.prototype.innerHeight = function() { return this.element == this.element.window ? i.viewportHeight() : this.adapter.innerHeight() } , e.prototype.remove = function(t) { delete this.waypoints[t.axis][t.key], this.checkEmpty() } , e.prototype.innerWidth = function() { return this.element == this.element.window ? i.viewportWidth() : this.adapter.innerWidth() } , e.prototype.destroy = function() { var t = []; for (var e in this.waypoints) for (var n in this.waypoints[e]) t.push(this.waypoints[e][n]); for (var r = 0, i = t.length; i > r; r++) t[r].destroy() } , e.prototype.refresh = function() { var t, e = this.element == this.element.window, n = e ? void 0 : this.adapter.offset(), r = {}; for (var o in this.handleScroll(), t = { horizontal: { contextOffset: e ? 0 : n.left, contextScroll: e ? 0 : this.oldScroll.x, contextDimension: this.innerWidth(), oldScroll: this.oldScroll.x, forward: "right", backward: "left", offsetProp: "left" }, vertical: { contextOffset: e ? 0 : n.top, contextScroll: e ? 0 : this.oldScroll.y, contextDimension: this.innerHeight(), oldScroll: this.oldScroll.y, forward: "down", backward: "up", offsetProp: "top" } }) { var a = t[o]; for (var s in this.waypoints[o]) { var c, u, l, d, f = this.waypoints[o][s], p = f.options.offset, _ = f.triggerPoint, h = 0, v = null == _; f.element !== f.element.window && (h = f.adapter.offset()[a.offsetProp]), "function" == typeof p ? p = p.apply(f) : "string" == typeof p && (p = parseFloat(p), f.options.offset.indexOf("%") > -1 && (p = Math.ceil(a.contextDimension * p / 100))), c = a.contextScroll - a.contextOffset, f.triggerPoint = h + c - p, u = _ < a.oldScroll, l = f.triggerPoint >= a.oldScroll, d = !u && !l, !v && (u && l) ? (f.queueTrigger(a.backward), r[f.group.id] = f.group) : (!v && d || v && a.oldScroll >= f.triggerPoint) && (f.queueTrigger(a.forward), r[f.group.id] = f.group) } } return i.requestAnimationFrame((function() { for (var t in r) r[t].flushTriggers() } )), this } , e.findOrCreateByElement = function(t) { return e.findByElement(t) || new e(t) } , e.refreshAll = function() { for (var t in r) r[t].refresh() } , e.findByElement = function(t) { return r[t.waypointContextKey] } , window.onload = function() { o && o(), e.refreshAll() } , i.requestAnimationFrame = function(e) { (window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || t).call(window, e) } , i.Context = e }(), function() { "use strict"; function t(t, e) { return t.triggerPoint - e.triggerPoint } function e(t, e) { return e.triggerPoint - t.triggerPoint } function n(t) { this.name = t.name, this.axis = t.axis, this.id = this.name + "-" + this.axis, this.waypoints = [], this.clearTriggerQueues(), r[this.axis][this.name] = this } var r = { vertical: {}, horizontal: {} } , i = window.Waypoint; n.prototype.add = function(t) { this.waypoints.push(t) } , n.prototype.clearTriggerQueues = function() { this.triggerQueues = { up: [], down: [], left: [], right: [] } } , n.prototype.flushTriggers = function() { for (var n in this.triggerQueues) { var r = this.triggerQueues[n] , i = "up" === n || "left" === n; r.sort(i ? e : t); for (var o = 0, a = r.length; a > o; o += 1) { var s = r[o]; (s.options.continuous || o === r.length - 1) && s.trigger([n]) } } this.clearTriggerQueues() } , n.prototype.next = function(e) { this.waypoints.sort(t); var n = i.Adapter.inArray(e, this.waypoints); return n === this.waypoints.length - 1 ? null : this.waypoints[n + 1] } , n.prototype.previous = function(e) { this.waypoints.sort(t); var n = i.Adapter.inArray(e, this.waypoints); return n ? this.waypoints[n - 1] : null } , n.prototype.queueTrigger = function(t, e) { this.triggerQueues[e].push(t) } , n.prototype.remove = function(t) { var e = i.Adapter.inArray(t, this.waypoints); e > -1 && this.waypoints.splice(e, 1) } , n.prototype.first = function() { return this.waypoints[0] } , n.prototype.last = function() { return this.waypoints[this.waypoints.length - 1] } , n.findOrCreate = function(t) { return r[t.axis][t.name] || new n(t) } , i.Group = n }(), function() { "use strict"; function t(t) { this.$element = e(t) } var e = window.jQuery , n = window.Waypoint; e.each(["innerHeight", "innerWidth", "off", "offset", "on", "outerHeight", "outerWidth", "scrollLeft", "scrollTop"], (function(e, n) { t.prototype[n] = function() { var t = Array.prototype.slice.call(arguments); return this.$element[n].apply(this.$element, t) } } )), e.each(["extend", "inArray", "isEmptyObject"], (function(n, r) { t[r] = e[r] } )), n.adapters.push({ name: "jquery", Adapter: t }), n.Adapter = t }(), function() { "use strict"; function t(t) { return function() { var n = [] , r = arguments[0]; return t.isFunction(arguments[0]) && ((r = t.extend({}, arguments[1])).handler = arguments[0]), this.each((function() { var i = t.extend({}, r, { element: this }); "string" == typeof i.context && (i.context = t(this).closest(i.context)[0]), n.push(new e(i)) } )), n } } var e = window.Waypoint; window.jQuery && (window.jQuery.fn.waypoint = t(window.jQuery)), window.Zepto && (window.Zepto.fn.waypoint = t(window.Zepto)) }() } , function(t, e, n) { var r, i, o; /*! * Magnific Popup v1.0.1 by Dmitry Semenov * The MIT License (MIT) * Copyright (c) 2014-2015 Dmitry Semenov, http://dimsemenov.com * http://bit.ly/magnific-popup#build=inline+image+ajax+iframe+gallery+retina+imagezoom+fastclick */ /* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ i = [n(0)], void 0 === (o = "function" == typeof (r = function(t) { var e, n, r, i, o, a, s = "Close", c = "BeforeClose", u = "MarkupParse", l = "Open", d = "Change", f = "mfp", p = ".mfp", _ = "mfp-ready", h = "mfp-removing", v = "mfp-prevent-close", m = function() {}, g = !!window.jQuery, b = t(window), w = function(t, n) { e.ev.on(f + t + p, n) }, y = function(e, n, r, i) { var o = document.createElement("div"); return o.className = "mfp-" + e, r && (o.innerHTML = r), i ? n && n.appendChild(o) : (o = t(o), n && o.appendTo(n)), o }, x = function(n, r) { e.ev.triggerHandler(f + n, r), e.st.callbacks && (n = n.charAt(0).toLowerCase() + n.slice(1), e.st.callbacks[n] && e.st.callbacks[n].apply(e, t.isArray(r) ? r : [r])) }, C = function(n) { return n === a && e.currTemplate.closeBtn || (e.currTemplate.closeBtn = t(e.st.closeMarkup.replace("%title%", e.st.tClose)), a = n), e.currTemplate.closeBtn }, k = function() { t.magnificPopup.instance || ((e = new m).init(), t.magnificPopup.instance = e) }; m.prototype = { constructor: m, init: function() { var n = navigator.appVersion; e.isIE7 = -1 !== n.indexOf("MSIE 7."), e.isIE8 = -1 !== n.indexOf("MSIE 8."), e.isLowIE = e.isIE7 || e.isIE8, e.isAndroid = /android/gi.test(n), e.isIOS = /iphone|ipad|ipod/gi.test(n), e.supportsTransition = function() { var t = document.createElement("p").style , e = ["ms", "O", "Moz", "Webkit"]; if (void 0 !== t.transition) return !0; for (; e.length; ) if (e.pop() + "Transition"in t) return !0; return !1 }(), e.probablyMobile = e.isAndroid || e.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent), r = t(document), e.popupsCache = {} }, open: function(n) { var i; if (!1 === n.isObj) { e.items = n.items.toArray(), e.index = 0; var a, s = n.items; for (i = 0; i < s.length; i++) if ((a = s[i]).parsed && (a = a.el[0]), a === n.el[0]) { e.index = i; break } } else e.items = t.isArray(n.items) ? n.items : [n.items], e.index = n.index || 0; if (!e.isOpen) { e.types = [], o = "", n.mainEl && n.mainEl.length ? e.ev = n.mainEl.eq(0) : e.ev = r, n.key ? (e.popupsCache[n.key] || (e.popupsCache[n.key] = {}), e.currTemplate = e.popupsCache[n.key]) : e.currTemplate = {}, e.st = t.extend(!0, {}, t.magnificPopup.defaults, n), e.fixedContentPos = "auto" === e.st.fixedContentPos ? !e.probablyMobile : e.st.fixedContentPos, e.st.modal && (e.st.closeOnContentClick = !1, e.st.closeOnBgClick = !1, e.st.showCloseBtn = !1, e.st.enableEscapeKey = !1), e.bgOverlay || (e.bgOverlay = y("bg").on("click" + p, (function() { e.close() } )), e.wrap = y("wrap").attr("tabindex", -1).on("click" + p, (function(t) { e._checkIfClose(t.target) && e.close() } )), e.container = y("container", e.wrap)), e.contentContainer = y("content"), e.st.preloader && (e.preloader = y("preloader", e.container, e.st.tLoading)); var c = t.magnificPopup.modules; for (i = 0; i < c.length; i++) { var d = c[i]; d = d.charAt(0).toUpperCase() + d.slice(1), e["init" + d].call(e) } x("BeforeOpen"), e.st.showCloseBtn && (e.st.closeBtnInside ? (w(u, (function(t, e, n, r) { n.close_replaceWith = C(r.type) } )), o += " mfp-close-btn-in") : e.wrap.append(C())), e.st.alignTop && (o += " mfp-align-top"), e.fixedContentPos ? e.wrap.css({ overflow: e.st.overflowY, overflowX: "hidden", overflowY: e.st.overflowY }) : e.wrap.css({ top: b.scrollTop(), position: "absolute" }), (!1 === e.st.fixedBgPos || "auto" === e.st.fixedBgPos && !e.fixedContentPos) && e.bgOverlay.css({ height: r.height(), position: "absolute" }), e.st.enableEscapeKey && r.on("keyup" + p, (function(t) { 27 === t.keyCode && e.close() } )), b.on("resize" + p, (function() { e.updateSize() } )), e.st.closeOnContentClick || (o += " mfp-auto-cursor"), o && e.wrap.addClass(o); var f = e.wH = b.height() , h = {}; if (e.fixedContentPos && e._hasScrollBar(f)) { var v = e._getScrollbarSize(); v && (h.marginRight = v) } e.fixedContentPos && (e.isIE7 ? t("body, html").css("overflow", "hidden") : h.overflow = "hidden"); var m = e.st.mainClass; return e.isIE7 && (m += " mfp-ie7"), m && e._addClassToMFP(m), e.updateItemHTML(), x("BuildControls"), t("html").css(h), e.bgOverlay.add(e.wrap).prependTo(e.st.prependTo || t(document.body)), e._lastFocusedEl = document.activeElement, setTimeout((function() { e.content ? (e._addClassToMFP(_), e._setFocus()) : e.bgOverlay.addClass(_), r.on("focusin" + p, e._onFocusIn) } ), 16), e.isOpen = !0, e.updateSize(f), x(l), n } e.updateItemHTML() }, close: function() { e.isOpen && (x(c), e.isOpen = !1, e.st.removalDelay && !e.isLowIE && e.supportsTransition ? (e._addClassToMFP(h), setTimeout((function() { e._close() } ), e.st.removalDelay)) : e._close()) }, _close: function() { x(s); var n = h + " " + _ + " "; if (e.bgOverlay.detach(), e.wrap.detach(), e.container.empty(), e.st.mainClass && (n += e.st.mainClass + " "), e._removeClassFromMFP(n), e.fixedContentPos) { var i = { marginRight: "" }; e.isIE7 ? t("body, html").css("overflow", "") : i.overflow = "", t("html").css(i) } r.off("keyup.mfp focusin" + p), e.ev.off(p), e.wrap.attr("class", "mfp-wrap").removeAttr("style"), e.bgOverlay.attr("class", "mfp-bg"), e.container.attr("class", "mfp-container"), !e.st.showCloseBtn || e.st.closeBtnInside && !0 !== e.currTemplate[e.currItem.type] || e.currTemplate.closeBtn && e.currTemplate.closeBtn.detach(), e.st.autoFocusLast && e._lastFocusedEl && t(e._lastFocusedEl).focus(), e.currItem = null, e.content = null, e.currTemplate = null, e.prevHeight = 0, x("AfterClose") }, updateSize: function(t) { if (e.isIOS) { var n = document.documentElement.clientWidth / window.innerWidth , r = window.innerHeight * n; e.wrap.css("height", r), e.wH = r } else e.wH = t || b.height(); e.fixedContentPos || e.wrap.css("height", e.wH), x("Resize") }, updateItemHTML: function() { var n = e.items[e.index]; e.contentContainer.detach(), e.content && e.content.detach(), n.parsed || (n = e.parseEl(e.index)); var r = n.type; if (x("BeforeChange", [e.currItem ? e.currItem.type : "", r]), e.currItem = n, !e.currTemplate[r]) { var o = !!e.st[r] && e.st[r].markup; x("FirstMarkupParse", o), e.currTemplate[r] = !o || t(o) } i && i !== n.type && e.container.removeClass("mfp-" + i + "-holder"); var a = e["get" + r.charAt(0).toUpperCase() + r.slice(1)](n, e.currTemplate[r]); e.appendContent(a, r), n.preloaded = !0, x(d, n), i = n.type, e.container.prepend(e.contentContainer), x("AfterChange") }, appendContent: function(t, n) { e.content = t, t ? e.st.showCloseBtn && e.st.closeBtnInside && !0 === e.currTemplate[n] ? e.content.find(".mfp-close").length || e.content.append(C()) : e.content = t : e.content = "", x("BeforeAppend"), e.container.addClass("mfp-" + n + "-holder"), e.contentContainer.append(e.content) }, parseEl: function(n) { var r, i = e.items[n]; if (i.tagName ? i = { el: t(i) } : (r = i.type, i = { data: i, src: i.src }), i.el) { for (var o = e.types, a = 0; a < o.length; a++) if (i.el.hasClass("mfp-" + o[a])) { r = o[a]; break } i.src = i.el.attr("data-mfp-src"), i.src || (i.src = i.el.attr("href")) } return i.type = r || e.st.type || "inline", i.index = n, i.parsed = !0, e.items[n] = i, x("ElementParse", i), e.items[n] }, addGroup: function(t, n) { var r = function(r) { r.mfpEl = this, e._openClick(r, t, n) }; n || (n = {}); var i = "click.magnificPopup"; n.mainEl = t, n.items ? (n.isObj = !0, t.off(i).on(i, r)) : (n.isObj = !1, n.delegate ? t.off(i).on(i, n.delegate, r) : (n.items = t, t.off(i).on(i, r))) }, _openClick: function(n, r, i) { if ((void 0 !== i.midClick ? i.midClick : t.magnificPopup.defaults.midClick) || !(2 === n.which || n.ctrlKey || n.metaKey || n.altKey || n.shiftKey)) { var o = void 0 !== i.disableOn ? i.disableOn : t.magnificPopup.defaults.disableOn; if (o) if (t.isFunction(o)) { if (!o.call(e)) return !0 } else if (b.width() < o) return !0; n.type && (n.preventDefault(), e.isOpen && n.stopPropagation()), i.el = t(n.mfpEl), i.delegate && (i.items = r.find(i.delegate)), e.open(i) } }, updateStatus: function(t, r) { if (e.preloader) { n !== t && e.container.removeClass("mfp-s-" + n), r || "loading" !== t || (r = e.st.tLoading); var i = { status: t, text: r }; x("UpdateStatus", i), t = i.status, r = i.text, e.preloader.html(r), e.preloader.find("a").on("click", (function(t) { t.stopImmediatePropagation() } )), e.container.addClass("mfp-s-" + t), n = t } }, _checkIfClose: function(n) { if (!t(n).hasClass(v)) { var r = e.st.closeOnContentClick , i = e.st.closeOnBgClick; if (r && i) return !0; if (!e.content || t(n).hasClass("mfp-close") || e.preloader && n === e.preloader[0]) return !0; if (n === e.content[0] || t.contains(e.content[0], n)) { if (r) return !0 } else if (i && t.contains(document, n)) return !0; return !1 } }, _addClassToMFP: function(t) { e.bgOverlay.addClass(t), e.wrap.addClass(t) }, _removeClassFromMFP: function(t) { this.bgOverlay.removeClass(t), e.wrap.removeClass(t) }, _hasScrollBar: function(t) { return (e.isIE7 ? r.height() : document.body.scrollHeight) > (t || b.height()) }, _setFocus: function() { (e.st.focus ? e.content.find(e.st.focus).eq(0) : e.wrap).focus() }, _onFocusIn: function(n) { return n.target === e.wrap[0] || t.contains(e.wrap[0], n.target) ? void 0 : (e._setFocus(), !1) }, _parseMarkup: function(e, n, r) { var i; r.data && (n = t.extend(r.data, n)), x(u, [e, n, r]), t.each(n, (function(t, n) { if (void 0 === n || !1 === n) return !0; if ((i = t.split("_")).length > 1) { var r = e.find(p + "-" + i[0]); if (r.length > 0) { var o = i[1]; "replaceWith" === o ? r[0] !== n[0] && r.replaceWith(n) : "img" === o ? r.is("img") ? r.attr("src", n) : r.replaceWith('') : r.attr(i[1], n) } } else e.find(p + "-" + t).html(n) } )) }, _getScrollbarSize: function() { if (void 0 === e.scrollbarSize) { var t = document.createElement("div"); t.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;", document.body.appendChild(t), e.scrollbarSize = t.offsetWidth - t.clientWidth, document.body.removeChild(t) } return e.scrollbarSize } }, t.magnificPopup = { instance: null, proto: m.prototype, modules: [], open: function(e, n) { return k(), (e = e ? t.extend(!0, {}, e) : {}).isObj = !0, e.index = n || 0, this.instance.open(e) }, close: function() { return t.magnificPopup.instance && t.magnificPopup.instance.close() }, registerModule: function(e, n) { n.options && (t.magnificPopup.defaults[e] = n.options), t.extend(this.proto, n.proto), this.modules.push(e) }, defaults: { disableOn: 0, key: null, midClick: !1, mainClass: "", preloader: !0, focus: "", closeOnContentClick: !1, closeOnBgClick: !0, closeBtnInside: !0, showCloseBtn: !0, enableEscapeKey: !0, modal: !1, alignTop: !1, removalDelay: 0, prependTo: null, fixedContentPos: "auto", fixedBgPos: "auto", overflowY: "auto", closeMarkup: '', tClose: "Close (Esc)", tLoading: "Loading...", autoFocusLast: !0 } }, t.fn.magnificPopup = function(n) { k(); var r = t(this); if ("string" == typeof n) if ("open" === n) { var i, o = g ? r.data("magnificPopup") : r[0].magnificPopup, a = parseInt(arguments[1], 10) || 0; o.items ? i = o.items[a] : (i = r, o.delegate && (i = i.find(o.delegate)), i = i.eq(a)), e._openClick({ mfpEl: i }, r, o) } else e.isOpen && e[n].apply(e, Array.prototype.slice.call(arguments, 1)); else n = t.extend(!0, {}, n), g ? r.data("magnificPopup", n) : r[0].magnificPopup = n, e.addGroup(r, n); return r } ; var j, O, S, T = "inline", I = function() { S && (O.after(S.addClass(j)).detach(), S = null) }; t.magnificPopup.registerModule(T, { options: { hiddenClass: "hide", markup: "", tNotFound: "Content not found" }, proto: { initInline: function() { e.types.push(T), w(s + "." + T, (function() { I() } )) }, getInline: function(n, r) { if (I(), n.src) { var i = e.st.inline , o = t(n.src); if (o.length) { var a = o[0].parentNode; a && a.tagName && (O || (j = i.hiddenClass, O = y(j), j = "mfp-" + j), S = o.after(O).detach().removeClass(j)), e.updateStatus("ready") } else e.updateStatus("error", i.tNotFound), o = t("
    "); return n.inlineElement = o, o } return e.updateStatus("ready"), e._parseMarkup(r, {}, n), r } } }); var A, E = "ajax", M = function() { A && t(document.body).removeClass(A) }, P = function() { M(), e.req && e.req.abort() }; t.magnificPopup.registerModule(E, { options: { settings: null, cursor: "mfp-ajax-cur", tError: 'The content could not be loaded.' }, proto: { initAjax: function() { e.types.push(E), A = e.st.ajax.cursor, w(s + "." + E, P), w("BeforeChange." + E, P) }, getAjax: function(n) { A && t(document.body).addClass(A), e.updateStatus("loading"); var r = t.extend({ url: n.src, success: function(r, i, o) { var a = { data: r, xhr: o }; x("ParseAjax", a), e.appendContent(t(a.data), E), n.finished = !0, M(), e._setFocus(), setTimeout((function() { e.wrap.addClass(_) } ), 16), e.updateStatus("ready"), x("AjaxContentAdded") }, error: function() { M(), n.finished = n.loadError = !0, e.updateStatus("error", e.st.ajax.tError.replace("%url%", n.src)) } }, e.st.ajax.settings); return e.req = t.ajax(r), "" } } }); var z, L, R = function(n) { if (n.data && void 0 !== n.data.title) return n.data.title; var r = e.st.image.titleSrc; if (r) { if (t.isFunction(r)) return r.call(e, n); if (n.el) return n.el.attr(r) || "" } return "" }; t.magnificPopup.registerModule("image", { options: { markup: '
    ', cursor: "mfp-zoom-out-cur", titleSrc: "title", verticalFit: !0, tError: 'The image could not be loaded.' }, proto: { initImage: function() { var n = e.st.image , r = ".image"; e.types.push("image"), w(l + r, (function() { "image" === e.currItem.type && n.cursor && t(document.body).addClass(n.cursor) } )), w(s + r, (function() { n.cursor && t(document.body).removeClass(n.cursor), b.off("resize" + p) } )), w("Resize" + r, e.resizeImage), e.isLowIE && w("AfterChange", e.resizeImage) }, resizeImage: function() { var t = e.currItem; if (t && t.img && e.st.image.verticalFit) { var n = 0; e.isLowIE && (n = parseInt(t.img.css("padding-top"), 10) + parseInt(t.img.css("padding-bottom"), 10)), t.img.css("max-height", e.wH - n) } }, _onImageHasSize: function(t) { t.img && (t.hasSize = !0, z && clearInterval(z), t.isCheckingImgSize = !1, x("ImageHasSize", t), t.imgHidden && (e.content && e.content.removeClass("mfp-loading"), t.imgHidden = !1)) }, findImageSize: function(t) { var n = 0 , r = t.img[0] , i = function(o) { z && clearInterval(z), z = setInterval((function() { return r.naturalWidth > 0 ? void e._onImageHasSize(t) : (n > 200 && clearInterval(z), void (3 == ++n ? i(10) : 40 === n ? i(50) : 100 === n && i(500))) } ), o) }; i(1) }, getImage: function(n, r) { var i = 0 , o = function() { n && (n.img[0].complete ? (n.img.off(".mfploader"), n === e.currItem && (e._onImageHasSize(n), e.updateStatus("ready")), n.hasSize = !0, n.loaded = !0, x("ImageLoadComplete")) : 200 > ++i ? setTimeout(o, 100) : a()) } , a = function() { n && (n.img.off(".mfploader"), n === e.currItem && (e._onImageHasSize(n), e.updateStatus("error", s.tError.replace("%url%", n.src))), n.hasSize = !0, n.loaded = !0, n.loadError = !0) } , s = e.st.image , c = r.find(".mfp-img"); if (c.length) { var u = document.createElement("img"); u.className = "mfp-img", n.el && n.el.find("img").length && (u.alt = n.el.find("img").attr("alt")), n.img = t(u).on("load.mfploader", o).on("error.mfploader", a), u.src = n.src, c.is("img") && (n.img = n.img.clone()), (u = n.img[0]).naturalWidth > 0 ? n.hasSize = !0 : u.width || (n.hasSize = !1) } return e._parseMarkup(r, { title: R(n), img_replaceWith: n.img }, n), e.resizeImage(), n.hasSize ? (z && clearInterval(z), n.loadError ? (r.addClass("mfp-loading"), e.updateStatus("error", s.tError.replace("%url%", n.src))) : (r.removeClass("mfp-loading"), e.updateStatus("ready")), r) : (e.updateStatus("loading"), n.loading = !0, n.hasSize || (n.imgHidden = !0, r.addClass("mfp-loading"), e.findImageSize(n)), r) } } }), t.magnificPopup.registerModule("zoom", { options: { enabled: !1, easing: "ease-in-out", duration: 300, opener: function(t) { return t.is("img") ? t : t.find("img") } }, proto: { initZoom: function() { var t, n = e.st.zoom, r = ".zoom"; if (n.enabled && e.supportsTransition) { var i, o, a = n.duration, u = function(t) { var e = t.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image") , r = "all " + n.duration / 1e3 + "s " + n.easing , i = { position: "fixed", zIndex: 9999, left: 0, top: 0, "-webkit-backface-visibility": "hidden" } , o = "transition"; return i["-webkit-" + o] = i["-moz-" + o] = i["-o-" + o] = i[o] = r, e.css(i), e }, l = function() { e.content.css("visibility", "visible") }; w("BuildControls" + r, (function() { if (e._allowZoom()) { if (clearTimeout(i), e.content.css("visibility", "hidden"), !(t = e._getItemToZoom())) return void l(); (o = u(t)).css(e._getOffset()), e.wrap.append(o), i = setTimeout((function() { o.css(e._getOffset(!0)), i = setTimeout((function() { l(), setTimeout((function() { o.remove(), t = o = null, x("ZoomAnimationEnded") } ), 16) } ), a) } ), 16) } } )), w(c + r, (function() { if (e._allowZoom()) { if (clearTimeout(i), e.st.removalDelay = a, !t) { if (!(t = e._getItemToZoom())) return; o = u(t) } o.css(e._getOffset(!0)), e.wrap.append(o), e.content.css("visibility", "hidden"), setTimeout((function() { o.css(e._getOffset()) } ), 16) } } )), w(s + r, (function() { e._allowZoom() && (l(), o && o.remove(), t = null) } )) } }, _allowZoom: function() { return "image" === e.currItem.type }, _getItemToZoom: function() { return !!e.currItem.hasSize && e.currItem.img }, _getOffset: function(n) { var r, i = (r = n ? e.currItem.img : e.st.zoom.opener(e.currItem.el || e.currItem)).offset(), o = parseInt(r.css("padding-top"), 10), a = parseInt(r.css("padding-bottom"), 10); i.top -= t(window).scrollTop() - o; var s = { width: r.width(), height: (g ? r.innerHeight() : r[0].offsetHeight) - a - o }; return void 0 === L && (L = void 0 !== document.createElement("p").style.MozTransform), L ? s["-moz-transform"] = s.transform = "translate(" + i.left + "px," + i.top + "px)" : (s.left = i.left, s.top = i.top), s } } }); var W = "iframe" , H = function(t) { if (e.currTemplate[W]) { var n = e.currTemplate[W].find("iframe"); n.length && (t || (n[0].src = "//about:blank"), e.isIE8 && n.css("display", t ? "block" : "none")) } }; t.magnificPopup.registerModule(W, { options: { markup: '
    ', srcAction: "iframe_src", patterns: { youtube: { index: "youtube.com", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1" }, vimeo: { index: "vimeo.com/", id: "/", src: "//player.vimeo.com/video/%id%?autoplay=1" }, gmaps: { index: "//maps.google.", src: "%id%&output=embed" } } }, proto: { initIframe: function() { e.types.push(W), w("BeforeChange", (function(t, e, n) { e !== n && (e === W ? H() : n === W && H(!0)) } )), w(s + "." + W, (function() { H() } )) }, getIframe: function(n, r) { var i = n.src , o = e.st.iframe; t.each(o.patterns, (function() { return i.indexOf(this.index) > -1 ? (this.id && (i = "string" == typeof this.id ? i.substr(i.lastIndexOf(this.id) + this.id.length, i.length) : this.id.call(this, i)), i = this.src.replace("%id%", i), !1) : void 0 } )); var a = {}; return o.srcAction && (a[o.srcAction] = i), e._parseMarkup(r, a, n), e.updateStatus("ready"), r } } }); var F = function(t) { var n = e.items.length; return t > n - 1 ? t - n : 0 > t ? n + t : t } , D = function(t, e, n) { return t.replace(/%curr%/gi, e + 1).replace(/%total%/gi, n) }; t.magnificPopup.registerModule("gallery", { options: { enabled: !1, arrowMarkup: '', preload: [0, 2], navigateByImgClick: !0, arrows: !0, tPrev: "Previous (Left arrow key)", tNext: "Next (Right arrow key)", tCounter: "%curr% of %total%" }, proto: { initGallery: function() { var n = e.st.gallery , i = ".mfp-gallery" , a = Boolean(t.fn.mfpFastClick); return e.direction = !0, !(!n || !n.enabled) && (o += " mfp-gallery", w(l + i, (function() { n.navigateByImgClick && e.wrap.on("click" + i, ".mfp-img", (function() { return e.items.length > 1 ? (e.next(), !1) : void 0 } )), r.on("keydown" + i, (function(t) { 37 === t.keyCode ? e.prev() : 39 === t.keyCode && e.next() } )) } )), w("UpdateStatus" + i, (function(t, n) { n.text && (n.text = D(n.text, e.currItem.index, e.items.length)) } )), w(u + i, (function(t, r, i, o) { var a = e.items.length; i.counter = a > 1 ? D(n.tCounter, o.index, a) : "" } )), w("BuildControls" + i, (function() { if (e.items.length > 1 && n.arrows && !e.arrowLeft) { var r = n.arrowMarkup , i = e.arrowLeft = t(r.replace(/%title%/gi, n.tPrev).replace(/%dir%/gi, "left")).addClass(v) , o = e.arrowRight = t(r.replace(/%title%/gi, n.tNext).replace(/%dir%/gi, "right")).addClass(v) , s = a ? "mfpFastClick" : "click"; i[s]((function() { e.prev() } )), o[s]((function() { e.next() } )), e.isIE7 && (y("b", i[0], !1, !0), y("a", i[0], !1, !0), y("b", o[0], !1, !0), y("a", o[0], !1, !0)), e.container.append(i.add(o)) } } )), w(d + i, (function() { e._preloadTimeout && clearTimeout(e._preloadTimeout), e._preloadTimeout = setTimeout((function() { e.preloadNearbyImages(), e._preloadTimeout = null } ), 16) } )), void w(s + i, (function() { r.off(i), e.wrap.off("click" + i), e.arrowLeft && a && e.arrowLeft.add(e.arrowRight).destroyMfpFastClick(), e.arrowRight = e.arrowLeft = null } ))) }, next: function() { e.direction = !0, e.index = F(e.index + 1), e.updateItemHTML() }, prev: function() { e.direction = !1, e.index = F(e.index - 1), e.updateItemHTML() }, goTo: function(t) { e.direction = t >= e.index, e.index = t, e.updateItemHTML() }, preloadNearbyImages: function() { var t, n = e.st.gallery.preload, r = Math.min(n[0], e.items.length), i = Math.min(n[1], e.items.length); for (t = 1; t <= (e.direction ? i : r); t++) e._preloadItem(e.index + t); for (t = 1; t <= (e.direction ? r : i); t++) e._preloadItem(e.index - t) }, _preloadItem: function(n) { if (n = F(n), !e.items[n].preloaded) { var r = e.items[n]; r.parsed || (r = e.parseEl(n)), x("LazyLoad", r), "image" === r.type && (r.img = t('').on("load.mfploader", (function() { r.hasSize = !0 } )).on("error.mfploader", (function() { r.hasSize = !0, r.loadError = !0, x("LazyLoadError", r) } )).attr("src", r.src)), r.preloaded = !0 } } } }); var B = "retina"; t.magnificPopup.registerModule(B, { options: { replaceSrc: function(t) { return t.src.replace(/\.\w+$/, (function(t) { return "@2x" + t } )) }, ratio: 1 }, proto: { initRetina: function() { if (window.devicePixelRatio > 1) { var t = e.st.retina , n = t.ratio; (n = isNaN(n) ? n() : n) > 1 && (w("ImageHasSize." + B, (function(t, e) { e.img.css({ "max-width": e.img[0].naturalWidth / n, width: "100%" }) } )), w("ElementParse." + B, (function(e, r) { r.src = t.replaceSrc(r, n) } ))) } } } }), function() { var e = "ontouchstart"in window , n = function() { b.off("touchmove" + r + " touchend" + r) } , r = ".mfpFastClick"; t.fn.mfpFastClick = function(i) { return t(this).each((function() { var o, a, s, c, u, l, d, f = t(this); e && f.on("touchstart" + r, (function(t) { u = !1, d = 1, l = t.originalEvent ? t.originalEvent.touches[0] : t.touches[0], s = l.clientX, c = l.clientY, b.on("touchmove" + r, (function(t) { l = t.originalEvent ? t.originalEvent.touches : t.touches, d = l.length, l = l[0], (Math.abs(l.clientX - s) > 10 || Math.abs(l.clientY - c) > 10) && (u = !0, n()) } )).on("touchend" + r, (function(t) { n(), u || d > 1 || (o = !0, t.preventDefault(), clearTimeout(a), a = setTimeout((function() { o = !1 } ), 1e3), i()) } )) } )), f.on("click" + r, (function() { o || i() } )) } )) } , t.fn.destroyMfpFastClick = function() { t(this).off("touchstart" + r + " click" + r), e && b.off("touchmove" + r + " touchend" + r) } }(), k() } ) ? r.apply(e, i) : r) || (t.exports = o) } , function(t, e) { /*! * jQuery hashchange event - v1.3 - 7/21/2010 * http://benalman.com/projects/jquery-hashchange-plugin/ * * Copyright (c) 2010 "Cowboy" Ben Alman * Dual licensed under the MIT and GPL licenses. * http://benalman.com/about/license/ */ // About: License // Copyright (c) 2010 "Cowboy" Ben Alman, // Dual licensed under the MIT and GPL licenses. // http://benalman.com/about/license/ !function(t, e, n) { var r, i = document, o = t.event.special, a = i.documentMode, s = "onhashchange"in e && (void 0 === a || a > 7); function c(t) { return "#" + (t = t || location.href).replace(/^[^#]*#?(.*)$/, "$1") } t.fn.hashchange = function(t) { return t ? this.bind("hashchange", t) : this.trigger("hashchange") } , t.fn.hashchange.delay = 50, o.hashchange = t.extend(o.hashchange, { setup: function() { if (s) return !1; t(r.start) }, teardown: function() { if (s) return !1; t(r.stop) } }), r = function() { var n, r, o, a = {}, u = c(), l = function(t) { return t }, d = l, f = l; function p() { var r = c() , i = f(u); r !== u ? (d(u = r, i), t(e).trigger("hashchange")) : i !== u && (location.href = location.href.replace(/#.*/, "") + i), n = setTimeout(p, t.fn.hashchange.delay) } return a.start = function() { n || p() } , a.stop = function() { n && clearTimeout(n), n = void 0 } , void 0 !== t.browser && t.browser.msie && !s && (a.start = function() { r || (o = (o = t.fn.hashchange.src) && o + c(), r = t('