/* Modernizr (Custom Build) | MIT & BSD
 * Build: http://modernizr.com/download/#-csstransforms3d-csstransitions-touch-shiv-load-cssclasses-prefixed-teststyles-testprops-testallprops-prefixes-domprefixes-mq-respond
 */
;window.Modernizr=function(e,t,n){function C(e){f.cssText=e}function k(e,t){return C(h.join(e+";")+(t||""))}function L(e,t){return typeof e===t}function A(e,t){return!!~(""+e).indexOf(t)}function O(e,t){for(var r in e){var i=e[r];if(!A(i,"-")&&f[i]!==n)return t=="pfx"?i:!0}return!1}function M(e,t,r){for(var i in e){var s=t[e[i]];if(s!==n)return r===!1?e[i]:L(s,"function")?s.bind(r||t):s}return!1}function _(e,t,n){var r=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+d.join(r+" ")+r).split(" ");return L(t,"string")||L(t,"undefined")?O(i,t):(i=(e+" "+v.join(r+" ")+r).split(" "),M(i,t,n))}var r="2.8.3",i={},s=!0,o=t.documentElement,u="modernizr",a=t.createElement(u),f=a.style,l,c={}.toString,h=" -webkit- -moz- -o- -ms- ".split(" "),p="Webkit Moz O ms",d=p.split(" "),v=p.toLowerCase().split(" "),m={},g={},y={},b=[],w=b.slice,E,S=function(e,n,r,i){var s,a,f,l,c=t.createElement("div"),h=t.body,p=h||t.createElement("body");if(parseInt(r,10))while(r--)f=t.createElement("div"),f.id=i?i[r]:u+(r+1),c.appendChild(f);return s=["&#173;",'<style id="s',u,'">',e,"</style>"].join(""),c.id=u,(h?c:p).innerHTML+=s,p.appendChild(c),h||(p.style.background="",p.style.overflow="hidden",l=o.style.overflow,o.style.overflow="hidden",o.appendChild(p)),a=n(c,e),h?c.parentNode.removeChild(c):(p.parentNode.removeChild(p),o.style.overflow=l),!!a},x=function(t){var n=e.matchMedia||e.msMatchMedia;if(n)return n(t)&&n(t).matches||!1;var r;return S("@media "+t+" { #"+u+" { position: absolute; } }",function(t){r=(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle)["position"]=="absolute"}),r},T={}.hasOwnProperty,N;!L(T,"undefined")&&!L(T.call,"undefined")?N=function(e,t){return T.call(e,t)}:N=function(e,t){return t in e&&L(e.constructor.prototype[t],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError;var r=w.call(arguments,1),i=function(){if(this instanceof i){var e=function(){};e.prototype=n.prototype;var s=new e,o=n.apply(s,r.concat(w.call(arguments)));return Object(o)===o?o:s}return n.apply(t,r.concat(w.call(arguments)))};return i}),m.touch=function(){var n;return"ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch?n=!0:S(["@media (",h.join("touch-enabled),("),u,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(e){n=e.offsetTop===9}),n},m.csstransforms3d=function(){var e=!!_("perspective");return e&&"webkitPerspective"in o.style&&S("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(t,n){e=t.offsetLeft===9&&t.offsetHeight===3}),e},m.csstransitions=function(){return _("transition")};for(var D in m)N(m,D)&&(E=D.toLowerCase(),i[E]=m[D](),b.push((i[E]?"":"no-")+E));return i.addTest=function(e,t){if(typeof e=="object")for(var r in e)N(e,r)&&i.addTest(r,e[r]);else{e=e.toLowerCase();if(i[e]!==n)return i;t=typeof t=="function"?t():t,typeof s!="undefined"&&s&&(o.className+=" "+(t?"":"no-")+e),i[e]=t}return i},C(""),a=l=null,function(e,t){function c(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function h(){var e=y.elements;return typeof e=="string"?e.split(" "):e}function p(e){var t=f[e[u]];return t||(t={},a++,e[u]=a,f[a]=t),t}function d(e,n,r){n||(n=t);if(l)return n.createElement(e);r||(r=p(n));var o;return r.cache[e]?o=r.cache[e].cloneNode():s.test(e)?o=(r.cache[e]=r.createElem(e)).cloneNode():o=r.createElem(e),o.canHaveChildren&&!i.test(e)&&!o.tagUrn?r.frag.appendChild(o):o}function v(e,n){e||(e=t);if(l)return e.createDocumentFragment();n=n||p(e);var r=n.frag.cloneNode(),i=0,s=h(),o=s.length;for(;i<o;i++)r.createElement(s[i]);return r}function m(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return y.shivMethods?d(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+h().join().replace(/[\w\-]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(y,t.frag)}function g(e){e||(e=t);var n=p(e);return y.shivCSS&&!o&&!n.hasCSS&&(n.hasCSS=!!c(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||m(e,n),e}var n="3.7.0",r=e.html5||{},i=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,s=/^(?: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,o,u="_html5shiv",a=0,f={},l;(function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",o="hidden"in e,l=e.childNodes.length==1||function(){t.createElement("a");var e=t.createDocumentFragment();return typeof e.cloneNode=="undefined"||typeof e.createDocumentFragment=="undefined"||typeof e.createElement=="undefined"}()}catch(n){o=!0,l=!0}})();var y={elements:r.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:n,shivCSS:r.shivCSS!==!1,supportsUnknownElements:l,shivMethods:r.shivMethods!==!1,type:"default",shivDocument:g,createElement:d,createDocumentFragment:v};e.html5=y,g(t)}(this,t),i._version=r,i._prefixes=h,i._domPrefixes=v,i._cssomPrefixes=d,i.mq=x,i.testProp=function(e){return O([e])},i.testAllProps=_,i.testStyles=S,i.prefixed=function(e,t,n){return t?_(e,t,n):_(e,"pfx")},o.className=o.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(s?" js "+b.join(" "):""),i}(this,this.document),function(e,t,n){function r(e){return"[object Function]"==d.call(e)}function i(e){return"string"==typeof e}function s(){}function o(e){return!e||"loaded"==e||"complete"==e||"uninitialized"==e}function u(){var e=v.shift();m=1,e?e.t?h(function(){("c"==e.t?k.injectCss:k.injectJs)(e.s,0,e.a,e.x,e.e,1)},0):(e(),u()):m=0}function a(e,n,r,i,s,a,f){function l(t){if(!d&&o(c.readyState)&&(w.r=d=1,!m&&u(),c.onload=c.onreadystatechange=null,t)){"img"!=e&&h(function(){b.removeChild(c)},50);for(var r in T[n])T[n].hasOwnProperty(r)&&T[n][r].onload()}}var f=f||k.errorTimeout,c=t.createElement(e),d=0,g=0,w={t:r,s:n,e:s,a:a,x:f};1===T[n]&&(g=1,T[n]=[]),"object"==e?c.data=n:(c.src=n,c.type=e),c.width=c.height="0",c.onerror=c.onload=c.onreadystatechange=function(){l.call(this,g)},v.splice(i,0,w),"img"!=e&&(g||2===T[n]?(b.insertBefore(c,y?null:p),h(l,f)):T[n].push(c))}function f(e,t,n,r,s){return m=0,t=t||"j",i(e)?a("c"==t?E:w,e,t,this.i++,n,r,s):(v.splice(this.i++,0,e),1==v.length&&u()),this}function l(){var e=k;return e.loader={load:f,i:0},e}var c=t.documentElement,h=e.setTimeout,p=t.getElementsByTagName("script")[0],d={}.toString,v=[],m=0,g="MozAppearance"in c.style,y=g&&!!t.createRange().compareNode,b=y?c:p.parentNode,c=e.opera&&"[object Opera]"==d.call(e.opera),c=!!t.attachEvent&&!c,w=g?"object":c?"script":"img",E=c?"script":w,S=Array.isArray||function(e){return"[object Array]"==d.call(e)},x=[],T={},N={timeout:function(e,t){return t.length&&(e.timeout=t[0]),e}},C,k;k=function(e){function t(e){var e=e.split("!"),t=x.length,n=e.pop(),r=e.length,n={url:n,origUrl:n,prefixes:e},i,s,o;for(s=0;s<r;s++)o=e[s].split("="),(i=N[o.shift()])&&(n=i(n,o));for(s=0;s<t;s++)n=x[s](n);return n}function o(e,i,s,o,u){var a=t(e),f=a.autoCallback;a.url.split(".").pop().split("?").shift(),a.bypass||(i&&(i=r(i)?i:i[e]||i[o]||i[e.split("/").pop().split("?")[0]]),a.instead?a.instead(e,i,s,o,u):(T[a.url]?a.noexec=!0:T[a.url]=1,s.load(a.url,a.forceCSS||!a.forceJS&&"css"==a.url.split(".").pop().split("?").shift()?"c":n,a.noexec,a.attrs,a.timeout),(r(i)||r(f))&&s.load(function(){l(),i&&i(a.origUrl,u,o),f&&f(a.origUrl,u,o),T[a.url]=2})))}function u(e,t){function n(e,n){if(e){if(i(e))n||(f=function(){var e=[].slice.call(arguments);l.apply(this,e),c()}),o(e,f,t,0,u);else if(Object(e)===e)for(p in h=function(){var t=0,n;for(n in e)e.hasOwnProperty(n)&&t++;return t}(),e)e.hasOwnProperty(p)&&(!n&&!--h&&(r(f)?f=function(){var e=[].slice.call(arguments);l.apply(this,e),c()}:f[p]=function(e){return function(){var t=[].slice.call(arguments);e&&e.apply(this,t),c()}}(l[p])),o(e[p],f,t,p,u))}else!n&&c()}var u=!!e.test,a=e.load||e.both,f=e.callback||s,l=f,c=e.complete||s,h,p;n(u?e.yep:e.nope,!!a),a&&n(a)}var a,f,c=this.yepnope.loader;if(i(e))o(e,0,c,0);else if(S(e))for(a=0;a<e.length;a++)f=e[a],i(f)?o(f,0,c,0):S(f)?k(f):Object(f)===f&&u(f,c);else Object(e)===e&&u(e,c)},k.addPrefix=function(e,t){N[e]=t},k.addFilter=function(e){x.push(e)},k.errorTimeout=1e4,null==t.readyState&&t.addEventListener&&(t.readyState="loading",t.addEventListener("DOMContentLoaded",C=function(){t.removeEventListener("DOMContentLoaded",C,0),t.readyState="complete"},0)),e.yepnope=l(),e.yepnope.executeStack=u,e.yepnope.injectJs=function(e,n,r,i,a,f){var l=t.createElement("script"),c,d,i=i||k.errorTimeout;l.src=e;for(d in r)l.setAttribute(d,r[d]);n=f?u:n||s,l.onreadystatechange=l.onload=function(){!c&&o(l.readyState)&&(c=1,n(),l.onload=l.onreadystatechange=null)},h(function(){c||(c=1,n(1))},i),a?l.onload():p.parentNode.insertBefore(l,p)},e.yepnope.injectCss=function(e,n,r,i,o,a){var i=t.createElement("link"),f,n=a?u:n||s;i.href=e,i.rel="stylesheet",i.type="text/css";for(f in r)i.setAttribute(f,r[f]);o||(p.parentNode.insertBefore(i,p),h(n,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};/*!
 * Bootstrap v3.3.5 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under the MIT license
 */
if ("undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery"); +function (a) { "use strict"; var b = a.fn.jquery.split(" ")[0].split("."); if (b[0] < 2 && b[1] < 9 || 1 == b[0] && 9 == b[1] && b[2] < 1) throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher") }(jQuery), +function (a) { "use strict"; function b() { var a = document.createElement("bootstrap"), b = { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend" }; for (var c in b) if (void 0 !== a.style[c]) return { end: b[c] }; return !1 } a.fn.emulateTransitionEnd = function (b) { var c = !1, d = this; a(this).one("bsTransitionEnd", function () { c = !0 }); var e = function () { c || a(d).trigger(a.support.transition.end) }; return setTimeout(e, b), this }, a(function () { a.support.transition = b(), a.support.transition && (a.event.special.bsTransitionEnd = { bindType: a.support.transition.end, delegateType: a.support.transition.end, handle: function (b) { return a(b.target).is(this) ? b.handleObj.handler.apply(this, arguments) : void 0 } }) }) }(jQuery), +function (a) { "use strict"; function b(b) { return this.each(function () { var c = a(this), e = c.data("bs.alert"); e || c.data("bs.alert", e = new d(this)), "string" == typeof b && e[b].call(c) }) } var c = '[data-dismiss="alert"]', d = function (b) { a(b).on("click", c, this.close) }; d.VERSION = "3.3.5", d.TRANSITION_DURATION = 150, d.prototype.close = function (b) { function c() { g.detach().trigger("closed.bs.alert").remove() } var e = a(this), f = e.attr("data-target"); f || (f = e.attr("href"), f = f && f.replace(/.*(?=#[^\s]*$)/, "")); var g = a(f); b && b.preventDefault(), g.length || (g = e.closest(".alert")), g.trigger(b = a.Event("close.bs.alert")), b.isDefaultPrevented() || (g.removeClass("in"), a.support.transition && g.hasClass("fade") ? g.one("bsTransitionEnd", c).emulateTransitionEnd(d.TRANSITION_DURATION) : c()) }; var e = a.fn.alert; a.fn.alert = b, a.fn.alert.Constructor = d, a.fn.alert.noConflict = function () { return a.fn.alert = e, this }, a(document).on("click.bs.alert.data-api", c, d.prototype.close) }(jQuery), +function (a) { "use strict"; function b(b) { return this.each(function () { var d = a(this), e = d.data("bs.button"), f = "object" == typeof b && b; e || d.data("bs.button", e = new c(this, f)), "toggle" == b ? e.toggle() : b && e.setState(b) }) } var c = function (b, d) { this.$element = a(b), this.options = a.extend({}, c.DEFAULTS, d), this.isLoading = !1 }; c.VERSION = "3.3.5", c.DEFAULTS = { loadingText: "loading..." }, c.prototype.setState = function (b) { var c = "disabled", d = this.$element, e = d.is("input") ? "val" : "html", f = d.data(); b += "Text", null == f.resetText && d.data("resetText", d[e]()), setTimeout(a.proxy(function () { d[e](null == f[b] ? this.options[b] : f[b]), "loadingText" == b ? (this.isLoading = !0, d.addClass(c).attr(c, c)) : this.isLoading && (this.isLoading = !1, d.removeClass(c).removeAttr(c)) }, this), 0) }, c.prototype.toggle = function () { var a = !0, b = this.$element.closest('[data-toggle="buttons"]'); if (b.length) { var c = this.$element.find("input"); "radio" == c.prop("type") ? (c.prop("checked") && (a = !1), b.find(".active").removeClass("active"), this.$element.addClass("active")) : "checkbox" == c.prop("type") && (c.prop("checked") !== this.$element.hasClass("active") && (a = !1), this.$element.toggleClass("active")), c.prop("checked", this.$element.hasClass("active")), a && c.trigger("change") } else this.$element.attr("aria-pressed", !this.$element.hasClass("active")), this.$element.toggleClass("active") }; var d = a.fn.button; a.fn.button = b, a.fn.button.Constructor = c, a.fn.button.noConflict = function () { return a.fn.button = d, this }, a(document).on("click.bs.button.data-api", '[data-toggle^="button"]', function (c) { var d = a(c.target); d.hasClass("btn") || (d = d.closest(".btn")), b.call(d, "toggle"), a(c.target).is('input[type="radio"]') || a(c.target).is('input[type="checkbox"]') || c.preventDefault() }).on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', function (b) { a(b.target).closest(".btn").toggleClass("focus", /^focus(in)?$/.test(b.type)) }) }(jQuery), +function (a) { "use strict"; function b(b) { return this.each(function () { var d = a(this), e = d.data("bs.carousel"), f = a.extend({}, c.DEFAULTS, d.data(), "object" == typeof b && b), g = "string" == typeof b ? b : f.slide; e || d.data("bs.carousel", e = new c(this, f)), "number" == typeof b ? e.to(b) : g ? e[g]() : f.interval && e.pause().cycle() }) } var c = function (b, c) { this.$element = a(b), this.$indicators = this.$element.find(".carousel-indicators"), this.options = c, this.paused = null, this.sliding = null, this.interval = null, this.$active = null, this.$items = null, this.options.keyboard && this.$element.on("keydown.bs.carousel", a.proxy(this.keydown, this)), "hover" == this.options.pause && !("ontouchstart" in document.documentElement) && this.$element.on("mouseenter.bs.carousel", a.proxy(this.pause, this)).on("mouseleave.bs.carousel", a.proxy(this.cycle, this)) }; c.VERSION = "3.3.5", c.TRANSITION_DURATION = 600, c.DEFAULTS = { interval: 5e3, pause: "hover", wrap: !0, keyboard: !0 }, c.prototype.keydown = function (a) { if (!/input|textarea/i.test(a.target.tagName)) { switch (a.which) { case 37: this.prev(); break; case 39: this.next(); break; default: return } a.preventDefault() } }, c.prototype.cycle = function (b) { return b || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(a.proxy(this.next, this), this.options.interval)), this }, c.prototype.getItemIndex = function (a) { return this.$items = a.parent().children(".item"), this.$items.index(a || this.$active) }, c.prototype.getItemForDirection = function (a, b) { var c = this.getItemIndex(b), d = "prev" == a && 0 === c || "next" == a && c == this.$items.length - 1; if (d && !this.options.wrap) return b; var e = "prev" == a ? -1 : 1, f = (c + e) % this.$items.length; return this.$items.eq(f) }, c.prototype.to = function (a) { var b = this, c = this.getItemIndex(this.$active = this.$element.find(".item.active")); return a > this.$items.length - 1 || 0 > a ? void 0 : this.sliding ? this.$element.one("slid.bs.carousel", function () { b.to(a) }) : c == a ? this.pause().cycle() : this.slide(a > c ? "next" : "prev", this.$items.eq(a)) }, c.prototype.pause = function (b) { return b || (this.paused = !0), this.$element.find(".next, .prev").length && a.support.transition && (this.$element.trigger(a.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this }, c.prototype.next = function () { return this.sliding ? void 0 : this.slide("next") }, c.prototype.prev = function () { return this.sliding ? void 0 : this.slide("prev") }, c.prototype.slide = function (b, d) { var e = this.$element.find(".item.active"), f = d || this.getItemForDirection(b, e), g = this.interval, h = "next" == b ? "left" : "right", i = this; if (f.hasClass("active")) return this.sliding = !1; var j = f[0], k = a.Event("slide.bs.carousel", { relatedTarget: j, direction: h }); if (this.$element.trigger(k), !k.isDefaultPrevented()) { if (this.sliding = !0, g && this.pause(), this.$indicators.length) { this.$indicators.find(".active").removeClass("active"); var l = a(this.$indicators.children()[this.getItemIndex(f)]); l && l.addClass("active") } var m = a.Event("slid.bs.carousel", { relatedTarget: j, direction: h }); return a.support.transition && this.$element.hasClass("slide") ? (f.addClass(b), f[0].offsetWidth, e.addClass(h), f.addClass(h), e.one("bsTransitionEnd", function () { f.removeClass([b, h].join(" ")).addClass("active"), e.removeClass(["active", h].join(" ")), i.sliding = !1, setTimeout(function () { i.$element.trigger(m) }, 0) }).emulateTransitionEnd(c.TRANSITION_DURATION)) : (e.removeClass("active"), f.addClass("active"), this.sliding = !1, this.$element.trigger(m)), g && this.cycle(), this } }; var d = a.fn.carousel; a.fn.carousel = b, a.fn.carousel.Constructor = c, a.fn.carousel.noConflict = function () { return a.fn.carousel = d, this }; var e = function (c) { var d, e = a(this), f = a(e.attr("data-target") || (d = e.attr("href")) && d.replace(/.*(?=#[^\s]+$)/, "")); if (f.hasClass("carousel")) { var g = a.extend({}, f.data(), e.data()), h = e.attr("data-slide-to"); h && (g.interval = !1), b.call(f, g), h && f.data("bs.carousel").to(h), c.preventDefault() } }; a(document).on("click.bs.carousel.data-api", "[data-slide]", e).on("click.bs.carousel.data-api", "[data-slide-to]", e), a(window).on("load", function () { a('[data-ride="carousel"]').each(function () { var c = a(this); b.call(c, c.data()) }) }) }(jQuery), +function (a) { "use strict"; function b(b) { var c, d = b.attr("data-target") || (c = b.attr("href")) && c.replace(/.*(?=#[^\s]+$)/, ""); return a(d) } function c(b) { return this.each(function () { var c = a(this), e = c.data("bs.collapse"), f = a.extend({}, d.DEFAULTS, c.data(), "object" == typeof b && b); !e && f.toggle && /show|hide/.test(b) && (f.toggle = !1), e || c.data("bs.collapse", e = new d(this, f)), "string" == typeof b && e[b]() }) } var d = function (b, c) { this.$element = a(b), this.options = a.extend({}, d.DEFAULTS, c), this.$trigger = a('[data-toggle="collapse"][href="#' + b.id + '"],[data-toggle="collapse"][data-target="#' + b.id + '"]'), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle() }; d.VERSION = "3.3.5", d.TRANSITION_DURATION = 350, d.DEFAULTS = { toggle: !0 }, d.prototype.dimension = function () { var a = this.$element.hasClass("width"); return a ? "width" : "height" }, d.prototype.show = function () { if (!this.transitioning && !this.$element.hasClass("in")) { var b, e = this.$parent && this.$parent.children(".panel").children(".in, .collapsing"); if (!(e && e.length && (b = e.data("bs.collapse"), b && b.transitioning))) { var f = a.Event("show.bs.collapse"); if (this.$element.trigger(f), !f.isDefaultPrevented()) { e && e.length && (c.call(e, "hide"), b || e.data("bs.collapse", null)); var g = this.dimension(); this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1; var h = function () { this.$element.removeClass("collapsing").addClass("collapse in")[g](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") }; if (!a.support.transition) return h.call(this); var i = a.camelCase(["scroll", g].join("-")); this.$element.one("bsTransitionEnd", a.proxy(h, this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i]) } } } }, d.prototype.hide = function () { if (!this.transitioning && this.$element.hasClass("in")) { var b = a.Event("hide.bs.collapse"); if (this.$element.trigger(b), !b.isDefaultPrevented()) { var c = this.dimension(); this.$element[c](this.$element[c]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$trigger.addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1; var e = function () { this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse") }; return a.support.transition ? void this.$element[c](0).one("bsTransitionEnd", a.proxy(e, this)).emulateTransitionEnd(d.TRANSITION_DURATION) : e.call(this) } } }, d.prototype.toggle = function () { this[this.$element.hasClass("in") ? "hide" : "show"]() }, d.prototype.getParent = function () { return a(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(a.proxy(function (c, d) { var e = a(d); this.addAriaAndCollapsedClass(b(e), e) }, this)).end() }, d.prototype.addAriaAndCollapsedClass = function (a, b) { var c = a.hasClass("in"); a.attr("aria-expanded", c), b.toggleClass("collapsed", !c).attr("aria-expanded", c) }; var e = a.fn.collapse; a.fn.collapse = c, a.fn.collapse.Constructor = d, a.fn.collapse.noConflict = function () { return a.fn.collapse = e, this }, a(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function (d) { var e = a(this); e.attr("data-target") || d.preventDefault(); var f = b(e), g = f.data("bs.collapse"), h = g ? "toggle" : e.data(); c.call(f, h) }) }(jQuery), +function (a) { "use strict"; function b(b) { var c = b.attr("data-target"); c || (c = b.attr("href"), c = c && /#[A-Za-z]/.test(c) && c.replace(/.*(?=#[^\s]*$)/, "")); var d = c && a(c); return d && d.length ? d : b.parent() } function c(c) { c && 3 === c.which || (a(e).remove(), a(f).each(function () { var d = a(this), e = b(d), f = { relatedTarget: this }; e.hasClass("open") && (c && "click" == c.type && /input|textarea/i.test(c.target.tagName) && a.contains(e[0], c.target) || (e.trigger(c = a.Event("hide.bs.dropdown", f)), c.isDefaultPrevented() || (d.attr("aria-expanded", "false"), e.removeClass("open").trigger("hidden.bs.dropdown", f)))) })) } function d(b) { return this.each(function () { var c = a(this), d = c.data("bs.dropdown"); d || c.data("bs.dropdown", d = new g(this)), "string" == typeof b && d[b].call(c) }) } var e = ".dropdown-backdrop", f = '[data-toggle="dropdown"]', g = function (b) { a(b).on("click.bs.dropdown", this.toggle) }; g.VERSION = "3.3.5", g.prototype.toggle = function (d) { var e = a(this); if (!e.is(".disabled, :disabled")) { var f = b(e), g = f.hasClass("open"); if (c(), !g) { "ontouchstart" in document.documentElement && !f.closest(".navbar-nav").length && a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click", c); var h = { relatedTarget: this }; if (f.trigger(d = a.Event("show.bs.dropdown", h)), d.isDefaultPrevented()) return; e.trigger("focus").attr("aria-expanded", "true"), f.toggleClass("open").trigger("shown.bs.dropdown", h) } return !1 } }, g.prototype.keydown = function (c) { if (/(38|40|27|32)/.test(c.which) && !/input|textarea/i.test(c.target.tagName)) { var d = a(this); if (c.preventDefault(), c.stopPropagation(), !d.is(".disabled, :disabled")) { var e = b(d), g = e.hasClass("open"); if (!g && 27 != c.which || g && 27 == c.which) return 27 == c.which && e.find(f).trigger("focus"), d.trigger("click"); var h = " li:not(.disabled):visible a", i = e.find(".dropdown-menu" + h); if (i.length) { var j = i.index(c.target); 38 == c.which && j > 0 && j--, 40 == c.which && j < i.length - 1 && j++, ~j || (j = 0), i.eq(j).trigger("focus") } } } }; var h = a.fn.dropdown; a.fn.dropdown = d, a.fn.dropdown.Constructor = g, a.fn.dropdown.noConflict = function () { return a.fn.dropdown = h, this }, a(document).on("click.bs.dropdown.data-api", c).on("click.bs.dropdown.data-api", ".dropdown form", function (a) { a.stopPropagation() }).on("click.bs.dropdown.data-api", f, g.prototype.toggle).on("keydown.bs.dropdown.data-api", f, g.prototype.keydown).on("keydown.bs.dropdown.data-api", ".dropdown-menu", g.prototype.keydown) }(jQuery), +function (a) { "use strict"; function b(b, d) { return this.each(function () { var e = a(this), f = e.data("bs.modal"), g = a.extend({}, c.DEFAULTS, e.data(), "object" == typeof b && b); f || e.data("bs.modal", f = new c(this, g)), "string" == typeof b ? f[b](d) : g.show && f.show(d) }) } var c = function (b, c) { this.options = c, this.$body = a(document.body), this.$element = a(b), this.$dialog = this.$element.find(".modal-dialog"), this.$backdrop = null, this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick = !1, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, a.proxy(function () { this.$element.trigger("loaded.bs.modal") }, this)) }; c.VERSION = "3.3.5", c.TRANSITION_DURATION = 300, c.BACKDROP_TRANSITION_DURATION = 150, c.DEFAULTS = { backdrop: !0, keyboard: !0, show: !0 }, c.prototype.toggle = function (a) { return this.isShown ? this.hide() : this.show(a) }, c.prototype.show = function (b) { var d = this, e = a.Event("show.bs.modal", { relatedTarget: b }); this.$element.trigger(e), this.isShown || e.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.setScrollbar(), this.$body.addClass("modal-open"), this.escape(), this.resize(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', a.proxy(this.hide, this)), this.$dialog.on("mousedown.dismiss.bs.modal", function () { d.$element.one("mouseup.dismiss.bs.modal", function (b) { a(b.target).is(d.$element) && (d.ignoreBackdropClick = !0) }) }), this.backdrop(function () { var e = a.support.transition && d.$element.hasClass("fade"); d.$element.parent().length || d.$element.appendTo(d.$body), d.$element.show().scrollTop(0), d.adjustDialog(), e && d.$element[0].offsetWidth, d.$element.addClass("in"), d.enforceFocus(); var f = a.Event("shown.bs.modal", { relatedTarget: b }); e ? d.$dialog.one("bsTransitionEnd", function () { d.$element.trigger("focus").trigger(f) }).emulateTransitionEnd(c.TRANSITION_DURATION) : d.$element.trigger("focus").trigger(f) })) }, c.prototype.hide = function (b) { b && b.preventDefault(), b = a.Event("hide.bs.modal"), this.$element.trigger(b), this.isShown && !b.isDefaultPrevented() && (this.isShown = !1, this.escape(), this.resize(), a(document).off("focusin.bs.modal"), this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"), this.$dialog.off("mousedown.dismiss.bs.modal"), a.support.transition && this.$element.hasClass("fade") ? this.$element.one("bsTransitionEnd", a.proxy(this.hideModal, this)).emulateTransitionEnd(c.TRANSITION_DURATION) : this.hideModal()) }, c.prototype.enforceFocus = function () { a(document).off("focusin.bs.modal").on("focusin.bs.modal", a.proxy(function (a) { this.$element[0] === a.target || this.$element.has(a.target).length || this.$element.trigger("focus") }, this)) }, c.prototype.escape = function () { this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.bs.modal", a.proxy(function (a) { 27 == a.which && this.hide() }, this)) : this.isShown || this.$element.off("keydown.dismiss.bs.modal") }, c.prototype.resize = function () { this.isShown ? a(window).on("resize.bs.modal", a.proxy(this.handleUpdate, this)) : a(window).off("resize.bs.modal") }, c.prototype.hideModal = function () { var a = this; this.$element.hide(), this.backdrop(function () { a.$body.removeClass("modal-open"), a.resetAdjustments(), a.resetScrollbar(), a.$element.trigger("hidden.bs.modal") }) }, c.prototype.removeBackdrop = function () { this.$backdrop && this.$backdrop.remove(), this.$backdrop = null }, c.prototype.backdrop = function (b) { var d = this, e = this.$element.hasClass("fade") ? "fade" : ""; if (this.isShown && this.options.backdrop) { var f = a.support.transition && e; if (this.$backdrop = a(document.createElement("div")).addClass("modal-backdrop " + e).appendTo(this.$body), this.$element.on("click.dismiss.bs.modal", a.proxy(function (a) { return this.ignoreBackdropClick ? void (this.ignoreBackdropClick = !1) : void (a.target === a.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide())) }, this)), f && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !b) return; f ? this.$backdrop.one("bsTransitionEnd", b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION) : b() } else if (!this.isShown && this.$backdrop) { this.$backdrop.removeClass("in"); var g = function () { d.removeBackdrop(), b && b() }; a.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION) : g() } else b && b() }, c.prototype.handleUpdate = function () { this.adjustDialog() }, c.prototype.adjustDialog = function () { var a = this.$element[0].scrollHeight > document.documentElement.clientHeight; this.$element.css({ paddingLeft: !this.bodyIsOverflowing && a ? this.scrollbarWidth : "", paddingRight: this.bodyIsOverflowing && !a ? this.scrollbarWidth : "" }) }, c.prototype.resetAdjustments = function () { this.$element.css({ paddingLeft: "", paddingRight: "" }) }, c.prototype.checkScrollbar = function () { var a = window.innerWidth; if (!a) { var b = document.documentElement.getBoundingClientRect(); a = b.right - Math.abs(b.left) } this.bodyIsOverflowing = document.body.clientWidth < a, this.scrollbarWidth = this.measureScrollbar() }, c.prototype.setScrollbar = function () { var a = parseInt(this.$body.css("padding-right") || 0, 10); this.originalBodyPad = document.body.style.paddingRight || "", this.bodyIsOverflowing && this.$body.css("padding-right", a + this.scrollbarWidth) }, c.prototype.resetScrollbar = function () { this.$body.css("padding-right", this.originalBodyPad) }, c.prototype.measureScrollbar = function () { var a = document.createElement("div"); a.className = "modal-scrollbar-measure", this.$body.append(a); var b = a.offsetWidth - a.clientWidth; return this.$body[0].removeChild(a), b }; var d = a.fn.modal; a.fn.modal = b, a.fn.modal.Constructor = c, a.fn.modal.noConflict = function () { return a.fn.modal = d, this }, a(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (c) { var d = a(this), e = d.attr("href"), f = a(d.attr("data-target") || e && e.replace(/.*(?=#[^\s]+$)/, "")), g = f.data("bs.modal") ? "toggle" : a.extend({ remote: !/#/.test(e) && e }, f.data(), d.data()); d.is("a") && c.preventDefault(), f.one("show.bs.modal", function (a) { a.isDefaultPrevented() || f.one("hidden.bs.modal", function () { d.is(":visible") && d.trigger("focus") }) }), b.call(f, g, this) }) }(jQuery), +function (a) { "use strict"; function b(b) { return this.each(function () { var d = a(this), e = d.data("bs.tooltip"), f = "object" == typeof b && b; (e || !/destroy|hide/.test(b)) && (e || d.data("bs.tooltip", e = new c(this, f)), "string" == typeof b && e[b]()) }) } var c = function (a, b) { this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", a, b) }; c.VERSION = "3.3.5", c.TRANSITION_DURATION = 150, c.DEFAULTS = { animation: !0, placement: "top", selector: !1, template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1, viewport: { selector: "body", padding: 0 } }, c.prototype.init = function (b, c, d) { if (this.enabled = !0, this.type = b, this.$element = a(c), this.options = this.getOptions(d), this.$viewport = this.options.viewport && a(a.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport), this.inState = { click: !1, hover: !1, focus: !1 }, this.$element[0] instanceof document.constructor && !this.options.selector) throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!"); for (var e = this.options.trigger.split(" "), f = e.length; f--;) { var g = e[f]; if ("click" == g) this.$element.on("click." + this.type, this.options.selector, a.proxy(this.toggle, this)); else if ("manual" != g) { var h = "hover" == g ? "mouseenter" : "focusin", i = "hover" == g ? "mouseleave" : "focusout"; this.$element.on(h + "." + this.type, this.options.selector, a.proxy(this.enter, this)), this.$element.on(i + "." + this.type, this.options.selector, a.proxy(this.leave, this)) } } this.options.selector ? this._options = a.extend({}, this.options, { trigger: "manual", selector: "" }) : this.fixTitle() }, c.prototype.getDefaults = function () { return c.DEFAULTS }, c.prototype.getOptions = function (b) { return b = a.extend({}, this.getDefaults(), this.$element.data(), b), b.delay && "number" == typeof b.delay && (b.delay = { show: b.delay, hide: b.delay }), b }, c.prototype.getDelegateOptions = function () { var b = {}, c = this.getDefaults(); return this._options && a.each(this._options, function (a, d) { c[a] != d && (b[a] = d) }), b }, c.prototype.enter = function (b) { var c = b instanceof this.constructor ? b : a(b.currentTarget).data("bs." + this.type); return c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c)), b instanceof a.Event && (c.inState["focusin" == b.type ? "focus" : "hover"] = !0), c.tip().hasClass("in") || "in" == c.hoverState ? void (c.hoverState = "in") : (clearTimeout(c.timeout), c.hoverState = "in", c.options.delay && c.options.delay.show ? void (c.timeout = setTimeout(function () { "in" == c.hoverState && c.show() }, c.options.delay.show)) : c.show()) }, c.prototype.isInStateTrue = function () { for (var a in this.inState) if (this.inState[a]) return !0; return !1 }, c.prototype.leave = function (b) { var c = b instanceof this.constructor ? b : a(b.currentTarget).data("bs." + this.type); return c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c)), b instanceof a.Event && (c.inState["focusout" == b.type ? "focus" : "hover"] = !1), c.isInStateTrue() ? void 0 : (clearTimeout(c.timeout), c.hoverState = "out", c.options.delay && c.options.delay.hide ? void (c.timeout = setTimeout(function () { "out" == c.hoverState && c.hide() }, c.options.delay.hide)) : c.hide()) }, c.prototype.show = function () { var b = a.Event("show.bs." + this.type); if (this.hasContent() && this.enabled) { this.$element.trigger(b); var d = a.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]); if (b.isDefaultPrevented() || !d) return; var e = this, f = this.tip(), g = this.getUID(this.type); this.setContent(), f.attr("id", g), this.$element.attr("aria-describedby", g), this.options.animation && f.addClass("fade"); var h = "function" == typeof this.options.placement ? this.options.placement.call(this, f[0], this.$element[0]) : this.options.placement, i = /\s?auto?\s?/i, j = i.test(h); j && (h = h.replace(i, "") || "top"), f.detach().css({ top: 0, left: 0, display: "block" }).addClass(h).data("bs." + this.type, this), this.options.container ? f.appendTo(this.options.container) : f.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type); var k = this.getPosition(), l = f[0].offsetWidth, m = f[0].offsetHeight; if (j) { var n = h, o = this.getPosition(this.$viewport); h = "bottom" == h && k.bottom + m > o.bottom ? "top" : "top" == h && k.top - m < o.top ? "bottom" : "right" == h && k.right + l > o.width ? "left" : "left" == h && k.left - l < o.left ? "right" : h, f.removeClass(n).addClass(h) } var p = this.getCalculatedOffset(h, k, l, m); this.applyPlacement(p, h); var q = function () { var a = e.hoverState; e.$element.trigger("shown.bs." + e.type), e.hoverState = null, "out" == a && e.leave(e) }; a.support.transition && this.$tip.hasClass("fade") ? f.one("bsTransitionEnd", q).emulateTransitionEnd(c.TRANSITION_DURATION) : q() } }, c.prototype.applyPlacement = function (b, c) { var d = this.tip(), e = d[0].offsetWidth, f = d[0].offsetHeight, g = parseInt(d.css("margin-top"), 10), h = parseInt(d.css("margin-left"), 10); isNaN(g) && (g = 0), isNaN(h) && (h = 0), b.top += g, b.left += h, a.offset.setOffset(d[0], a.extend({ using: function (a) { d.css({ top: Math.round(a.top), left: Math.round(a.left) }) } }, b), 0), d.addClass("in"); var i = d[0].offsetWidth, j = d[0].offsetHeight; "top" == c && j != f && (b.top = b.top + f - j); var k = this.getViewportAdjustedDelta(c, b, i, j); k.left ? b.left += k.left : b.top += k.top; var l = /top|bottom/.test(c), m = l ? 2 * k.left - e + i : 2 * k.top - f + j, n = l ? "offsetWidth" : "offsetHeight"; d.offset(b), this.replaceArrow(m, d[0][n], l) }, c.prototype.replaceArrow = function (a, b, c) { this.arrow().css(c ? "left" : "top", 50 * (1 - a / b) + "%").css(c ? "top" : "left", "") }, c.prototype.setContent = function () { var a = this.tip(), b = this.getTitle(); a.find(".tooltip-inner")[this.options.html ? "html" : "text"](b), a.removeClass("fade in top bottom left right") }, c.prototype.hide = function (b) { function d() { "in" != e.hoverState && f.detach(), e.$element.removeAttr("aria-describedby").trigger("hidden.bs." + e.type), b && b() } var e = this, f = a(this.$tip), g = a.Event("hide.bs." + this.type); return this.$element.trigger(g), g.isDefaultPrevented() ? void 0 : (f.removeClass("in"), a.support.transition && f.hasClass("fade") ? f.one("bsTransitionEnd", d).emulateTransitionEnd(c.TRANSITION_DURATION) : d(), this.hoverState = null, this) }, c.prototype.fixTitle = function () { var a = this.$element; (a.attr("title") || "string" != typeof a.attr("data-original-title")) && a.attr("data-original-title", a.attr("title") || "").attr("title", "") }, c.prototype.hasContent = function () { return this.getTitle() }, c.prototype.getPosition = function (b) { b = b || this.$element; var c = b[0], d = "BODY" == c.tagName, e = c.getBoundingClientRect(); null == e.width && (e = a.extend({}, e, { width: e.right - e.left, height: e.bottom - e.top })); var f = d ? { top: 0, left: 0 } : b.offset(), g = { scroll: d ? document.documentElement.scrollTop || document.body.scrollTop : b.scrollTop() }, h = d ? { width: a(window).width(), height: a(window).height() } : null; return a.extend({}, e, g, h, f) }, c.prototype.getCalculatedOffset = function (a, b, c, d) { return "bottom" == a ? { top: b.top + b.height, left: b.left + b.width / 2 - c / 2 } : "top" == a ? { top: b.top - d, left: b.left + b.width / 2 - c / 2 } : "left" == a ? { top: b.top + b.height / 2 - d / 2, left: b.left - c } : { top: b.top + b.height / 2 - d / 2, left: b.left + b.width } }, c.prototype.getViewportAdjustedDelta = function (a, b, c, d) { var e = { top: 0, left: 0 }; if (!this.$viewport) return e; var f = this.options.viewport && this.options.viewport.padding || 0, g = this.getPosition(this.$viewport); if (/right|left/.test(a)) { var h = b.top - f - g.scroll, i = b.top + f - g.scroll + d; h < g.top ? e.top = g.top - h : i > g.top + g.height && (e.top = g.top + g.height - i) } else { var j = b.left - f, k = b.left + f + c; j < g.left ? e.left = g.left - j : k > g.right && (e.left = g.left + g.width - k) } return e }, c.prototype.getTitle = function () { var a, b = this.$element, c = this.options; return a = b.attr("data-original-title") || ("function" == typeof c.title ? c.title.call(b[0]) : c.title) }, c.prototype.getUID = function (a) { do a += ~~(1e6 * Math.random()); while (document.getElementById(a)); return a }, c.prototype.tip = function () { if (!this.$tip && (this.$tip = a(this.options.template), 1 != this.$tip.length)) throw new Error(this.type + " `template` option must consist of exactly 1 top-level element!"); return this.$tip }, c.prototype.arrow = function () { return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") }, c.prototype.enable = function () { this.enabled = !0 }, c.prototype.disable = function () { this.enabled = !1 }, c.prototype.toggleEnabled = function () { this.enabled = !this.enabled }, c.prototype.toggle = function (b) { var c = this; b && (c = a(b.currentTarget).data("bs." + this.type), c || (c = new this.constructor(b.currentTarget, this.getDelegateOptions()), a(b.currentTarget).data("bs." + this.type, c))), b ? (c.inState.click = !c.inState.click, c.isInStateTrue() ? c.enter(c) : c.leave(c)) : c.tip().hasClass("in") ? c.leave(c) : c.enter(c) }, c.prototype.destroy = function () { var a = this; clearTimeout(this.timeout), this.hide(function () { a.$element.off("." + a.type).removeData("bs." + a.type), a.$tip && a.$tip.detach(), a.$tip = null, a.$arrow = null, a.$viewport = null }) }; var d = a.fn.mtooltip; a.fn.mtooltip = b, a.fn.mtooltip.Constructor = c, a.fn.mtooltip.noConflict = function () { return a.fn.mtooltip = d, this } }(jQuery), +function (a) { "use strict"; function b(b) { return this.each(function () { var d = a(this), e = d.data("bs.popover"), f = "object" == typeof b && b; (e || !/destroy|hide/.test(b)) && (e || d.data("bs.popover", e = new c(this, f)), "string" == typeof b && e[b]()) }) } var c = function (a, b) { this.init("popover", a, b) }; if (!a.fn.mtooltip) throw new Error("Popover requires tooltip.js"); c.VERSION = "3.3.5", c.DEFAULTS = a.extend({}, a.fn.mtooltip.Constructor.DEFAULTS, { placement: "right", trigger: "click", content: "", template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' }), c.prototype = a.extend({}, a.fn.mtooltip.Constructor.prototype), c.prototype.constructor = c, c.prototype.getDefaults = function () { return c.DEFAULTS }, c.prototype.setContent = function () { var a = this.tip(), b = this.getTitle(), c = this.getContent(); a.find(".popover-title")[this.options.html ? "html" : "text"](b), a.find(".popover-content").children().detach().end()[this.options.html ? "string" == typeof c ? "html" : "append" : "text"](c), a.removeClass("fade top bottom left right in"), a.find(".popover-title").html() || a.find(".popover-title").hide() }, c.prototype.hasContent = function () { return this.getTitle() || this.getContent() }, c.prototype.getContent = function () { var a = this.$element, b = this.options; return a.attr("data-content") || ("function" == typeof b.content ? b.content.call(a[0]) : b.content) }, c.prototype.arrow = function () { return this.$arrow = this.$arrow || this.tip().find(".arrow") }; var d = a.fn.popover; a.fn.popover = b, a.fn.popover.Constructor = c, a.fn.popover.noConflict = function () { return a.fn.popover = d, this } }(jQuery), +function (a) {
    "use strict"; function b(c, d) { this.$body = a(document.body), this.$scrollElement = a(a(c).is(document.body) ? window : c), this.options = a.extend({}, b.DEFAULTS, d), this.selector = (this.options.target || "") + " .nav li > a", this.offsets = [], this.targets = [], this.activeTarget = null, this.scrollHeight = 0, this.$scrollElement.on("scroll.bs.scrollspy", a.proxy(this.process, this)), this.refresh(), this.process() } function c(c) { return this.each(function () { var d = a(this), e = d.data("bs.scrollspy"), f = "object" == typeof c && c; e || d.data("bs.scrollspy", e = new b(this, f)), "string" == typeof c && e[c]() }) } b.VERSION = "3.3.5", b.DEFAULTS = { offset: 10 }, b.prototype.getScrollHeight = function () { return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) }, b.prototype.refresh = function () { var b = this, c = "offset", d = 0; this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight(), a.isWindow(this.$scrollElement[0]) || (c = "position", d = this.$scrollElement.scrollTop()), this.$body.find(this.selector).map(function () { var b = a(this), e = b.data("target") || b.attr("href"), f = /^#./.test(e) && a(e); return f && f.length && f.is(":visible") && [[f[c]().top + d, e]] || null }).sort(function (a, b) { return a[0] - b[0] }).each(function () { b.offsets.push(this[0]), b.targets.push(this[1]) }) }, b.prototype.process = function () { var a, b = this.$scrollElement.scrollTop() + this.options.offset, c = this.getScrollHeight(), d = this.options.offset + c - this.$scrollElement.height(), e = this.offsets, f = this.targets, g = this.activeTarget; if (this.scrollHeight != c && this.refresh(), b >= d) return g != (a = f[f.length - 1]) && this.activate(a); if (g && b < e[0]) return this.activeTarget = null, this.clear(); for (a = e.length; a--;) g != f[a] && b >= e[a] && (void 0 === e[a + 1] || b < e[a + 1]) && this.activate(f[a]) }, b.prototype.activate = function (b) {
        this.activeTarget = b, this.clear(); var c = this.selector + '[data-target="' + b + '"],' + this.selector + '[href="' + b + '"]', d = a(c).parents("li").addClass("active"); d.parent(".dropdown-menu").length && (d = d.closest("li.dropdown").addClass("active")),
        d.trigger("activate.bs.scrollspy")
    }, b.prototype.clear = function () { a(this.selector).parentsUntil(this.options.target, ".active").removeClass("active") }; var d = a.fn.scrollspy; a.fn.scrollspy = c, a.fn.scrollspy.Constructor = b, a.fn.scrollspy.noConflict = function () { return a.fn.scrollspy = d, this }, a(window).on("load.bs.scrollspy.data-api", function () { a('[data-spy="scroll"]').each(function () { var b = a(this); c.call(b, b.data()) }) })
}(jQuery), +function (a) { "use strict"; function b(b) { return this.each(function () { var d = a(this), e = d.data("bs.tab"); e || d.data("bs.tab", e = new c(this)), "string" == typeof b && e[b]() }) } var c = function (b) { this.element = a(b) }; c.VERSION = "3.3.5", c.TRANSITION_DURATION = 150, c.prototype.show = function () { var b = this.element, c = b.closest("ul:not(.dropdown-menu)"), d = b.data("target"); if (d || (d = b.attr("href"), d = d && d.replace(/.*(?=#[^\s]*$)/, "")), !b.parent("li").hasClass("active")) { var e = c.find(".active:last a"), f = a.Event("hide.bs.tab", { relatedTarget: b[0] }), g = a.Event("show.bs.tab", { relatedTarget: e[0] }); if (e.trigger(f), b.trigger(g), !g.isDefaultPrevented() && !f.isDefaultPrevented()) { var h = a(d); this.activate(b.closest("li"), c), this.activate(h, h.parent(), function () { e.trigger({ type: "hidden.bs.tab", relatedTarget: b[0] }), b.trigger({ type: "shown.bs.tab", relatedTarget: e[0] }) }) } } }, c.prototype.activate = function (b, d, e) { function f() { g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !1), b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded", !0), h ? (b[0].offsetWidth, b.addClass("in")) : b.removeClass("fade"), b.parent(".dropdown-menu").length && b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !0), e && e() } var g = d.find("> .active"), h = e && a.support.transition && (g.length && g.hasClass("fade") || !!d.find("> .fade").length); g.length && h ? g.one("bsTransitionEnd", f).emulateTransitionEnd(c.TRANSITION_DURATION) : f(), g.removeClass("in") }; var d = a.fn.tab; a.fn.tab = b, a.fn.tab.Constructor = c, a.fn.tab.noConflict = function () { return a.fn.tab = d, this }; var e = function (c) { c.preventDefault(), b.call(a(this), "show") }; a(document).on("click.bs.tab.data-api", '[data-toggle="tab"]', e).on("click.bs.tab.data-api", '[data-toggle="pill"]', e) }(jQuery), +function (a) { "use strict"; function b(b) { return this.each(function () { var d = a(this), e = d.data("bs.affix"), f = "object" == typeof b && b; e || d.data("bs.affix", e = new c(this, f)), "string" == typeof b && e[b]() }) } var c = function (b, d) { this.options = a.extend({}, c.DEFAULTS, d), this.$target = a(this.options.target).on("scroll.bs.affix.data-api", a.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", a.proxy(this.checkPositionWithEventLoop, this)), this.$element = a(b), this.affixed = null, this.unpin = null, this.pinnedOffset = null, this.checkPosition() }; c.VERSION = "3.3.5", c.RESET = "affix affix-top affix-bottom", c.DEFAULTS = { offset: 0, target: window }, c.prototype.getState = function (a, b, c, d) { var e = this.$target.scrollTop(), f = this.$element.offset(), g = this.$target.height(); if (null != c && "top" == this.affixed) return c > e ? "top" : !1; if ("bottom" == this.affixed) return null != c ? e + this.unpin <= f.top ? !1 : "bottom" : a - d >= e + g ? !1 : "bottom"; var h = null == this.affixed, i = h ? e : f.top, j = h ? g : b; return null != c && c >= e ? "top" : null != d && i + j >= a - d ? "bottom" : !1 }, c.prototype.getPinnedOffset = function () { if (this.pinnedOffset) return this.pinnedOffset; this.$element.removeClass(c.RESET).addClass("affix"); var a = this.$target.scrollTop(), b = this.$element.offset(); return this.pinnedOffset = b.top - a }, c.prototype.checkPositionWithEventLoop = function () { setTimeout(a.proxy(this.checkPosition, this), 1) }, c.prototype.checkPosition = function () { if (this.$element.is(":visible")) { var b = this.$element.height(), d = this.options.offset, e = d.top, f = d.bottom, g = Math.max(a(document).height(), a(document.body).height()); "object" != typeof d && (f = e = d), "function" == typeof e && (e = d.top(this.$element)), "function" == typeof f && (f = d.bottom(this.$element)); var h = this.getState(g, b, e, f); if (this.affixed != h) { null != this.unpin && this.$element.css("top", ""); var i = "affix" + (h ? "-" + h : ""), j = a.Event(i + ".bs.affix"); if (this.$element.trigger(j), j.isDefaultPrevented()) return; this.affixed = h, this.unpin = "bottom" == h ? this.getPinnedOffset() : null, this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix", "affixed") + ".bs.affix") } "bottom" == h && this.$element.offset({ top: g - b - f }) } }; var d = a.fn.affix; a.fn.affix = b, a.fn.affix.Constructor = c, a.fn.affix.noConflict = function () { return a.fn.affix = d, this }, a(window).on("load", function () { a('[data-spy="affix"]').each(function () { var c = a(this), d = c.data(); d.offset = d.offset || {}, null != d.offsetBottom && (d.offset.bottom = d.offsetBottom), null != d.offsetTop && (d.offset.top = d.offsetTop), b.call(c, d) }) }) }(jQuery);
var btn = $.fn.button.noConflict(); $.fn.btn = btn;; (function (factory) { if (typeof define === 'function' && define.amd) { define(['jquery'], factory) } else if (typeof exports === 'object') { factory(require('jquery')) } else { factory(window.jQuery || window.Zepto) } }(function ($) { var CLOSE_EVENT = 'Close', BEFORE_CLOSE_EVENT = 'BeforeClose', AFTER_CLOSE_EVENT = 'AfterClose', BEFORE_APPEND_EVENT = 'BeforeAppend', MARKUP_PARSE_EVENT = 'MarkupParse', OPEN_EVENT = 'Open', CHANGE_EVENT = 'Change', NS = 'mfp', EVENT_NS = '.' + NS, READY_CLASS = 'mfp-ready', REMOVING_CLASS = 'mfp-removing', PREVENT_CLOSE_CLASS = 'mfp-prevent-close'; var mfp, MagnificPopup = function () { }, _isJQ = !!(window.jQuery), _prevStatus, _window = $(window), _body, _document, _prevContentType, _wrapClasses, _currPopupType; var _mfpOn = function (name, f) { mfp.ev.on(NS + name + EVENT_NS, f) }, _getEl = function (className, appendTo, html, raw) { var el = document.createElement('div'); el.className = 'mfp-' + className; if (html) { el.innerHTML = html } if (!raw) { el = $(el); if (appendTo) { el.appendTo(appendTo) } } else if (appendTo) { appendTo.appendChild(el) } return el }, _mfpTrigger = function (e, data) { mfp.ev.triggerHandler(NS + e, data); if (mfp.st.callbacks) { e = e.charAt(0).toLowerCase() + e.slice(1); if (mfp.st.callbacks[e]) { mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]) } } }, _getCloseBtn = function (type) { if (type !== _currPopupType || !mfp.currTemplate.closeBtn) { mfp.currTemplate.closeBtn = $(mfp.st.closeMarkup.replace('%title%', mfp.st.tClose)); _currPopupType = type } return mfp.currTemplate.closeBtn }, _checkInstance = function () { if (!$.magnificPopup.instance) { mfp = new MagnificPopup(); mfp.init(); $.magnificPopup.instance = mfp } }, supportsTransitions = function () { var s = document.createElement('p').style, v = ['ms', 'O', 'Moz', 'Webkit']; if (s['transition'] !== undefined) { return true } while (v.length) { if (v.pop() + 'Transition' in s) { return true } } return false }; MagnificPopup.prototype = { constructor: MagnificPopup, init: function () { var appVersion = navigator.appVersion; mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1; mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1; mfp.isLowIE = mfp.isIE7 || mfp.isIE8; mfp.isAndroid = (/android/gi).test(appVersion); mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion); mfp.supportsTransition = supportsTransitions(); mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent)); _document = $(document); mfp.popupsCache = {} }, open: function (data) { if (!_body) { _body = $(document.body) } var i; if (data.isObj === false) { mfp.items = data.items.toArray(); mfp.index = 0; var items = data.items, item; for (i = 0; i < items.length; i++) { item = items[i]; if (item.parsed) { item = item.el[0] } if (item === data.el[0]) { mfp.index = i; break } } } else { mfp.items = $.isArray(data.items) ? data.items : [data.items]; mfp.index = data.index || 0 } if (mfp.isOpen) { mfp.updateItemHTML(); return } mfp.types = []; _wrapClasses = ''; if (data.mainEl && data.mainEl.length) { mfp.ev = data.mainEl.eq(0) } else { mfp.ev = _document } if (data.key) { if (!mfp.popupsCache[data.key]) { mfp.popupsCache[data.key] = {} } mfp.currTemplate = mfp.popupsCache[data.key] } else { mfp.currTemplate = {} } mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data); mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos; if (mfp.st.modal) { mfp.st.closeOnContentClick = false; mfp.st.closeOnBgClick = false; mfp.st.showCloseBtn = false; mfp.st.enableEscapeKey = false } if (!mfp.bgOverlay) { mfp.bgOverlay = _getEl('bg').on('click' + EVENT_NS, function () { mfp.close() }); mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click' + EVENT_NS, function (e) { if (mfp._checkIfClose(e.target)) { mfp.close() } }); mfp.container = _getEl('container', mfp.wrap) } mfp.contentContainer = _getEl('content'); if (mfp.st.preloader) { mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading) } var modules = $.magnificPopup.modules; for (i = 0; i < modules.length; i++) { var n = modules[i]; n = n.charAt(0).toUpperCase() + n.slice(1); mfp['init' + n].call(mfp) } _mfpTrigger('BeforeOpen'); if (mfp.st.showCloseBtn) { if (!mfp.st.closeBtnInside) { mfp.wrap.append(_getCloseBtn()) } else { _mfpOn(MARKUP_PARSE_EVENT, function (e, template, values, item) { values.close_replaceWith = _getCloseBtn(item.type) }); _wrapClasses += ' mfp-close-btn-in' } } if (mfp.st.alignTop) { _wrapClasses += ' mfp-align-top' } if (mfp.fixedContentPos) { mfp.wrap.css({ overflow: mfp.st.overflowY, overflowX: 'hidden', overflowY: mfp.st.overflowY }) } else { mfp.wrap.css({ top: _window.scrollTop(), position: 'absolute' }) } if (mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos)) { mfp.bgOverlay.css({ height: _document.height(), position: 'absolute' }) } if (mfp.st.enableEscapeKey) { _document.on('keyup' + EVENT_NS, function (e) { if (e.keyCode === 27) { mfp.close() } }) } _window.on('resize' + EVENT_NS, function () { mfp.updateSize() }); if (!mfp.st.closeOnContentClick) { _wrapClasses += ' mfp-auto-cursor' } if (_wrapClasses) mfp.wrap.addClass(_wrapClasses); var windowHeight = mfp.wH = _window.height(); var windowStyles = {}; if (mfp.fixedContentPos) { if (mfp._hasScrollBar(windowHeight)) { var s = mfp._getScrollbarSize(); if (s) { windowStyles.marginRight = s } } } if (mfp.fixedContentPos) { if (!mfp.isIE7) { windowStyles.overflow = 'hidden' } else { $('body, html').css('overflow', 'hidden') } } var classesToadd = mfp.st.mainClass; if (mfp.isIE7) { classesToadd += ' mfp-ie7' } if (classesToadd) { mfp._addClassToMFP(classesToadd) } mfp.updateItemHTML(); _mfpTrigger('BuildControls'); $('html').css(windowStyles); mfp.bgOverlay.add(mfp.wrap).prependTo(mfp.st.prependTo || _body); mfp._lastFocusedEl = document.activeElement; setTimeout(function () { if (mfp.content) { mfp._addClassToMFP(READY_CLASS); mfp._setFocus() } else { mfp.bgOverlay.addClass(READY_CLASS) } _document.on('focusin' + EVENT_NS, mfp._onFocusIn) }, 16); mfp.isOpen = true; mfp.updateSize(windowHeight); _mfpTrigger(OPEN_EVENT); return data }, close: function () { if (!mfp.isOpen) return; _mfpTrigger(BEFORE_CLOSE_EVENT); mfp.isOpen = false; if (mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition) { mfp._addClassToMFP(REMOVING_CLASS); setTimeout(function () { mfp._close() }, mfp.st.removalDelay) } else { mfp._close() } }, _close: function () { _mfpTrigger(CLOSE_EVENT); var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' '; mfp.bgOverlay.detach(); mfp.wrap.detach(); mfp.container.empty(); if (mfp.st.mainClass) { classesToRemove += mfp.st.mainClass + ' ' } mfp._removeClassFromMFP(classesToRemove); if (mfp.fixedContentPos) { var windowStyles = { marginRight: '' }; if (mfp.isIE7) { $('body, html').css('overflow', '') } else { windowStyles.overflow = '' } $('html').css(windowStyles) } _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS); mfp.ev.off(EVENT_NS); mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style'); mfp.bgOverlay.attr('class', 'mfp-bg'); mfp.container.attr('class', 'mfp-container'); if (mfp.st.showCloseBtn && (!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) { if (mfp.currTemplate.closeBtn) mfp.currTemplate.closeBtn.detach() } if (mfp._lastFocusedEl) { $(mfp._lastFocusedEl).focus() } mfp.currItem = null; mfp.content = null; mfp.currTemplate = null; mfp.prevHeight = 0; _mfpTrigger(AFTER_CLOSE_EVENT) }, updateSize: function (winHeight) { if (mfp.isIOS) { var zoomLevel = document.documentElement.clientWidth / window.innerWidth; var height = window.innerHeight * zoomLevel; mfp.wrap.css('height', height); mfp.wH = height } else { mfp.wH = winHeight || _window.height() } if (!mfp.fixedContentPos) { mfp.wrap.css('height', mfp.wH) } _mfpTrigger('Resize') }, updateItemHTML: function () { var item = mfp.items[mfp.index]; mfp.contentContainer.detach(); if (mfp.content) mfp.content.detach(); if (!item.parsed) { item = mfp.parseEl(mfp.index) } var type = item.type; _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]); mfp.currItem = item; if (!mfp.currTemplate[type]) { var markup = mfp.st[type] ? mfp.st[type].markup : false; _mfpTrigger('FirstMarkupParse', markup); if (markup) { mfp.currTemplate[type] = $(markup) } else { mfp.currTemplate[type] = true } } if (_prevContentType && _prevContentType !== item.type) { mfp.container.removeClass('mfp-' + _prevContentType + '-holder') } var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]); mfp.appendContent(newContent, type); item.preloaded = true; _mfpTrigger(CHANGE_EVENT, item); _prevContentType = item.type; mfp.container.prepend(mfp.contentContainer); _mfpTrigger('AfterChange') }, appendContent: function (newContent, type) { mfp.content = newContent; if (newContent) { if (mfp.st.showCloseBtn && mfp.st.closeBtnInside && mfp.currTemplate[type] === true) { if (!mfp.content.find('.mfp-close').length) { mfp.content.append(_getCloseBtn()) } } else { mfp.content = newContent } } else { mfp.content = '' } _mfpTrigger(BEFORE_APPEND_EVENT); mfp.container.addClass('mfp-' + type + '-holder'); mfp.contentContainer.append(mfp.content) }, parseEl: function (index) { var item = mfp.items[index], type; if (item.tagName) { item = { el: $(item) } } else { type = item.type; item = { data: item, src: item.src } } if (item.el) { var types = mfp.types; for (var i = 0; i < types.length; i++) { if (item.el.hasClass('mfp-' + types[i])) { type = types[i]; break } } item.src = item.el.attr('data-mfp-src'); if (!item.src) { item.src = item.el.attr('href') } } item.type = type || mfp.st.type || 'inline'; item.index = index; item.parsed = true; mfp.items[index] = item; _mfpTrigger('ElementParse', item); return mfp.items[index] }, addGroup: function (el, options) { var eHandler = function (e) { e.mfpEl = this; mfp._openClick(e, el, options) }; if (!options) { options = {} } var eName = 'click.magnificPopup'; options.mainEl = el; if (options.items) { options.isObj = true; el.off(eName).on(eName, eHandler) } else { options.isObj = false; if (options.delegate) { el.off(eName).on(eName, options.delegate, eHandler) } else { options.items = el; el.off(eName).on(eName, eHandler) } } }, _openClick: function (e, el, options) { var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick; if (!midClick && (e.which === 2 || e.ctrlKey || e.metaKey)) { return } var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn; if (disableOn) { if ($.isFunction(disableOn)) { if (!disableOn.call(mfp)) { return true } } else { if (_window.width() < disableOn) { return true } } } if (e.type) { e.preventDefault(); if (mfp.isOpen) { e.stopPropagation() } } options.el = $(e.mfpEl); if (options.delegate) { options.items = el.find(options.delegate) } mfp.open(options) }, updateStatus: function (status, text) { if (mfp.preloader) { if (_prevStatus !== status) { mfp.container.removeClass('mfp-s-' + _prevStatus) } if (!text && status === 'loading') { text = mfp.st.tLoading } var data = { status: status, text: text }; _mfpTrigger('UpdateStatus', data); status = data.status; text = data.text; mfp.preloader.html(text); mfp.preloader.find('a').on('click', function (e) { e.stopImmediatePropagation() }); mfp.container.addClass('mfp-s-' + status); _prevStatus = status } }, _checkIfClose: function (target) { if ($(target).hasClass(PREVENT_CLOSE_CLASS)) { return } var closeOnContent = mfp.st.closeOnContentClick; var closeOnBg = mfp.st.closeOnBgClick; if (closeOnContent && closeOnBg) { return true } else { if (!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0])) { return true } if ((target !== mfp.content[0] && !$.contains(mfp.content[0], target))) { if (closeOnBg) { if ($.contains(document, target)) { return true } } } else if (closeOnContent) { return true } } return false }, _addClassToMFP: function (cName) { mfp.bgOverlay.addClass(cName); mfp.wrap.addClass(cName) }, _removeClassFromMFP: function (cName) { this.bgOverlay.removeClass(cName); mfp.wrap.removeClass(cName) }, _hasScrollBar: function (winHeight) { return ((mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height())) }, _setFocus: function () { (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus() }, _onFocusIn: function (e) { if (e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target)) { mfp._setFocus(); return false } }, _parseMarkup: function (template, values, item) { var arr; if (item.data) { values = $.extend(item.data, values) } _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item]); $.each(values, function (key, value) { if (value === undefined || value === false) { return true } arr = key.split('_'); if (arr.length > 1) { var el = template.find(EVENT_NS + '-' + arr[0]); if (el.length > 0) { var attr = arr[1]; if (attr === 'replaceWith') { if (el[0] !== value[0]) { el.replaceWith(value) } } else if (attr === 'img') { if (el.is('img')) { el.attr('src', value) } else { el.replaceWith('<img src="' + value + '" class="' + el.attr('class') + '" />') } } else { el.attr(arr[1], value) } } } else { template.find(EVENT_NS + '-' + key).html(value) } }) }, _getScrollbarSize: function () { if (mfp.scrollbarSize === undefined) { var scrollDiv = document.createElement("div"); scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;'; document.body.appendChild(scrollDiv); mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth; document.body.removeChild(scrollDiv) } return mfp.scrollbarSize } }; $.magnificPopup = { instance: null, proto: MagnificPopup.prototype, modules: [], open: function (options, index) { _checkInstance(); if (!options) { options = {} } else { options = $.extend(true, {}, options) } options.isObj = true; options.index = index || 0; return this.instance.open(options) }, close: function () { return $.magnificPopup.instance && $.magnificPopup.instance.close() }, registerModule: function (name, module) { if (module.options) { $.magnificPopup.defaults[name] = module.options } $.extend(this.proto, module.proto); this.modules.push(name) }, defaults: { disableOn: 0, key: null, midClick: false, mainClass: '', preloader: true, focus: '', closeOnContentClick: false, closeOnBgClick: true, closeBtnInside: true, showCloseBtn: true, enableEscapeKey: true, modal: false, alignTop: false, removalDelay: 0, prependTo: null, fixedContentPos: 'auto', fixedBgPos: 'auto', overflowY: 'auto', closeMarkup: '<button title="%title%" type="button" class="mfp-close">&times;</button>', tClose: 'Close (Esc)', tLoading: 'Loading...' } }; $.fn.magnificPopup = function (options) { _checkInstance(); var jqEl = $(this); if (typeof options === "string") { if (options === 'open') { var items, itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup, index = parseInt(arguments[1], 10) || 0; if (itemOpts.items) { items = itemOpts.items[index] } else { items = jqEl; if (itemOpts.delegate) { items = items.find(itemOpts.delegate) } items = items.eq(index) } mfp._openClick({ mfpEl: items }, jqEl, itemOpts) } else { if (mfp.isOpen) mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1)) } } else { options = $.extend(true, {}, options); if (_isJQ) { jqEl.data('magnificPopup', options) } else { jqEl[0].magnificPopup = options } mfp.addGroup(jqEl, options) } return jqEl }; var INLINE_NS = 'inline', _hiddenClass, _inlinePlaceholder, _lastInlineElement, _putInlineElementsBack = function () { if (_lastInlineElement) { _inlinePlaceholder.after(_lastInlineElement.addClass(_hiddenClass)).detach(); _lastInlineElement = null } }; $.magnificPopup.registerModule(INLINE_NS, { options: { hiddenClass: 'hide', markup: '', tNotFound: 'Content not found' }, proto: { initInline: function () { mfp.types.push(INLINE_NS); _mfpOn(CLOSE_EVENT + '.' + INLINE_NS, function () { _putInlineElementsBack() }) }, getInline: function (item, template) { _putInlineElementsBack(); if (item.src) { var inlineSt = mfp.st.inline, el = $(item.src); if (el.length) { var parent = el[0].parentNode; if (parent && parent.tagName) { if (!_inlinePlaceholder) { _hiddenClass = inlineSt.hiddenClass; _inlinePlaceholder = _getEl(_hiddenClass); _hiddenClass = 'mfp-' + _hiddenClass } _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass) } mfp.updateStatus('ready') } else { mfp.updateStatus('error', inlineSt.tNotFound); el = $('<div>') } item.inlineElement = el; return el } mfp.updateStatus('ready'); mfp._parseMarkup(template, {}, item); return template } } }); var AJAX_NS = 'ajax', _ajaxCur, _removeAjaxCursor = function () { if (_ajaxCur) { _body.removeClass(_ajaxCur) } }, _destroyAjaxRequest = function () { _removeAjaxCursor(); if (mfp.req) { mfp.req.abort() } }; $.magnificPopup.registerModule(AJAX_NS, { options: { settings: null, cursor: 'mfp-ajax-cur', tError: '<a href="%url%">The content</a> could not be loaded.' }, proto: { initAjax: function () { mfp.types.push(AJAX_NS); _ajaxCur = mfp.st.ajax.cursor; _mfpOn(CLOSE_EVENT + '.' + AJAX_NS, _destroyAjaxRequest); _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest) }, getAjax: function (item) { if (_ajaxCur) _body.addClass(_ajaxCur); mfp.updateStatus('loading'); var opts = $.extend({ url: item.src, success: function (data, textStatus, jqXHR) { var temp = { data: data, xhr: jqXHR }; _mfpTrigger('ParseAjax', temp); mfp.appendContent($(temp.data), AJAX_NS); item.finished = true; _removeAjaxCursor(); mfp._setFocus(); setTimeout(function () { mfp.wrap.addClass(READY_CLASS) }, 16); mfp.updateStatus('ready'); _mfpTrigger('AjaxContentAdded') }, error: function () { _removeAjaxCursor(); item.finished = item.loadError = true; mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src)) } }, mfp.st.ajax.settings); mfp.req = $.ajax(opts); return '' } } }); var _imgInterval, _getTitle = function (item) { if (item.data && item.data.title !== undefined) return item.data.title; var src = mfp.st.image.titleSrc; if (src) { if ($.isFunction(src)) { return src.call(mfp, item) } else if (item.el) { return item.el.attr(src) || '' } } return '' }; $.magnificPopup.registerModule('image', { options: { markup: '<div class="mfp-figure">' + '<div class="mfp-close"></div>' + '<figure>' + '<div class="mfp-img"></div>' + '<figcaption>' + '<div class="mfp-bottom-bar">' + '<div class="mfp-title"></div>' + '<div class="mfp-counter"></div>' + '</div>' + '</figcaption>' + '</figure>' + '</div>', cursor: 'mfp-zoom-out-cur', titleSrc: 'title', verticalFit: true, tError: '<a href="%url%">The image</a> could not be loaded.' }, proto: { initImage: function () { var imgSt = mfp.st.image, ns = '.image'; mfp.types.push('image'); _mfpOn(OPEN_EVENT + ns, function () { if (mfp.currItem.type === 'image' && imgSt.cursor) { _body.addClass(imgSt.cursor) } }); _mfpOn(CLOSE_EVENT + ns, function () { if (imgSt.cursor) { _body.removeClass(imgSt.cursor) } _window.off('resize' + EVENT_NS) }); _mfpOn('Resize' + ns, mfp.resizeImage); if (mfp.isLowIE) { _mfpOn('AfterChange', mfp.resizeImage) } }, resizeImage: function () { var item = mfp.currItem; if (!item || !item.img) return; if (mfp.st.image.verticalFit) { var decr = 0; if (mfp.isLowIE) { decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'), 10) } item.img.css('max-height', mfp.wH - decr) } }, _onImageHasSize: function (item) { if (item.img) { item.hasSize = true; if (_imgInterval) { clearInterval(_imgInterval) } item.isCheckingImgSize = false; _mfpTrigger('ImageHasSize', item); if (item.imgHidden) { if (mfp.content) mfp.content.removeClass('mfp-loading'); item.imgHidden = false } } }, findImageSize: function (item) { var counter = 0, img = item.img[0], mfpSetInterval = function (delay) { if (_imgInterval) { clearInterval(_imgInterval) } _imgInterval = setInterval(function () { if (img.naturalWidth > 0) { mfp._onImageHasSize(item); return } if (counter > 200) { clearInterval(_imgInterval) } counter++; if (counter === 3) { mfpSetInterval(10) } else if (counter === 40) { mfpSetInterval(50) } else if (counter === 100) { mfpSetInterval(500) } }, delay) }; mfpSetInterval(1) }, getImage: function (item, template) { var guard = 0, onLoadComplete = function () { if (item) { if (item.img[0].complete) { item.img.off('.mfploader'); if (item === mfp.currItem) { mfp._onImageHasSize(item); mfp.updateStatus('ready') } item.hasSize = true; item.loaded = true; _mfpTrigger('ImageLoadComplete') } else { guard++; if (guard < 200) { setTimeout(onLoadComplete, 100) } else { onLoadError() } } } }, onLoadError = function () { if (item) { item.img.off('.mfploader'); if (item === mfp.currItem) { mfp._onImageHasSize(item); mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src)) } item.hasSize = true; item.loaded = true; item.loadError = true } }, imgSt = mfp.st.image; var el = template.find('.mfp-img'); if (el.length) { var img = document.createElement('img'); img.className = 'mfp-img'; if (item.el && item.el.find('img').length) { img.alt = item.el.find('img').attr('alt') } item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError); img.src = item.src; if (el.is('img')) { item.img = item.img.clone() } img = item.img[0]; if (img.naturalWidth > 0) { item.hasSize = true } else if (!img.width) { item.hasSize = false } } mfp._parseMarkup(template, { title: _getTitle(item), img_replaceWith: item.img }, item); mfp.resizeImage(); if (item.hasSize) { if (_imgInterval) clearInterval(_imgInterval); if (item.loadError) { template.addClass('mfp-loading'); mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src)) } else { template.removeClass('mfp-loading'); mfp.updateStatus('ready') } return template } mfp.updateStatus('loading'); item.loading = true; if (!item.hasSize) { item.imgHidden = true; template.addClass('mfp-loading'); mfp.findImageSize(item) } return template } } }); var hasMozTransform, getHasMozTransform = function () { if (hasMozTransform === undefined) { hasMozTransform = document.createElement('p').style.MozTransform !== undefined } return hasMozTransform }; $.magnificPopup.registerModule('zoom', { options: { enabled: false, easing: 'ease-in-out', duration: 300, opener: function (element) { return element.is('img') ? element : element.find('img') } }, proto: { initZoom: function () { var zoomSt = mfp.st.zoom, ns = '.zoom', image; if (!zoomSt.enabled || !mfp.supportsTransition) { return } var duration = zoomSt.duration, getElToAnimate = function (image) { var newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'), transition = 'all ' + (zoomSt.duration / 1000) + 's ' + zoomSt.easing, cssObj = { position: 'fixed', zIndex: 9999, left: 0, top: 0, '-webkit-backface-visibility': 'hidden' }, t = 'transition'; cssObj['-webkit-' + t] = cssObj['-moz-' + t] = cssObj['-o-' + t] = cssObj[t] = transition; newImg.css(cssObj); return newImg }, showMainContent = function () { mfp.content.css('visibility', 'visible') }, openTimeout, animatedImg; _mfpOn('BuildControls' + ns, function () { if (mfp._allowZoom()) { clearTimeout(openTimeout); mfp.content.css('visibility', 'hidden'); image = mfp._getItemToZoom(); if (!image) { showMainContent(); return } animatedImg = getElToAnimate(image); animatedImg.css(mfp._getOffset()); mfp.wrap.append(animatedImg); openTimeout = setTimeout(function () { animatedImg.css(mfp._getOffset(true)); openTimeout = setTimeout(function () { showMainContent(); setTimeout(function () { animatedImg.remove(); image = animatedImg = null; _mfpTrigger('ZoomAnimationEnded') }, 16) }, duration) }, 16) } }); _mfpOn(BEFORE_CLOSE_EVENT + ns, function () { if (mfp._allowZoom()) { clearTimeout(openTimeout); mfp.st.removalDelay = duration; if (!image) { image = mfp._getItemToZoom(); if (!image) { return } animatedImg = getElToAnimate(image) } animatedImg.css(mfp._getOffset(true)); mfp.wrap.append(animatedImg); mfp.content.css('visibility', 'hidden'); setTimeout(function () { animatedImg.css(mfp._getOffset()) }, 16) } }); _mfpOn(CLOSE_EVENT + ns, function () { if (mfp._allowZoom()) { showMainContent(); if (animatedImg) { animatedImg.remove() } image = null } }) }, _allowZoom: function () { return mfp.currItem.type === 'image' }, _getItemToZoom: function () { if (mfp.currItem.hasSize) { return mfp.currItem.img } else { return false } }, _getOffset: function (isLarge) { var el; if (isLarge) { el = mfp.currItem.img } else { el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem) } var offset = el.offset(); var paddingTop = parseInt(el.css('padding-top'), 10); var paddingBottom = parseInt(el.css('padding-bottom'), 10); offset.top -= ($(window).scrollTop() - paddingTop); var obj = { width: el.width(), height: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop }; if (getHasMozTransform()) { obj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)' } else { obj.left = offset.left; obj.top = offset.top } return obj } } }); var IFRAME_NS = 'iframe', _emptyPage = '//about:blank', _fixIframeBugs = function (isShowing) { if (mfp.currTemplate[IFRAME_NS]) { var el = mfp.currTemplate[IFRAME_NS].find('iframe'); if (el.length) { if (!isShowing) { el[0].src = _emptyPage } if (mfp.isIE8) { el.css('display', isShowing ? 'block' : 'none') } } } }; $.magnificPopup.registerModule(IFRAME_NS, { options: { markup: '<div class="mfp-iframe-scaler">' + '<div class="mfp-close"></div>' + '<iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe>' + '</div>', 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 () { mfp.types.push(IFRAME_NS); _mfpOn('BeforeChange', function (e, prevType, newType) { if (prevType !== newType) { if (prevType === IFRAME_NS) { _fixIframeBugs() } else if (newType === IFRAME_NS) { _fixIframeBugs(true) } } }); _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function () { _fixIframeBugs() }) }, getIframe: function (item, template) { var embedSrc = item.src; var iframeSt = mfp.st.iframe; $.each(iframeSt.patterns, function () { if (embedSrc.indexOf(this.index) > -1) { if (this.id) { if (typeof this.id === 'string') { embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id) + this.id.length, embedSrc.length) } else { embedSrc = this.id.call(this, embedSrc) } } embedSrc = this.src.replace('%id%', embedSrc); return false } }); var dataObj = {}; if (iframeSt.srcAction) { dataObj[iframeSt.srcAction] = embedSrc } mfp._parseMarkup(template, dataObj, item); mfp.updateStatus('ready'); return template } } }); var _getLoopedId = function (index) { var numSlides = mfp.items.length; if (index > numSlides - 1) { return index - numSlides } else if (index < 0) { return numSlides + index } return index }, _replaceCurrTotal = function (text, curr, total) { return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total) }; $.magnificPopup.registerModule('gallery', { options: { enabled: false, arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', preload: [0, 2], navigateByImgClick: true, arrows: true, tPrev: 'Previous (Left arrow key)', tNext: 'Next (Right arrow key)', tCounter: '%curr% of %total%' }, proto: { initGallery: function () { var gSt = mfp.st.gallery, ns = '.mfp-gallery', supportsFastClick = Boolean($.fn.mfpFastClick); mfp.direction = true; if (!gSt || !gSt.enabled) return false; _wrapClasses += ' mfp-gallery'; _mfpOn(OPEN_EVENT + ns, function () { if (gSt.navigateByImgClick) { mfp.wrap.on('click' + ns, '.mfp-img', function () { if (mfp.items.length > 1) { mfp.next(); return false } }) } _document.on('keydown' + ns, function (e) { if (e.keyCode === 37) { mfp.prev() } else if (e.keyCode === 39) { mfp.next() } }) }); _mfpOn('UpdateStatus' + ns, function (e, data) { if (data.text) { data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length) } }); _mfpOn(MARKUP_PARSE_EVENT + ns, function (e, element, values, item) { var l = mfp.items.length; values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '' }); _mfpOn('BuildControls' + ns, function () { if (mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) { var markup = gSt.arrowMarkup, arrowLeft = mfp.arrowLeft = $(markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left')).addClass(PREVENT_CLOSE_CLASS), arrowRight = mfp.arrowRight = $(markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right')).addClass(PREVENT_CLOSE_CLASS); var eName = supportsFastClick ? 'mfpFastClick' : 'click'; arrowLeft[eName](function () { mfp.prev() }); arrowRight[eName](function () { mfp.next() }); if (mfp.isIE7) { _getEl('b', arrowLeft[0], false, true); _getEl('a', arrowLeft[0], false, true); _getEl('b', arrowRight[0], false, true); _getEl('a', arrowRight[0], false, true) } mfp.container.append(arrowLeft.add(arrowRight)) } }); _mfpOn(CHANGE_EVENT + ns, function () { if (mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout); mfp._preloadTimeout = setTimeout(function () { mfp.preloadNearbyImages(); mfp._preloadTimeout = null }, 16) }); _mfpOn(CLOSE_EVENT + ns, function () { _document.off(ns); mfp.wrap.off('click' + ns); if (mfp.arrowLeft && supportsFastClick) { mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick() } mfp.arrowRight = mfp.arrowLeft = null }) }, next: function () { mfp.direction = true; mfp.index = _getLoopedId(mfp.index + 1); mfp.updateItemHTML() }, prev: function () { mfp.direction = false; mfp.index = _getLoopedId(mfp.index - 1); mfp.updateItemHTML() }, goTo: function (newIndex) { mfp.direction = (newIndex >= mfp.index); mfp.index = newIndex; mfp.updateItemHTML() }, preloadNearbyImages: function () { var p = mfp.st.gallery.preload, preloadBefore = Math.min(p[0], mfp.items.length), preloadAfter = Math.min(p[1], mfp.items.length), i; for (i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore) ; i++) { mfp._preloadItem(mfp.index + i) } for (i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter) ; i++) { mfp._preloadItem(mfp.index - i) } }, _preloadItem: function (index) { index = _getLoopedId(index); if (mfp.items[index].preloaded) { return } var item = mfp.items[index]; if (!item.parsed) { item = mfp.parseEl(index) } _mfpTrigger('LazyLoad', item); if (item.type === 'image') { item.img = $('<img class="mfp-img" />').on('load.mfploader', function () { item.hasSize = true }).on('error.mfploader', function () { item.hasSize = true; item.loadError = true; _mfpTrigger('LazyLoadError', item) }).attr('src', item.src) } item.preloaded = true } } }); var RETINA_NS = 'retina'; $.magnificPopup.registerModule(RETINA_NS, { options: { replaceSrc: function (item) { return item.src.replace(/\.\w+$/, function (m) { return '@2x' + m }) }, ratio: 1 }, proto: { initRetina: function () { if (window.devicePixelRatio > 1) { var st = mfp.st.retina, ratio = st.ratio; ratio = !isNaN(ratio) ? ratio : ratio(); if (ratio > 1) { _mfpOn('ImageHasSize' + '.' + RETINA_NS, function (e, item) { item.img.css({ 'max-width': item.img[0].naturalWidth / ratio, 'width': '100%' }) }); _mfpOn('ElementParse' + '.' + RETINA_NS, function (e, item) { item.src = st.replaceSrc(item, ratio) }) } } } } }); (function () { var ghostClickDelay = 1000, supportsTouch = 'ontouchstart' in window, unbindTouchMove = function () { _window.off('touchmove' + ns + ' touchend' + ns) }, eName = 'mfpFastClick', ns = '.' + eName; $.fn.mfpFastClick = function (callback) { return $(this).each(function () { var elem = $(this), lock; if (supportsTouch) { var timeout, startX, startY, pointerMoved, point, numPointers; elem.on('touchstart' + ns, function (e) { pointerMoved = false; numPointers = 1; point = e.originalEvent ? e.originalEvent.touches[0] : e.touches[0]; startX = point.clientX; startY = point.clientY; _window.on('touchmove' + ns, function (e) { point = e.originalEvent ? e.originalEvent.touches : e.touches; numPointers = point.length; point = point[0]; if (Math.abs(point.clientX - startX) > 10 || Math.abs(point.clientY - startY) > 10) { pointerMoved = true; unbindTouchMove() } }).on('touchend' + ns, function (e) { unbindTouchMove(); if (pointerMoved || numPointers > 1) { return } lock = true; e.preventDefault(); clearTimeout(timeout); timeout = setTimeout(function () { lock = false }, ghostClickDelay); callback() }) }) } elem.on('click' + ns, function () { if (!lock) { callback() } }) }) }; $.fn.destroyMfpFastClick = function () { $(this).off('touchstart' + ns + ' click' + ns); if (supportsTouch) _window.off('touchmove' + ns + ' touchend' + ns) } })(); _checkInstance() }));!function (n) { "function" == typeof define && define.amd ? define(["jquery"], function (e) { return n(e) }) : "object" == typeof module && "object" == typeof module.exports ? exports = n(require("jquery")) : n(jQuery) }(function (n) { function e(n) { var e = 7.5625, t = 2.75; return n < 1 / t ? e * n * n : n < 2 / t ? e * (n -= 1.5 / t) * n + .75 : n < 2.5 / t ? e * (n -= 2.25 / t) * n + .9375 : e * (n -= 2.625 / t) * n + .984375 } void 0 !== n.easing && (n.easing.jswing = n.easing.swing); var t = Math.pow, u = Math.sqrt, r = Math.sin, i = Math.cos, a = Math.PI, c = 1.70158, o = 1.525 * c, s = 2 * a / 3, f = 2 * a / 4.5; n.extend(n.easing, { def: "easeOutQuad", swing: function (e) { return n.easing[n.easing.def](e) }, easeInQuad: function (n) { return n * n }, easeOutQuad: function (n) { return 1 - (1 - n) * (1 - n) }, easeInOutQuad: function (n) { return n < .5 ? 2 * n * n : 1 - t(-2 * n + 2, 2) / 2 }, easeInCubic: function (n) { return n * n * n }, easeOutCubic: function (n) { return 1 - t(1 - n, 3) }, easeInOutCubic: function (n) { return n < .5 ? 4 * n * n * n : 1 - t(-2 * n + 2, 3) / 2 }, easeInQuart: function (n) { return n * n * n * n }, easeOutQuart: function (n) { return 1 - t(1 - n, 4) }, easeInOutQuart: function (n) { return n < .5 ? 8 * n * n * n * n : 1 - t(-2 * n + 2, 4) / 2 }, easeInQuint: function (n) { return n * n * n * n * n }, easeOutQuint: function (n) { return 1 - t(1 - n, 5) }, easeInOutQuint: function (n) { return n < .5 ? 16 * n * n * n * n * n : 1 - t(-2 * n + 2, 5) / 2 }, easeInSine: function (n) { return 1 - i(n * a / 2) }, easeOutSine: function (n) { return r(n * a / 2) }, easeInOutSine: function (n) { return -(i(a * n) - 1) / 2 }, easeInExpo: function (n) { return 0 === n ? 0 : t(2, 10 * n - 10) }, easeOutExpo: function (n) { return 1 === n ? 1 : 1 - t(2, -10 * n) }, easeInOutExpo: function (n) { return 0 === n ? 0 : 1 === n ? 1 : n < .5 ? t(2, 20 * n - 10) / 2 : (2 - t(2, -20 * n + 10)) / 2 }, easeInCirc: function (n) { return 1 - u(1 - t(n, 2)) }, easeOutCirc: function (n) { return u(1 - t(n - 1, 2)) }, easeInOutCirc: function (n) { return n < .5 ? (1 - u(1 - t(2 * n, 2))) / 2 : (u(1 - t(-2 * n + 2, 2)) + 1) / 2 }, easeInElastic: function (n) { return 0 === n ? 0 : 1 === n ? 1 : -t(2, 10 * n - 10) * r((10 * n - 10.75) * s) }, easeOutElastic: function (n) { return 0 === n ? 0 : 1 === n ? 1 : t(2, -10 * n) * r((10 * n - .75) * s) + 1 }, easeInOutElastic: function (n) { return 0 === n ? 0 : 1 === n ? 1 : n < .5 ? -(t(2, 20 * n - 10) * r((20 * n - 11.125) * f)) / 2 : t(2, -20 * n + 10) * r((20 * n - 11.125) * f) / 2 + 1 }, easeInBack: function (n) { return (c + 1) * n * n * n - c * n * n }, easeOutBack: function (n) { return 1 + (c + 1) * t(n - 1, 3) + c * t(n - 1, 2) }, easeInOutBack: function (n) { return n < .5 ? t(2 * n, 2) * (7.189819 * n - o) / 2 : (t(2 * n - 2, 2) * ((o + 1) * (2 * n - 2) + o) + 2) / 2 }, easeInBounce: function (n) { return 1 - e(1 - n) }, easeOutBounce: e, easeInOutBounce: function (n) { return n < .5 ? (1 - e(1 - 2 * n)) / 2 : (1 + e(2 * n - 1)) / 2 } }) });(function ($) { $.fn.appear = function (fn, options) { var settings = $.extend({ data: undefined, one: true, accX: 0, accY: 0 }, options); return this.each(function () { var t = $(this); t.appeared = false; if (!fn) { t.trigger('appear', settings.data); return } var w = $(window); var check = function () { if (!t.is(':visible')) { t.appeared = false; return } var a = w.scrollLeft(); var b = w.scrollTop(); var o = t.offset(); var x = o.left; var y = o.top; var ax = settings.accX; var ay = settings.accY; var th = t.height(); var wh = w.height(); var tw = t.width(); var ww = w.width(); if (y + th + ay >= b && y <= b + wh + ay && x + tw + ax >= a && x <= a + ww + ax) { if (!t.appeared) t.trigger('appear', settings.data) } else { t.appeared = false } }; var modifiedFn = function () { t.appeared = true; if (settings.one) { w.unbind('scroll', check); var i = $.inArray(check, $.fn.appear.checks); if (i >= 0) $.fn.appear.checks.splice(i, 1) } fn.apply(this, arguments) }; if (settings.one) t.one('appear', settings.data, modifiedFn); else t.bind('appear', settings.data, modifiedFn); w.scroll(check); $.fn.appear.checks.push(check); (check)() }) }; $.extend($.fn.appear, { checks: [], timeout: null, checkAll: function () { var length = $.fn.appear.checks.length; if (length > 0) while (length--) ($.fn.appear.checks[length])() }, run: function () { if ($.fn.appear.timeout) clearTimeout($.fn.appear.timeout); $.fn.appear.timeout = setTimeout($.fn.appear.checkAll, 20) } }); $.each(['append', 'prepend', 'after', 'before', 'attr', 'removeAttr', 'addClass', 'removeClass', 'toggleClass', 'remove', 'css', 'show', 'hide'], function (i, n) { var old = $.fn[n]; if (old) { $.fn[n] = function () { var r = old.apply(this, arguments); $.fn.appear.run(); return r } } }) })(jQuery);(function ($) { $.fn.gMap = function (options, methods_options) { switch (options) { case 'addMarker': return $(this).trigger('gMap.addMarker', [methods_options.latitude, methods_options.longitude, methods_options.content, methods_options.icon, methods_options.popup]); case 'centerAt': return $(this).trigger('gMap.centerAt', [methods_options.latitude, methods_options.longitude, methods_options.zoom]); case 'clearMarkers': return $(this).trigger('gMap.clearMarkers') } var opts = $.extend({}, $.fn.gMap.defaults, options); return this.each(function () { var $gmap = new google.maps.Map(this); $(this).data('gMap.reference', $gmap); var $geocoder = new google.maps.Geocoder(); if (opts.address) { $geocoder.geocode({ address: opts.address }, function (gresult, status) { if (gresult && gresult.length) { $gmap.setCenter(gresult[0].geometry.location) } }) } else { if (opts.latitude && opts.longitude) { $gmap.setCenter(new google.maps.LatLng(opts.latitude, opts.longitude)) } else { if ($.isArray(opts.markers) && opts.markers.length > 0) { if (opts.markers[0].address) { $geocoder.geocode({ address: opts.markers[0].address }, function (gresult, status) { if (gresult && gresult.length > 0) { $gmap.setCenter(gresult[0].geometry.location) } }) } else { $gmap.setCenter(new google.maps.LatLng(opts.markers[0].latitude, opts.markers[0].longitude)) } } else { $gmap.setCenter(new google.maps.LatLng(34.885931, 9.84375)) } } } $gmap.setZoom(opts.zoom); $gmap.setMapTypeId(google.maps.MapTypeId[opts.maptype]); var map_options = { scrollwheel: opts.scrollwheel, disableDoubleClickZoom: !opts.doubleclickzoom }; if (opts.controls === false) { $.extend(map_options, { disableDefaultUI: true }) } else if (opts.controls.length !== 0) { $.extend(map_options, opts.controls, { disableDefaultUI: true }) } $gmap.setOptions(map_options); var gicon = new google.maps.Marker(); var marker_icon; var marker_shadow; marker_icon = new google.maps.MarkerImage(opts.icon.image); marker_icon.size = new google.maps.Size(opts.icon.iconsize[0], opts.icon.iconsize[1]); marker_icon.anchor = new google.maps.Point(opts.icon.iconanchor[0], opts.icon.iconanchor[1]); gicon.setIcon(marker_icon); if (opts.icon.shadow) { marker_shadow = new google.maps.MarkerImage(opts.icon.shadow); marker_shadow.size = new google.maps.Size(opts.icon.shadowsize[0], opts.icon.shadowsize[1]); marker_shadow.anchor = new google.maps.Point(opts.icon.shadowanchor[0], opts.icon.shadowanchor[1]); gicon.setShadow(marker_shadow) } $(this).bind('gMap.centerAt', function (e, latitude, longitude, zoom) { if (zoom) { $gmap.setZoom(zoom) } $gmap.panTo(new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude))) }); var overlays = []; $(this).bind('gMap.clearMarkers', function () { while (overlays[0]) { overlays.pop().setMap(null) } }); var last_infowindow; $(this).bind('gMap.addMarker', function (e, latitude, longitude, content, icon, popup) { var marker_icon; var marker_shadow; var glatlng = new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude)); var gmarker = new google.maps.Marker({ position: glatlng }); if (icon) { marker_icon = new google.maps.MarkerImage(icon.image); marker_icon.size = new google.maps.Size(icon.iconsize[0], icon.iconsize[1]); marker_icon.anchor = new google.maps.Point(icon.iconanchor[0], icon.iconanchor[1]); gmarker.setIcon(marker_icon); if (icon.shadow) { marker_shadow = new google.maps.MarkerImage(icon.shadow); marker_shadow.size = new google.maps.Size(icon.shadowsize[0], icon.shadowsize[1]); marker_shadow.anchor = new google.maps.Point(icon.shadowanchor[0], icon.shadowanchor[1]); gicon.setShadow(marker_shadow) } } else { gmarker.setIcon(gicon.getIcon()); gmarker.setShadow(gicon.getShadow()) } if (content) { if (content === '_latlng') { content = latitude + ', ' + longitude } var infowindow = new google.maps.InfoWindow({ content: opts.html_prepend + content + opts.html_append }); google.maps.event.addListener(gmarker, 'click', function () { if (last_infowindow) { last_infowindow.close() } infowindow.open($gmap, gmarker); last_infowindow = infowindow }); if (popup) { google.maps.event.addListenerOnce($gmap, 'tilesloaded', function () { infowindow.open($gmap, gmarker) }) } } gmarker.setMap($gmap); overlays.push(gmarker) }); var marker; var self = this; var geocode_callback = function (marker) { return function (gresult, status) { if (gresult && gresult.length > 0) { $(self).trigger('gMap.addMarker', [gresult[0].geometry.location.lat(), gresult[0].geometry.location.lng(), marker.html, marker.icon, marker.popup]) } } }; for (var j = 0; j < opts.markers.length; j++) { marker = opts.markers[j]; if (marker.address) { if (marker.html === '_address') { marker.html = marker.address } $geocoder.geocode({ address: marker.address }, geocode_callback(marker)) } else { $(this).trigger('gMap.addMarker', [marker.latitude, marker.longitude, marker.html, marker.icon, marker.popup]) } } }) }; $.fn.gMap.defaults = { address: '', latitude: 0, longitude: 0, zoom: 1, markers: [], controls: [], scrollwheel: false, doubleclickzoom: true, maptype: 'ROADMAP', html_prepend: '<div class="gmap_marker">', html_append: '</div>', icon: { image: "https://www.google.com/mapfiles/marker.png", shadow: "https://www.google.com/mapfiles/shadow50.png", iconsize: [20, 34], shadowsize: [37, 34], iconanchor: [9, 34], shadowanchor: [6, 34] } } })(jQuery);(function($){$.extend({browserSelector:function(){(function(a){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera);var u=navigator.userAgent,ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g='gecko',w='webkit',s='safari',o='opera',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+parseFloat(navigator.appVersion.split("MSIE")[1])):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.jQuery1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.jQuery2:'')):is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.jQuery1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js'];c=b.join(' ');if($.browser.mobile){c+=' mobile'}h.className+=' '+c;var isIE11=!(window.ActiveXObject)&&"ActiveXObject"in window;if(isIE11){$('html').removeClass('gecko').addClass('ie ie11');return}if($('body').hasClass('dark')){$('html').addClass('dark')}if($('body').hasClass('boxed')){$('html').addClass('boxed')}}});$.browserSelector()})(jQuery);(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory)}else if(typeof exports==='object'){module.exports=factory(require('jquery'))}else{factory(jQuery)}}(function($){var eventNamespace='waitForImages';$.waitForImages={hasImageProperties:['backgroundImage','listStyleImage','borderImage','borderCornerImage','cursor'],hasImageAttributes:['srcset']};$.expr[':'].uncached=function(obj){if(!$(obj).is('img[src][src!=""]')){return false}return!obj.complete};$.fn.waitForImages=function(){var allImgsLength=0;var allImgsLoaded=0;var deferred=$.Deferred();var finishedCallback;var eachCallback;var waitForAll;if($.isPlainObject(arguments[0])){waitForAll=arguments[0].waitForAll;eachCallback=arguments[0].each;finishedCallback=arguments[0].finished}else{if(arguments.length===1&&$.type(arguments[0])==='boolean'){waitForAll=arguments[0]}else{finishedCallback=arguments[0];eachCallback=arguments[1];waitForAll=arguments[2]}}finishedCallback=finishedCallback||$.noop;eachCallback=eachCallback||$.noop;waitForAll=!!waitForAll;if(!$.isFunction(finishedCallback)||!$.isFunction(eachCallback)){throw new TypeError('An invalid callback was supplied.')}this.each(function(){var obj=$(this);var allImgs=[];var hasImgProperties=$.waitForImages.hasImageProperties||[];var hasImageAttributes=$.waitForImages.hasImageAttributes||[];var matchUrl=/url\(\s*(['"]?)(.*?)\1\s*\)/g;if(waitForAll){obj.find('*').addBack().each(function(){var element=$(this);if(element.is('img:uncached')){allImgs.push({src:element.attr('src'),element:element[0]})}$.each(hasImgProperties,function(i,property){var propertyValue=element.css(property);var match;if(!propertyValue){return true}while(match=matchUrl.exec(propertyValue)){allImgs.push({src:match[2],element:element[0]})}});$.each(hasImageAttributes,function(i,attribute){var attributeValue=element.attr(attribute);var attributeValues;if(!attributeValue){return true}attributeValues=attributeValue.split(',');$.each(attributeValues,function(i,value){value=$.trim(value).split(' ')[0];allImgs.push({src:value,element:element[0]})})})})}else{obj.find('img:uncached').each(function(){allImgs.push({src:this.src,element:this})})}allImgsLength=allImgs.length;allImgsLoaded=0;if(allImgsLength===0){finishedCallback.call(obj[0]);deferred.resolveWith(obj[0])}$.each(allImgs,function(i,img){var image=new Image();var events='load.'+eventNamespace+' error.'+eventNamespace;$(image).one(events,function me(event){var eachArguments=[allImgsLoaded,allImgsLength,event.type=='load'];allImgsLoaded++;eachCallback.apply(img.element,eachArguments);deferred.notifyWith(img.element,eachArguments);$(this).off(events,me);if(allImgsLoaded==allImgsLength){finishedCallback.call(obj[0]);deferred.resolveWith(obj[0]);return false}});image.src=img.src})});return deferred.promise()}}));(function($){$.fn.countTo=function(options){options=options||{};return $(this).each(function(){var settings=$.extend({},$.fn.countTo.defaults,{from:$(this).data('from'),to:$(this).data('to'),speed:$(this).data('speed'),refreshInterval:$(this).data('refresh-interval'),decimals:$(this).data('decimals')},options);var loops=Math.ceil(settings.speed/settings.refreshInterval),increment=(settings.to-settings.from)/loops;var self=this,$self=$(this),loopCount=0,value=settings.from,data=$self.data('countTo')||{};$self.data('countTo',data);if(data.interval){clearInterval(data.interval)}data.interval=setInterval(updateTimer,settings.refreshInterval);render(value);function updateTimer(){value+=increment;loopCount++;render(value);if(typeof(settings.onUpdate)=='function'){settings.onUpdate.call(self,value)}if(loopCount>=loops){$self.removeData('countTo');clearInterval(data.interval);value=settings.to;if(typeof(settings.onComplete)=='function'){settings.onComplete.call(self,value)}}}function render(value){var formattedValue=settings.formatter.call(self,value,settings);$self.html(formattedValue)}})};$.fn.countTo.defaults={from:0,to:0,speed:1000,refreshInterval:100,decimals:0,formatter:formatter,onUpdate:null,onComplete:null};function formatter(value,settings){return value.toFixed(settings.decimals)}}(jQuery));(function($){"use strict";var defaults={action:function(){},runOnLoad:false,duration:500};var settings=defaults,running=false,start;var methods={};methods.init=function(){for(var i=0;i<=arguments.length;i++){var arg=arguments[i];switch(typeof arg){case"function":settings.action=arg;break;case"boolean":settings.runOnLoad=arg;break;case"number":settings.duration=arg;break}}return this.each(function(){if(settings.runOnLoad){settings.action()}$(this).resize(function(){methods.timedAction.call(this)})})};methods.timedAction=function(code,millisec){var doAction=function(){var remaining=settings.duration;if(running){var elapse=new Date()-start;remaining=settings.duration-elapse;if(remaining<=0){clearTimeout(running);running=false;settings.action();return}}wait(remaining)};var wait=function(time){running=setTimeout(doAction,time)};start=new Date();if(typeof millisec==='number'){settings.duration=millisec}if(typeof code==='function'){settings.action=code}if(!running){doAction()}};$.fn.afterResize=function(method){if(methods[method]){return methods[method].apply(this,Array.prototype.slice.call(arguments,1))}else{return methods.init.apply(this,arguments)}}})(jQuery);(function($){$.extend({smoothScroll:function(){var defaults={frameRate:60,animationTime:700,stepSize:120,pulseAlgorithm:true,pulseScale:10,pulseNormalize:1,accelerationDelta:20,accelerationMax:1,keyboardSupport:true,arrowScroll:50,touchpadSupport:true,fixedBackground:true,excluded:""};var options=defaults;var isExcluded=false;var isFrame=false;var direction={x:0,y:0};var initDone=false;var root=document.documentElement;var activeElement;var observer;var deltaBuffer=[120,120,120];var key={left:37,up:38,right:39,down:40,spacebar:32,pageup:33,pagedown:34,end:35,home:36};function initTest(){var disableKeyboard=false;if(document.URL.indexOf("google.com/reader/view")>-1){disableKeyboard=true}if(options.excluded){var domains=options.excluded.split(/[,\n] ?/);domains.push("mail.google.com");for(var i=domains.length;i--;){if(document.URL.indexOf(domains[i])>-1){observer&&observer.disconnect();removeEvent("mousewheel",wheel);disableKeyboard=true;isExcluded=true;break}}}if(disableKeyboard){removeEvent("keydown",keydown)}if(options.keyboardSupport&&!disableKeyboard){addEvent("keydown",keydown)}}function init(){if(!document.body)return;var body=document.body;var html=document.documentElement;var windowHeight=window.innerHeight;var scrollHeight=body.scrollHeight;root=(document.compatMode.indexOf('CSS')>=0)?html:body;activeElement=body;initTest();initDone=true;if(top!=self){isFrame=true}else if(scrollHeight>windowHeight&&(body.offsetHeight<=windowHeight||html.offsetHeight<=windowHeight)){var pending=false;var refresh=function(){if(!pending&&html.scrollHeight!=document.height){pending=true;setTimeout(function(){html.style.height=document.height+'px';pending=false},500)}};html.style.height='auto';setTimeout(refresh,10);var config={attributes:true,childList:true,characterData:false};observer=new MutationObserver(refresh);observer.observe(body,config);if(root.offsetHeight<=windowHeight){var underlay=document.createElement("div");underlay.style.clear="both";body.appendChild(underlay)}}if(document.URL.indexOf("mail.google.com")>-1){var s=document.createElement("style");s.innerHTML=".iu { visibility: hidden }";(document.getElementsByTagName("head")[0]||html).appendChild(s)}else if(document.URL.indexOf("www.facebook.com")>-1){var home_stream=document.getElementById("home_stream");home_stream&&(home_stream.style.webkitTransform="translateZ(0)")}if(!options.fixedBackground&&!isExcluded){body.style.backgroundAttachment="scroll";html.style.backgroundAttachment="scroll"}}var que=[];var pending=false;var lastScroll=+new Date;function scrollArray(elem,left,top,delay){delay||(delay=1000);directionCheck(left,top);if(options.accelerationMax!=1){var now=+new Date;var elapsed=now-lastScroll;if(elapsed<options.accelerationDelta){var factor=(1+(30/elapsed))/2;if(factor>1){factor=Math.min(factor,options.accelerationMax);left*=factor;top*=factor}}lastScroll=+new Date}que.push({x:left,y:top,lastX:(left<0)?0.99:-0.99,lastY:(top<0)?0.99:-0.99,start:+new Date});if(pending){return}var scrollWindow=(elem===document.body);var step=function(time){var now=+new Date;var scrollX=0;var scrollY=0;for(var i=0;i<que.length;i++){var item=que[i];var elapsed=now-item.start;var finished=(elapsed>=options.animationTime);var position=(finished)?1:elapsed/options.animationTime;if(options.pulseAlgorithm){position=pulse(position)}var x=(item.x*position-item.lastX)>>0;var y=(item.y*position-item.lastY)>>0;scrollX+=x;scrollY+=y;item.lastX+=x;item.lastY+=y;if(finished){que.splice(i,1);i--}}if(scrollWindow){window.scrollBy(scrollX,scrollY)}else{if(scrollX)elem.scrollLeft+=scrollX;if(scrollY)elem.scrollTop+=scrollY}if(!left&&!top){que=[]}if(que.length){requestFrame(step,elem,(delay/options.frameRate+1))}else{pending=false}};requestFrame(step,elem,0);pending=true}function wheel(event){if(!initDone){init()}var target=event.target;var overflowing=overflowingAncestor(target);if(!overflowing||event.defaultPrevented||isNodeName(activeElement,"embed")||(isNodeName(target,"embed")&&/\.pdf/i.test(target.src))){return true}var deltaX=event.wheelDeltaX||0;var deltaY=event.wheelDeltaY||0;if(!deltaX&&!deltaY){deltaY=event.wheelDelta||0}if(!options.touchpadSupport&&isTouchpad(deltaY)){return true}if(Math.abs(deltaX)>1.2){deltaX*=options.stepSize/120}if(Math.abs(deltaY)>1.2){deltaY*=options.stepSize/120}scrollArray(overflowing,-deltaX,-deltaY);event.preventDefault()}function keydown(event){var target=event.target;var modifier=event.ctrlKey||event.altKey||event.metaKey||(event.shiftKey&&event.keyCode!==key.spacebar);if(/input|textarea|select|embed/i.test(target.nodeName)||target.isContentEditable||event.defaultPrevented||modifier){return true}if(isNodeName(target,"button")&&event.keyCode===key.spacebar){return true}var shift,x=0,y=0;var elem=overflowingAncestor(activeElement);var clientHeight=elem.clientHeight;if(elem==document.body){clientHeight=window.innerHeight}switch(event.keyCode){case key.up:y=-options.arrowScroll;break;case key.down:y=options.arrowScroll;break;case key.spacebar:shift=event.shiftKey?1:-1;y=-shift*clientHeight*0.9;break;case key.pageup:y=-clientHeight*0.9;break;case key.pagedown:y=clientHeight*0.9;break;case key.home:y=-elem.scrollTop;break;case key.end:var damt=elem.scrollHeight-elem.scrollTop-clientHeight;y=(damt>0)?damt+10:0;break;case key.left:x=-options.arrowScroll;break;case key.right:x=options.arrowScroll;break;default:return true}scrollArray(elem,x,y);event.preventDefault()}function mousedown(event){activeElement=event.target}var cache={};setInterval(function(){cache={}},10*1000);var uniqueID=(function(){var i=0;return function(el){return el.uniqueID||(el.uniqueID=i++)}})();function setCache(elems,overflowing){for(var i=elems.length;i--;)cache[uniqueID(elems[i])]=overflowing;return overflowing}function overflowingAncestor(el){var elems=[];var rootScrollHeight=root.scrollHeight;do{var cached=cache[uniqueID(el)];if(cached){return setCache(elems,cached)}elems.push(el);if(rootScrollHeight===el.scrollHeight){if(!isFrame||root.clientHeight+10<rootScrollHeight){return setCache(elems,document.body)}}else if(el.clientHeight+10<el.scrollHeight){overflow=getComputedStyle(el,"").getPropertyValue("overflow-y");if(overflow==="scroll"||overflow==="auto"){return setCache(elems,el)}}}while(el=el.parentNode)}function addEvent(type,fn,bubble){window.addEventListener(type,fn,(bubble||false))}function removeEvent(type,fn,bubble){window.removeEventListener(type,fn,(bubble||false))}function isNodeName(el,tag){return(el.nodeName||"").toLowerCase()===tag.toLowerCase()}function directionCheck(x,y){x=(x>0)?1:-1;y=(y>0)?1:-1;if(direction.x!==x||direction.y!==y){direction.x=x;direction.y=y;que=[];lastScroll=0}}var deltaBufferTimer;function isTouchpad(deltaY){if(!deltaY)return;deltaY=Math.abs(deltaY);deltaBuffer.push(deltaY);deltaBuffer.shift();clearTimeout(deltaBufferTimer);var allEquals=(deltaBuffer[0]==deltaBuffer[1]&&deltaBuffer[1]==deltaBuffer[2]);var allDivisable=(isDivisible(deltaBuffer[0],120)&&isDivisible(deltaBuffer[1],120)&&isDivisible(deltaBuffer[2],120));return!(allEquals||allDivisable)}function isDivisible(n,divisor){return(Math.floor(n/divisor)==n/divisor)}var requestFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||function(callback,element,delay){window.setTimeout(callback,delay||(1000/60))}})();var MutationObserver=window.MutationObserver||window.WebKitMutationObserver;function pulse_(x){var val,start,expx;x=x*options.pulseScale;if(x<1){val=x-(1-Math.exp(-x))}else{start=Math.exp(-1);x-=1;expx=1-Math.exp(-x);val=start+(expx*(1-start))}return val*options.pulseNormalize}function pulse(x){if(x>=1)return 1;if(x<=0)return 0;if(options.pulseNormalize==1){options.pulseNormalize/=pulse_(1)}return pulse_(x)}addEvent("mousedown",mousedown);addEvent("mousewheel",wheel);addEvent("load",init)}});if(navigator.userAgent.toLowerCase().indexOf('chrome')>-1){$.smoothScroll()}})(jQuery);(function($){var _previousResizeWidth=-1,_updateTimeout=-1;var _rows=function(elements){var tolerance=1,$elements=$(elements),lastTop=null,rows=[];$elements.each(function(){var $that=$(this),top=$that.offset().top-_parse($that.css('margin-top')),lastRow=rows.length>0?rows[rows.length-1]:null;if(lastRow===null){rows.push($that)}else{if(Math.floor(Math.abs(lastTop-top))<=tolerance){rows[rows.length-1]=lastRow.add($that)}else{rows.push($that)}}lastTop=top});return rows};var _parse=function(value){return parseFloat(value)||0};var _parseOptions=function(options){var opts={byRow:true,remove:false,property:'height'};if(typeof options==='object'){return $.extend(opts,options)}if(typeof options==='boolean'){opts.byRow=options}else if(options==='remove'){opts.remove=true}return opts};var matchHeight=$.fn.matchHeight=function(options){var opts=_parseOptions(options);if(opts.remove){var that=this;this.css(opts.property,'');$.each(matchHeight._groups,function(key,group){group.elements=group.elements.not(that)});return this}if(this.length<=1)return this;matchHeight._groups.push({elements:this,options:opts});matchHeight._apply(this,opts);return this};matchHeight._groups=[];matchHeight._throttle=80;matchHeight._maintainScroll=false;matchHeight._beforeUpdate=null;matchHeight._afterUpdate=null;matchHeight._apply=function(elements,options){var opts=_parseOptions(options),$elements=$(elements),rows=[$elements];var scrollTop=$(window).scrollTop(),htmlHeight=$('html').outerHeight(true);var $hiddenParents=$elements.parents().filter(':hidden');$hiddenParents.each(function(){var $that=$(this);$that.data('style-cache',$that.attr('style'))});$hiddenParents.css('display','block');if(opts.byRow){$elements.each(function(){var $that=$(this),display=$that.css('display')==='inline-block'?'inline-block':'block';$that.data('style-cache',$that.attr('style'));$that.css({'display':display,'padding-top':'0','padding-bottom':'0','margin-top':'0','margin-bottom':'0','border-top-width':'0','border-bottom-width':'0','height':'100px'})});rows=_rows($elements);$elements.each(function(){var $that=$(this);$that.attr('style',$that.data('style-cache')||'')})}$.each(rows,function(key,row){var $row=$(row),maxHeight=0;if(opts.byRow&&$row.length<=1){$row.css(opts.property,'');return}$row.each(function(){var $that=$(this),display=$that.css('display')==='inline-block'?'inline-block':'block';var css={'display':display};css[opts.property]='';$that.css(css);if($that.outerHeight(false)>maxHeight)maxHeight=$that.outerHeight(false);$that.css('display','')});$row.each(function(){var $that=$(this),verticalPadding=0;if($that.css('box-sizing')!=='border-box'){verticalPadding+=_parse($that.css('border-top-width'))+_parse($that.css('border-bottom-width'));verticalPadding+=_parse($that.css('padding-top'))+_parse($that.css('padding-bottom'))}$that.css(opts.property,maxHeight-verticalPadding)})});$hiddenParents.each(function(){var $that=$(this);$that.attr('style',$that.data('style-cache')||null)});if(matchHeight._maintainScroll)$(window).scrollTop((scrollTop/htmlHeight)*$('html').outerHeight(true));return this};matchHeight._applyDataApi=function(){var groups={};$('[data-match-height], [data-mh]').each(function(){var $this=$(this),groupId=$this.attr('data-match-height')||$this.attr('data-mh');if(groupId in groups){groups[groupId]=groups[groupId].add($this)}else{groups[groupId]=$this}});$.each(groups,function(){this.matchHeight(true)})};var _update=function(event){if(matchHeight._beforeUpdate)matchHeight._beforeUpdate(event,matchHeight._groups);$.each(matchHeight._groups,function(){matchHeight._apply(this.elements,this.options)});if(matchHeight._afterUpdate)matchHeight._afterUpdate(event,matchHeight._groups)};matchHeight._update=function(throttle,event){if(event&&event.type==='resize'){var windowWidth=$(window).width();if(windowWidth===_previousResizeWidth)return;_previousResizeWidth=windowWidth}if(!throttle){_update(event)}else if(_updateTimeout===-1){_updateTimeout=setTimeout(function(){_update(event);_updateTimeout=-1},matchHeight._throttle)}};$(matchHeight._applyDataApi);$(window).bind('load',function(event){matchHeight._update(false,event)});$(window).bind('resize orientationchange',function(event){matchHeight._update(true,event)})})(jQuery);(function($){"use strict";$.fn.pin=function(options){var scrollY=0,elements=[],disabled=false,$window=$(window);options=options||{};var recalculateLimits=function(){for(var i=0,len=elements.length;i<len;i++){var $this=elements[i];if(options.minWidth&&$window.width()<=options.minWidth){if($this.parent().is(".pin-wrapper")){$this.unwrap()}$this.css({width:"",left:"",top:"",position:""});if(options.activeClass){$this.removeClass(options.activeClass)}disabled=true;continue}else{disabled=false}var $container=options.containerSelector?$this.closest(options.containerSelector):$(document.body);var offset=$this.offset();var containerOffset=$container.offset();var parentOffset=$this.parent().offset();if(!$this.parent().is(".pin-wrapper")){$this.wrap("<div class='pin-wrapper'>")}var pad=$.extend({top:0,bottom:0},options.padding||{});$this.data("pin",{pad:pad,from:(options.containerSelector?containerOffset.top:offset.top)-pad.top,to:containerOffset.top+$container.height()-$this.outerHeight()-pad.bottom,end:containerOffset.top+$container.height(),parentTop:parentOffset.top});$this.css({width:$this.outerWidth()});$this.parent().css("height",$this.outerHeight())}};var onScroll=function(){if(disabled){return}scrollY=$window.scrollTop();var elmts=[];for(var i=0,len=elements.length;i<len;i++){var $this=$(elements[i]),data=$this.data("pin");if(!data){continue}elmts.push($this);var from=data.from-data.pad.bottom,to=data.to-data.pad.top;if(from+$this.outerHeight()>data.end){$this.css('position','');continue}if(from<scrollY&&to>scrollY){!($this.css("position")=="fixed")&&$this.css({left:$this.offset().left,top:data.pad.top}).css("position","fixed");if(options.activeClass){$this.addClass(options.activeClass)}}else if(scrollY>=to){$this.css({left:"",top:to-data.parentTop+data.pad.top}).css("position","absolute");if(options.activeClass){$this.addClass(options.activeClass)}}else{$this.css({position:"",top:"",left:""});if(options.activeClass){$this.removeClass(options.activeClass)}}}elements=elmts};var update=function(){recalculateLimits();onScroll()};this.each(function(){var $this=$(this),data=$(this).data('pin')||{};if(data&&data.update){return}elements.push($this);$("img",this).one("load",recalculateLimits);data.update=update;$(this).data('pin',data)});$window.scroll(onScroll);$window.resize(function(){recalculateLimits()});recalculateLimits();$window.load(update);$(window).on('stickyMenu.active stickyMenu.deactive',function(){update()});return this}})(jQuery);!(function (root, factory) { if (typeof define === 'function' && define.amd) { define(['jquery'], factory) } else if (typeof exports === 'object') { factory(require('jquery')) } else { factory(root.jQuery) } })(this, function ($) { 'use strict'; var PLUGIN_NAME = 'vide'; var DEFAULTS = { volume: 1, playbackRate: 1, muted: true, loop: true, autoplay: true, position: '50% 50%', posterType: 'detect', resizing: true }; function parseOptions(str) { var obj = {}; var delimiterIndex; var option; var prop; var val; var arr; var len; var i; arr = str.replace(/\s*:\s*/g, ':').replace(/\s*,\s*/g, ',').split(','); for (i = 0, len = arr.length; i < len; i++) { option = arr[i]; if (option.search(/^(http|https|ftp):\/\//) !== -1 || option.search(':') === -1) { break } delimiterIndex = option.indexOf(':'); prop = option.substring(0, delimiterIndex); val = option.substring(delimiterIndex + 1); if (!val) { val = undefined } if (typeof val === 'string') { val = val === 'true' || (val === 'false' ? false : val) } if (typeof val === 'string') { val = !isNaN(val) ? +val : val } obj[prop] = val } if (prop == null && val == null) { return str } return obj } function parsePosition(str) { str = '' + str; var args = str.split(/\s+/); var x = '50%'; var y = '50%'; var len; var arg; var i; for (i = 0, len = args.length; i < len; i++) { arg = args[i]; if (arg === 'left') { x = '0%' } else if (arg === 'right') { x = '100%' } else if (arg === 'top') { y = '0%' } else if (arg === 'bottom') { y = '100%' } else if (arg === 'center') { if (i === 0) { x = '50%' } else { y = '50%' } } else { if (i === 0) { x = arg } else { y = arg } } } return { x: x, y: y } } function findPoster(path, callback) { var onLoad = function () { callback(this.src) }; $('<img src="' + path + '.gif">').load(onLoad); $('<img src="' + path + '.jpg">').load(onLoad); $('<img src="' + path + '.jpeg">').load(onLoad); $('<img src="' + path + '.png">').load(onLoad) } function Vide(element, path, options) { this.$element = $(element); if (typeof path === 'string') { path = parseOptions(path) } if (!options) { options = {} } else if (typeof options === 'string') { options = parseOptions(options) } if (typeof path === 'string') { path = path.replace(/\.\w*$/, '') } else if (typeof path === 'object') { for (var i in path) { if (path.hasOwnProperty(i)) { path[i] = path[i].replace(/\.\w*$/, '') } } } this.settings = $.extend({}, DEFAULTS, options); this.path = path; this.init() } Vide.prototype.init = function () { var vide = this; var position = parsePosition(vide.settings.position); var sources = ''; var poster; vide.$wrapper = $('<div>').css({ position: 'absolute', 'z-index': -1, top: 0, left: 0, bottom: 0, right: 0, overflow: 'hidden', '-webkit-background-size': 'cover', '-moz-background-size': 'cover', '-o-background-size': 'cover', 'background-size': 'cover', 'background-repeat': 'no-repeat', 'background-position': position.x + ' ' + position.y }); poster = vide.path; if (typeof vide.path === 'object') { if (vide.path.poster) { poster = vide.path.poster } else { if (vide.path.mp4) { poster = vide.path.mp4 } else if (vide.path.webm) { poster = vide.path.webm } else if (vide.path.ogv) { poster = vide.path.ogv } } } if (vide.settings.posterType === 'detect') { findPoster(poster, function (url) { vide.$wrapper.css('background-image', 'url(' + url + ')') }) } else if (vide.settings.posterType !== 'none') { vide.$wrapper.css('background-image', 'url(' + poster + '.' + vide.settings.posterType + ')') } if (vide.$element.css('position') === 'static') { vide.$element.css('position', 'relative') } vide.$element.prepend(vide.$wrapper); if (typeof vide.path === 'object') { if (vide.path.mp4) { sources += '<source src="' + vide.path.mp4 + '.mp4" type="video/mp4">' } if (vide.path.webm) { sources += '<source src="' + vide.path.webm + '.webm" type="video/webm">' } if (vide.path.ogv) { sources += '<source src="' + vide.path.ogv + '.ogv" type="video/ogv">' } vide.$video = $('<video>' + sources + '</video>') } else { vide.$video = $('<video>' + '<source src="' + vide.path + '.mp4" type="video/mp4">' + '<source src="' + vide.path + '.webm" type="video/webm">' + '<source src="' + vide.path + '.ogv" type="video/ogg">' + '</video>') } vide.$video.prop({ autoplay: vide.settings.autoplay, loop: vide.settings.loop, volume: vide.settings.volume, muted: vide.settings.muted, defaultMuted: vide.settings.muted, playbackRate: vide.settings.playbackRate, defaultPlaybackRate: vide.settings.playbackRate }).css({ margin: 'auto', position: 'absolute', 'z-index': -1, top: position.y, left: position.x, '-webkit-transform': 'translate(-' + position.x + ', -' + position.y + ')', '-ms-transform': 'translate(-' + position.x + ', -' + position.y + ')', '-moz-transform': 'translate(-' + position.x + ', -' + position.y + ')', transform: 'translate(-' + position.x + ', -' + position.y + ')', visibility: 'hidden' }).on('canplaythrough.' + PLUGIN_NAME, function () { vide.$video.css('visibility', 'visible'); vide.resize(); vide.$wrapper.css('background-image', 'none') }); vide.$element.on('resize.' + PLUGIN_NAME, function () { if (vide.settings.resizing) { vide.resize() } }); vide.$wrapper.append(vide.$video) }; Vide.prototype.getVideoObject = function () { return this.$video[0] }; Vide.prototype.resize = function () { if (!this.$video) { return } var videoHeight = this.$video[0].videoHeight; var videoWidth = this.$video[0].videoWidth; var wrapperHeight = this.$wrapper.height(); var wrapperWidth = this.$wrapper.width(); if (wrapperWidth / videoWidth > wrapperHeight / videoHeight) { this.$video.css({ width: wrapperWidth + 2, height: 'auto' }) } else { this.$video.css({ width: 'auto', height: wrapperHeight + 2 }) } }; Vide.prototype.destroy = function () { this.$element.off(PLUGIN_NAME); if (this.$video) { this.$video.off(PLUGIN_NAME) } delete $[PLUGIN_NAME].lookup[this.index]; this.$element.removeData(PLUGIN_NAME); this.$wrapper.remove() }; $[PLUGIN_NAME] = { lookup: [] }; $.fn[PLUGIN_NAME] = function (path, options) { var instance; this.each(function () { instance = $.data(this, PLUGIN_NAME); if (instance) { instance.destroy() } instance = new Vide(this, path, options); instance.index = $[PLUGIN_NAME].lookup.push(instance) - 1; $.data(this, PLUGIN_NAME, instance) }); return this }; $(document).ready(function () { var $window = $(window); $window.on('resize.' + PLUGIN_NAME, function () { for (var len = $[PLUGIN_NAME].lookup.length, i = 0, instance; i < len; i++) { instance = $[PLUGIN_NAME].lookup[i]; if (instance && instance.settings.resizing) { instance.resize() } } }); $window.on('unload.' + PLUGIN_NAME, function () { return false }); $(document).find('[data-' + PLUGIN_NAME + '-bg]').each(function (i, element) { var $element = $(element); var options = $element.data(PLUGIN_NAME + '-options'); var path = $element.data(PLUGIN_NAME + '-bg'); $element[PLUGIN_NAME](path, options) }) }) });(function (root, factory) { if (typeof exports === 'object') { module.exports = factory(require('jquery')) } else if (typeof define === 'function' && define.amd) { define(['jquery'], factory) } else { factory(root.jQuery) } }(this, function ($) { var CanvasRenderer = function (el, options) { var cachedBackground; var canvas = document.createElement('canvas'); el.appendChild(canvas); if (typeof (G_vmlCanvasManager) !== 'undefined') { G_vmlCanvasManager.initElement(canvas) } var ctx = canvas.getContext('2d'); canvas.width = canvas.height = options.size; var scaleBy = 1; if (window.devicePixelRatio > 1) { scaleBy = window.devicePixelRatio; canvas.style.width = canvas.style.height = [options.size, 'px'].join(''); canvas.width = canvas.height = options.size * scaleBy; ctx.scale(scaleBy, scaleBy) } ctx.translate(options.size / 2, options.size / 2); ctx.rotate((-1 / 2 + options.rotate / 180) * Math.PI); var radius = (options.size - options.lineWidth) / 2; if (options.scaleColor && options.scaleLength) { radius -= options.scaleLength + 2 } Date.now = Date.now || function () { return +(new Date()) }; var drawCircle = function (color, lineWidth, percent) { percent = Math.min(Math.max(-1, percent || 0), 1); var isNegative = percent <= 0 ? true : false; ctx.beginPath(); ctx.arc(0, 0, radius, 0, Math.PI * 2 * percent, isNegative); ctx.strokeStyle = color; ctx.lineWidth = lineWidth; ctx.stroke() }; var drawScale = function () { var offset; var length; ctx.lineWidth = 1; ctx.fillStyle = options.scaleColor; ctx.save(); for (var i = 24; i > 0; --i) { if (i % 6 === 0) { length = options.scaleLength; offset = 0 } else { length = options.scaleLength * 0.6; offset = options.scaleLength - length } ctx.fillRect(-options.size / 2 + offset, 0, length, 1); ctx.rotate(Math.PI / 12) } ctx.restore() }; var reqAnimationFrame = (function () { return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (callback) { window.setTimeout(callback, 1000 / 60) } }()); var drawBackground = function () { if (options.scaleColor) drawScale(); if (options.trackColor) drawCircle(options.trackColor, options.trackWidth || options.lineWidth, 1) }; this.getCanvas = function () { return canvas }; this.getCtx = function () { return ctx }; this.clear = function () { ctx.clearRect(options.size / -2, options.size / -2, options.size, options.size) }; this.draw = function (percent) { if (!!options.scaleColor || !!options.trackColor) { if (ctx.getImageData && ctx.putImageData) { if (!cachedBackground) { drawBackground(); cachedBackground = ctx.getImageData(0, 0, options.size * scaleBy, options.size * scaleBy) } else { ctx.putImageData(cachedBackground, 0, 0) } } else { this.clear(); drawBackground() } } else { this.clear() } ctx.lineCap = options.lineCap; var color; if (typeof (options.barColor) === 'function') { color = options.barColor(percent) } else { color = options.barColor } drawCircle(color, options.lineWidth, percent / 100) }.bind(this); this.animate = function (from, to) { var startTime = Date.now(); options.onStart(from, to); var animation = function () { var process = Math.min(Date.now() - startTime, options.animate.duration); var currentValue = options.easing(this, process, from, to - from, options.animate.duration); this.draw(currentValue); options.onStep(from, to, currentValue); if (process >= options.animate.duration) { options.onStop(from, to) } else { reqAnimationFrame(animation) } }.bind(this); reqAnimationFrame(animation) }.bind(this) }; var EasyPieChart = function (el, opts) { var defaultOptions = { barColor: '#ef1e25', trackColor: '#f9f9f9', scaleColor: '#dfe0e0', scaleLength: 5, lineCap: 'round', lineWidth: 3, trackWidth: undefined, size: 110, rotate: 0, animate: { duration: 1000, enabled: true }, easing: function (x, t, b, c, d) { t = t / (d / 2); if (t < 1) { return c / 2 * t * t + b } return -c / 2 * ((--t) * (t - 2) - 1) + b }, onStart: function (from, to) { return }, onStep: function (from, to, currentValue) { return }, onStop: function (from, to) { return } }; if (typeof (CanvasRenderer) !== 'undefined') { defaultOptions.renderer = CanvasRenderer } else if (typeof (SVGRenderer) !== 'undefined') { defaultOptions.renderer = SVGRenderer } else { throw new Error('Please load either the SVG- or the CanvasRenderer') } var options = {}; var currentValue = 0; var init = function () { this.el = el; this.options = options; for (var i in defaultOptions) { if (defaultOptions.hasOwnProperty(i)) { options[i] = opts && typeof (opts[i]) !== 'undefined' ? opts[i] : defaultOptions[i]; if (typeof (options[i]) === 'function') { options[i] = options[i].bind(this) } } } if (typeof (options.easing) === 'string' && typeof (jQuery) !== 'undefined' && jQuery.isFunction(jQuery.easing[options.easing])) { options.easing = jQuery.easing[options.easing] } else { options.easing = defaultOptions.easing } if (typeof (options.animate) === 'number') { options.animate = { duration: options.animate, enabled: true } } if (typeof (options.animate) === 'boolean' && !options.animate) { options.animate = { duration: 1000, enabled: options.animate } } this.renderer = new options.renderer(el, options); this.renderer.draw(currentValue); if (el.dataset && el.dataset.percent) { this.update(parseFloat(el.dataset.percent)) } else if (el.getAttribute && el.getAttribute('data-percent')) { this.update(parseFloat(el.getAttribute('data-percent'))) } }.bind(this); this.update = function (newValue) { newValue = parseFloat(newValue); if (options.animate.enabled) { this.renderer.animate(currentValue, newValue) } else { this.renderer.draw(newValue) } currentValue = newValue; return this }.bind(this); this.disableAnimation = function () { options.animate.enabled = false; return this }; this.enableAnimation = function () { options.animate.enabled = true; return this }; init() }; $.fn.easyPieChart = function (options) { return this.each(function () { var instanceOptions; if (!$.data(this, 'easyPieChart')) { instanceOptions = $.extend({}, options, $(this).data()); $.data(this, 'easyPieChart', new EasyPieChart(this, instanceOptions)) } }) } }));/*!
 * Isotope PACKAGED v3.0.5
 *
 * Licensed GPLv3 for open source use
 * or Isotope Commercial License for commercial use
 *
 * https://isotope.metafizzy.co
 * Copyright 2017 Metafizzy
 */

!function (t, e) { "function" == typeof define && define.amd ? define("jquery-bridget/jquery-bridget", ["jquery"], function (i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("jquery")) : t.jQueryBridget = e(t, t.jQuery) }(window, function (t, e) { "use strict"; function i(i, s, a) { function u(t, e, o) { var n, s = "$()." + i + '("' + e + '")'; return t.each(function (t, u) { var h = a.data(u, i); if (!h) return void r(i + " not initialized. Cannot call methods, i.e. " + s); var d = h[e]; if (!d || "_" == e.charAt(0)) return void r(s + " is not a valid method"); var l = d.apply(h, o); n = void 0 === n ? l : n }), void 0 !== n ? n : t } function h(t, e) { t.each(function (t, o) { var n = a.data(o, i); n ? (n.option(e), n._init()) : (n = new s(o, e), a.data(o, i, n)) }) } a = a || e || t.jQuery, a && (s.prototype.option || (s.prototype.option = function (t) { a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)) }), a.fn[i] = function (t) { if ("string" == typeof t) { var e = n.call(arguments, 1); return u(this, t, e) } return h(this, t), this }, o(a)) } function o(t) { !t || t && t.bridget || (t.bridget = i) } var n = Array.prototype.slice, s = t.console, r = "undefined" == typeof s ? function () { } : function (t) { s.error(t) }; return o(e || t.jQuery), i }), function (t, e) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e() }("undefined" != typeof window ? window : this, function () { function t() { } var e = t.prototype; return e.on = function (t, e) { if (t && e) { var i = this._events = this._events || {}, o = i[t] = i[t] || []; return o.indexOf(e) == -1 && o.push(e), this } }, e.once = function (t, e) { if (t && e) { this.on(t, e); var i = this._onceEvents = this._onceEvents || {}, o = i[t] = i[t] || {}; return o[e] = !0, this } }, e.off = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { var o = i.indexOf(e); return o != -1 && i.splice(o, 1), this } }, e.emitEvent = function (t, e) { var i = this._events && this._events[t]; if (i && i.length) { i = i.slice(0), e = e || []; for (var o = this._onceEvents && this._onceEvents[t], n = 0; n < i.length; n++) { var s = i[n], r = o && o[s]; r && (this.off(t, s), delete o[s]), s.apply(this, e) } return this } }, e.allOff = function () { delete this._events, delete this._onceEvents }, t }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("get-size/get-size", [], function () { return e() }) : "object" == typeof module && module.exports ? module.exports = e() : t.getSize = e() }(window, function () { "use strict"; function t(t) { var e = parseFloat(t), i = t.indexOf("%") == -1 && !isNaN(e); return i && e } function e() { } function i() { for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; e < h; e++) { var i = u[e]; t[i] = 0 } return t } function o(t) { var e = getComputedStyle(t); return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"), e } function n() { if (!d) { d = !0; var e = document.createElement("div"); e.style.width = "200px", e.style.padding = "1px 2px 3px 4px", e.style.borderStyle = "solid", e.style.borderWidth = "1px 2px 3px 4px", e.style.boxSizing = "border-box"; var i = document.body || document.documentElement; i.appendChild(e); var n = o(e); s.isBoxSizeOuter = r = 200 == t(n.width), i.removeChild(e) } } function s(e) { if (n(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType) { var s = o(e); if ("none" == s.display) return i(); var a = {}; a.width = e.offsetWidth, a.height = e.offsetHeight; for (var d = a.isBorderBox = "border-box" == s.boxSizing, l = 0; l < h; l++) { var f = u[l], c = s[f], m = parseFloat(c); a[f] = isNaN(m) ? 0 : m } var p = a.paddingLeft + a.paddingRight, y = a.paddingTop + a.paddingBottom, g = a.marginLeft + a.marginRight, v = a.marginTop + a.marginBottom, _ = a.borderLeftWidth + a.borderRightWidth, I = a.borderTopWidth + a.borderBottomWidth, z = d && r, x = t(s.width); x !== !1 && (a.width = x + (z ? 0 : p + _)); var S = t(s.height); return S !== !1 && (a.height = S + (z ? 0 : y + I)), a.innerWidth = a.width - (p + _), a.innerHeight = a.height - (y + I), a.outerWidth = a.width + g, a.outerHeight = a.height + v, a } } var r, a = "undefined" == typeof console ? e : function (t) { console.error(t) }, u = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], h = u.length, d = !1; return s }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? module.exports = e() : t.matchesSelector = e() }(window, function () { "use strict"; var t = function () { var t = window.Element.prototype; if (t.matches) return "matches"; if (t.matchesSelector) return "matchesSelector"; for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { var o = e[i], n = o + "MatchesSelector"; if (t[n]) return n } }(); return function (e, i) { return e[t](i) } }), function (t, e) { "function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function (i) { return e(t, i) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.matchesSelector) }(window, function (t, e) { var i = {}; i.extend = function (t, e) { for (var i in e) t[i] = e[i]; return t }, i.modulo = function (t, e) { return (t % e + e) % e }, i.makeArray = function (t) { var e = []; if (Array.isArray(t)) e = t; else if (t && "object" == typeof t && "number" == typeof t.length) for (var i = 0; i < t.length; i++) e.push(t[i]); else e.push(t); return e }, i.removeFrom = function (t, e) { var i = t.indexOf(e); i != -1 && t.splice(i, 1) }, i.getParent = function (t, i) { for (; t.parentNode && t != document.body;) if (t = t.parentNode, e(t, i)) return t }, i.getQueryElement = function (t) { return "string" == typeof t ? document.querySelector(t) : t }, i.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, i.filterFindElements = function (t, o) { t = i.makeArray(t); var n = []; return t.forEach(function (t) { if (t instanceof HTMLElement) { if (!o) return void n.push(t); e(t, o) && n.push(t); for (var i = t.querySelectorAll(o), s = 0; s < i.length; s++) n.push(i[s]) } }), n }, i.debounceMethod = function (t, e, i) { var o = t.prototype[e], n = e + "Timeout"; t.prototype[e] = function () { var t = this[n]; t && clearTimeout(t); var e = arguments, s = this; this[n] = setTimeout(function () { o.apply(s, e), delete s[n] }, i || 100) } }, i.docReady = function (t) { var e = document.readyState; "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t) }, i.toDashed = function (t) { return t.replace(/(.)([A-Z])/g, function (t, e, i) { return e + "-" + i }).toLowerCase() }; var o = t.console; return i.htmlInit = function (e, n) { i.docReady(function () { var s = i.toDashed(n), r = "data-" + s, a = document.querySelectorAll("[" + r + "]"), u = document.querySelectorAll(".js-" + s), h = i.makeArray(a).concat(i.makeArray(u)), d = r + "-options", l = t.jQuery; h.forEach(function (t) { var i, s = t.getAttribute(r) || t.getAttribute(d); try { i = s && JSON.parse(s) } catch (a) { return void (o && o.error("Error parsing " + r + " on " + t.className + ": " + a)) } var u = new e(t, i); l && l.data(t, n, u) }) }) }, i }), function (t, e) { "function" == typeof define && define.amd ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("ev-emitter"), require("get-size")) : (t.Outlayer = {}, t.Outlayer.Item = e(t.EvEmitter, t.getSize)) }(window, function (t, e) { "use strict"; function i(t) { for (var e in t) return !1; return e = null, !0 } function o(t, e) { t && (this.element = t, this.layout = e, this.position = { x: 0, y: 0 }, this._create()) } function n(t) { return t.replace(/([A-Z])/g, function (t) { return "-" + t.toLowerCase() }) } var s = document.documentElement.style, r = "string" == typeof s.transition ? "transition" : "WebkitTransition", a = "string" == typeof s.transform ? "transform" : "WebkitTransform", u = { WebkitTransition: "webkitTransitionEnd", transition: "transitionend" }[r], h = { transform: a, transition: r, transitionDuration: r + "Duration", transitionProperty: r + "Property", transitionDelay: r + "Delay" }, d = o.prototype = Object.create(t.prototype); d.constructor = o, d._create = function () { this._transn = { ingProperties: {}, clean: {}, onEnd: {} }, this.css({ position: "absolute" }) }, d.handleEvent = function (t) { var e = "on" + t.type; this[e] && this[e](t) }, d.getSize = function () { this.size = e(this.element) }, d.css = function (t) { var e = this.element.style; for (var i in t) { var o = h[i] || i; e[o] = t[i] } }, d.getPosition = function () { var t = getComputedStyle(this.element), e = this.layout._getOption("originLeft"), i = this.layout._getOption("originTop"), o = t[e ? "left" : "right"], n = t[i ? "top" : "bottom"], s = this.layout.size, r = o.indexOf("%") != -1 ? parseFloat(o) / 100 * s.width : parseInt(o, 10), a = n.indexOf("%") != -1 ? parseFloat(n) / 100 * s.height : parseInt(n, 10); r = isNaN(r) ? 0 : r, a = isNaN(a) ? 0 : a, r -= e ? s.paddingLeft : s.paddingRight, a -= i ? s.paddingTop : s.paddingBottom, this.position.x = r, this.position.y = a }, d.layoutPosition = function () { var t = this.layout.size, e = {}, i = this.layout._getOption("originLeft"), o = this.layout._getOption("originTop"), n = i ? "paddingLeft" : "paddingRight", s = i ? "left" : "right", r = i ? "right" : "left", a = this.position.x + t[n]; e[s] = this.getXValue(a), e[r] = ""; var u = o ? "paddingTop" : "paddingBottom", h = o ? "top" : "bottom", d = o ? "bottom" : "top", l = this.position.y + t[u]; e[h] = this.getYValue(l), e[d] = "", this.css(e), this.emitEvent("layout", [this]) }, d.getXValue = function (t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && !e ? t / this.layout.size.width * 100 + "%" : t + "px" }, d.getYValue = function (t) { var e = this.layout._getOption("horizontal"); return this.layout.options.percentPosition && e ? t / this.layout.size.height * 100 + "%" : t + "px" }, d._transitionTo = function (t, e) { this.getPosition(); var i = this.position.x, o = this.position.y, n = parseInt(t, 10), s = parseInt(e, 10), r = n === this.position.x && s === this.position.y; if (this.setPosition(t, e), r && !this.isTransitioning) return void this.layoutPosition(); var a = t - i, u = e - o, h = {}; h.transform = this.getTranslate(a, u), this.transition({ to: h, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 }) }, d.getTranslate = function (t, e) { var i = this.layout._getOption("originLeft"), o = this.layout._getOption("originTop"); return t = i ? t : -t, e = o ? e : -e, "translate3d(" + t + "px, " + e + "px, 0)" }, d.goTo = function (t, e) { this.setPosition(t, e), this.layoutPosition() }, d.moveTo = d._transitionTo, d.setPosition = function (t, e) { this.position.x = parseInt(t, 10), this.position.y = parseInt(e, 10) }, d._nonTransition = function (t) { this.css(t.to), t.isCleaning && this._removeStyles(t.to); for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this) }, d.transition = function (t) { if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t); var e = this._transn; for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0); if (t.from) { this.css(t.from); var o = this.element.offsetHeight; o = null } this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0 }; var l = "opacity," + n(a); d.enableTransition = function () { if (!this.isTransitioning) { var t = this.layout.options.transitionDuration; t = "number" == typeof t ? t + "ms" : t, this.css({ transitionProperty: l, transitionDuration: t, transitionDelay: this.staggerDelay || 0 }), this.element.addEventListener(u, this, !1) } }, d.onwebkitTransitionEnd = function (t) { this.ontransitionend(t) }, d.onotransitionend = function (t) { this.ontransitionend(t) }; var f = { "-webkit-transform": "transform" }; d.ontransitionend = function (t) { if (t.target === this.element) { var e = this._transn, o = f[t.propertyName] || t.propertyName; if (delete e.ingProperties[o], i(e.ingProperties) && this.disableTransition(), o in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[o]), o in e.onEnd) { var n = e.onEnd[o]; n.call(this), delete e.onEnd[o] } this.emitEvent("transitionEnd", [this]) } }, d.disableTransition = function () { this.removeTransitionStyles(), this.element.removeEventListener(u, this, !1), this.isTransitioning = !1 }, d._removeStyles = function (t) { var e = {}; for (var i in t) e[i] = ""; this.css(e) }; var c = { transitionProperty: "", transitionDuration: "", transitionDelay: "" }; return d.removeTransitionStyles = function () { this.css(c) }, d.stagger = function (t) { t = isNaN(t) ? 0 : t, this.staggerDelay = t + "ms" }, d.removeElem = function () { this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]) }, d.remove = function () { return r && parseFloat(this.layout.options.transitionDuration) ? (this.once("transitionEnd", function () { this.removeElem() }), void this.hide()) : void this.removeElem() }, d.reveal = function () { delete this.isHidden, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("visibleStyle"); e[i] = this.onRevealTransitionEnd, this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onRevealTransitionEnd = function () { this.isHidden || this.emitEvent("reveal") }, d.getHideRevealTransitionEndProperty = function (t) { var e = this.layout.options[t]; if (e.opacity) return "opacity"; for (var i in e) return i }, d.hide = function () { this.isHidden = !0, this.css({ display: "" }); var t = this.layout.options, e = {}, i = this.getHideRevealTransitionEndProperty("hiddenStyle"); e[i] = this.onHideTransitionEnd, this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: e }) }, d.onHideTransitionEnd = function () { this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide")) }, d.destroy = function () { this.css({ position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: "" }) }, o }), function (t, e) { "use strict"; "function" == typeof define && define.amd ? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function (i, o, n, s) { return e(t, i, o, n, s) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item) }(window, function (t, e, i, o, n) { "use strict"; function s(t, e) { var i = o.getQueryElement(t); if (!i) return void (u && u.error("Bad element for " + this.constructor.namespace + ": " + (i || t))); this.element = i, h && (this.$element = h(this.element)), this.options = o.extend({}, this.constructor.defaults), this.option(e); var n = ++l; this.element.outlayerGUID = n, f[n] = this, this._create(); var s = this._getOption("initLayout"); s && this.layout() } function r(t) { function e() { t.apply(this, arguments) } return e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e } function a(t) { if ("number" == typeof t) return t; var e = t.match(/(^\d*\.?\d*)(\w*)/), i = e && e[1], o = e && e[2]; if (!i.length) return 0; i = parseFloat(i); var n = m[o] || 1; return i * n } var u = t.console, h = t.jQuery, d = function () { }, l = 0, f = {}; s.namespace = "outlayer", s.Item = n, s.defaults = { containerStyle: { position: "relative" }, initLayout: !0, originLeft: !0, originTop: !0, resize: !0, resizeContainer: !0, transitionDuration: "0.4s", hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, visibleStyle: { opacity: 1, transform: "scale(1)" } }; var c = s.prototype; o.extend(c, e.prototype), c.option = function (t) { o.extend(this.options, t) }, c._getOption = function (t) { var e = this.constructor.compatOptions[t]; return e && void 0 !== this.options[e] ? this.options[e] : this.options[t] }, s.compatOptions = { initLayout: "isInitLayout", horizontal: "isHorizontal", layoutInstant: "isLayoutInstant", originLeft: "isOriginLeft", originTop: "isOriginTop", resize: "isResizeBound", resizeContainer: "isResizingContainer" }, c._create = function () { this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), o.extend(this.element.style, this.options.containerStyle); var t = this._getOption("resize"); t && this.bindResize() }, c.reloadItems = function () { this.items = this._itemize(this.element.children) }, c._itemize = function (t) { for (var e = this._filterFindItemElements(t), i = this.constructor.Item, o = [], n = 0; n < e.length; n++) { var s = e[n], r = new i(s, this); o.push(r) } return o }, c._filterFindItemElements = function (t) { return o.filterFindElements(t, this.options.itemSelector) }, c.getItemElements = function () { return this.items.map(function (t) { return t.element }) }, c.layout = function () { this._resetLayout(), this._manageStamps(); var t = this._getOption("layoutInstant"), e = void 0 !== t ? t : !this._isLayoutInited; this.layoutItems(this.items, e), this._isLayoutInited = !0 }, c._init = c.layout, c._resetLayout = function () { this.getSize() }, c.getSize = function () { this.size = i(this.element) }, c._getMeasurement = function (t, e) { var o, n = this.options[t]; n ? ("string" == typeof n ? o = this.element.querySelector(n) : n instanceof HTMLElement && (o = n), this[t] = o ? i(o)[e] : n) : this[t] = 0 }, c.layoutItems = function (t, e) { t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout() }, c._getItemsForLayout = function (t) { return t.filter(function (t) { return !t.isIgnored }) }, c._layoutItems = function (t, e) { if (this._emitCompleteOnItems("layout", t), t && t.length) { var i = []; t.forEach(function (t) { var o = this._getItemLayoutPosition(t); o.item = t, o.isInstant = e || t.isLayoutInstant, i.push(o) }, this), this._processLayoutQueue(i) } }, c._getItemLayoutPosition = function () { return { x: 0, y: 0 } }, c._processLayoutQueue = function (t) { this.updateStagger(), t.forEach(function (t, e) { this._positionItem(t.item, t.x, t.y, t.isInstant, e) }, this) }, c.updateStagger = function () { var t = this.options.stagger; return null === t || void 0 === t ? void (this.stagger = 0) : (this.stagger = a(t), this.stagger) }, c._positionItem = function (t, e, i, o, n) { o ? t.goTo(e, i) : (t.stagger(n * this.stagger), t.moveTo(e, i)) }, c._postLayout = function () { this.resizeContainer() }, c.resizeContainer = function () { var t = this._getOption("resizeContainer"); if (t) { var e = this._getContainerSize(); e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1)) } }, c._getContainerSize = d, c._setContainerMeasure = function (t, e) { if (void 0 !== t) { var i = this.size; i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px" } }, c._emitCompleteOnItems = function (t, e) { function i() { n.dispatchEvent(t + "Complete", null, [e]) } function o() { r++, r == s && i() } var n = this, s = e.length; if (!e || !s) return void i(); var r = 0; e.forEach(function (e) { e.once(t, o) }) }, c.dispatchEvent = function (t, e, i) { var o = e ? [e].concat(i) : i; if (this.emitEvent(t, o), h) if (this.$element = this.$element || h(this.element), e) { var n = h.Event(e); n.type = t, this.$element.trigger(n, i) } else this.$element.trigger(t, i) }, c.ignore = function (t) { var e = this.getItem(t); e && (e.isIgnored = !0) }, c.unignore = function (t) { var e = this.getItem(t); e && delete e.isIgnored }, c.stamp = function (t) { t = this._find(t), t && (this.stamps = this.stamps.concat(t), t.forEach(this.ignore, this)) }, c.unstamp = function (t) { t = this._find(t), t && t.forEach(function (t) { o.removeFrom(this.stamps, t), this.unignore(t) }, this) }, c._find = function (t) { if (t) return "string" == typeof t && (t = this.element.querySelectorAll(t)), t = o.makeArray(t) }, c._manageStamps = function () { this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)) }, c._getBoundingRect = function () { var t = this.element.getBoundingClientRect(), e = this.size; this._boundingRect = { left: t.left + e.paddingLeft + e.borderLeftWidth, top: t.top + e.paddingTop + e.borderTopWidth, right: t.right - (e.paddingRight + e.borderRightWidth), bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) } }, c._manageStamp = d, c._getElementOffset = function (t) { var e = t.getBoundingClientRect(), o = this._boundingRect, n = i(t), s = { left: e.left - o.left - n.marginLeft, top: e.top - o.top - n.marginTop, right: o.right - e.right - n.marginRight, bottom: o.bottom - e.bottom - n.marginBottom }; return s }, c.handleEvent = o.handleEvent, c.bindResize = function () { t.addEventListener("resize", this), this.isResizeBound = !0 }, c.unbindResize = function () { t.removeEventListener("resize", this), this.isResizeBound = !1 }, c.onresize = function () { this.resize() }, o.debounceMethod(s, "onresize", 100), c.resize = function () { this.isResizeBound && this.needsResizeLayout() && this.layout() }, c.needsResizeLayout = function () { var t = i(this.element), e = this.size && t; return e && t.innerWidth !== this.size.innerWidth }, c.addItems = function (t) { var e = this._itemize(t); return e.length && (this.items = this.items.concat(e)), e }, c.appended = function (t) { var e = this.addItems(t); e.length && (this.layoutItems(e, !0), this.reveal(e)) }, c.prepended = function (t) { var e = this._itemize(t); if (e.length) { var i = this.items.slice(0); this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i) } }, c.reveal = function (t) { if (this._emitCompleteOnItems("reveal", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.reveal() }) } }, c.hide = function (t) { if (this._emitCompleteOnItems("hide", t), t && t.length) { var e = this.updateStagger(); t.forEach(function (t, i) { t.stagger(i * e), t.hide() }) } }, c.revealItemElements = function (t) { var e = this.getItems(t); this.reveal(e) }, c.hideItemElements = function (t) { var e = this.getItems(t); this.hide(e) }, c.getItem = function (t) { for (var e = 0; e < this.items.length; e++) { var i = this.items[e]; if (i.element == t) return i } }, c.getItems = function (t) { t = o.makeArray(t); var e = []; return t.forEach(function (t) { var i = this.getItem(t); i && e.push(i) }, this), e }, c.remove = function (t) { var e = this.getItems(t); this._emitCompleteOnItems("remove", e), e && e.length && e.forEach(function (t) { t.remove(), o.removeFrom(this.items, t) }, this) }, c.destroy = function () { var t = this.element.style; t.height = "", t.position = "", t.width = "", this.items.forEach(function (t) { t.destroy() }), this.unbindResize(); var e = this.element.outlayerGUID; delete f[e], delete this.element.outlayerGUID, h && h.removeData(this.element, this.constructor.namespace) }, s.data = function (t) { t = o.getQueryElement(t); var e = t && t.outlayerGUID; return e && f[e] }, s.create = function (t, e) { var i = r(s); return i.defaults = o.extend({}, s.defaults), o.extend(i.defaults, e), i.compatOptions = o.extend({}, s.compatOptions), i.namespace = t, i.data = s.data, i.Item = r(n), o.htmlInit(i, t), h && h.bridget && h.bridget(t, i), i }; var m = { ms: 1, s: 1e3 }; return s.Item = n, s }), function (t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/item", ["outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer)) }(window, function (t) { "use strict"; function e() { t.Item.apply(this, arguments) } var i = e.prototype = Object.create(t.Item.prototype), o = i._create; i._create = function () { this.id = this.layout.itemGUID++, o.call(this), this.sortData = {} }, i.updateSortData = function () { if (!this.isIgnored) { this.sortData.id = this.id, this.sortData["original-order"] = this.id, this.sortData.random = Math.random(); var t = this.layout.options.getSortData, e = this.layout._sorters; for (var i in t) { var o = e[i]; this.sortData[i] = o(this.element, this) } } }; var n = i.destroy; return i.destroy = function () { n.apply(this, arguments), this.css({ display: "" }) }, e }), function (t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) : "object" == typeof module && module.exports ? module.exports = e(require("get-size"), require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer)) }(window, function (t, e) { "use strict"; function i(t) { this.isotope = t, t && (this.options = t.options[this.namespace], this.element = t.element, this.items = t.filteredItems, this.size = t.size) } var o = i.prototype, n = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout", "_getOption"]; return n.forEach(function (t) { o[t] = function () { return e.prototype[t].apply(this.isotope, arguments) } }), o.needsVerticalResizeLayout = function () { var e = t(this.isotope.element), i = this.isotope.size && e; return i && e.innerHeight != this.isotope.size.innerHeight }, o._getMeasurement = function () { this.isotope._getMeasurement.apply(this, arguments) }, o.getColumnWidth = function () { this.getSegmentSize("column", "Width") }, o.getRowHeight = function () { this.getSegmentSize("row", "Height") }, o.getSegmentSize = function (t, e) { var i = t + e, o = "outer" + e; if (this._getMeasurement(i, o), !this[i]) { var n = this.getFirstItemSize(); this[i] = n && n[o] || this.isotope.size["inner" + e] } }, o.getFirstItemSize = function () { var e = this.isotope.filteredItems[0]; return e && e.element && t(e.element) }, o.layout = function () { this.isotope.layout.apply(this.isotope, arguments) }, o.getSize = function () { this.isotope.getSize(), this.size = this.isotope.size }, i.modes = {}, i.create = function (t, e) { function n() { i.apply(this, arguments) } return n.prototype = Object.create(o), n.prototype.constructor = n, e && (n.options = e), n.prototype.namespace = t, i.modes[t] = n, n }, i }), function (t, e) { "function" == typeof define && define.amd ? define("masonry-layout/masonry", ["outlayer/outlayer", "get-size/get-size"], e) : "object" == typeof module && module.exports ? module.exports = e(require("outlayer"), require("get-size")) : t.Masonry = e(t.Outlayer, t.getSize) }(window, function (t, e) { var i = t.create("masonry"); i.compatOptions.fitWidth = "isFitWidth"; var o = i.prototype; return o._resetLayout = function () { this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = []; for (var t = 0; t < this.cols; t++) this.colYs.push(0); this.maxY = 0, this.horizontalColIndex = 0 }, o.measureColumns = function () { if (this.getContainerWidth(), !this.columnWidth) { var t = this.items[0], i = t && t.element; this.columnWidth = i && e(i).outerWidth || this.containerWidth } var o = this.columnWidth += this.gutter, n = this.containerWidth + this.gutter, s = n / o, r = o - n % o, a = r && r < 1 ? "round" : "floor"; s = Math[a](s), this.cols = Math.max(s, 1) }, o.getContainerWidth = function () { var t = this._getOption("fitWidth"), i = t ? this.element.parentNode : this.element, o = e(i); this.containerWidth = o && o.innerWidth }, o._getItemLayoutPosition = function (t) { t.getSize(); var e = t.size.outerWidth % this.columnWidth, i = e && e < 1 ? "round" : "ceil", o = Math[i](t.size.outerWidth / this.columnWidth); o = Math.min(o, this.cols); for (var n = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", s = this[n](o, t), r = { x: this.columnWidth * s.col, y: s.y }, a = s.y + t.size.outerHeight, u = o + s.col, h = s.col; h < u; h++) this.colYs[h] = a; return r }, o._getTopColPosition = function (t) { var e = this._getTopColGroup(t), i = Math.min.apply(Math, e); return { col: e.indexOf(i), y: i } }, o._getTopColGroup = function (t) { if (t < 2) return this.colYs; for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++) e[o] = this._getColGroupY(o, t); return e }, o._getColGroupY = function (t, e) { if (e < 2) return this.colYs[t]; var i = this.colYs.slice(t, t + e); return Math.max.apply(Math, i) }, o._getHorizontalColPosition = function (t, e) { var i = this.horizontalColIndex % this.cols, o = t > 1 && i + t > this.cols; i = o ? 0 : i; var n = e.size.outerWidth && e.size.outerHeight; return this.horizontalColIndex = n ? i + t : this.horizontalColIndex, { col: i, y: this._getColGroupY(i, t) } }, o._manageStamp = function (t) { var i = e(t), o = this._getElementOffset(t), n = this._getOption("originLeft"), s = n ? o.left : o.right, r = s + i.outerWidth, a = Math.floor(s / this.columnWidth); a = Math.max(0, a); var u = Math.floor(r / this.columnWidth); u -= r % this.columnWidth ? 0 : 1, u = Math.min(this.cols - 1, u); for (var h = this._getOption("originTop"), d = (h ? o.top : o.bottom) + i.outerHeight, l = a; l <= u; l++) this.colYs[l] = Math.max(d, this.colYs[l]) }, o._getContainerSize = function () { this.maxY = Math.max.apply(Math, this.colYs); var t = { height: this.maxY }; return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t }, o._getContainerFitWidth = function () { for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++; return (this.cols - t) * this.columnWidth - this.gutter }, o.needsResizeLayout = function () { var t = this.containerWidth; return this.getContainerWidth(), t != this.containerWidth }, i }), function (t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/masonry", ["../layout-mode", "masonry-layout/masonry"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode"), require("masonry-layout")) : e(t.Isotope.LayoutMode, t.Masonry) }(window, function (t, e) { "use strict"; var i = t.create("masonry"), o = i.prototype, n = { _getElementOffset: !0, layout: !0, _getMeasurement: !0 }; for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]); var r = o.measureColumns; o.measureColumns = function () { this.items = this.isotope.filteredItems, r.call(this) }; var a = o._getOption; return o._getOption = function (t) { return "fitWidth" == t ? void 0 !== this.options.isFitWidth ? this.options.isFitWidth : this.options.fitWidth : a.apply(this.isotope, arguments) }, i }), function (t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/fit-rows", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) }(window, function (t) { "use strict"; var e = t.create("fitRows"), i = e.prototype; return i._resetLayout = function () { this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth") }, i._getItemLayoutPosition = function (t) { t.getSize(); var e = t.size.outerWidth + this.gutter, i = this.isotope.size.innerWidth + this.gutter; 0 !== this.x && e + this.x > i && (this.x = 0, this.y = this.maxY); var o = { x: this.x, y: this.y }; return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += e, o }, i._getContainerSize = function () { return { height: this.maxY } }, e }), function (t, e) { "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/vertical", ["../layout-mode"], e) : "object" == typeof module && module.exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode) }(window, function (t) { "use strict"; var e = t.create("vertical", { horizontalAlignment: 0 }), i = e.prototype; return i._resetLayout = function () { this.y = 0 }, i._getItemLayoutPosition = function (t) { t.getSize(); var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment, i = this.y; return this.y += t.size.outerHeight, { x: e, y: i } }, i._getContainerSize = function () { return { height: this.y } }, e }), function (t, e) { "function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "desandro-matches-selector/matches-selector", "fizzy-ui-utils/utils", "isotope-layout/js/item", "isotope-layout/js/layout-mode", "isotope-layout/js/layout-modes/masonry", "isotope-layout/js/layout-modes/fit-rows", "isotope-layout/js/layout-modes/vertical"], function (i, o, n, s, r, a) { return e(t, i, o, n, s, r, a) }) : "object" == typeof module && module.exports ? module.exports = e(t, require("outlayer"), require("get-size"), require("desandro-matches-selector"), require("fizzy-ui-utils"), require("isotope-layout/js/item"), require("isotope-layout/js/layout-mode"), require("isotope-layout/js/layout-modes/masonry"), require("isotope-layout/js/layout-modes/fit-rows"), require("isotope-layout/js/layout-modes/vertical")) : t.Isotope = e(t, t.Outlayer, t.getSize, t.matchesSelector, t.fizzyUIUtils, t.Isotope.Item, t.Isotope.LayoutMode) }(window, function (t, e, i, o, n, s, r) {
	function a(t, e) { return function (i, o) { for (var n = 0; n < t.length; n++) { var s = t[n], r = i.sortData[s], a = o.sortData[s]; if (r > a || r < a) { var u = void 0 !== e[s] ? e[s] : e, h = u ? 1 : -1; return (r > a ? 1 : -1) * h } } return 0 } } var u = t.jQuery, h = String.prototype.trim ? function (t) { return t.trim() } : function (t) { return t.replace(/^\s+|\s+$/g, "") }, d = e.create("isotope", { layoutMode: "masonry", isJQueryFiltering: !0, sortAscending: !0 }); d.Item = s, d.LayoutMode = r; var l = d.prototype; l._create = function () { this.itemGUID = 0, this._sorters = {}, this._getSorters(), e.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"]; for (var t in r.modes) this._initLayoutMode(t) }, l.reloadItems = function () { this.itemGUID = 0, e.prototype.reloadItems.call(this) }, l._itemize = function () { for (var t = e.prototype._itemize.apply(this, arguments), i = 0; i < t.length; i++) { var o = t[i]; o.id = this.itemGUID++ } return this._updateItemsSortData(t), t }, l._initLayoutMode = function (t) { var e = r.modes[t], i = this.options[t] || {}; this.options[t] = e.options ? n.extend(e.options, i) : i, this.modes[t] = new e(this) }, l.layout = function () { return !this._isLayoutInited && this._getOption("initLayout") ? void this.arrange() : void this._layout() }, l._layout = function () { var t = this._getIsInstant(); this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0 }, l.arrange = function (t) { this.option(t), this._getIsInstant(); var e = this._filter(this.items); this.filteredItems = e.matches, this._bindArrangeComplete(), this._isInstant ? this._noTransition(this._hideReveal, [e]) : this._hideReveal(e), this._sort(), this._layout() }, l._init = l.arrange, l._hideReveal = function (t) { this.reveal(t.needReveal), this.hide(t.needHide) }, l._getIsInstant = function () { var t = this._getOption("layoutInstant"), e = void 0 !== t ? t : !this._isLayoutInited; return this._isInstant = e, e }, l._bindArrangeComplete = function () { function t() { e && i && o && n.dispatchEvent("arrangeComplete", null, [n.filteredItems]) } var e, i, o, n = this; this.once("layoutComplete", function () { e = !0, t() }), this.once("hideComplete", function () { i = !0, t() }), this.once("revealComplete", function () { o = !0, t() }) }, l._filter = function (t) { var e = this.options.filter; e = e || "*"; for (var i = [], o = [], n = [], s = this._getFilterTest(e), r = 0; r < t.length; r++) { var a = t[r]; if (!a.isIgnored) { var u = s(a); u && i.push(a), u && a.isHidden ? o.push(a) : u || a.isHidden || n.push(a) } } return { matches: i, needReveal: o, needHide: n } }, l._getFilterTest = function (t) {
		return u && this.options.isJQueryFiltering ? function (e) { return u(e.element).is(t) } : "function" == typeof t ? function (e) { return t(e.element) } : function (e) { return o(e.element, t) }
	}, l.updateSortData = function (t) { var e; t ? (t = n.makeArray(t), e = this.getItems(t)) : e = this.items, this._getSorters(), this._updateItemsSortData(e) }, l._getSorters = function () { var t = this.options.getSortData; for (var e in t) { var i = t[e]; this._sorters[e] = f(i) } }, l._updateItemsSortData = function (t) { for (var e = t && t.length, i = 0; e && i < e; i++) { var o = t[i]; o.updateSortData() } }; var f = function () { function t(t) { if ("string" != typeof t) return t; var i = h(t).split(" "), o = i[0], n = o.match(/^\[(.+)\]$/), s = n && n[1], r = e(s, o), a = d.sortDataParsers[i[1]]; return t = a ? function (t) { return t && a(r(t)) } : function (t) { return t && r(t) } } function e(t, e) { return t ? function (e) { return e.getAttribute(t) } : function (t) { var i = t.querySelector(e); return i && i.textContent } } return t }(); d.sortDataParsers = { parseInt: function (t) { return parseInt(t, 10) }, parseFloat: function (t) { return parseFloat(t) } }, l._sort = function () { if (this.options.sortBy) { var t = n.makeArray(this.options.sortBy); this._getIsSameSortBy(t) || (this.sortHistory = t.concat(this.sortHistory)); var e = a(this.sortHistory, this.options.sortAscending); this.filteredItems.sort(e) } }, l._getIsSameSortBy = function (t) { for (var e = 0; e < t.length; e++) if (t[e] != this.sortHistory[e]) return !1; return !0 }, l._mode = function () { var t = this.options.layoutMode, e = this.modes[t]; if (!e) throw new Error("No layout mode: " + t); return e.options = this.options[t], e }, l._resetLayout = function () { e.prototype._resetLayout.call(this), this._mode()._resetLayout() }, l._getItemLayoutPosition = function (t) { return this._mode()._getItemLayoutPosition(t) }, l._manageStamp = function (t) { this._mode()._manageStamp(t) }, l._getContainerSize = function () { return this._mode()._getContainerSize() }, l.needsResizeLayout = function () { return this._mode().needsResizeLayout() }, l.appended = function (t) { var e = this.addItems(t); if (e.length) { var i = this._filterRevealAdded(e); this.filteredItems = this.filteredItems.concat(i) } }, l.prepended = function (t) { var e = this._itemize(t); if (e.length) { this._resetLayout(), this._manageStamps(); var i = this._filterRevealAdded(e); this.layoutItems(this.filteredItems), this.filteredItems = i.concat(this.filteredItems), this.items = e.concat(this.items) } }, l._filterRevealAdded = function (t) { var e = this._filter(t); return this.hide(e.needHide), this.reveal(e.matches), this.layoutItems(e.matches, !0), e.matches }, l.insert = function (t) { var e = this.addItems(t); if (e.length) { var i, o, n = e.length; for (i = 0; i < n; i++) o = e[i], this.element.appendChild(o.element); var s = this._filter(e).matches; for (i = 0; i < n; i++) e[i].isLayoutInstant = !0; for (this.arrange(), i = 0; i < n; i++) delete e[i].isLayoutInstant; this.reveal(s) } }; var c = l.remove; return l.remove = function (t) { t = n.makeArray(t); var e = this.getItems(t); c.call(this, t); for (var i = e && e.length, o = 0; i && o < i; o++) { var s = e[o]; n.removeFrom(this.filteredItems, s) } }, l.shuffle = function () { for (var t = 0; t < this.items.length; t++) { var e = this.items[t]; e.sortData.random = Math.random() } this.options.sortBy = "random", this._sort(), this._layout() }, l._noTransition = function (t, e) { var i = this.options.transitionDuration; this.options.transitionDuration = 0; var o = t.apply(this, e); return this.options.transitionDuration = i, o }, l.getFilteredItemElements = function () { return this.filteredItems.map(function (t) { return t.element }) }, d
});/**
 * Owl Carousel v2.2.1
 * Copyright 2013-2017 David Deutsch
 * Licensed under  ()
 */
!function(a, b, c, d) {function e(b, c) {this.settings=null, this.options=a.extend({ }, e.Defaults, c), this.$element=a(b), this._handlers={ }, this._plugins={ }, this._supress={ }, this._current=null, this._speed=null, this._coordinates=[], this._breakpoint=null, this._width=null, this._items=[], this._clones=[], this._mergers=[], this._widths= [], this._invalidated={
}, this._pipe=[], this._drag={
    time: null, target: null, pointer: null, stage: {
    start: null, current: null
}, direction: null
}, this._states={
    current: {
}, tags: {
    initializing: ["busy"], animating: ["busy"], dragging: ["interacting"] } }, a.each(["onResize", "onThrottledResize"], a.proxy(function (b, c) { this._handlers[c]=a.proxy(this[c], this) }, this)), a.each(e.Plugins, a.proxy(function(a, b) { this._plugins[a.charAt(0).toLowerCase() +a.slice(1)]=new b(this) }, this)), a.each(e.Workers, a.proxy(function(b, c) {this._pipe.push({ filter: c.filter, run: a.proxy(c.run, this) }) }, this)), this.setup(), this.initialize() }e.Defaults={ items: 3, loop: !1, center: !1, rewind: !1, mouseDrag: !0, touchDrag: !0, pullDrag: !0, freeDrag: !1, margin: 0, stagePadding: 0, merge: !1, mergeFit: !0, autoWidth: !1, startPosition: 0, rtl: !1, smartSpeed: 250, fluidSpeed: !1, dragEndSpeed : !1, responsive: { }, responsiveRefreshRate: 200, responsiveBaseElement: b, fallbackEasing: "swing", info: !1, nestedItemSelector: !1, itemElement: "div", stageElement: "div", refreshClass: "owl-refresh", loadedClass: "owl-loaded", loadingClass: "owl-loading", rtlClass: "owl-rtl", responsiveClass: "owl-responsive", dragClass: "owl-drag", itemClass: "owl-item", stageClass: "owl-stage", stageOuterClass: "owl-stage-outer", grabClass: "owl-grab" }, e.Width={ Default: "default", Inner: "inner", Outer: "outer" }, e.Type={Event: "event", State : "state" }, e.Plugins={ }, e.Workers=[{ filter: ["width", "settings"], run: function() { this._width=this.$element.width() } }, { filter: ["width", "items", "settings"], run: function(a) { a.current=this._items&&this._items[this.relative(this._current)] } }, { filter: ["items", "settings"], run: function() { this.$stage.children(".cloned").remove() } }, { filter: ["width", "items", "settings"], run: function(a) { var b=this.settings.margin||"", c=!this.settings.autoWidth, d=this.settings.rtl, e={ width: "auto", "margin-left": d?b: "", "margin-right": d?"": b }; !c&&this.$stage.children().css(e), a.css=e } }, { filter: ["width", "items", "settings"], run: function(a) {var b=(this.width() /this.settings.items).toFixed(3) -this.settings.margin, c=null, d=this._items.length, e=!this.settings.autoWidth, f=[]; for(a.items={ merge: !1, width: b }; d--;) c=this._mergers[d], c=this.settings.mergeFit&&Math.min(c, this.settings.items) ||c, a.items.merge=c>1||a.items.merge, f[d]=e?b*c: this._items[d].width(); this._widths=f } }, { filter: ["items", "settings"], run: function() { var b=[], c=this._items, d=this.settings, e=Math.max(2*d.items, 4), f=2*Math.ceil(c.length/2), g=d.loop&&c.length?d.rewind?e: Math.max(e, f): 0, h="", i=""; for(g/=2; g--;) b.push(this.normalize(b.length/2, !0)), h+=c[b[b.length-1]][0].outerHTML, b.push(this.normalize(c.length-1-(b.length-1) /2, !0)), i=c[b[b.length-1]][0].outerHTML+i; this._clones =b, a(h).addClass("cloned").appendTo(this.$stage), a(i).addClass("cloned").prependTo(this.$stage) } }, { filter: ["width", "items", "settings"], run: function() {for(var a=this.settings.rtl?1: -1, b=this._clones.length+this._items.length, c=-1, d=0, e=0, f=[]; ++c<b;) d=f[c-1]||0, e=this._widths[this.relative(c)]+this.settings.margin, f.push(d+e*a); this._coordinates=f} }, { filter: ["width", "items", "settings"], run: function() {var a=this.settings.stagePadding, b=this._coordinates, c={width: Math.ceil(Math.abs(b[b.length -1])) +2*a, "padding-left" : a||"", "padding-right": a||"" }; this.$stage.css(c) }}, { filter: ["width", "items", "settings"], run : function (a) { var b=this._coordinates.length, c=!this.settings.autoWidth, d=this.$stage.children(); if(c&&a.items.merge) for(; b--;) a.css.width=this._widths[this.relative(b)], d.eq(b).css(a.css); else c&&(a.css.width=a.items.width, d.css(a.css))
}
}, {
    filter: ["items"], run: function() {
this._coordinates.length<1&& this.$stage.removeAttr("style") } }, {filter: ["width", "items", "settings"], run: function(a) {a.current=a.current?this.$stage.children().index(a.current): 0, a.current=Math.max(this.minimum(), Math.min(this.maximum(), a.current)), this.reset(a.current) } }, { filter: ["position"], run: function() {this.animate(this.coordinates(this._current)) }}, {filter: ["width", "position", "items", "settings"], run: function() { var a, b, c, d, e=this.settings.rtl?1: -1, f=2*this.settings.stagePadding, g=this.coordinates(this.current()) +f, h=g+this.width() *e, i=[]; for(c=0, d=this._coordinates.length; c<d; c++) a=this._coordinates[c-1]||0, b=Math.abs(this._coordinates[c]) +f*e, (this.op(a, "<=", g) &&this.op(a, ">", h) ||this.op(b, "<", g) &&this.op(b, ">", h)) &&i.push(c); this.$stage.children(".active").removeClass("active"), this.$stage.children(":eq("+i.join("), :eq(") +")").addClass("active"), this.settings.center&&(this.$stage.children(".center").removeClass("center"), this.$stage.children().eq(this.current()).addClass("center")) }}], e.prototype.initialize=function() { if(this.enter("initializing"), this.trigger("initialize"), this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl), this.settings.autoWidth&&!this.is("pre-loading")) { var b, c, e; b=this.$element.find("img"), c=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector: d, e=this.$element.children(c).width(), b.length&&e<=0&&this.preloadAutoWidthImages(b) }this.$element.addClass(this.options.loadingClass), this.$stage=a("<"+this.settings.stageElement +' class="'+this.settings.stageClass+'"/>').wrap('<div class="'+this.settings.stageOuterClass +'"/>'), this.$element.append(this.$stage.parent()), this.replace(this.$element.children().not(this.$stage.parent())), this.$element.is(":visible") ?this.refresh(): this.invalidate("width"), this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass), this.registerEventHandlers(), this.leave("initializing"), this.trigger("initialized") }, e.prototype.setup=function() { var b=this.viewport(), c=this.options.responsive, d=-1, e=null; c?(a.each(c, function(a) { a<=b&&a>d&&(d=Number(a)) }), e=a.extend({ }, this.options, c[d]), "function"==typeof e.stagePadding&& (e.stagePadding =e.stagePadding()), delete e.responsive, e.responsiveClass&&this.$element.attr("class", this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass +"-)\\S+\\s", "g"), "$1"+d))): e=a.extend({ }, this.options), this.trigger("change", {property: {name: "settings", value: e } }), this._breakpoint= d, this.settings=e, this.invalidate("settings"), this.trigger("changed", { property: { name: "settings", value: this.settings } }) }, e.prototype.optionsLogic = function() {this.settings.autoWidth && (this.settings.stagePadding=!1, this.settings.merge= !1) }, e.prototype.prepare=function(b) {var c=this.trigger("prepare", {content : b}); return c.data||(c.data=a("<" +this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)), this.trigger("prepared", { content: c.data }), c.data }, e.prototype.update=function() {for(var b=0, c=this._pipe.length, d=a.proxy(function(a) {return this[a]}, this._invalidated), e= { }; b <c;) (this._invalidated.all||a.grep(this._pipe[b].filter, d).length>0) &&this._pipe[b].run(e), b++; this._invalidated ={ }, !this.is("valid") &&this.enter("valid") }, e.prototype.width=function(a) { switch(a=a||e.Width.Default) { case e.Width.Inner: case e.Width.Outer: return this._width; default: return this._width-2*this.settings.stagePadding+ this.settings.margin}}, e.prototype.refresh= function() {this.enter("refreshing"), this.trigger("refresh"), this.setup(), this.optionsLogic(), this.$element.addClass(this.options.refreshClass), this.update(), this.$element.removeClass(this.options.refreshClass), this.leave("refreshing"), this.trigger("refreshed") }, e.prototype.onThrottledResize=function() {b.clearTimeout(this.resizeTimer), this.resizeTimer=b.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate) }, e.prototype.onResize=function() {return !!this._items.length&&(this._width!==this.$element.width() && (!!this.$element.is(":visible") &&(this.enter("resizing"), this.trigger("resize").isDefaultPrevented() ?(this.leave("resizing"), !1) : (this.invalidate("width"), this.refresh(), this.leave("resizing"), void this.trigger("resized"))))) }, e.prototype.registerEventHandlers= function() {a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core", a.proxy(this.onTransitionEnd, this)), this.settings.responsive!==!1&&this.on(b, "resize", this._handlers.onThrottledResize), this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass), this.$stage.on("mousedown.owl.core", a.proxy(this.onDragStart, this)), this.$stage.on("dragstart.owl.core selectstart.owl.core", function() {return !1})), this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core", a.proxy(this.onDragStart, this)), this.$stage.on("touchcancel.owl.core", a.proxy(this.onDragEnd, this))) }, e.prototype.onDragStart=function(b) { var d=null; 3!==b.which&&(a.support.transform ?(d=this.$stage.css("transform").replace(/.*\(|\)| /g, "").split(","), d={ x: d[16===d.length?12: 4], y: d[16===d.length?13: 5]}): (d=this.$stage.position(), d={ x: this.settings.rtl?d.left+ this.$stage.width() -this.width() +this.settings.margin : d.left, y: d.top}), this.is("animating") &&(a.support.transform?this.animate(d.x): this.$stage.stop(), this.invalidate("position")), this.$element.toggleClass(this.options.grabClass, "mousedown"===b.type), this.speed(0), this._drag.time=(new Date).getTime(), this._drag.target=a(b.target), this._drag.stage.start=d, this._drag.stage.current=d, this._drag.pointer=this.pointer(b), a(c).on("mouseup.owl.core touchend.owl.core", a.proxy(this.onDragEnd, this)), a(c).one("mousemove.owl.core touchmove.owl.core", a.proxy(function(b) {var d=this.difference(this._drag.pointer, this.pointer(b)); a(c).on("mousemove.owl.core touchmove.owl.core", a.proxy(this.onDragMove, this)), Math.abs(d.x) <Math.abs(d.y) &&this.is("valid") ||(b.preventDefault(), this.enter("dragging"), this.trigger("drag")) }, this))) }, e.prototype.onDragMove=function(a) { var b=null, c=null, d=null, e=this.difference(this._drag.pointer, this.pointer(a)), f=this.difference(this._drag.stage.start, e); this.is("dragging") &&(a.preventDefault(), this.settings.loop?(b=this.coordinates(this.minimum()), c=this.coordinates(this.maximum() +1) -b, f.x=((f.x-b) %c+c) %c+b): (b=this.settings.rtl?this.coordinates(this.maximum()): this.coordinates(this.minimum()), c=this.settings.rtl? this.coordinates(this.minimum()): this.coordinates(this.maximum()), d=this.settings.pullDrag?-1*e.x/5: 0, f.x=Math.max(Math.min(f.x, b+d), c+d)), this._drag.stage.current=f, this.animate(f.x)) }, e.prototype.onDragEnd=function (b) { var d=this.difference(this._drag.pointer, this.pointer(b)), e=this._drag.stage.current, f=d.x>0^this.settings.rtl?"left": "right"; a(c).off(".owl.core"), this.$element.removeClass(this.options.grabClass), (0!==d.x&& this.is("dragging") || !this.is("valid")) &&(this.speed(this.settings.dragEndSpeed ||this.settings.smartSpeed), this.current(this.closest(e.x, 0!==d.x? f : this._drag.direction)), this.invalidate("position"), this.update(), this._drag.direction=f, (Math.abs(d.x) > 3||(new Date).getTime() -this._drag.time>300) &&this._drag.target.one("click.owl.core", function() {return !1})), this.is("dragging") &&(this.leave("dragging"), this.trigger("dragged")) }, e.prototype.closest=function(b, c) {var d = - 1, e = 30, f =this.width(), g=this.coordinates(); return this.settings.freeDrag||a.each(g, a.proxy(function(a, h) { return "left"===c&&b>h-e&&b<h+e?d=a: "right"===c&&b>h-f-e&&b<h-f+e?d=a+1: this.op(b, "<", h) &&this.op(b, ">", g[a+1]||h-f) &&(d="left"===c?a+1: a), d === - 1}, this)), this.settings.loop ||(this.op(b, ">", g[this.minimum()]) ?d=b=this.minimum(): this.op(b, "<", g[this.maximum()]) &&(d=b=this.maximum())), d}, e.prototype.animate=function(b) { var c=this.speed() >0; this.is("animating") &&this.onTransitionEnd(), c&&(this.enter("animating"), this.trigger("translate")), a.support.transform3d&&a.support.transition?this.$stage.css({transform : "translate3d(" +b+"px,0px,0px)", transition: this.speed() /1e3+"s" }): c?this.$stage.animate({ left: b+"px" }, this.speed(), this.settings.fallbackEasing, a.proxy(this.onTransitionEnd, this)): this.$stage.css({left: b+ "px"}) }, e.prototype.is=function (a) { return this._states.current[a] &&this._states.current[a]>0}, e.prototype.current=function(a) { if(a===d) return this._current; if(0===this._items.length) return d; if(a=this.normalize(a), this._current !== a) {var b=this.trigger("change", {property: {name: "position", value: a}}); b.data!==d&&(a=this.normalize(b.data)), this._current=a, this.invalidate("position"), this.trigger("changed", { property: { name: "position", value: this._current}}) }return this._current}, e.prototype.invalidate=function(b) { return "string"===a.type(b) && (this._invalidated[b]=!0, this.is("valid") && this.leave("valid")), a.map(this._invalidated, function(a, b) {return b}) }, e.prototype.reset= function(a) {a=this.normalize(a), a!==d&&(this._speed=0, this._current=a, this.suppress(["translate", "translated"]), this.animate(this.coordinates(a)), this.release(["translate", "translated"])) }, e.prototype.normalize=function(a, b) { var c=this._items.length, e=b?0: this._clones.length; return !this.isNumeric(a) ||c<1?a=d: (a<0||a>=c+e) &&(a=((a-e/2) %c+c) %c+e/2), a }, e.prototype.relative=function(a) { return a-=this._clones.length/2, this.normalize(a, !0) }, e.prototype.maximum=function(a) {var b, c, d, e=this.settings, f=this._coordinates.length; if(e.loop) f=this._clones.length/2+this._items.length-1; else if(e.autoWidth||e.merge) { for(b=this._items.length, c=this._items[--b].width(), d=this.$element.width(); b--&&(c+=this._items[b].width() +this.settings.margin, !(c>d));); f=b+1
} else f=e.center?this._items.length-1: this._items.length-e.items; return a&&(f-=this._clones.length/2), Math.max(f, 0)
}, e.prototype.minimum=function(a) {
return a?0: this._clones.length /2 }, e.prototype.items= function(a) {return a===d?this._items.slice() : (a=this.normalize(a, !0), this._items[a]) }, e.prototype.mergers=function(a) { return a===d?this._mergers.slice(): (a = this.normalize(a, !0), this._mergers[a]) }, e.prototype.clones=function(b) {var c=this._clones.length / 2, e=c+this._items.length, f=function(a) {return a%2 === 0 ?e+a/2: c-(a + 1) /2}; return b===d?a.map(this._clones, function(a, b) { return f(b) }): a.map(this._clones, function(a, c) { return a===b?f(c) : null}) }, e.prototype.speed=function(a) {return a!==d&&(this._speed=a), this._speed}, e.prototype.coordinates =function (b) { var c, e=1, f=b-1; return b===d?a.map(this._coordinates, a.proxy(function(a, b) { return this.coordinates(b) }, this)): (this.settings.center?(this.settings.rtl&&(e=-1, f=b+1), c=this._coordinates[b], c+=(this.width() -c+(this._coordinates[f]||0)) /2*e): c=this._coordinates[f]||0, c=Math.ceil(c)) }, e.prototype.duration =function(a, b, c) {return 0 ===c?0: Math.min(Math.max(Math.abs(b-a), 1), 6) *Math.abs(c||this.settings.smartSpeed) }, e.prototype.to=function(a, b) {var c=this.current(), d=null, e=a-this.relative(c), f=(e>0) -(e<0), g = this._items.length, h=this.minimum(), i=this.maximum(); this.settings.loop?(!this.settings.rewind&&Math.abs(e) >g/2&&(e+=f*-1*g), a=c+e, d=((a-h) %g+g) %g+h, d!==a&&d-e<=i&&d-e>0&&(c=d-e, a=d, this.reset(c))): this.settings.rewind?(i+=1, a=(a%i+i) %i): a=Math.max(h, Math.min(i, a)), this.speed(this.duration(c, a, b)), this.current(a), this.$element.is(":visible") &&this.update() }, e.prototype.next =function(a) { a=a||!1, this.to(this.relative(this.current()) +1, a) }, e.prototype.prev=function(a) {
a=a||!1, this.to(this.relative(this.current()) -1, a)
}, e.prototype.onTransitionEnd=function(a) {
if(a!==d&&(a.stopPropagation(), (a.target||a.srcElement||a.originalTarget) !== this.$stage.get(0))) return !1; this.leave("animating"), this.trigger("translated") }, e.prototype.viewport=function() { var d; return this.options.responsiveBaseElement !==b?d=a(this.options.responsiveBaseElement).width(): b.innerWidth?d=b.innerWidth: c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth: console.warn("Can not detect viewport width."), d
}, e.prototype.replace=function(b) {this.$stage.empty(), this._items=[], b && (b = b instanceof jQuery?b: a(b)), this.settings.nestedItemSelector &&(b=b.find("."+this.settings.nestedItemSelector)), b.filter(function() { return 1===this.nodeType }).each(a.proxy(function(a, b) {b =this.prepare(b), this.$stage.append(b), this._items.push(b), this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge") ||1) }, this)), this.reset(this.isNumeric(this.settings.startPosition) ?this.settings.startPosition: 0), this.invalidate("items")
}, e.prototype.add=function(b, c) {
var e=this.relative(this._current); c=c===d?this._items.length: this.normalize(c, !0), b=b instanceof jQuery?b: a(b), this.trigger("add", {content: b, position : c }), b=this.prepare(b), 0===this._items.length ||c=== this._items.length?(0===this._items.length&&this.$stage.append(b), 0!==this._items.length&&this._items[c-1].after(b), this._items.push(b), this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge") ||1)): (this._items[c].before(b), this._items.splice(c, 0, b), this._mergers.splice(c, 0, 1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge") ||1)), this._items[e]&&this.reset(this._items[e].index()), this.invalidate("items"), this.trigger("added", {content: b, position: c}) }, e.prototype.remove=function(a) {a=this.normalize(a, !0), a!==d&&(this.trigger("remove", {content: this._items[a], position: a}), this._items[a].remove(), this._items.splice(a, 1), this._mergers.splice(a, 1), this.invalidate("items"), this.trigger("removed", {content: null, position: a
}))
}, e.prototype.preloadAutoWidthImages=function(b) {
b.each(a.proxy(function(b, c) {this.enter("pre-loading"), c=a(c), a(new Image).one("load", a.proxy(function(a) { c.attr("src", a.target.src), c.css("opacity", 1), this.leave("pre-loading"), !this.is("pre-loading") &&!this.is("initializing") &&this.refresh()
}, this)).attr("src", c.attr("src") ||c.attr("data-src") ||c.attr("data-src-retina")) }, this)) }, e.prototype.destroy=function () { this.$element.off(".owl.core"), this.$stage.off(".owl.core"), a(c).off(".owl.core"), this.settings.responsive!==!1&&(b.clearTimeout(this.resizeTimer), this.off(b, "resize", this._handlers.onThrottledResize)); for(var d in this._plugins) this._plugins[d].destroy(); this.$stage.children(".cloned").remove(), this.$stage.unwrap(), this.$stage.children().contents().unwrap(), this.$stage.children().unwrap(), this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class", this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s", "g"), "")).removeData("owl.carousel") }, e.prototype.op=function(a, b, c) {var d=this.settings.rtl; switch(b) { case "<": return d?a>c: a<c; case ">": return d ? a < c: a>c; case ">=": return d?a<=c: a>=c; case "<=": return d?a>=c: a<=c}}, e.prototype.on=function(a, b, c, d) { a.addEventListener?a.addEventListener(b, c, d): a.attachEvent&&a.attachEvent("on"+b, c) }, e.prototype.off=function(a, b, c, d) {a.removeEventListener?a.removeEventListener(b, c, d): a.detachEvent&&a.detachEvent("on"+b, c) }, e.prototype.trigger=function(b, c, d, f, g) { var h={ item: { count: this._items.length, index: this.current() }}, i=a.camelCase(a.grep(["on", b, d], function(a) {return a}).join("-").toLowerCase()), j=a.Event([b, "owl", d||"carousel"].join(".").toLowerCase(), a.extend({ relatedTarget: this}, h, c)); return this._supress[b]||(a.each(this._plugins, function(a, b) {
b.onTrigger&&b.onTrigger(j)
}), this.register({
    type: e.Type.Event, name: b
}), this.$element.trigger(j), this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this, j)), j}, e.prototype.enter=function (b) { a.each([b].concat(this._states.tags[b]||[]), a.proxy(function (a, b) { this._states.current[b]===d&&(this._states.current[b]=0), this._states.current[b]++}, this)) }, e.prototype.leave=function(b) {a.each([b].concat(this._states.tags[b]||[]), a.proxy(function(a, b) { this._states.current[b]--}, this)) }, e.prototype.register=function(b) {if(b.type === e.Type.Event) {if(a.event.special[b.name]||(a.event.special[b.name]={ }), !a.event.special[b.name].owl) { var c=a.event.special[b.name]._default; a.event.special[b.name]._default= function(a) {return !c|| !c.apply||a.namespace &&a.namespace.indexOf("owl") !==-1?a.namespace&&a.namespace.indexOf("owl") >-1: c.apply(this, arguments) }, a.event.special[b.name].owl=!0 } } else b.type===e.Type.State&& (this._states.tags[b.name] ? this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags): this._states.tags[b.name]=b.tags, this._states.tags[b.name]=a.grep(this._states.tags[b.name], a.proxy(function(c, d) { return a.inArray(c, this._states.tags[b.name]) ===d }, this))) }, e.prototype.suppress =function(b) {a.each(b, a.proxy(function(a, b) {this._supress[b]=!0 }, this)) }, e.prototype.release =function(b) { a.each(b, a.proxy(function(a, b) {delete this._supress[b]}, this)) }, e.prototype.pointer=function(a) {var c={ x: null, y: null}; return a=a.originalEvent||a||b.event, a=a.touches&&a.touches.length?a.touches[0]: a.changedTouches&&a.changedTouches.length?a.changedTouches[0]: a, a.pageX?(c.x=a.pageX, c.y=a.pageY): (c.x=a.clientX, c.y=a.clientY), c}, e.prototype.isNumeric=function(a) {return !isNaN(parseFloat(a)) }, e.prototype.difference=function(a, b) { return {x: a.x-b.x, y: a.y - b.y}}, a.fn.owlCarousel =function(b) { var c=Array.prototype.slice.call(arguments, 1); return this.each(function() {var d=a(this), f=d.data("owl.carousel"); f||(f=new e(this, "object"==typeof b&&b), d.data("owl.carousel", f), a.each(["next", "prev", "to", "destroy", "refresh", "replace", "add", "remove"], function(b, c) {
f.register({
    type: e.Type.Event, name: c
}), f.$element.on(c+".owl.carousel.core", a.proxy(function(a) { a.namespace&&a.relatedTarget!== this && (this.suppress([c]), f[c].apply(this, [].slice.call(arguments, 1)), this.release([c])) }, f)) })), "string"==typeof b&&"_"!== b.charAt(0) &&f[b].apply(f, c) }) }, a.fn.owlCarousel.Constructor=e }(window.Zepto||window.jQuery, window, document), function(a, b, c, d) { var e=function(b) {this._core=b, this._interval=null, this._visible=null, this._handlers= {"initialized.owl.carousel": a.proxy(function(a) {a.namespace &&this._core.settings.autoRefresh && this.watch() }, this) }, this._core.options =a.extend({ }, e.Defaults, this._core.options), this._core.$element.on(this._handlers) }; e.Defaults={autoRefresh : !0, autoRefreshInterval : 500}, e.prototype.watch = function() {this._interval||(this._visible=this._core.$element.is(":visible"), this._interval=b.setInterval(a.proxy(this.refresh, this), this._core.settings.autoRefreshInterval)) }, e.prototype.refresh = function() { this._core.$element.is(":visible") !==this._visible&&(this._visible =!this._visible, this._core.$element.toggleClass("owl-hidden", !this._visible), this._visible&&this._core.invalidate("width") &&this._core.refresh())
}, e.prototype.destroy=function() {
var a, c; b.clearInterval(this._interval); for(a in this._handlers) this._core.$element.off(a, this._handlers[a]); for(c in Object.getOwnPropertyNames(this)) "function"!=typeof this[c] && (this[c]=null) }, a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery, window, document), function(a, b, c, d) {var e=function(b) {this._core =b, this._loaded=[], this._handlers={ "initialized.owl.carousel change.owl.carousel resized.owl.carousel": a.proxy(function(b) {if(b.namespace && this._core.settings && this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name|| "initialized" ==b.type)) for(var c=this._core.settings, e=c.center&&Math.ceil(c.items/2) || c.items, f=c.center && e*-1||0, g=(b.property&&b.property.value!==d?b.property.value: this._core.current()) +f, h=this._core.clones().length, i=a.proxy(function(a, b) { this.load(b) }, this); f++<e;) this.load(h / 2 + this._core.relative(g)), h&&a.each(this._core.clones(this._core.relative(g)), i), g++}, this) }, this._core.options=a.extend({ }, e.Defaults, this._core.options), this._core.$element.on(this._handlers) }; e.Defaults={ lazyLoad: !1}, e.prototype.load=function(c) {var d=this._core.$stage.children().eq(c), e=d&&d.find(".owl-lazy"); !e||a.inArray(d.get(0), this._loaded) >-1||(e.each(a.proxy(function(c, d) {
var e, f=a(d), g=b.devicePixelRatio>1&&f.attr("data-src-retina") ||f.attr("data-src"); this._core.trigger("load", {
    element: f, url: g
}, "lazy"), f.is("img") ?f.one("load.owl.lazy", a.proxy(function() {
f.css("opacity", 1), this._core.trigger("loaded", {
    element: f, url: g
}, "lazy")
}, this)).attr("src", g): (e=new Image, e.onload=a.proxy(function() {f.css({"background-image" : 'url("' + g +'")', opacity: "1" }), this._core.trigger("loaded", {element: f, url: g}, "lazy") }, this), e.src= g) }, this)), this._loaded.push(d.get(0))) }, e.prototype.destroy=function () { var a, b; for(a in this.handlers) this._core.$element.off(a, this.handlers[a]); for(b in Object.getOwnPropertyNames(this)) "function"!=typeof this[b]&&(this[b]=null) }, a.fn.owlCarousel.Constructor.Plugins.Lazy = e}(window.Zepto || window.jQuery, window, document), function (a, b, c, d) { var e=function(b) {this._core =b, this._handlers={ "initialized.owl.carousel refreshed.owl.carousel": a.proxy(function(a) { a.namespace&&this._core.settings.autoHeight&&this.update() }, this), "changed.owl.carousel": a.proxy(function(a) {a.namespace &&this._core.settings.autoHeight && "position" == a.property.name && this.update() }, this), "loaded.owl.lazy": a.proxy(function(a) { a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index() === this._core.current() &&this.update() }, this) }, this._core.options= a.extend({ }, e.Defaults, this._core.options), this._core.$element.on(this._handlers) }; e.Defaults={ autoHeight: !1, autoHeightClass: "owl-height" }, e.prototype.update=function () { var b=this._core._current, c=b+this._core.settings.items, d=this._core.$stage.children().toArray().slice(b, c), e=[], f=0; a.each(d, function(b, c) {e.push(a(c).height()) }), f=Math.max.apply(null, e), this._core.$stage.parent().height(f).addClass(this._core.settings.autoHeightClass) }, e.prototype.destroy=function() { var a, b; for(a in this._handlers) this._core.$element.off(a, this._handlers[a]); for(b in Object.getOwnPropertyNames(this)) "function"!=typeof this[b]&&(this[b]=null)
}, a.fn.owlCarousel.Constructor.Plugins.AutoHeight =e }(window.Zepto||window.jQuery, window, document), function(a, b, c, d) { var e=function(b) {this._core =b, this._videos={ }, this._playing=null, this._handlers={ "initialized.owl.carousel": a.proxy(function(a) {a.namespace&&this._core.register({ type: "state", name: "playing", tags : ["interacting"]}) }, this), "resize.owl.carousel": a.proxy(function(a) { a.namespace&&this._core.settings.video &&this.isInFullScreen() &&a.preventDefault() }, this), "refreshed.owl.carousel": a.proxy(function(a) {a.namespace&&this._core.is("resizing") &&this._core.$stage.find(".cloned .owl-video-frame").remove() }, this), "changed.owl.carousel": a.proxy(function(a) {a.namespace&&"position"===a.property.name&&this._playing&&this.stop() }, this), "prepared.owl.carousel": a.proxy(function(b) { if(b.namespace) {var c = a(b.content).find(".owl-video"); c.length&&(c.css("display", "none"), this.fetch(c, a(b.content)))
}
}, this)
}, this._core.options=a.extend({
}, e.Defaults, this._core.options), this._core.$element.on(this._handlers), this._core.$element.on("click.owl.video", ".owl-video-play-icon", a.proxy(function (a) { this.play(a) }, this)) }; e.Defaults={video : !1, videoHeight: !1, videoWidth : !1}, e.prototype.fetch=function(a, b) {
var c=function() {
return a.attr("data-vimeo-id") ?"vimeo": a.attr("data-vzaar-id") ?"vzaar": "youtube"
}(), d=a.attr("data-vimeo-id") ||a.attr("data-youtube-id") ||a.attr("data-vzaar-id"), e=a.attr("data-width") ||this._core.settings.videoWidth, f=a.attr("data-height") ||this._core.settings.videoHeight, g=a.attr("href"); if(!g) throw new Error("Missing video URL."); if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/), d[3].indexOf("youtu") >-1) c="youtube"; else if(d[3].indexOf("vimeo") >-1) c="vimeo"; else {if(!(d[3].indexOf("vzaar") >-1)) throw new Error("Video URL not supported."); c="vzaar" }d=d[6], this._videos[g]={type : c, id: d, width: e, height: f }, b.attr("data-video", g), this.thumbnail(a, this._videos[g]) }, e.prototype.thumbnail=function(b, c) { var d, e, f, g=c.width&&c.height?'style="width:'+c.width+"px;height:"+c.height+'px;"': "", h=b.find("img"), i="src", j="", k=this._core.settings, l=function(a) {
e='<div class="owl-video-play-icon"></div>', d=k.lazyLoad?'<div class="owl-video-tn '+j+'" '+i+'="'+a+'"></div>': '<div class="owl-video-tn" style="opacity:1;background-image:url(' +a + ')"></div>', b.after(d), b.after(e) }; if(b.wrap('<div class="owl-video-wrapper"'+g+"></div>"), this._core.settings.lazyLoad&&(i="data-src", j="owl-lazy"), h.length) return l(h.attr(i)), h.remove(), !1; "youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg", l(f)): "vimeo"===c.type?a.ajax({
    type: "GET", url: "//vimeo.com/api/v2/video/"+c.id+".json", jsonp: "callback", dataType: "jsonp", success: function (a) { f=a[0].thumbnail_large, l(f) }}): "vzaar"===c.type&&a.ajax({ type: "GET", url : "//vzaar.com/api/videos/"+c.id+".json", jsonp: "callback", dataType: "jsonp", success: function(a) {f = a.framegrab_url, l(f) }}) }, e.prototype.stop=function() {this._core.trigger("stop", null, "video"), this._playing.find(".owl-video-frame").remove(), this._playing.removeClass("owl-video-playing"), this._playing=null, this._core.leave("playing"), this._core.trigger("stopped", null, "video")
}, e.prototype.play=function(b) {
var c, d=a(b.target), e=d.closest("."+this._core.settings.itemClass), f=this._videos[e.attr("data-video")], g=f.width||"100%", h=f.height||this._core.$stage.height(); this._playing||(this._core.enter("playing"), this._core.trigger("play", null, "video"), e = this._core.items(this._core.relative(e.index())), this._core.reset(e.index()), "youtube"===f.type?c='<iframe width="'+g+'" height="'+h+'" src="//www.youtube.com/embed/'+f.id+ "?autoplay=1&rel=0&v=" + f.id +'" frameborder="0" allowfullscreen></iframe>': "vimeo" === f.type ? c ='<iframe src="//player.vimeo.com/video/'+f.id+'?autoplay=1" width="'+g+'" height="'+h+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>': "vzaar"===f.type&&(c='<iframe frameborder="0"height="'+h+'"width="'+g+'" allowfullscreen mozallowfullscreen webkitAllowFullScreen src="//view.vzaar.com/'+ f.id +'/player?autoplay=true"></iframe>'), a('<div class="owl-video-frame">'+c+"</div>").insertAfter(e.find(".owl-video")), this._playing=e.addClass("owl-video-playing"))
}, e.prototype.isInFullScreen=function() {
var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement; return b&&a(b).parent().hasClass("owl-video-frame") }, e.prototype.destroy = function() {var a, b; this._core.$element.off("click.owl.video"); for(a in this._handlers) this._core.$element.off(a, this._handlers[a]); for(b in Object.getOwnPropertyNames(this)) "function"!= typeof this[b]&&(this[b]= null) }, a.fn.owlCarousel.Constructor.Plugins.Video =e}(window.Zepto||window.jQuery, window, document), function(a, b, c, d) { var e=function(b) {this.core = b, this.core.options=a.extend({ }, e.Defaults, this.core.options), this.swapping=!0, this.previous=d, this.next=d, this.handlers={ "change.owl.carousel": a.proxy(function(a) {a.namespace&&"position" == a.property.name&&(this.previous=this.core.current(), this.next=a.property.value) }, this), "drag.owl.carousel dragged.owl.carousel translated.owl.carousel": a.proxy(function(a) {a.namespace&&(this.swapping="translated"==a.type) }, this), "translate.owl.carousel": a.proxy(function(a) { a.namespace&&this.swapping&&(this.core.options.animateOut ||this.core.options.animateIn) &&this.swap() }, this) }, this.core.$element.on(this.handlers) }; e.Defaults={ animateOut: !1, animateIn: !1}, e.prototype.swap=function() {
if(1===this.core.settings.items&&a.support.animation&&a.support.transition) {
this.core.speed(0); var b, c=a.proxy(this.clear, this), d=this.core.$stage.children().eq(this.previous), e=this.core.$stage.children().eq(this.next), f= this.core.settings.animateIn, g=this.core.settings.animateOut; this.core.current() !==this.previous&&(g&&(b=this.core.coordinates(this.previous) -this.core.coordinates(this.next), d.one(a.support.animation.end, c).css({
    left: b+"px"
}).addClass("animated owl-animated-out").addClass(g)), f&&e.one(a.support.animation.end, c).addClass("animated owl-animated-in").addClass(f)) }}, e.prototype.clear=function (b) { a(b.target).css({left : ""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut), this.core.onTransitionEnd()
}, e.prototype.destroy=function() {
var a, b; for(a in this.handlers) this.core.$element.off(a, this.handlers[a]); for(b in Object.getOwnPropertyNames(this)) "function"!=typeof this[b]&&(this[b]=null)
},
a.fn.owlCarousel.Constructor.Plugins.Animate=e
}(window.Zepto||window.jQuery, window, document), function (a, b, c, d) { var e= function(b) {this._core=b, this._timeout=null, this._paused=!1, this._handlers={ "changed.owl.carousel": a.proxy(function(a) {a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play(): this.stop(): a.namespace&&"position"===a.property.name&&this._core.settings.autoplay&&this._setAutoPlayInterval()
}, this), "initialized.owl.carousel": a.proxy(function(a) {
a.namespace&&this._core.settings.autoplay&&this.play()
}, this), "play.owl.autoplay": a.proxy(function(a, b, c) { a.namespace&&this.play(b, c) }, this), "stop.owl.autoplay" : a.proxy(function(a) {a.namespace&&this.stop() }, this), "mouseover.owl.autoplay": a.proxy(function() {this._core.settings.autoplayHoverPause&&this._core.is("rotating") &&this.pause() }, this), "mouseleave.owl.autoplay": a.proxy(function () { this._core.settings.autoplayHoverPause&&this._core.is("rotating") &&this.play() }, this), "touchstart.owl.core": a.proxy(function() { this._core.settings.autoplayHoverPause&&this._core.is("rotating") &&this.pause()
}, this), "touchend.owl.core": a.proxy(function() {
this._core.settings.autoplayHoverPause&&this.play()
}, this)
}, this._core.$element.on(this._handlers), this._core.options=a.extend({ }, e.Defaults, this._core.options) }; e.Defaults={ autoplay: !1, autoplayTimeout: 5e3, autoplayHoverPause: !1, autoplaySpeed: !1 }, e.prototype.play=function(a, b) {
this._paused=!1, this._core.is("rotating") ||(this._core.enter("rotating"), this._setAutoPlayInterval())
}, e.prototype._getNextTimeout=function(d, e) {
return this._timeout&&b.clearTimeout(this._timeout), b.setTimeout(a.proxy(function() {
this._paused||this._core.is("busy") ||this._core.is("interacting") ||c.hidden||this._core.next(e||this._core.settings.autoplaySpeed) }, this), d||this._core.settings.autoplayTimeout) }, e.prototype._setAutoPlayInterval=function() { this._timeout = this._getNextTimeout() }, e.prototype.stop=function() {this._core.is("rotating") && (b.clearTimeout(this._timeout), this._core.leave("rotating")) }, e.prototype.pause=function() { this._core.is("rotating") &&(this._paused=!0) }, e.prototype.destroy=function() {var a, b; this.stop(); for(a in this._handlers) this._core.$element.off(a, this._handlers[a]); for(b in Object.getOwnPropertyNames(this)) "function"!=typeof this[b]&&(this[b]=null) }, a.fn.owlCarousel.Constructor.Plugins.autoplay =e}(window.Zepto||window.jQuery, window, document), function(a, b, c, d) { "use strict"; var e= function(b) {this._core=b, this._initialized =!1, this._pages=[], this._controls = { }, this._templates=[], this.$element=this._core.$element, this._overrides={
    next: this._core.next, prev: this._core.prev, to: this._core.to
}, this._handlers={
"prepared.owl.carousel": a.proxy(function(b) {
b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot") +"</div>")
}, this), "added.owl.carousel": a.proxy(function(a) {a.namespace &&this._core.settings.dotsData&&this._templates.splice(a.position, 0, this._templates.pop()) }, this), "remove.owl.carousel": a.proxy(function(a) {a.namespace && this._core.settings.dotsData&&this._templates.splice(a.position, 1)
}, this), "changed.owl.carousel": a.proxy(function(a) {
a.namespace&&"position"==a.property.name&&this.draw()
}, this), "initialized.owl.carousel": a.proxy(function(a) {
a.namespace&&!this._initialized&&(this._core.trigger("initialize", null, "navigation"), this.initialize(), this.update(), this.draw(), this._initialized=!0, this._core.trigger("initialized", null, "navigation")) }, this), "refreshed.owl.carousel": a.proxy(function(a) {a.namespace&& this._initialized&&(this._core.trigger("refresh", null, "navigation"), this.update(), this.draw(), this._core.trigger("refreshed", null, "navigation")) }, this) }, this._core.options=a.extend({ }, e.Defaults, this._core.options), this.$element.on(this._handlers) }; e.Defaults = {nav : !1, navText: ["prev", "next"], navSpeed : !1, navElement : "div", navContainer : !1, navContainerClass: "owl-nav", navClass: ["owl-prev", "owl-next"], slideBy : 1, dotClass : "owl-dot", dotsClass : "owl-dots", dots: !0, dotsEach: !1, dotsData : !1, dotsSpeed : !1, dotsContainer: !1 }, e.prototype.initialize=function() { var b, c=this._core.settings; this._controls.$relative=(c.navContainer?a(c.navContainer): a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"), this._controls.$previous=a("<"+c.navElement +">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click", a.proxy(function(a) { this.prev(c.navSpeed) }, this)), this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click", a.proxy(function(a) {
this.next(c.navSpeed)
}, this)), c.dotsData||(this._templates=[a("<div>").addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]), this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer): a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"), this._controls.$absolute.on("click", "div", a.proxy(function(b) {
var d=a(b.target).parent().is(this._controls.$absolute) ? a(b.target).index() : a(b.target).parent().index(); b.preventDefault(), this.to(d, c.dotsSpeed) }, this)); for(b in this._overrides) this._core[b]=a.proxy(this[b], this)
}, e.prototype.destroy=function() {
var a, b, c, d; for(a in this._handlers) this.$element.off(a, this._handlers[a]); for(b in this._controls) this._controls[b].remove(); for(d in this.overides) this._core[d] = this._overrides[d]; for(c in Object.getOwnPropertyNames(this)) "function"!=typeof this[c]&&(this[c]=null) }, e.prototype.update=function () {var a, b, c, d=this._core.clones().length/2, e=d+ this._core.items().length, f=this._core.maximum(!0), g=this._core.settings, h=g.center||g.autoWidth||g.dotsData?1: g.dotsEach||g.items; if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy, g.items)), g.dots||"page"==g.slideBy) for(this._pages=[], a=d, b=0, c=0; a<e; a++) {
if(b>=h||0===b) {if(this._pages.push({ start: Math.min(f, a- d), end : a-d+h-1 }), Math.min(f, a-d) ===f) break; b=0, ++c}b+= this._core.mergers(this._core.relative(a)) }}, e.prototype.draw=function() {var b, c=this._core.settings, d=this._core.items().length<=c.items, e=this._core.relative(this._core.current()), f=c.loop||c.rewind; this._controls.$relative.toggleClass("disabled", !c.nav||d), c.nav&&(this._controls.$previous.toggleClass("disabled", !f&&e<=this._core.minimum(!0)), this._controls.$next.toggleClass("disabled", !f&&e>=this._core.maximum(!0))), this._controls.$absolute.toggleClass("disabled", !c.dots||d), c.dots&&(b=this._pages.length-this._controls.$absolute.children().length, c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")): b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])): b < 0 && this._controls.$absolute.children().slice(b).remove(), this._controls.$absolute.find(".active").removeClass("active"), this._controls.$absolute.children().eq(a.inArray(this.current(), this._pages)).addClass("active")) }, e.prototype.onTrigger=function (b) { var c=this._core.settings; b.page={index: a.inArray(this.current(), this._pages), count: this._pages.length, size: c&&(c.center||c.autoWidth||c.dotsData?1: c.dotsEach||c.items) }}, e.prototype.current=function() { var b=this._core.relative(this._core.current()); return a.grep(this._pages, a.proxy(function(a, c) { return a.start<=b&&a.end>=b }, this)).pop() }, e.prototype.getPosition=function(b) {var c, d, e = this._core.settings; return "page"==e.slideBy?(c=a.inArray(this.current(), this._pages), d=this._pages.length, b?++c: --c, c=this._pages[(c%d+d) %d].start): (c=this._core.relative(this._core.current()), d=this._core.items().length, b?c+=e.slideBy: c-=e.slideBy), c
}, e.prototype.next=function(b) {
a.proxy(this._overrides.to, this._core) (this.getPosition(!0), b)
}, e.prototype.prev=function(b) {
a.proxy(this._overrides.to, this._core) (this.getPosition(!1), b) }, e.prototype.to=function (b, c, d) {var e; !d&&this._pages.length?(e=this._pages.length, a.proxy(this._overrides.to, this._core) (this._pages[(b%e+e) %e].start, c)): a.proxy(this._overrides.to, this._core) (b, c) }, a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery, window, document), function(a, b, c, d) {"use strict"; var e=function(c) { this._core=c, this._hashes={ }, this.$element = this._core.$element, this._handlers={ "initialized.owl.carousel": a.proxy(function(c) {c.namespace&&"URLHash"===this._core.settings.startPosition &&a(b).trigger("hashchange.owl.navigation") }, this), "prepared.owl.carousel": a.proxy(function(b) {if(b.namespace) {var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash"); if(!c) return; this._hashes[c]=b.content }}, this), "changed.owl.carousel": a.proxy(function(c) {if(c.namespace&&"position"===c.property.name) { var d=this._core.items(this._core.relative(this._core.current())), e=a.map(this._hashes, function(a, b) {return a === d ? b : null }).join(); if(!e||b.location.hash.slice(1) === e) return; b.location.hash=e}}, this) }, this._core.options=a.extend({ }, e.Defaults, this._core.options), this.$element.on(this._handlers), a(b).on("hashchange.owl.navigation", a.proxy(function(a) {
var c=b.location.hash.substring(1), e=this._core.$stage.children(), f=this._hashes[c]&&e.index(this._hashes[c]); f!==d&&f!==this._core.current() &&this._core.to(this._core.relative(f), !1, !0) }, this)) }; e.Defaults ={ URLhashListener: !1 }, e.prototype.destroy =function() {var c, d; a(b).off("hashchange.owl.navigation"); for(c in this._handlers) this._core.$element.off(c, this._handlers[c]); for(d in Object.getOwnPropertyNames(this)) "function"!=typeof this[d]&&(this[d]=null) }, a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery, window, document), function(a, b, c, d) { function e(b, c) {var e=!1, f=b.charAt(0).toUpperCase() +b.slice(1); return a.each((b+" "+h.join(f+" ") +f).split(" "), function(a, b) {
if(g[b]!==d) return e=!c||b, !1
}), e
}function f(a) {
return e(a, !0)
}var g=a("<support>").get(0).style, h="Webkit Moz O ms".split(" "), i={transition : { end: { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd", transition: "transitionend" }}, animation: { end: { WebkitAnimation: "webkitAnimationEnd", MozAnimation: "animationend", OAnimation: "oAnimationEnd", animation: "animationend" } } }, j={ csstransforms: function() { return !!e("transform") }, csstransforms3d: function() { return !!e("perspective") }, csstransitions : function() {return !!e("transition") }, cssanimations: function() {return !!e("animation") }}; j.csstransitions() &&(a.support.transition = new String(f("transition")), a.support.transition.end=i.transition.end[a.support.transition]), j.cssanimations() &&(a.support.animation=new String(f("animation")), a.support.animation.end=i.animation.end[a.support.animation]), j.csstransforms() &&(a.support.transform=new String(f("transform")), a.support.transform3d=j.csstransforms3d())
}(window.Zepto||window.jQuery, window, document);(function ($) { $.fn.jflickrfeed = function (settings, callback) { settings = $.extend(true, { flickrbase: 'http://api.flickr.com/services/feeds/', feedapi: 'photos_public.gne', limit: 20, qstrings: { lang: 'en-us', format: 'json', jsoncallback: '?' }, cleanDescription: true, useTemplate: true, itemTemplate: '<li><a href="{{image_b}}" title="{{title}}"><span class="thumbnail"><img src="{{image_s}}" /></span></a></li>', itemCallback: function () { } }, settings); var url = settings.flickrbase + settings.feedapi + '?'; var first = true; for (var key in settings.qstrings) { if (!first) url += '&'; url += key + '=' + settings.qstrings[key]; first = false } return $(this).each(function () { var $container = $(this); var container = this; $.getJSON(url, function (data) { $.each(data.items, function (i, item) { if (i < settings.limit) { if (settings.cleanDescription) { var regex = /<p>(.*?)<\/p>/g; var input = item.description; if (regex.test(input)) { item.description = input.match(regex)[2];if(item.description!=undefined)item.description=item.description.replace('<p>','').replace('</p>','')}}item['image_s']=item.media.m.replace('_m','_s');item['image_t']=item.media.m.replace('_m','_t');item['image_m']=item.media.m.replace('_m','_m');item['image']=item.media.m.replace('_m','');item['image_b']=item.media.m.replace('_m','_b');delete item.media;if(settings.useTemplate){var template=settings.itemTemplate;for(var key in item){template=template.replace('{{'+key+'}}',item[key])}$container.append(template)}settings.itemCallback.call(container,item)}});if($.isFunction(callback)){callback.call(container,data)}})})}})(jQuery);; (function ($, window, undefined) { 'use strict'; var BLANK = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=='; $.fn.imagesLoaded = function (callback) { var $this = this, deferred = $.isFunction($.Deferred) ? $.Deferred() : 0, hasNotify = $.isFunction(deferred.notify), $images = $this.find('img').add($this.filter('img')), loaded = [], proper = [], broken = []; if ($.isPlainObject(callback)) { $.each(callback, function (key, value) { if (key === 'callback') { callback = value } else if (deferred) { deferred[key](value) } }) } function doneLoading() { var $proper = $(proper), $broken = $(broken); if (deferred) { if (broken.length) { deferred.reject($images, $proper, $broken) } else { deferred.resolve($images) } } if ($.isFunction(callback)) { callback.call($this, $images, $proper, $broken) } } function imgLoadedHandler(event) { imgLoaded(event.target, event.type === 'error') } function imgLoaded(img, isBroken) { if (img.src === BLANK || $.inArray(img, loaded) !== -1) { return } loaded.push(img); if (isBroken) { broken.push(img) } else { proper.push(img) } $.data(img, 'imagesLoaded', { isBroken: isBroken, src: img.src }); if (hasNotify) { deferred.notifyWith($(img), [isBroken, $images, $(proper), $(broken)]) } if ($images.length === loaded.length) { setTimeout(doneLoading); $images.unbind('.imagesLoaded', imgLoadedHandler) } } if (!$images.length) { doneLoading() } else { $images.bind('load.imagesLoaded error.imagesLoaded', imgLoadedHandler).each(function (i, el) { var src = el.src; var cached = $.data(el, 'imagesLoaded'); if (cached && cached.src === src) { imgLoaded(el, cached.isBroken); return } if (el.complete && el.naturalWidth !== undefined) { imgLoaded(el, el.naturalWidth === 0 || el.naturalHeight === 0); return } if (el.readyState || el.complete) { el.src = BLANK; el.src = src } }) } return deferred ? deferred.promise($this) : $this }; var Modernizr = window.Modernizr; $.Flipshow = function (options, element) { this.$el = $(element); this._init(options) }; $.Flipshow.defaults = { speed: 700, easing: 'ease-out' }; $.Flipshow.prototype = { _init: function (options) { this.options = $.extend(true, {}, $.Flipshow.defaults, options); this.support = Modernizr.csstransitions && Modernizr.csstransforms3d && !(/MSIE (\d+\.\d+);/.test(navigator.userAgent)); var transEndEventNames = { 'WebkitTransition': 'webkitTransitionEnd', 'MozTransition': 'transitionend', 'OTransition': 'oTransitionEnd', 'msTransition': 'MSTransitionEnd', 'transition': 'transitionend' }, transformNames = { 'WebkitTransform': '-webkit-transform', 'MozTransform': '-moz-transform', 'OTransform': '-o-transform', 'msTransform': '-ms-transform', 'transform': 'transform' }; if (this.support) { this.transEndEventName = transEndEventNames[Modernizr.prefixed('transition')] + '.cbpFWSlider'; this.transformName = transformNames[Modernizr.prefixed('transform')] } this.transitionProperties = this.transformName + ' ' + this.options.speed + 'ms ' + this.options.easing; this.$listItems = this.$el.children('ul.fc-slides'); this.$items = this.$listItems.children('li').hide(); this.itemsCount = this.$items.length; this.current = 0; this.$listItems.imagesLoaded($.proxy(function () { this.$items.eq(this.current).show(); if (this.itemsCount > 0) { this._addNav(); if (this.support) { this._layout() } } }, this)) }, _addNav: function () { var self = this, $navLeft = $('<div class="fc-left"><span></span><span></span><span></span><i class="fa fa-arrow-left"></i></div>'), $navRight = $('<div class="fc-right"><span></span><span></span><span></span><i class="fa fa-arrow-right"></i></div>'); $('<nav></nav>').append($navLeft, $navRight).appendTo(this.$el); $navLeft.find('span').on('click.flipshow touchstart.flipshow', function () { self._navigate($(this), 'left') }); $navRight.find('span').on('click.flipshow touchstart.flipshow', function () { self._navigate($(this), 'right') }) }, _layout: function ($current, $next) { this.$flipFront = $('<div class="fc-front"><div></div></div>'); this.$frontContent = this.$flipFront.children('div:first'); this.$flipBack = $('<div class="fc-back"><div></div></div>'); this.$backContent = this.$flipBack.children('div:first'); this.$flipEl = $('<div class="fc-flip"></div>').append(this.$flipFront, this.$flipBack).hide().appendTo(this.$el) }, _navigate: function ($nav, dir) { if (this.isAnimating && this.support) { return false } this.isAnimating = true; var $currentItem = this.$items.eq(this.current).hide(); if (dir === 'right') { this.current < this.itemsCount - 1 ? ++this.current : this.current = 0 } else if (dir === 'left') { this.current > 0 ? --this.current : this.current = this.itemsCount - 1 } var $nextItem = this.$items.eq(this.current); if (this.support) { this._flip($currentItem, $nextItem, dir, $nav.index()) } else { $nextItem.show() } }, _flip: function ($currentItem, $nextItem, dir, angle) { var transformProperties = '', $overlayLight = $('<div class="fc-overlay-light"></div>'), $overlayDark = $('<div class="fc-overlay-dark"></div>'); this.$flipEl.css('transition', this.transitionProperties); this.$flipFront.find('div.fc-overlay-light, div.fc-overlay-dark').remove(); this.$flipBack.find('div.fc-overlay-light, div.fc-overlay-dark').remove(); if (dir === 'right') { this.$flipFront.append($overlayLight); this.$flipBack.append($overlayDark); $overlayDark.css('opacity', 1) } else if (dir === 'left') { this.$flipFront.append($overlayDark); this.$flipBack.append($overlayLight); $overlayLight.css('opacity', 1) } var overlayStyle = { transition: 'opacity ' + (this.options.speed / 1.3) + 'ms' }; $overlayLight.css(overlayStyle); $overlayDark.css(overlayStyle); switch (angle) { case 0: transformProperties = dir === 'left' ? 'rotate3d(-1,1,0,-179deg) rotate3d(-1,1,0,-1deg)' : 'rotate3d(1,1,0,180deg)'; break; case 1: transformProperties = dir === 'left' ? 'rotate3d(0,1,0,-179deg) rotate3d(0,1,0,-1deg)' : 'rotate3d(0,1,0,180deg)'; break; case 2: transformProperties = dir === 'left' ? 'rotate3d(1,1,0,-179deg) rotate3d(1,1,0,-1deg)' : 'rotate3d(-1,1,0,179deg) rotate3d(-1,1,0,1deg)'; break } this.$flipBack.css('transform', transformProperties); this.$frontContent.empty().html($currentItem.html()); this.$backContent.empty().html($nextItem.html()); this.$flipEl.show(); var self = this; setTimeout(function () { self.$flipEl.css('transform', transformProperties); $overlayLight.css('opacity', dir === 'right' ? 1 : 0); $overlayDark.css('opacity', dir === 'right' ? 0 : 1); self.$flipEl.on(self.transEndEventName, function (event) { if (event.target.className === 'fc-overlay-light' || event.target.className === 'fc-overlay-dark') return; self._ontransitionend($nextItem) }) }, 25) }, _ontransitionend: function ($nextItem) { $nextItem.show(); this.$flipEl.off(this.transEndEventName).css({ transition: 'none', transform: 'none' }).hide(); this.isAnimating = false } }; var logError = function (message) { if (window.console) { window.console.error(message) } }; $.fn.flipshow = function (options) { if (typeof options === 'string') { var args = Array.prototype.slice.call(arguments, 1); this.each(function () { var instance = $.data(this, 'flipshow'); if (!instance) { logError("cannot call methods on flipshow prior to initialization; " + "attempted to call method '" + options + "'"); return } if (!$.isFunction(instance[options]) || options.charAt(0) === "_") { logError("no such method '" + options + "' for flipshow instance"); return } instance[options].apply(instance, args) }) } else { this.each(function () { var instance = $.data(this, 'flipshow'); if (instance) { instance._init() } else { instance = $.data(this, 'flipshow', new $.Flipshow(options, this)) } }) } return this } })(jQuery, window);/*!
 * Slidebars - A jQuery Framework for Off-Canvas Menus and Sidebars
 * Version: 2.0.2
 * Url: http://www.adchsm.com/slidebars/
 * Author: Adam Charles Smith
 * Author url: http://www.adchsm.com/
 * License: MIT
 * License url: http://www.adchsm.com/slidebars/license/
 */

var slidebars=function(){var t=$("[canvas]"),e={},i=!1,n=!1,s=["top","right","bottom","left"],r=["reveal","push","overlay","shift"],o=function(i){var n=$(),s="0px, 0px",r=1e3*parseFloat(e[i].element.css("transitionDuration"),10);return("reveal"===e[i].style||"push"===e[i].style||"shift"===e[i].style)&&(n=n.add(t)),("push"===e[i].style||"overlay"===e[i].style||"shift"===e[i].style)&&(n=n.add(e[i].element)),e[i].active&&("top"===e[i].side?s="0px, "+e[i].element.css("height"):"right"===e[i].side?s="-"+e[i].element.css("width")+", 0px":"bottom"===e[i].side?s="0px, -"+e[i].element.css("height"):"left"===e[i].side&&(s=e[i].element.css("width")+", 0px")),{elements:n,amount:s,duration:r}},c=function(t,i,n,s){return a(t)?!1:void(e[t]={id:t,side:i,style:n,element:s,active:!1})},a=function(t){return e.hasOwnProperty(t)?!0:!1};this.init=function(t){return i?!1:(n||($("[off-canvas]").each(function(){var t=$(this).attr("off-canvas").split(" ",3);return t&&t[0]&&-1!==s.indexOf(t[1])&&-1!==r.indexOf(t[2])?void c(t[0],t[1],t[2],$(this)):!1}),n=!0),i=!0,this.css(),$(f).trigger("init"),void("function"==typeof t&&t()))},this.exit=function(t){if(!i)return!1;var e=function(){i=!1,$(f).trigger("exit"),"function"==typeof t&&t()};this.getActiveSlidebar()?this.close(e):e()},this.css=function(t){if(!i)return!1;for(var n in e)if(a(n)){var s;s="top"===e[n].side||"bottom"===e[n].side?e[n].element.css("height"):e[n].element.css("width"),("push"===e[n].style||"overlay"===e[n].style||"shift"===e[n].style)&&e[n].element.css("margin-"+e[n].side,"-"+s)}this.getActiveSlidebar()&&this.open(this.getActiveSlidebar()),$(f).trigger("css"),"function"==typeof t&&t()},this.open=function(t,n){if(!i)return!1;if(!t||!a(t))return!1;var s=function(){e[t].active=!0,e[t].element.css("display","block"),$(f).trigger("opening",[e[t].id]);var i=o(t);i.elements.css({"transition-duration":i.duration+"ms",transform:"translate("+i.amount+")"}),setTimeout(function(){$(f).trigger("opened",[e[t].id]),"function"==typeof n&&n()},i.duration)};this.getActiveSlidebar()&&this.getActiveSlidebar()!==t?this.close(s):s()},this.close=function(t,n){if("function"==typeof t&&(n=t,t=null),!i)return!1;if(t&&!a(t))return!1;if(t||(t=this.getActiveSlidebar()),t&&e[t].active){e[t].active=!1,$(f).trigger("closing",[e[t].id]);var s=o(t);s.elements.css("transform",""),setTimeout(function(){s.elements.css("transition-duration",""),e[t].element.css("display",""),$(f).trigger("closed",[e[t].id]),"function"==typeof n&&n()},s.duration)}},this.toggle=function(t,n){return i&&t&&a(t)?void(e[t].active?this.close(t,function(){"function"==typeof n&&n()}):this.open(t,function(){"function"==typeof n&&n()})):!1},this.isActive=function(){return i},this.isActiveSlidebar=function(t){return i&&t&&a(t)?e[t].active:!1},this.getActiveSlidebar=function(){if(!i)return!1;var t=!1;for(var n in e)if(a(n)&&e[n].active){t=e[n].id;break}return t},this.getSlidebars=function(){if(!i)return!1;var t=[];for(var n in e)a(n)&&t.push(e[n].id);return t},this.getSlidebar=function(t){return i&&t&&t&&a(t)?e[t]:!1},this.events={};var f=this.events;$(window).on("resize",this.css.bind(this))};