// source --> https://www.christianmetalgroup.com/wp-content/plugins/poll-wp/public/js/ts_poll-public.js?ver=2.5.5 
(function ($) {
	'use strict';
	/**
	 * All of the code for your public-facing JavaScript source
	 * should reside in this file.
	 *
	 * Note: It has been assumed you will write jQuery code here, so the
	 * $ function reference has been prepared for usage within the scope
	 * of this function.
	 *
	 * This enables you to define handlers, for when the DOM is ready:
	 *
	 * $(function() {
	 *
	 * });
	 *
	 * When the window is loaded:
	 *
	 * $( window ).load(function() {
	 *
	 * });
	 *
	 * ...and/or other possibilities.
	 *
	 * Ideally, it is not considered best practise to attach more than a
	 * single DOM-ready or window-load handler for a particular page.
	 * Although scripts in the WordPress core, Plugins and Themes may be
	 * practising this, we should strive to set a better example in our own work.
	 */
})(jQuery);
// source --> https://www.christianmetalgroup.com/wp-content/plugins/bdthemes-prime-slider-lite/assets/js/bdt-uikit.min.js?ver=3.21.7 
/*! bdtUIkit 3.21.7 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */!function(t,e){"object"==typeof exports&&typeof module<"u"?module.exports=e():"function"==typeof define&&define.amd?define("uikit",e):(t=typeof globalThis<"u"?globalThis:t||self).bdtUIkit=e()}(this,function(){"use strict";const{hasOwnProperty:t,toString:e}=Object.prototype;function i(e,i){return t.call(e,i)}const n=/\B([A-Z])/g,s=Z(t=>t.replace(n,"-$1").toLowerCase()),o=/-(\w)/g,r=Z(t=>(t.charAt(0).toLowerCase()+t.slice(1)).replace(o,(t,e)=>e.toUpperCase())),a=Z(t=>t.charAt(0).toUpperCase()+t.slice(1));function l(t,e){var i;return null==(i=null==t?void 0:t.startsWith)?void 0:i.call(t,e)}function h(t,e){var i;return null==(i=null==t?void 0:t.endsWith)?void 0:i.call(t,e)}function c(t,e){var i;return null==(i=null==t?void 0:t.includes)?void 0:i.call(t,e)}function d(t,e){var i;return null==(i=null==t?void 0:t.findIndex)?void 0:i.call(t,e)}const{isArray:u,from:f}=Array,{assign:p}=Object;function g(t){return"function"==typeof t}function m(t){return null!==t&&"object"==typeof t}function v(t){return"[object Object]"===e.call(t)}function b(t){return m(t)&&t===t.window}function w(t){return 9===y(t)}function $(t){return y(t)>=1}function x(t){return 1===y(t)}function y(t){return!b(t)&&m(t)&&t.nodeType}function S(t){return"boolean"==typeof t}function I(t){return"string"==typeof t}function k(t){return"number"==typeof t}function C(t){return k(t)||I(t)&&!isNaN(t-parseFloat(t))}function T(t){return!(u(t)?t.length:m(t)&&Object.keys(t).length)}function E(t){return void 0===t}function A(t){return S(t)?t:"true"===t||"1"===t||""===t||"false"!==t&&"0"!==t&&t}function D(t){const e=Number(t);return!isNaN(e)&&e}function _(t){return parseFloat(t)||0}function M(t){return t&&P(t)[0]}function P(t){return $(t)?[t]:Array.from(t||[]).filter($)}function O(t){if(b(t))return t;const e=w(t=M(t))?t:null==t?void 0:t.ownerDocument;return(null==e?void 0:e.defaultView)||window}function B(t,e){return t===e||m(t)&&m(e)&&Object.keys(t).length===Object.keys(e).length&&H(t,(t,i)=>t===e[i])}function N(t,e,i){return t.replace(new RegExp(`${e}|${i}`,"g"),t=>t===e?i:e)}function z(t){return t[t.length-1]}function H(t,e){for(const i in t)if(!1===e(t[i],i))return!1;return!0}function F(t,e){return t.slice().sort(({[e]:t=0},{[e]:i=0})=>t>i?1:i>t?-1:0)}function j(t,e){return t.reduce((t,i)=>t+_(g(e)?e(i):i[e]),0)}function L(t,e){const i=new Set;return t.filter(({[e]:t})=>!i.has(t)&&i.add(t))}function W(t,e){return e.reduce((e,i)=>({...e,[i]:t[i]}),{})}function q(t,e=0,i=1){return Math.min(Math.max(D(t)||0,e),i)}function V(){}function R(...t){return[["bottom","top"],["right","left"]].every(([e,i])=>Math.min(...t.map(({[e]:t})=>t))-Math.max(...t.map(({[i]:t})=>t))>0)}function U(t,e){return t.x<=e.right&&t.x>=e.left&&t.y<=e.bottom&&t.y>=e.top}function Y(t,e,i){const n="width"===e?"height":"width";return{[n]:t[e]?Math.round(i*t[n]/t[e]):t[n],[e]:i}}function X(t,e){t={...t};for(const i in t)t=t[i]>e[i]?Y(t,i,e[i]):t;return t}const J={ratio:Y,contain:X,cover:function(t,e){t=X(t,e);for(const i in t)t=t[i]<e[i]?Y(t,i,e[i]):t;return t}};function G(t,e,i=0,n=!1){e=P(e);const{length:s}=e;return s?(t=C(t)?D(t):"next"===t?i+1:"previous"===t?i-1:"last"===t?s-1:e.indexOf(M(t)),n?q(t,0,s-1):(t%=s)<0?t+s:t):-1}function Z(t){const e=Object.create(null);return(i,...n)=>e[i]||(e[i]=t(i,...n))}function K(t,...e){for(const i of P(t)){const t=nt(e).filter(t=>!et(i,t));t.length&&i.classList.add(...t)}}function Q(t,...e){for(const i of P(t)){const t=nt(e).filter(t=>et(i,t));t.length&&i.classList.remove(...t)}}function tt(t,e,i){i=nt(i),Q(t,e=nt(e).filter(t=>!c(i,t))),K(t,i)}function et(t,e){return[e]=nt(e),P(t).some(t=>t.classList.contains(e))}function it(t,e,i){const n=nt(e);E(i)||(i=!!i);for(const e of P(t))for(const t of n)e.classList.toggle(t,i)}function nt(t){return t?u(t)?t.map(nt).flat():String(t).split(" ").filter(Boolean):[]}function st(t,e,i){var n;if(m(e))for(const i in e)st(t,i,e[i]);else{if(E(i))return null==(n=M(t))?void 0:n.getAttribute(e);for(const n of P(t))g(i)&&(i=i.call(n,st(n,e))),null===i?rt(n,e):n.setAttribute(e,i)}}function ot(t,e){return P(t).some(t=>t.hasAttribute(e))}function rt(t,e){P(t).forEach(t=>t.removeAttribute(e))}function at(t,e){for(const i of[e,`data-${e}`])if(ot(t,i))return st(t,i)}const lt=typeof window<"u",ht=lt&&"rtl"===document.dir,ct=lt&&"ontouchstart"in window,dt=lt&&window.PointerEvent,ut=dt?"pointerdown":ct?"touchstart":"mousedown",ft=dt?"pointermove":ct?"touchmove":"mousemove",pt=dt?"pointerup":ct?"touchend":"mouseup",gt=dt?"pointerenter":ct?"":"mouseenter",mt=dt?"pointerleave":ct?"":"mouseleave",vt=dt?"pointercancel":"touchcancel",bt={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};function wt(t){return P(t).some(t=>bt[t.tagName.toLowerCase()])}const $t=lt&&Element.prototype.checkVisibility||function(){return this.offsetWidth||this.offsetHeight||this.getClientRects().length};function xt(t){return P(t).some(t=>$t.call(t))}const yt="input,select,textarea,button";function St(t){return P(t).some(t=>Et(t,yt))}const It=`${yt},a[href],[tabindex]`;function kt(t){return Et(t,It)}function Ct(t){var e;return null==(e=M(t))?void 0:e.parentElement}function Tt(t,e){return P(t).filter(t=>Et(t,e))}function Et(t,e){return P(t).some(t=>t.matches(e))}function At(t,e){const i=[];for(;t=Ct(t);)(!e||Et(t,e))&&i.push(t);return i}function Dt(t,e){const i=(t=M(t))?f(t.children):[];return e?Tt(i,e):i}function _t(t,e){return e?P(t).indexOf(M(e)):Dt(Ct(t)).indexOf(t)}function Mt(t){return(t=M(t))&&["origin","pathname","search"].every(e=>t[e]===location[e])}function Pt(t){if(Mt(t)){const{hash:e,ownerDocument:i}=M(t),n=decodeURIComponent(e).slice(1);return i.getElementById(n)||i.getElementsByName(n)[0]}}function Ot(t,e){return Nt(t,Ht(t,e))}function Bt(t,e){return zt(t,Ht(t,e))}function Nt(t,e){return M(Vt(t,M(e),"querySelector"))}function zt(t,e){return P(Vt(t,M(e),"querySelectorAll"))}function Ht(t,e=document){return I(t)&&Lt(t).isContextSelector||w(e)?e:e.ownerDocument}const Ft=/([!>+~-])(?=\s+[!>+~-]|\s*$)/g,jt=/(\([^)]*\)|[^,])+/g,Lt=Z(t=>{t=t.replace(Ft,"$1 *");let e=!1;const i=[];for(let n of t.match(jt))n=n.trim(),e||(e=["!","+","~","-",">"].includes(n[0])),i.push(n);return{selector:i.join(","),selectors:i,isContextSelector:e}}),Wt=/(\([^)]*\)|\S)*/,qt=Z(t=>{t=t.slice(1).trim();const[e]=t.match(Wt);return[e,t.slice(e.length+1)]});function Vt(t,e=document,i){if(!t||!I(t))return t;const n=Lt(t);if(!n.isContextSelector)return Rt(e,i,n.selector);t="";const s=1===n.selectors.length;for(let o of n.selectors){let n,r=e;if("!"===o[0]&&([n,o]=qt(o),r=e.parentElement.closest(n),!o&&s)||r&&"-"===o[0]&&([n,o]=qt(o),r=r.previousElementSibling,r=Et(r,n)?r:null,!o&&s))return r;if(r){if(s)return"~"===o[0]||"+"===o[0]?(o=`:scope > :nth-child(${_t(r)+1}) ${o}`,r=r.parentElement):">"===o[0]&&(o=`:scope ${o}`),Rt(r,i,o);t+=`${t?",":""}${Ut(r)} ${o}`}}return w(e)||(e=e.ownerDocument),Rt(e,i,t)}function Rt(t,e,i){try{return t[e](i)}catch{return null}}function Ut(t){const e=[];for(;t.parentNode;){const i=st(t,"id");if(i){e.unshift(`#${Yt(i)}`);break}{let{tagName:i}=t;"HTML"!==i&&(i+=`:nth-child(${_t(t)+1})`),e.unshift(i),t=t.parentNode}}return e.join(" > ")}function Yt(t){return I(t)?CSS.escape(t):""}function Xt(...t){let[e,i,n,s,o=!1]=Qt(t);s.length>1&&(s=function(t){return e=>u(e.detail)?t(e,...e.detail):t(e)}(s)),null!=o&&o.self&&(s=function(t){return function(e){if(e.target===e.currentTarget||e.target===e.current)return t.call(null,e)}}(s)),n&&(s=function(t,e){return i=>{const n=">"===t[0]?zt(t,i.currentTarget).reverse().find(t=>t.contains(i.target)):i.target.closest(t);n&&(i.current=n,e.call(this,i),delete i.current)}}(n,s));for(const t of i)for(const i of e)i.addEventListener(t,s,o);return()=>Jt(e,i,s,o)}function Jt(...t){let[e,i,,n,s=!1]=Qt(t);for(const t of i)for(const i of e)i.removeEventListener(t,n,s)}function Gt(...t){const[e,i,n,s,o=!1,r]=Qt(t),a=Xt(e,i,n,t=>{const e=!r||r(t);e&&(a(),s(t,e))},o);return a}function Zt(t,e,i){return ie(t).every(t=>t.dispatchEvent(Kt(e,!0,!0,i)))}function Kt(t,e=!0,i=!1,n){return I(t)&&(t=new CustomEvent(t,{bubbles:e,cancelable:i,detail:n})),t}function Qt(t){return t[0]=ie(t[0]),I(t[1])&&(t[1]=t[1].split(" ")),g(t[2])&&t.splice(2,0,!1),t}function te(t){return t&&"addEventListener"in t}function ee(t){return te(t)?t:M(t)}function ie(t){return u(t)?t.map(ee).filter(Boolean):I(t)?zt(t):te(t)?[t]:P(t)}function ne(t){return"touch"===t.pointerType||!!t.touches}function se(t){var e,i;const{clientX:n,clientY:s}=(null==(e=t.touches)?void 0:e[0])||(null==(i=t.changedTouches)?void 0:i[0])||t;return{x:n,y:s}}const oe={"animation-iteration-count":!0,"column-count":!0,"fill-opacity":!0,"flex-grow":!0,"flex-shrink":!0,"font-weight":!0,"line-height":!0,opacity:!0,order:!0,orphans:!0,"stroke-dasharray":!0,"stroke-dashoffset":!0,widows:!0,"z-index":!0,zoom:!0};function re(t,e,i,n){const s=P(t);for(const t of s)if(I(e)){if(e=ae(e),E(i))return getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,C(i)&&!oe[e]?`${i}px`:i||k(i)?i:"",n)}else{if(u(e)){const i={};for(const n of e)i[n]=re(t,n);return i}if(m(e))for(const n in e)re(t,n,e[n],i)}return s[0]}const ae=Z(t=>{if(l(t,"--"))return t;t=s(t);const{style:e}=document.documentElement;if(t in e)return t;for(const i of["webkit","moz"]){const n=`-${i}-${t}`;if(n in e)return n}}),le="bdt-transition",he="transitionend",ce="transitioncanceled";const de={start:function(t,e,i=400,n="linear"){return i=Math.round(i),Promise.all(P(t).map(t=>new Promise((s,o)=>{for(const i in e)re(t,i);const r=setTimeout(()=>Zt(t,he),i);Gt(t,[he,ce],({type:e})=>{clearTimeout(r),Q(t,le),re(t,{transitionProperty:"",transitionDuration:"",transitionTimingFunction:""}),e===ce?o():s(t)},{self:!0}),K(t,le),re(t,{transitionProperty:Object.keys(e).map(ae).join(","),transitionDuration:`${i}ms`,transitionTimingFunction:n,...e})})))},async stop(t){Zt(t,he),await Promise.resolve()},async cancel(t){Zt(t,ce),await Promise.resolve()},inProgress:t=>et(t,le)},ue="bdt-animation",fe="animationend",pe="animationcanceled";function ge(t,e,i=200,n,s){return Promise.all(P(t).map(t=>new Promise((o,r)=>{et(t,ue)&&Zt(t,pe);const a=[e,ue,`${ue}-${s?"leave":"enter"}`,n&&`bdt-transform-origin-${n}`,s&&`${ue}-reverse`],l=setTimeout(()=>Zt(t,fe),i);Gt(t,[fe,pe],({type:e})=>{clearTimeout(l),e===pe?r():o(t),re(t,"animationDuration",""),Q(t,a)},{self:!0}),re(t,"animationDuration",`${i}ms`),K(t,a)})))}const me={in:ge,out:(t,e,i,n)=>ge(t,e,i,n,!0),inProgress:t=>et(t,ue),cancel(t){Zt(t,pe)}};function ve(t,...e){return e.some(e=>{var i;return(null==(i=null==t?void 0:t.tagName)?void 0:i.toLowerCase())===e.toLowerCase()})}function be(t){return(t=Pe(t)).innerHTML="",t}function we(t,e){return E(e)?Pe(t).innerHTML:xe(be(t),e)}const $e=Ie("prepend"),xe=Ie("append"),ye=Ie("before"),Se=Ie("after");function Ie(t){return function(e,i){var n;const s=P(I(i)?De(i):i);return null==(n=Pe(e))||n[t](...s),_e(s)}}function ke(t){P(t).forEach(t=>t.remove())}function Ce(t,e){for(e=M(ye(t,e));e.firstElementChild;)e=e.firstElementChild;return xe(e,t),e}function Te(t,e){return P(P(t).map(t=>t.hasChildNodes()?Ce(f(t.childNodes),e):xe(t,e)))}function Ee(t){P(t).map(Ct).filter((t,e,i)=>i.indexOf(t)===e).forEach(t=>t.replaceWith(...t.childNodes))}const Ae=/^<(\w+)\s*\/?>(?:<\/\1>)?$/;function De(t){const e=Ae.exec(t);if(e)return document.createElement(e[1]);const i=document.createElement("template");return i.innerHTML=t.trim(),_e(i.content.childNodes)}function _e(t){return t.length>1?t:t[0]}function Me(t,e){if(x(t))for(e(t),t=t.firstElementChild;t;)Me(t,e),t=t.nextElementSibling}function Pe(t,e){return Be(t)?M(De(t)):Nt(t,e)}function Oe(t,e){return Be(t)?P(De(t)):zt(t,e)}function Be(t){return I(t)&&l(t.trim(),"<")}const Ne={width:["left","right"],height:["top","bottom"]};function ze(t){const e=x(t)?M(t).getBoundingClientRect():{height:Le(t),width:We(t),top:0,left:0};return{height:e.height,width:e.width,top:e.top,left:e.left,bottom:e.top+e.height,right:e.left+e.width}}function He(t,e){e&&re(t,{left:0,top:0});const i=ze(t);if(t){const{scrollY:e,scrollX:n}=O(t),s={height:e,width:n};for(const t in Ne)for(const e of Ne[t])i[e]+=s[t]}if(!e)return i;for(const n of["left","top"])re(t,n,e[n]-i[n])}function Fe(t){let{top:e,left:i}=He(t);const{ownerDocument:{body:n,documentElement:s},offsetParent:o}=M(t);let r=o||s;for(;r&&(r===n||r===s)&&"static"===re(r,"position");)r=r.parentNode;if(x(r)){const t=He(r);e-=t.top+_(re(r,"borderTopWidth")),i-=t.left+_(re(r,"borderLeftWidth"))}return{top:e-_(re(t,"marginTop")),left:i-_(re(t,"marginLeft"))}}function je(t){const e=[(t=M(t)).offsetTop,t.offsetLeft];for(;t=t.offsetParent;)if(e[0]+=t.offsetTop+_(re(t,"borderTopWidth")),e[1]+=t.offsetLeft+_(re(t,"borderLeftWidth")),"fixed"===re(t,"position")){const i=O(t);return e[0]+=i.scrollY,e[1]+=i.scrollX,e}return e}const Le=qe("height"),We=qe("width");function qe(t){const e=a(t);return(i,n)=>{if(E(n)){if(b(i))return i[`inner${e}`];if(w(i)){const t=i.documentElement;return Math.max(t[`offset${e}`],t[`scroll${e}`])}return(n="auto"===(n=re(i=M(i),t))?i[`offset${e}`]:_(n)||0)-Ve(i,t)}return re(i,t,n||0===n?+n+Ve(i,t)+"px":"")}}function Ve(t,e,i="border-box"){return re(t,"boxSizing")===i?j(Ne[e].map(a),e=>_(re(t,`padding${e}`))+_(re(t,`border${e}Width`))):0}function Re(t){for(const e in Ne)for(const i in Ne[e])if(Ne[e][i]===t)return Ne[e][1-i];return t}function Ue(t,e="width",i=window,n=!1){return I(t)?j(Xe(t),t=>{const s=Ge(t);return s?function(t,e){return t*_(e)/100}("vh"===s?Ze||(Ke||(Ke=Pe("<div>"),re(Ke,{height:"100vh",position:"fixed"}),Xt(window,"resize",()=>Ze=null)),xe(document.body,Ke),Ze=Ke.clientHeight,ke(Ke),Ze):"vw"===s?We(O(i)):n?i[`offset${a(e)}`]:ze(i)[e],t):t}):_(t)}const Ye=/-?\d+(?:\.\d+)?(?:v[wh]|%|px)?/g,Xe=Z(t=>t.toString().replace(/\s/g,"").match(Ye)||[]),Je=/(?:v[hw]|%)$/,Ge=Z(t=>(t.match(Je)||[])[0]);let Ze,Ke;const Qe={read:function(t){return ti.push(t),si(),t},write:function(t){return ei.push(t),si(),t},clear:function(t){ri(ti,t),ri(ei,t)},flush:ni},ti=[],ei=[];let ii=!1;function ni(){oi(ti),oi(ei.splice(0)),ii=!1,(ti.length||ei.length)&&si()}function si(){ii||(ii=!0,queueMicrotask(ni))}function oi(t){let e;for(;e=t.shift();)try{e()}catch(t){console.error(t)}}function ri(t,e){const i=t.indexOf(e);return~i&&t.splice(i,1)}class ai{init(){let t;this.positions=[],this.unbind=Xt(document,"mousemove",e=>t=se(e)),this.interval=setInterval(()=>{t&&(this.positions.push(t),this.positions.length>5&&this.positions.shift())},50)}cancel(){var t;null==(t=this.unbind)||t.call(this),clearInterval(this.interval)}movesTo(t){if(!this.positions||this.positions.length<2)return!1;const e=ze(t),{left:i,right:n,top:s,bottom:o}=e,[r]=this.positions,a=z(this.positions),l=[r,a];return!U(a,e)&&[[{x:i,y:s},{x:n,y:o}],[{x:i,y:o},{x:n,y:s}]].some(t=>{const i=function([{x:t,y:e},{x:i,y:n}],[{x:s,y:o},{x:r,y:a}]){const l=(a-o)*(i-t)-(r-s)*(n-e);if(0===l)return!1;const h=((r-s)*(e-o)-(a-o)*(t-s))/l;return!(h<0)&&{x:t+h*(i-t),y:e+h*(n-e)}}(l,t);return i&&U(i,e)})}}function li(t,e,i={},{intersecting:n=!0}={}){const s=new IntersectionObserver(n?(t,i)=>{t.some(t=>t.isIntersecting)&&e(t,i)}:e,i);for(const e of P(t))s.observe(e);return s}const hi=lt&&window.ResizeObserver;function ci(t,e,i={box:"border-box"}){if(hi)return fi(ResizeObserver,t,e,i);const n=[Xt(window,"load resize",e),Xt(document,"loadedmetadata load",e,!0)];return{disconnect:()=>n.map(t=>t())}}function di(t){return{disconnect:Xt([window,window.visualViewport],"resize",t)}}function ui(t,e,i){return fi(MutationObserver,t,e,i)}function fi(t,e,i,n){const s=new t(i);for(const t of P(e))s.observe(t,n);return s}function pi(t){wi(t)&&yi(t,{func:"playVideo",method:"play"}),bi(t)&&t.play().catch(V)}function gi(t){wi(t)&&yi(t,{func:"pauseVideo",method:"pause"}),bi(t)&&t.pause()}function mi(t){wi(t)&&yi(t,{func:"mute",method:"setVolume",value:0}),bi(t)&&(t.muted=!0)}function vi(t){return bi(t)||wi(t)}function bi(t){return ve(t,"video")}function wi(t){return ve(t,"iframe")&&($i(t)||xi(t))}function $i(t){return!!t.src.match(/\/\/.*?youtube(-nocookie)?\.[a-z]+\/(watch\?v=[^&\s]+|embed)|youtu\.be\/.*/)}function xi(t){return!!t.src.match(/vimeo\.com\/video\/.*/)}async function yi(t,e){await function(t){if(t[Ii])return t[Ii];const e=$i(t),i=xi(t),n=++ki;let s;return t[Ii]=new Promise(o=>{e&&Gt(t,"load",()=>{const e=()=>Si(t,{event:"listening",id:n});s=setInterval(e,100),e()}),Gt(window,"message",o,!1,({data:t})=>{try{return t=JSON.parse(t),e&&(null==t?void 0:t.id)===n&&"onReady"===t.event||i&&Number(null==t?void 0:t.player_id)===n}catch{}}),t.src=`${t.src}${c(t.src,"?")?"&":"?"}${e?"enablejsapi=1":`api=1&player_id=${n}`}`}).then(()=>clearInterval(s))}(t),Si(t,e)}function Si(t,e){t.contentWindow.postMessage(JSON.stringify({event:"command",...e}),"*")}const Ii="_ukPlayer";let ki=0;function Ci(t,{offset:e=0}={}){const i=xt(t)?Ei(t,!1,["hidden"]):[];return i.reduce((n,s,o)=>{const{scrollTop:r,scrollHeight:a,offsetHeight:l}=s,h=_i(s),c=a-h.height,{height:d,top:u}=i[o-1]?_i(i[o-1]):He(t);let f=Math.ceil(u-h.top-e+r);return e>0&&l<d+e?f+=e:e=0,f>c?(e-=f-c,f=c):f<0&&(e-=f,f=0),()=>function(t,e,n,s){return new Promise(o=>{const r=t.scrollTop,a=function(t){return 40*Math.pow(t,.375)}(Math.abs(e)),l=Date.now(),h=Bi(t)===t,c=He(n).top+(h?0:r);let d=0,u=15;!function f(){const p=function(t){return.5*(1-Math.cos(Math.PI*t))}(q((Date.now()-l)/a));let g=0;i[0]===t&&r+e<s&&(g=He(n).top+(h?0:t.scrollTop)-c-ze(Mi(n)).height),t.scrollTop=r+(e+g)*p,1!==p||d!==g&&u--?(d=g,requestAnimationFrame(f)):o()}()})}(s,f-r,t,c).then(n)},()=>Promise.resolve())()}function Ti(t,e=0,i=0){if(!xt(t))return 0;const n=Ai(t,!0),{scrollHeight:s,scrollTop:o}=n,{height:r}=_i(n),a=s-r,l=je(t)[0]-je(n)[0],h=Math.max(0,l-r+e),c=Math.min(a,l+t.offsetHeight-i);return h<c?q((o-h)/(c-h)):1}function Ei(t,e=!1,i=[]){const n=Bi(t);let s=At(t).reverse();s=s.slice(s.indexOf(n)+1);const o=d(s,t=>"fixed"===re(t,"position"));return~o&&(s=s.slice(o)),[n].concat(s.filter(t=>re(t,"overflow").split(" ").some(t=>c(["auto","scroll",...i],t))&&(!e||t.scrollHeight>_i(t).height))).reverse()}function Ai(...t){return Ei(...t)[0]}function Di(t){return Ei(t,!1,["hidden","clip"])}function _i(t){const e=O(t),i=Bi(t),n=t.contains(i);if(n&&e.visualViewport){let{height:t,width:i,scale:n,pageTop:s,pageLeft:o}=e.visualViewport;return t=Math.round(t*n),i=Math.round(i*n),{height:t,width:i,top:s,left:o,bottom:s+t,right:o+i}}let s=He(n?e:t);if("inline"===re(t,"display"))return s;const{body:o,documentElement:r}=e.document,l=n?i===r||i.clientHeight<o.clientHeight?i:o:t;for(let[t,e,i,n]of[["width","x","left","right"],["height","y","top","bottom"]]){const o=s[t]%1;s[i]+=_(re(l,`border-${i}-width`)),s[t]=s[e]=l[`client${a(t)}`]-(o?o<.5?-o:1-o:0),s[n]=s[t]+s[i]}return s}function Mi(t){const{left:e,width:i,top:n}=ze(t);for(const s of n?[0,n]:[0]){let n;for(const o of O(t).document.elementsFromPoint(e+i/2,s))!o.contains(t)&&!et(o,"bdt-togglable-leave")&&(Oi(o,"fixed")&&Pi(At(t).reverse().find(t=>!t.contains(o)&&!Oi(t,"static")))<Pi(o)||Oi(o,"sticky")&&Ct(o).contains(t))&&(!n||ze(n).height<ze(o).height)&&(n=o);if(n)return n}}function Pi(t){return _(re(t,"zIndex"))}function Oi(t,e){return re(t,"position")===e}function Bi(t){return O(t).document.scrollingElement}const Ni=[["width","x","left","right"],["height","y","top","bottom"]];function zi(t,e,i){i={attach:{element:["left","top"],target:["left","top"],...i.attach},offset:[0,0],placement:[],...i},u(e)||(e=[e,e]),He(t,Hi(t,e,i))}function Hi(t,e,i){const n=Fi(t,e,i),{boundary:s,viewportOffset:o=0,placement:r}=i;let a=n;for(const[l,[h,,c,d]]of Object.entries(Ni)){const u=Wi(t,e[l],o,s,l);if(Ui(n,u,l))continue;let f=0;if("flip"===r[l]){const s=i.attach.target[l];if(s===d&&n[d]<=u[d]||s===c&&n[c]>=u[c])continue;f=Yi(t,e,i,l)[c]-n[c];const r=qi(t,e[l],o,l);if(!Ui(ji(n,f,l),r,l)){if(Ui(n,r,l))continue;if(i.recursion)return!1;const s=Xi(t,e,i);if(s&&Ui(s,r,1-l))return s;continue}}else if("shift"===r[l]){const t=He(e[l]),{offset:s}=i;f=q(q(n[c],u[c],u[d]-n[h]),t[c]-n[h]+s[l],t[d]-s[l])-n[c]}a=ji(a,f,l)}return a}function Fi(t,e,i){let{attach:n,offset:s}={attach:{element:["left","top"],target:["left","top"],...i.attach},offset:[0,0],...i},o=He(t);for(const[t,[i,,r,a]]of Object.entries(Ni)){const l=n.target[t]===n.element[t]?_i(e[t]):He(e[t]);o=ji(o,l[r]-o[r]+Li(n.target[t],a,l[i])-Li(n.element[t],a,o[i])+ +s[t],t)}return o}function ji(t,e,i){const[,n,s,o]=Ni[i],r={...t};return r[s]=t[n]=t[s]+e,r[o]+=e,r}function Li(t,e,i){return"center"===t?i/2:t===e?i:0}function Wi(t,e,i,n,s){let o=Ri(...Vi(t,e).map(_i));return i&&(o[Ni[s][2]]+=i,o[Ni[s][3]]-=i),n&&(o=Ri(o,He(u(n)?n[s]:n))),o}function qi(t,e,i,n){const[s,o,r,l]=Ni[n],[h]=Vi(t,e),c=_i(h);return["auto","scroll"].includes(re(h,`overflow-${o}`))&&(c[r]-=h[`scroll${a(r)}`],c[l]=c[r]+h[`scroll${a(s)}`]),c[r]+=i,c[l]-=i,c}function Vi(t,e){return Di(e).filter(e=>e.contains(t))}function Ri(...t){let e={};for(const i of t)for(const[,,t,n]of Ni)e[t]=Math.max(e[t]||0,i[t]),e[n]=Math.min(...[e[n],i[n]].filter(Boolean));return e}function Ui(t,e,i){const[,,n,s]=Ni[i];return t[n]>=e[n]&&t[s]<=e[s]}function Yi(t,e,{offset:i,attach:n},s){return Fi(t,e,{attach:{element:Ji(n.element,s),target:Ji(n.target,s)},offset:Zi(i,s)})}function Xi(t,e,i){return Hi(t,e,{...i,attach:{element:i.attach.element.map(Gi).reverse(),target:i.attach.target.map(Gi).reverse()},offset:i.offset.reverse(),placement:i.placement.reverse(),recursion:!0})}function Ji(t,e){const i=[...t],n=Ni[e].indexOf(t[e]);return~n&&(i[e]=Ni[e][1-n%2+2]),i}function Gi(t){for(let e=0;e<Ni.length;e++){const i=Ni[e].indexOf(t);if(~i)return Ni[1-e][i%2+2]}}function Zi(t,e){return(t=[...t])[e]*=-1,t}var Ki=Object.freeze({__proto__:null,$:Pe,$$:Oe,Animation:me,Dimensions:J,MouseTracker:ai,Transition:de,addClass:K,after:Se,append:xe,apply:Me,assign:p,attr:st,before:ye,boxModelAdjust:Ve,camelize:r,children:Dt,clamp:q,createEvent:Kt,css:re,data:at,dimensions:ze,each:H,empty:be,endsWith:h,escape:Yt,fastdom:Qe,filter:Tt,find:Nt,findAll:zt,findIndex:d,flipPosition:Re,fragment:De,getCoveringElement:Mi,getEventPos:se,getIndex:G,getTargetedElement:Pt,hasAttr:ot,hasClass:et,hasOwn:i,hasTouch:ct,height:Le,html:we,hyphenate:s,inBrowser:lt,includes:c,index:_t,intersectRect:R,isArray:u,isBoolean:S,isDocument:w,isElement:x,isEmpty:T,isEqual:B,isFocusable:kt,isFunction:g,isInView:function(t,e=0,i=0){return!!xt(t)&&R(...Di(t).map(t=>{const{top:n,left:s,bottom:o,right:r}=_i(t);return{top:n-e,left:s-i,bottom:o+e,right:r+i}}).concat(He(t)))},isInput:St,isNode:$,isNumber:k,isNumeric:C,isObject:m,isPlainObject:v,isRtl:ht,isSameSiteAnchor:Mt,isString:I,isTag:ve,isTouch:ne,isUndefined:E,isVideo:vi,isVisible:xt,isVoidElement:wt,isWindow:b,last:z,matches:Et,memoize:Z,mute:mi,noop:V,observeIntersection:li,observeMutation:ui,observeResize:ci,observeViewportResize:di,off:Jt,offset:He,offsetPosition:je,offsetViewport:_i,on:Xt,once:Gt,overflowParents:Di,parent:Ct,parents:At,pause:gi,pick:W,play:pi,pointInRect:U,pointerCancel:vt,pointerDown:ut,pointerEnter:gt,pointerLeave:mt,pointerMove:ft,pointerUp:pt,position:Fe,positionAt:zi,prepend:$e,propName:ae,query:Ot,queryAll:Bt,ready:function(t){"loading"===document.readyState?Gt(document,"DOMContentLoaded",t):t()},remove:ke,removeAttr:rt,removeClass:Q,replaceClass:tt,scrollIntoView:Ci,scrollParent:Ai,scrollParents:Ei,scrolledOver:Ti,selFocusable:It,selInput:yt,sortBy:F,startsWith:l,sumBy:j,swap:N,toArray:f,toBoolean:A,toEventTargets:ie,toFloat:_,toNode:M,toNodes:P,toNumber:D,toPx:Ue,toWindow:O,toggleClass:it,trigger:Zt,ucfirst:a,uniqueBy:L,unwrap:Ee,width:We,wrapAll:Ce,wrapInner:Te}),Qi={connected(){K(this.$el,this.$options.id)}};const tn=["days","hours","minutes","seconds"];var en={mixins:[Qi],props:{date:String,clsWrapper:String,role:String},data:{date:"",clsWrapper:".bdt-countdown-%unit%",role:"timer"},connected(){st(this.$el,"role",this.role),this.date=_(Date.parse(this.$props.date)),this.end=!1,this.start()},disconnected(){this.stop()},events:{name:"visibilitychange",el:()=>document,handler(){document.hidden?this.stop():this.start()}},methods:{start(){this.stop(),this.update(),this.timer||(Zt(this.$el,"countdownstart"),this.timer=setInterval(this.update,1e3))},stop(){this.timer&&(clearInterval(this.timer),Zt(this.$el,"countdownstop"),this.timer=null)},update(){const t=function(t){const e=Math.max(0,t-Date.now())/1e3;return{total:e,seconds:e%60,minutes:e/60%60,hours:e/60/60%24,days:e/60/60/24}}(this.date);t.total||(this.stop(),this.end||(Zt(this.$el,"countdownend"),this.end=!0));for(const e of tn){const i=Pe(this.clsWrapper.replace("%unit%",e),this.$el);if(!i)continue;let n=Math.trunc(t[e]).toString().padStart(2,"0");i.textContent!==n&&(n=n.split(""),n.length!==i.children.length&&we(i,n.map(()=>"<span></span>").join("")),n.forEach((t,e)=>i.children[e].textContent=t))}}}};const nn={};function sn(t,e,i){return nn.computed(g(t)?t.call(i,i):t,g(e)?e.call(i,i):e)}function on(t,e){return t=t&&!u(t)?[t]:t,e?t?t.concat(e):u(e)?e:[e]:t}function rn(t,e){return E(e)?t:e}function an(t,e,n){const s={};if(g(e)&&(e=e.options),e.extends&&(t=an(t,e.extends,n)),e.mixins)for(const i of e.mixins)t=an(t,i,n);for(const e in t)o(e);for(const n in e)i(t,n)||o(n);function o(i){s[i]=(nn[i]||rn)(t[i],e[i],n)}return s}function ln(t,e=[]){try{return t?l(t,"{")?JSON.parse(t):e.length&&!c(t,":")?{[e[0]]:t}:t.split(";").reduce((t,e)=>{const[i,n]=e.split(/:(.*)/);return i&&!E(n)&&(t[i.trim()]=n.trim()),t},{}):{}}catch{return{}}}function hn(t,e){return t===Boolean?A(e):t===Number?D(e):"list"===t?function(t){return u(t)?t:I(t)?t.split(cn).map(t=>C(t)?D(t):A(t.trim())):[t]}(e):t===Object&&I(e)?ln(e):t?t(e):e}nn.events=nn.watch=nn.observe=nn.created=nn.beforeConnect=nn.connected=nn.beforeDisconnect=nn.disconnected=nn.destroy=on,nn.args=function(t,e){return!1!==e&&on(e||t)},nn.update=function(t,e){return F(on(t,g(e)?{read:e}:e),"order")},nn.props=function(t,e){if(u(e)){const t={};for(const i of e)t[i]=String;e=t}return nn.methods(t,e)},nn.computed=nn.methods=function(t,e){return e?t?{...t,...e}:e:t},nn.i18n=nn.data=function(t,e,i){return i?sn(t,e,i):e?t?function(i){return sn(t,e,i)}:e:t};const cn=/,(?![^(]*\))/;function dn(t,e="update"){t._connected&&t._updates.length&&(t._queued||(t._queued=new Set,Qe.read(()=>{t._connected&&function(t,e){for(const{read:i,write:n,events:s=[]}of t._updates){if(!e.has("update")&&!s.some(t=>e.has(t)))continue;let o;i&&(o=i.call(t,t._data,e),o&&v(o)&&p(t._data,o)),n&&!1!==o&&Qe.write(()=>{t._connected&&n.call(t,t._data,e)})}}(t,t._queued),t._queued=null})),t._queued.add(e.type||e))}function un(t){return wn(ci,t,"resize")}function fn(t){return wn(li,t)}function pn(t){return wn(ui,t)}function gn(t={}){return fn({handler:function(e,i){const{targets:n=this.$el,preload:s=5}=t;for(const t of P(g(n)?n(this):n))Oe('[loading="lazy"]',t).slice(0,s-1).forEach(t=>rt(t,"loading"));for(const t of e.filter(({isIntersecting:t})=>t).map(({target:t})=>t))i.unobserve(t)},...t})}function mn(t){return wn((t,e)=>di(e),t,"resize")}function vn(t){return wn((t,e)=>({disconnect:Xt($n(t),"scroll",e,{passive:!0})}),t,"scroll")}function bn(t){return{observe:(t,e)=>({observe:V,unobserve:V,disconnect:Xt(t,ut,e,{passive:!0})}),handler(t){if(!ne(t))return;const e=se(t),i="tagName"in t.target?t.target:Ct(t.target);Gt(document,`${pt} ${vt} scroll`,t=>{const{x:n,y:s}=se(t);("scroll"!==t.type&&i&&n&&Math.abs(e.x-n)>100||s&&Math.abs(e.y-s)>100)&&setTimeout(()=>{Zt(i,"swipe"),Zt(i,`swipe${function(t,e,i,n){return Math.abs(t-i)>=Math.abs(e-n)?t-i>0?"Left":"Right":e-n>0?"Up":"Down"}(e.x,e.y,n,s)}`)})})},...t}}function wn(t,e,i){return{observe:t,handler(){dn(this,i)},...e}}function $n(t){return P(t).map(t=>{const{ownerDocument:e}=t,i=Ai(t,!0);return i===e.scrollingElement?e:i})}var xn={props:{margin:String,firstColumn:Boolean},data:{margin:"bdt-margin-small-top",firstColumn:"bdt-first-column"},observe:[pn({options:{childList:!0}}),pn({options:{attributes:!0,attributeFilter:["style"]},target:({$el:t})=>[t,...Dt(t)]}),un({target:({$el:t})=>[t,...Dt(t)]})],update:{read(){return{rows:yn(Dt(this.$el))}},write({rows:t}){for(const e of t)for(const i of e)it(i,this.margin,t[0]!==e),it(i,this.firstColumn,e[ht?e.length-1:0]===i)},events:["resize"]}};function yn(t){const e=[[]],i=t.some((e,i)=>i&&t[i-1].offsetParent!==e.offsetParent);for(const n of t){if(!xt(n))continue;const t=Sn(n,i);for(let s=e.length-1;s>=0;s--){const o=e[s];if(!o[0]){o.push(n);break}const r=Sn(o[0],i);if(t.top>=r.bottom-1&&t.top!==r.top){e.push([n]);break}if(t.bottom-1>r.top||t.top===r.top){let e=o.length-1;for(;e>=0;e--){const n=Sn(o[e],i);if(t.left>=n.left)break}o.splice(e+1,0,n);break}if(0===s){e.unshift([n]);break}}}return e}function Sn(t,e=!1){let{offsetTop:i,offsetLeft:n,offsetHeight:s,offsetWidth:o}=t;return e&&([i,n]=je(t)),{top:i,left:n,bottom:i+s,right:n+o}}async function In(t,e,i){await Tn();let n=Dt(e);const s=n.map(t=>kn(t,!0)),o={...re(e,["height","padding"]),display:"block"},r=n.concat(e);await Promise.all(r.map(de.cancel)),re(r,"transitionProperty","none"),await t(),n=n.concat(Dt(e).filter(t=>!c(n,t))),await Promise.resolve(),re(r,"transitionProperty","");const a=st(e,"style"),l=re(e,["height","padding"]),[h,d]=function(t,e,i){const n=e.map((t,e)=>!(!Ct(t)||!(e in i))&&(i[e]?xt(t)?Cn(t):{opacity:0}:{opacity:xt(t)?1:0})),s=n.map((n,s)=>{const o=Ct(e[s])===t&&(i[s]||kn(e[s]));if(!o)return!1;if(n){if(!("opacity"in n)){const{opacity:t}=o;t%1?n.opacity=1:delete o.opacity}}else delete o.opacity;return o});return[n,s]}(e,n,s),u=n.map(t=>({style:st(t,"style")}));n.forEach((t,e)=>d[e]&&re(t,d[e])),re(e,o),Zt(e,"scroll"),await Tn();const f=n.map((t,n)=>Ct(t)===e&&de.start(t,h[n],i,"ease")).concat(de.start(e,l,i,"ease"));try{await Promise.all(f),n.forEach((t,i)=>{st(t,u[i]),Ct(t)===e&&re(t,"display",0===h[i].opacity?"none":"")}),st(e,"style",a)}catch{st(n,"style",""),function(t,e){for(const i in e)re(t,i,"")}(e,o)}}function kn(t,e){const i=re(t,"zIndex");return!!xt(t)&&{display:"",opacity:e?re(t,"opacity"):"0",pointerEvents:"none",position:"absolute",zIndex:"auto"===i?_t(t):i,...Cn(t)}}function Cn(t){const{height:e,width:i}=ze(t);return{height:e,width:i,transform:"",...Fe(t),...re(t,["marginTop","marginLeft"])}}function Tn(){return new Promise(t=>requestAnimationFrame(t))}const En="bdt-transition-leave",An="bdt-transition-enter";function Dn(t,e,i,n=0){const s=_n(e,!0),o={opacity:1},r={opacity:0},a=t=>()=>s===_n(e)?t():Promise.reject(),l=a(async()=>{K(e,En),await Promise.all(Pn(e).map((t,e)=>new Promise(s=>setTimeout(()=>de.start(t,r,i/2,"ease").then(s),e*n)))),Q(e,En)}),h=a(async()=>{const a=Le(e);K(e,An),t(),re(Dt(e),{opacity:0}),await Tn();const l=Dt(e),h=Le(e);re(e,"alignContent","flex-start"),Le(e,a);const c=Pn(e);re(l,r);const d=c.map(async(t,e)=>{await function(t){return new Promise(e=>setTimeout(e,t))}(e*n),await de.start(t,o,i/2,"ease")});a!==h&&d.push(de.start(e,{height:h},i/2+c.length*n,"ease")),await Promise.all(d).then(()=>{Q(e,An),s===_n(e)&&(re(e,{height:"",alignContent:""}),re(l,{opacity:""}),delete e.dataset.transition)})});return et(e,En)?Mn(e).then(h):et(e,An)?Mn(e).then(l).then(h):l().then(h)}function _n(t,e){return e&&(t.dataset.transition=1+_n(t)),D(t.dataset.transition)||0}function Mn(t){return Promise.all(Dt(t).filter(de.inProgress).map(t=>new Promise(e=>Gt(t,"transitionend transitioncanceled",e))))}function Pn(t){return yn(Dt(t)).flat().filter(xt)}var On={props:{duration:Number,animation:Boolean},data:{duration:150,animation:"slide"},methods:{animate(t,e=this.$el){const i=this.animation;return("fade"===i?Dn:"delayed-fade"===i?(...t)=>Dn(...t,40):i?In:()=>(t(),Promise.resolve()))(t,e,this.duration).catch(V)}}};const Bn=9,Nn=27,zn=32,Hn=35,Fn=36,jn=37,Ln=38,Wn=39,qn=40;var Vn={mixins:[On],args:"target",props:{target:String,selActive:Boolean},data:{target:"",selActive:!1,attrItem:"bdt-filter-control",cls:"bdt-active",duration:250},computed:{children:({target:t},e)=>Oe(`${t} > *`,e),toggles:({attrItem:t},e)=>Oe(`[${t}],[data-${t}]`,e)},watch:{toggles(t){this.updateState();const e=Oe(this.selActive,this.$el);for(const i of t){!1!==this.selActive&&it(i,this.cls,c(e,i));const t=Xn(i);ve(t,"a")&&st(t,"role","button")}},children(t,e){e&&this.updateState()}},events:{name:"click keydown",delegate:({attrItem:t})=>`[${t}],[data-${t}]`,handler(t){"keydown"===t.type&&t.keyCode!==zn||t.target.closest("a,button")&&(t.preventDefault(),this.apply(t.current))}},methods:{apply(t){const e=this.getState(),i=Un(t,this.attrItem,this.getState());(function(t,e){return["filter","sort"].every(i=>B(t[i],e[i]))})(e,i)||this.setState(i)},getState(){return this.toggles.filter(t=>et(t,this.cls)).reduce((t,e)=>Un(e,this.attrItem,t),{filter:{"":""},sort:[]})},async setState(t,e=!0){t={filter:{"":""},sort:[],...t},Zt(this.$el,"beforeFilter",[this,t]);for(const e of this.toggles)it(e,this.cls,Yn(e,this.attrItem,t));await Promise.all(Oe(this.target,this.$el).map(i=>{const n=()=>function(t,e,i){const n=Object.values(t.filter).join("");for(const t of i)re(t,"display",n&&!Et(t,n)?"none":"");const[s,o]=t.sort;if(s){const t=function(t,e,i){return[...t].sort((t,n)=>at(t,e).localeCompare(at(n,e),void 0,{numeric:!0})*("asc"===i||-1))}(i,s,o);B(t,i)||xe(e,t)}}(t,i,Dt(i));return e?this.animate(n,i):n()})),Zt(this.$el,"afterFilter",[this])},updateState(){Qe.write(()=>this.setState(this.getState(),!1))}}};function Rn(t,e){return ln(at(t,e),["filter"])}function Un(t,e,i){const{filter:n,group:s,sort:o,order:r="asc"}=Rn(t,e);return(n||E(o))&&(s?n?(delete i.filter[""],i.filter[s]=n):(delete i.filter[s],(T(i.filter)||""in i.filter)&&(i.filter={"":n||""})):i.filter={"":n||""}),E(o)||(i.sort=[o,r]),i}function Yn(t,e,{filter:i={"":""},sort:[n,s]}){const{filter:o="",group:r="",sort:a,order:l="asc"}=Rn(t,e);return E(a)?r in i&&o===i[r]||!o&&r&&!(r in i)&&!i[""]:n===a&&s===l}function Xn(t){return Pe("a,button",t)||t}let Jn;function Gn(t){const e=Xt(t,"touchstart",e=>{if(1!==e.targetTouches.length||Et(e.target,'input[type="range"'))return;let i=se(e).y;const n=Xt(t,"touchmove",e=>{const n=se(e).y;n!==i&&(i=n,Ei(e.target).some(e=>{if(!t.contains(e))return!1;let{scrollHeight:i,clientHeight:n}=e;return n<i})||e.preventDefault())},{passive:!1});Gt(t,"scroll touchend touchcanel",n,{capture:!0})},{passive:!0});if(Jn)return e;Jn=!0;const{scrollingElement:i}=document;return re(i,{overflowY:CSS.supports("overflow","clip")?"clip":"hidden",touchAction:"none",paddingRight:We(window)-i.clientWidth||""}),()=>{Jn=!1,e(),re(i,{overflowY:"",touchAction:"",paddingRight:""})}}var Zn={props:{container:Boolean},data:{container:!0},computed:{container({container:t}){return!0===t&&this.$container||t&&Pe(t)}}},Kn={props:{cls:Boolean,animation:"list",duration:Number,velocity:Number,origin:String,transition:String},data:{cls:!1,animation:[!1],duration:200,velocity:.2,origin:!1,transition:"ease",clsEnter:"bdt-togglable-enter",clsLeave:"bdt-togglable-leave"},computed:{hasAnimation:({animation:t})=>!!t[0],hasTransition:({animation:t})=>["slide","reveal"].some(e=>l(t[0],e))},methods:{async toggleElement(t,e,i){try{return await Promise.all(P(t).map(t=>{const n=S(e)?e:!this.isToggled(t);if(!Zt(t,"before"+(n?"show":"hide"),[this]))return Promise.reject();const s=(g(i)?i:!1!==i&&this.hasAnimation?this.hasTransition?ts:es:Qn)(t,n,this),o=n?this.clsEnter:this.clsLeave;K(t,o),Zt(t,n?"show":"hide",[this]);const r=()=>{Q(t,o),Zt(t,n?"shown":"hidden",[this])};return s?s.then(r,()=>(Q(t,o),Promise.reject())):r()})),!0}catch{return!1}},isToggled(t=this.$el){return!!et(t=M(t),this.clsEnter)||!et(t,this.clsLeave)&&(this.cls?et(t,this.cls.split(" ")[0]):xt(t))},_toggle(t,e){if(!t)return;let i;e=!!e,this.cls?(i=c(this.cls," ")||e!==et(t,this.cls),i&&it(t,this.cls,c(this.cls," ")?void 0:e)):(i=e===t.hidden,i&&(t.hidden=!e)),Oe("[autofocus]",t).some(t=>xt(t)?t.focus()||!0:t.blur()),i&&Zt(t,"toggled",[e,this])}}};function Qn(t,e,{_toggle:i}){return me.cancel(t),de.cancel(t),i(t,e)}async function ts(t,e,{animation:i,duration:n,velocity:s,transition:o,_toggle:r}){var a;const[l="reveal",h="top"]=(null==(a=i[0])?void 0:a.split("-"))||[],d=[["left","right"],["top","bottom"]],u=d[c(d[0],h)?0:1],f=u[1]===h,p=["width","height"][d.indexOf(u)],g=`margin-${u[0]}`,m=`margin-${h}`;let v=ze(t)[p];const b=de.inProgress(t);await de.cancel(t),e&&r(t,!0);const w=Object.fromEntries(["padding","border","width","height","minWidth","minHeight","overflowY","overflowX",g,m].map(e=>[e,t.style[e]])),$=ze(t),x=_(re(t,g)),y=_(re(t,m)),S=$[p]+y;!b&&!e&&(v+=y);const[I]=Te(t,"<div>");re(I,{boxSizing:"border-box",height:$.height,width:$.width,...re(t,["overflow","padding","borderTop","borderRight","borderBottom","borderLeft","borderImage",m])}),re(t,{padding:0,border:0,minWidth:0,minHeight:0,[m]:0,width:$.width,height:$.height,overflow:"hidden",[p]:v});const k=v/S;n=(s*S+n)*(e?1-k:k);const C={[p]:e?S:0};f&&(re(t,g,S-v+x),C[g]=e?x:S+x),!f^"reveal"===l&&(re(I,g,-S+v),de.start(I,{[g]:e?0:-S},n,o));try{await de.start(t,C,n,o)}finally{re(t,w),Ee(I.firstChild),e||r(t,!1)}}function es(t,e,i){const{animation:n,duration:s,_toggle:o}=i;return e?(o(t,!0),me.in(t,n[0],s,i.origin)):me.out(t,n[1]||n[0],s,i.origin).then(()=>o(t,!1))}const is=[];var ns={mixins:[Qi,Zn,Kn],props:{selPanel:String,selClose:String,escClose:Boolean,bgClose:Boolean,stack:Boolean,role:String},data:{cls:"bdt-open",escClose:!0,bgClose:!0,overlay:!0,stack:!1,role:"dialog"},computed:{panel:({selPanel:t},e)=>Pe(t,e),transitionElement(){return this.panel},bgClose({bgClose:t}){return t&&this.panel}},connected(){st(this.panel||this.$el,"role",this.role),this.overlay&&st(this.panel||this.$el,"aria-modal",!0)},beforeDisconnect(){c(is,this)&&this.toggleElement(this.$el,!1,!1)},events:[{name:"click",delegate:({selClose:t})=>`${t},a[href*="#"]`,handler(t){const{current:e,defaultPrevented:i}=t,{hash:n}=e;!i&&n&&Mt(e)&&!this.$el.contains(Pe(n))?this.hide():Et(e,this.selClose)&&(t.preventDefault(),this.hide())}},{name:"toggle",self:!0,handler(t){t.defaultPrevented||(t.preventDefault(),this.isToggled()===c(is,this)&&this.toggle())}},{name:"beforeshow",self:!0,handler(t){if(c(is,this))return!1;!this.stack&&is.length?(Promise.all(is.map(t=>t.hide())).then(this.show),t.preventDefault()):is.push(this)}},{name:"show",self:!0,handler(){this.stack&&re(this.$el,"zIndex",_(re(this.$el,"zIndex"))+is.length);const t=[this.overlay&&os(this),this.overlay&&Gn(this.$el),this.bgClose&&rs(this),this.escClose&&as(this)];Gt(this.$el,"hidden",()=>t.forEach(t=>t&&t()),{self:!0}),K(document.documentElement,this.clsPage)}},{name:"shown",self:!0,handler(){kt(this.$el)||st(this.$el,"tabindex","-1"),Et(this.$el,":focus-within")||this.$el.focus()}},{name:"hidden",self:!0,handler(){c(is,this)&&is.splice(is.indexOf(this),1),re(this.$el,"zIndex",""),is.some(t=>t.clsPage===this.clsPage)||Q(document.documentElement,this.clsPage)}}],methods:{toggle(){return this.isToggled()?this.hide():this.show()},show(){return this.container&&Ct(this.$el)!==this.container?(xe(this.container,this.$el),new Promise(t=>requestAnimationFrame(()=>this.show().then(t)))):this.toggleElement(this.$el,!0,ss)},hide(){return this.toggleElement(this.$el,!1,ss)}}};function ss(t,e,{transitionElement:i,_toggle:n}){return new Promise((s,o)=>Gt(t,"show hide",()=>{var r;null==(r=t._reject)||r.call(t),t._reject=o,n(t,e);const a=Gt(i,"transitionstart",()=>{Gt(i,"transitionend transitioncancel",s,{self:!0}),clearTimeout(l)},{self:!0}),l=setTimeout(()=>{a(),s()},function(t){return t?h(t,"ms")?_(t):1e3*_(t):0}(re(i,"transitionDuration")))})).then(()=>delete t._reject)}function os(t){return Xt(document,"focusin",e=>{z(is)===t&&!t.$el.contains(e.target)&&t.$el.focus()})}function rs(t){return Xt(document,ut,({target:e})=>{z(is)!==t||t.overlay&&!t.$el.contains(e)||t.panel.contains(e)||Gt(document,`${pt} ${vt} scroll`,({defaultPrevented:i,type:n,target:s})=>{!i&&n===pt&&e===s&&t.hide()},!0)})}function as(t){return Xt(document,"keydown",e=>{27===e.keyCode&&z(is)===t&&t.hide()})}var ls={slide:{show:t=>[{transform:cs(-100*t)},{transform:cs()}],percent:t=>hs(t),translate:(t,e)=>[{transform:cs(-100*e*t)},{transform:cs(100*e*(1-t))}]}};function hs(t){return Math.abs(new DOMMatrix(re(t,"transform")).m41/t.offsetWidth)}function cs(t=0,e="%"){return`translate3d(${t+=t?e:""}, 0, 0)`}function ds(t){return`scale3d(${t}, ${t}, 1)`}function us(t,e,i){Zt(t,Kt(e,!1,!1,i))}function fs(){let t;return{promise:new Promise(e=>t=e),resolve:t}}var ps={props:{i18n:Object},data:{i18n:null},methods:{t(t,...e){var i,n,s;let o=0;return(null==(s=(null==(i=this.i18n)?void 0:i[t])||(null==(n=this.$options.i18n)?void 0:n[t]))?void 0:s.replace(/%s/g,()=>e[o++]||""))||""}}},gs={props:{autoplay:Boolean,autoplayInterval:Number,pauseOnHover:Boolean},data:{autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0},connected(){st(this.list,"aria-live",this.autoplay?"off":"polite"),this.autoplay&&this.startAutoplay()},disconnected(){this.stopAutoplay()},update(){st(this.slides,"tabindex","-1")},events:[{name:"visibilitychange",el:()=>document,filter:({autoplay:t})=>t,handler(){document.hidden?this.stopAutoplay():this.startAutoplay()}}],methods:{startAutoplay(){this.stopAutoplay(),this.interval=setInterval(()=>{this.stack.length||this.draggable&&Et(this.$el,":focus-within")&&!Et(this.$el,":focus")||this.pauseOnHover&&Et(this.$el,":hover")||this.show("next")},this.autoplayInterval)},stopAutoplay(){clearInterval(this.interval)}}};const ms={passive:!1,capture:!0},vs={passive:!0,capture:!0},bs="touchmove mousemove",ws="touchend touchcancel mouseup click input scroll",$s=t=>t.preventDefault();var xs={props:{draggable:Boolean},data:{draggable:!0,threshold:10},created(){for(const t of["start","move","end"]){const e=this[t];this[t]=t=>{const i=se(t).x*(ht?-1:1);this.prevPos=i===this.pos?this.prevPos:this.pos,this.pos=i,e(t)}}},events:[{name:"touchstart mousedown",passive:!0,delegate:({selList:t})=>`${t} > *`,handler(t){!this.draggable||this.parallax||!ne(t)&&function(t){return"none"!==re(t,"userSelect")&&f(t.childNodes).some(t=>3===t.nodeType&&t.textContent.trim())}(t.target)||t.target.closest(yt)||t.button>0||this.length<2||this.start(t)}},{name:"dragstart",handler(t){t.preventDefault()}},{name:bs,el:({list:t})=>t,handler:V,...ms}],methods:{start(){this.drag=this.pos,this._transitioner?(this.percent=this._transitioner.percent(),this.drag+=this._transitioner.getDistance()*this.percent*this.dir,this._transitioner.cancel(),this._transitioner.translate(this.percent),this.dragging=!0,this.stack=[]):this.prevIndex=this.index,Xt(document,bs,this.move,ms),Xt(document,ws,this.end,vs),re(this.list,"userSelect","none")},move(t){const e=this.pos-this.drag;if(0===e||this.prevPos===this.pos||!this.dragging&&Math.abs(e)<this.threshold)return;this.dragging||Xt(this.list,"click",$s,ms),t.cancelable&&t.preventDefault(),this.dragging=!0,this.dir=e<0?1:-1;let{slides:i,prevIndex:n}=this,s=Math.abs(e),o=this.getIndex(n+this.dir),r=ys.call(this,n,o);for(;o!==n&&s>r;)this.drag-=r*this.dir,n=o,s-=r,o=this.getIndex(n+this.dir),r=ys.call(this,n,o);this.percent=s/r;const a=i[n],l=i[o],h=this.index!==o,d=n===o;let u;for(const t of[this.index,this.prevIndex])c([o,n],t)||(Zt(i[t],"itemhidden",[this]),d&&(u=!0,this.prevIndex=n));(this.index===n&&this.prevIndex!==n||u)&&Zt(i[this.index],"itemshown",[this]),h&&(this.prevIndex=n,this.index=o,d||(Zt(a,"beforeitemhide",[this]),Zt(a,"itemhide",[this])),Zt(l,"beforeitemshow",[this]),Zt(l,"itemshow",[this])),this._transitioner=this._translate(Math.abs(this.percent),a,!d&&l)},end(){if(Jt(document,bs,this.move,ms),Jt(document,ws,this.end,vs),this.dragging)if(this.dragging=null,this.index===this.prevIndex)this.percent=1-this.percent,this.dir*=-1,this._show(!1,this.index,!0),this._transitioner=null;else{const t=(ht?this.dir*(ht?1:-1):this.dir)<0==this.prevPos>this.pos;this.index=t?this.index:this.prevIndex,t&&(this.percent=1-this.percent),this.show(this.dir>0&&!t||this.dir<0&&t?"next":"previous",!0)}setTimeout(()=>Jt(this.list,"click",$s,ms)),re(this.list,{userSelect:""}),this.drag=this.percent=null}}};function ys(t,e){return this._getTransitioner(t,t!==e&&e).getDistance()||this.slides[t].offsetWidth}function Ss(t,e,i){t._watches.push({name:i,...v(e)?e:{handler:e}})}const Is={subtree:!0,childList:!0};function ks(t,e,n){t._hasComputed=!0,Object.defineProperty(t,e,{enumerable:!0,get(){const{_computed:s,$props:o,$el:r}=t;if(!i(s,e)&&(s[e]=(n.get||n).call(t,o,r),n.observe&&t._computedObserver)){const e=n.observe.call(t,o);t._computedObserver.observe(["~","+","-"].includes(e[0])?r.parentElement:r.getRootNode(),Is)}return s[e]},set(i){const{_computed:s}=t;s[e]=n.set?n.set.call(t,i):i,E(s[e])&&delete s[e]}})}function Cs(t){t._hasComputed&&(function(t,e){t._updates.unshift(e)}(t,{read:()=>function(t,e){for(const{name:n,handler:s,immediate:o=!0}of t._watches)(t._initial&&o||i(e,n)&&!B(e[n],t[n]))&&s.call(t,t[n],e[n]);t._initial=!1}(t,Ts(t)),events:["resize","computed"]}),t._computedObserver=ui(t.$el,()=>dn(t,"computed"),Is))}function Ts(t){const e={...t._computed};return t._computed={},e}function Es(t,e,i){let{name:n,el:s,handler:o,capture:r,passive:a,delegate:l,filter:h,self:c}=v(e)?e:{name:i,handler:e};s=g(s)?s.call(t,t):s||t.$el,!(!s||u(s)&&!s.length||h&&!h.call(t,t))&&t._events.push(Xt(s,n,l?I(l)?l:l.call(t,t):null,I(o)?t[o]:o.bind(t),{passive:a,capture:r,self:c}))}function As(t,...e){t._observers.push(...e)}function Ds(t,e){let{observe:n,target:s=t.$el,handler:o,options:r,filter:a,args:l}=e;if(a&&!a.call(t,t))return;const h=`_observe${t._observers.length}`;g(s)&&!i(t,h)&&ks(t,h,()=>{const e=s.call(t,t);return u(e)?P(e):e}),o=I(o)?t[o]:o.bind(t),g(r)&&(r=r.call(t,t));const c=n(i(t,h)?t[h]:s,o,r,l);g(s)&&u(t[h])&&Ss(t,{handler:_s(c,r),immediate:!1},h),As(t,c)}function _s(t,e){return(i,n)=>{for(const e of n)c(i,e)||(t.unobserve?t.unobserve(e):t.observe&&t.disconnect());for(const s of i)(!c(n,s)||!t.unobserve)&&t.observe(s,e)}}function Ms(t){const e={},{args:i=[],props:n={},el:o,id:a}=t;if(!n)return e;for(const t in n){const i=s(t);let r=at(o,i);E(r)||(r=n[t]===Boolean&&""===r||hn(n[t],r),("target"!==i||!l(r,"_"))&&(e[t]=r))}const h=ln(at(o,a),i);for(const t in h){const i=r(t);E(n[i])||(e[i]=hn(n[i],h[t]))}return e}const Ps=Z((t,e)=>{const i=Object.keys(e),n=i.concat(t).map(t=>[s(t),`data-${s(t)}`]).flat();return{attributes:i,filter:n}});function Os(t,e){var i;null==(i=t.$options[e])||i.forEach(e=>e.call(t))}function Bs(t){t._connected||(function(t){const{$options:e,$props:n}=t,s=Ms(e);p(n,s);const{computed:o,methods:r}=e;for(let e in n)e in s&&(!o||!i(o,e))&&(!r||!i(r,e))&&(t[e]=n[e])}(t),Os(t,"beforeConnect"),t._connected=!0,function(t){t._events=[];for(const e of t.$options.events||[])if(i(e,"handler"))Es(t,e);else for(const i in e)Es(t,e[i],i)}(t),function(t){t._data={},t._updates=[...t.$options.update||[]]}(t),function(t){t._watches=[];for(const e of t.$options.watch||[])for(const[i,n]of Object.entries(e))Ss(t,n,i);t._initial=!0}(t),function(t){t._observers=[];for(const e of t.$options.observe||[])Ds(t,e)}(t),function(t){const{$options:e,$props:i}=t,{id:n,props:s,el:o}=e;if(!s)return;const{attributes:a,filter:l}=Ps(n,s),h=new MutationObserver(s=>{const o=Ms(e);s.some(({attributeName:t})=>{const e=t.replace("data-","");return(e===n?a:[r(e),r(t)]).some(t=>!E(o[t])&&o[t]!==i[t])})&&t.$reset()});h.observe(o,{attributes:!0,attributeFilter:l}),As(t,h)}(t),Cs(t),Os(t,"connected"),dn(t))}function Ns(t){t._connected&&(Os(t,"beforeDisconnect"),function(t){t._events.forEach(t=>t()),delete t._events}(t),function(t){t._data=null}(t),function(t){for(const e of t._observers)e.disconnect()}(t),function(t){var e;null==(e=t._computedObserver)||e.disconnect(),delete t._computedObserver,Ts(t)}(t),Os(t,"disconnected"),t._connected=!1)}let zs=0;function Hs(t,e={}){e.data=function({data:t={}},{args:e=[],props:i={}}){u(t)&&(t=t.slice(0,e.length).reduce((t,i,n)=>(v(i)?p(t,i):t[e[n]]=i,t),{}));for(const e in t)E(t[e])?delete t[e]:i[e]&&(t[e]=hn(i[e],t[e]));return t}(e,t.constructor.options),t.$options=an(t.constructor.options,e,t),t.$props={},t._uid=zs++,function(t){const{data:e={}}=t.$options;for(const i in e)t.$props[i]=t[i]=e[i]}(t),function(t){const{methods:e}=t.$options;if(e)for(const i in e)t[i]=e[i].bind(t)}(t),function(t){const{computed:e}=t.$options;if(t._computed={},e)for(const i in e)ks(t,i,e[i])}(t),Os(t,"created"),e.el&&t.$mount(e.el)}const Fs=function(t){Hs(this,t)};Fs.util=Ki,Fs.options={},Fs.version="3.21.7";const js="__uikit__",Ls={};function Ws(t,e){var i,n;const o="bdt-"+s(t);if(!e)return Ls[o].options||(Ls[o]=Fs.extend(Ls[o])),Ls[o];t=r(t),Fs[t]=(e,i)=>qs(t,e,i);const a=null!=(i=e.options)?i:{...e};return a.id=o,a.name=t,null==(n=a.install)||n.call(a,Fs,a,t),Fs._initialized&&!a.functional&&requestAnimationFrame(()=>qs(t,`[${o}],[data-${o}]`)),Ls[o]=a}function qs(t,e,i,...n){const s=Ws(t);return s.options.functional?new s({data:v(e)?e:[e,i,...n]}):e?Oe(e).map(o)[0]:o();function o(e){const n=Rs(e,t);if(n){if(!i)return n;n.$destroy()}return new s({el:e,data:i})}}function Vs(t){return(null==t?void 0:t[js])||{}}function Rs(t,e){return Vs(t)[e]}function Us(t,e){t=t?M(t):document.body;for(const i of At(t).reverse())Ys(i,e);Me(t,t=>Ys(t,e))}function Ys(t,e){const i=Vs(t);for(const t in i)dn(i[t],e)}let Xs=1;function Js(t,e=null){return(null==e?void 0:e.id)||`${t.$options.id}-${Xs++}`}var Gs={i18n:{next:"Next slide",previous:"Previous slide",slideX:"Slide %s",slideLabel:"%s of %s",role:"String"},data:{selNav:!1,role:"region"},computed:{nav:({selNav:t},e)=>Pe(t,e),navChildren(){return Dt(this.nav)},selNavItem:({attrItem:t})=>`[${t}],[data-${t}]`,navItems(t,e){return Oe(this.selNavItem,e)}},watch:{nav(t,e){st(t,"role","tablist"),this.padNavitems(),e&&this.$emit()},list(t){ve(t,"ul")&&st(t,"role","presentation")},navChildren(t){st(t,"role","presentation"),this.padNavitems(),this.updateNav()},navItems(t){for(const e of t){const t=at(e,this.attrItem),i=Pe("a,button",e)||e;let n,s=null;if(C(t)){const e=D(t),o=this.slides[e];o&&(o.id||(o.id=Js(this,o)),s=o.id),n=this.t("slideX",_(t)+1),st(i,"role","tab")}else this.list&&(this.list.id||(this.list.id=Js(this,this.list)),s=this.list.id),n=this.t(t);st(i,{"aria-controls":s,"aria-label":st(i,"aria-label")||n})}},slides(t){t.forEach((t,e)=>st(t,{role:this.nav?"tabpanel":"group","aria-label":this.t("slideLabel",e+1,this.length),"aria-roledescription":this.nav?null:"slide"})),this.padNavitems()}},connected(){st(this.$el,{role:this.role,"aria-roledescription":"carousel"})},update:[{write(){this.navItems.concat(this.nav).forEach(t=>t&&(t.hidden=!this.maxIndex)),this.updateNav()},events:["resize"]}],events:[{name:"click keydown",delegate:({selNavItem:t})=>t,filter:({parallax:t})=>!t,handler(t){t.target.closest("a,button")&&("click"===t.type||t.keyCode===zn)&&(t.preventDefault(),this.show(at(t.current,this.attrItem)))}},{name:"itemshow",handler:"updateNav"},{name:"keydown",delegate:({selNavItem:t})=>t,filter:({parallax:t})=>!t,handler(t){const{current:e,keyCode:i}=t;if(!C(at(e,this.attrItem)))return;let n=i===Fn?0:i===Hn?"last":i===jn?"previous":i===Wn?"next":-1;~n&&(t.preventDefault(),this.show(n))}}],methods:{updateNav(){const t=this.getValidIndex();for(const e of this.navItems){const i=at(e,this.attrItem),n=Pe("a,button",e)||e;if(C(i)){const s=D(i)===t;it(e,this.clsActive,s),it(n,"bdt-disabled",this.parallax),st(n,{"aria-selected":s,tabindex:s&&!this.parallax?null:-1}),s&&n&&Et(Ct(e),":focus-within")&&n.focus()}else it(e,"bdt-invisible",this.finite&&("previous"===i&&0===t||"next"===i&&t>=this.maxIndex))}},padNavitems(){if(!this.nav)return;const t=[];for(let e=0;e<this.length;e++){const i=`${this.attrItem}="${e}"`;t[e]=this.navChildren.findLast(t=>t.matches(`[${i}]`))||Pe(`<li ${i}><a href></a></li>`)}B(t,this.navChildren)||we(this.nav,t)}}};var Zs={mixins:[gs,xs,Gs,ps],props:{clsActivated:String,easing:String,index:Number,finite:Boolean,velocity:Number},data:()=>({easing:"ease",finite:!1,velocity:1,index:0,prevIndex:-1,stack:[],percent:0,clsActive:"bdt-active",clsActivated:"",clsEnter:"bdt-slide-enter",clsLeave:"bdt-slide-leave",clsSlideActive:"bdt-slide-active",Transitioner:!1,transitionOptions:{}}),connected(){this.prevIndex=-1,this.index=this.getValidIndex(this.$props.index),this.stack=[]},disconnected(){Q(this.slides,this.clsActive)},computed:{duration:({velocity:t},e)=>Ks(e.offsetWidth/t),list:({selList:t},e)=>Pe(t,e),maxIndex(){return this.length-1},slides(){return Dt(this.list)},length(){return this.slides.length}},watch:{slides(t,e){e&&this.$emit()}},events:{itemshow({target:t}){K(t,this.clsEnter,this.clsSlideActive)},itemshown({target:t}){Q(t,this.clsEnter)},itemhide({target:t}){K(t,this.clsLeave)},itemhidden({target:t}){Q(t,this.clsLeave,this.clsSlideActive)}},methods:{show(t,e=!1){var i;if(this.dragging||!this.length||this.parallax)return;const{stack:n}=this,s=e?0:n.length,o=()=>{n.splice(s,1),n.length&&this.show(n.shift(),!0)};if(n[e?"unshift":"push"](t),!e&&n.length>1)return void(2===n.length&&(null==(i=this._transitioner)||i.forward(Math.min(this.duration,200))));const r=this.getIndex(this.index),a=et(this.slides,this.clsActive)&&this.slides[r],l=this.getIndex(t,this.index),h=this.slides[l];if(a===h)return void o();if(this.dir=function(t,e){return"next"===t?1:"previous"===t||t<e?-1:1}(t,r),this.prevIndex=r,this.index=l,a&&!Zt(a,"beforeitemhide",[this])||!Zt(h,"beforeitemshow",[this,a]))return this.index=this.prevIndex,void o();const c=this._show(a,h,e).then(()=>{a&&Zt(a,"itemhidden",[this]),Zt(h,"itemshown",[this]),n.shift(),this._transitioner=null,n.length&&requestAnimationFrame(()=>n.length&&this.show(n.shift(),!0))});return a&&Zt(a,"itemhide",[this]),Zt(h,"itemshow",[this]),c},getIndex(t=this.index,e=this.index){return q(G(t,this.slides,e,this.finite),0,Math.max(0,this.maxIndex))},getValidIndex(t=this.index,e=this.prevIndex){return this.getIndex(t,e)},async _show(t,e,i){if(this._transitioner=this._getTransitioner(t,e,this.dir,{easing:i?e.offsetWidth<600?"cubic-bezier(0.25, 0.46, 0.45, 0.94)":"cubic-bezier(0.165, 0.84, 0.44, 1)":this.easing,...this.transitionOptions}),!i&&!t)return void this._translate(1);const{length:n}=this.stack;return this._transitioner[n>1?"forward":"show"](n>1?Math.min(this.duration,75+75/(n-1)):this.duration,this.percent)},_translate(t,e=this.prevIndex,i=this.index){const n=this._getTransitioner(e!==i&&e,i);return n.translate(t),n},_getTransitioner(t=this.prevIndex,e=this.index,i=this.dir||1,n=this.transitionOptions){return new this.Transitioner(k(t)?this.slides[t]:t,k(e)?this.slides[e]:e,i*(ht?-1:1),n)}}};function Ks(t){return.5*t+300}var Qs={mixins:[Zs],props:{animation:String},data:{animation:"slide",clsActivated:"bdt-transition-active",Animations:ls,Transitioner:function(t,e,i,{animation:n,easing:s}){const{percent:o,translate:r,show:a=V}=n,l=a(i),{promise:h,resolve:c}=fs();return{dir:i,show(n,o=0,r){const a=r?"linear":s;return n-=Math.round(n*q(o,-1,1)),this.translate(o),us(e,"itemin",{percent:o,duration:n,timing:a,dir:i}),us(t,"itemout",{percent:1-o,duration:n,timing:a,dir:i}),Promise.all([de.start(e,l[1],n,a),de.start(t,l[0],n,a)]).then(()=>{this.reset(),c()},V),h},cancel:()=>de.cancel([e,t]),reset(){for(const i in l[0])re([e,t],i,"")},async forward(t,e=this.percent()){return await this.cancel(),this.show(t,e,!0)},translate(n){this.reset();const s=r(n,i);re(e,s[1]),re(t,s[0]),us(e,"itemtranslatein",{percent:n,dir:i}),us(t,"itemtranslateout",{percent:1-n,dir:i})},percent:()=>o(t||e,e,i),getDistance:()=>null==t?void 0:t.offsetWidth}}},computed:{animation:({animation:t,Animations:e})=>({...e[t]||e.slide,name:t}),transitionOptions(){return{animation:this.animation}}},observe:un(),events:{beforeitemshow({target:t}){K(t,this.clsActive)},itemshown({target:t}){K(t,this.clsActivated)},itemhidden({target:t}){Q(t,this.clsActive,this.clsActivated)}}},to={...ls,fade:{show:()=>[{opacity:0},{opacity:1}],percent:t=>1-re(t,"opacity"),translate:t=>[{opacity:1-t},{opacity:t}]},scale:{show:()=>[{opacity:0,transform:ds(.8)},{opacity:1,transform:ds(1)}],percent:t=>1-re(t,"opacity"),translate:t=>[{opacity:1-t,transform:ds(1-.2*t)},{opacity:t,transform:ds(.8+.2*t)}]}},eo={mixins:[ns,Qs],functional:!0,props:{delayControls:Number,preload:Number,videoAutoplay:Boolean,template:String},data:()=>({preload:1,videoAutoplay:!1,delayControls:3e3,items:[],cls:"bdt-open",clsPage:"bdt-lightbox-page",selList:".bdt-lightbox-items",attrItem:"bdt-lightbox-item",selClose:".bdt-close-large",selCaption:".bdt-lightbox-caption",pauseOnHover:!1,velocity:2,Animations:to,template:'<div class="bdt-lightbox bdt-overflow-hidden"> <div class="bdt-lightbox-items"></div> <div class="bdt-lightbox-toolbar bdt-position-top bdt-text-right bdt-transition-slide-top bdt-transition-opaque"> <button class="bdt-lightbox-toolbar-icon bdt-close-large" type="button" bdt-close></button> </div> <a class="bdt-lightbox-button bdt-position-center-left bdt-position-medium bdt-transition-fade" href bdt-slidenav-previous bdt-lightbox-item="previous"></a> <a class="bdt-lightbox-button bdt-position-center-right bdt-position-medium bdt-transition-fade" href bdt-slidenav-next bdt-lightbox-item="next"></a> <div class="bdt-lightbox-toolbar bdt-lightbox-caption bdt-position-bottom bdt-text-center bdt-transition-slide-bottom bdt-transition-opaque"></div> </div>'}),created(){const t=Pe(this.template),e=Pe(this.selList,t);this.items.forEach(()=>xe(e,"<div>"));const i=Pe("[bdt-close]",t),n=this.t("close");i&&n&&(i.dataset.i18n=JSON.stringify({label:n})),this.$mount(xe(this.container,t))},events:[{name:`${ft} ${ut} keydown`,handler:"showControls"},{name:"click",self:!0,delegate:({selList:t})=>`${t} > *`,handler(t){t.defaultPrevented||this.hide()}},{name:"shown",self:!0,handler:"showControls"},{name:"hide",self:!0,handler(){this.hideControls(),Q(this.slides,this.clsActive),de.stop(this.slides)}},{name:"hidden",self:!0,handler(){this.$destroy(!0)}},{name:"keyup",el:()=>document,handler({keyCode:t}){if(!this.isToggled(this.$el)||!this.draggable)return;let e=-1;t===jn?e="previous":t===Wn?e="next":t===Fn?e=0:t===Hn&&(e="last"),~e&&this.show(e)}},{name:"beforeitemshow",handler(t){this.isToggled()||(this.draggable=!1,t.preventDefault(),this.toggleElement(this.$el,!0,!1),this.animation=to.scale,Q(t.target,this.clsActive),this.stack.splice(1,0,this.index))}},{name:"itemshow",handler(){we(Pe(this.selCaption,this.$el),this.getItem().caption||"");for(let t=-this.preload;t<=this.preload;t++)this.loadItem(this.index+t)}},{name:"itemshown",handler(){this.draggable=this.$props.draggable}},{name:"itemload",async handler(t,e){const{source:i,type:n,alt:s="",poster:o,attrs:r={}}=e;if(this.setItem(e,"<span bdt-spinner></span>"),!i)return;let a;const l={allowfullscreen:"",style:"max-width: 100%; box-sizing: border-box;","bdt-responsive":"","bdt-video":`${this.videoAutoplay}`};if("image"===n||i.match(/\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\?)/i)){const t=io("img",{src:i,alt:s,...r});Xt(t,"load",()=>this.setItem(e,t)),Xt(t,"error",()=>this.setError(e))}else if("video"===n||i.match(/\.(mp4|webm|ogv)($|\?)/i)){const t=io("video",{src:i,poster:o,controls:"",playsinline:"","bdt-video":`${this.videoAutoplay}`,...r});Xt(t,"loadedmetadata",()=>this.setItem(e,t)),Xt(t,"error",()=>this.setError(e))}else if("iframe"===n||i.match(/\.(html|php)($|\?)/i))this.setItem(e,io("iframe",{src:i,allowfullscreen:"",class:"bdt-lightbox-iframe",...r}));else if(a=i.match(/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/))this.setItem(e,io("iframe",{src:`https://www.youtube${a[1]||""}.com/embed/${a[2]}${a[3]?`?${a[3]}`:""}`,width:1920,height:1080,...l,...r}));else if(a=i.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/))try{const{height:t,width:n}=await(await fetch(`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(i)}`,{credentials:"omit"})).json();this.setItem(e,io("iframe",{src:`https://player.vimeo.com/video/${a[1]}${a[2]?`?${a[2]}`:""}`,width:n,height:t,...l,...r}))}catch{this.setError(e)}}}],methods:{loadItem(t=this.index){const e=this.getItem(t);this.getSlide(e).childElementCount||Zt(this.$el,"itemload",[e])},getItem(t=this.index){return this.items[G(t,this.slides)]},setItem(t,e){Zt(this.$el,"itemloaded",[this,we(this.getSlide(t),e)])},getSlide(t){return this.slides[this.items.indexOf(t)]},setError(t){this.setItem(t,'<span bdt-icon="icon: bolt; ratio: 2"></span>')},showControls(){clearTimeout(this.controlsTimer),this.controlsTimer=setTimeout(this.hideControls,this.delayControls),K(this.$el,"bdt-active","bdt-transition-active")},hideControls(){Q(this.$el,"bdt-active","bdt-transition-active")}}};function io(t,e){const i=De(`<${t}>`);return st(i,e),i}var no={install:function(t,e){t.lightboxPanel||t.component("lightboxPanel",eo),p(e.props,t.component("lightboxPanel").options.props)},props:{toggle:String},data:{toggle:"a"},computed:{toggles:({toggle:t},e)=>Oe(t,e)},watch:{toggles(t){this.hide();for(const e of t)ve(e,"a")&&st(e,"role","button")}},disconnected(){this.hide()},events:{name:"click",delegate:({toggle:t})=>`${t}:not(.bdt-disabled)`,handler(t){t.defaultPrevented||(t.preventDefault(),this.show(t.current))}},methods:{show(t){const e=L(this.toggles.map(so),"source");if(x(t)){const{source:i}=so(t);t=d(e,({source:t})=>i===t)}return this.panel=this.panel||this.$create("lightboxPanel",{...this.$props,items:e}),Xt(this.panel.$el,"hidden",()=>this.panel=null),this.panel.show(t)},hide(){var t;return null==(t=this.panel)?void 0:t.hide()}}};function so(t){const e={};for(const i of["href","caption","type","poster","alt","attrs"])e["href"===i?"source":i]=at(t,i);return e.attrs=ln(e.attrs),e}var oo={mixins:[Zn],functional:!0,args:["message","status"],data:{message:"",status:"",timeout:5e3,group:"",pos:"top-center",clsContainer:"bdt-notification",clsClose:"bdt-notification-close",clsMsg:"bdt-notification-message"},install:function(t){t.notification.closeAll=function(e,i){Me(document.body,n=>{const s=t.getComponent(n,"notification");s&&(!e||e===s.group)&&s.close(i)})}},computed:{marginProp:({pos:t})=>`margin-${t.match(/[a-z]+(?=-)/)[0]}`,startProps(){return{opacity:0,[this.marginProp]:-this.$el.offsetHeight}}},created(){const t=`${this.clsContainer}-${this.pos}`,e=`data-${this.clsContainer}-container`,i=Pe(`.${t}[${e}]`,this.container)||xe(this.container,`<div class="${this.clsContainer} ${t}" ${e}></div>`);this.$mount(xe(i,`<div class="${this.clsMsg}${this.status?` ${this.clsMsg}-${this.status}`:""}" role="alert"> <a href class="${this.clsClose}" data-bdt-close></a> <div>${this.message}</div> </div>`))},async connected(){const t=_(re(this.$el,this.marginProp));await de.start(re(this.$el,this.startProps),{opacity:1,[this.marginProp]:t}),this.timeout&&(this.timer=setTimeout(this.close,this.timeout))},events:{click(t){t.target.closest('a[href="#"],a[href=""]')&&t.preventDefault(),this.close()},[gt](){this.timer&&clearTimeout(this.timer)},[mt](){this.timeout&&(this.timer=setTimeout(this.close,this.timeout))}},methods:{async close(t){this.timer&&clearTimeout(this.timer),t||await de.start(this.$el,this.startProps),(t=>{const e=Ct(t);Zt(t,"close",[this]),ke(t),null!=e&&e.hasChildNodes()||ke(e)})(this.$el)}}};var ro={props:{media:Boolean},data:{media:!1},connected(){const t=function(t,e){if(I(t))if(l(t,"@"))t=_(re(e,`--bdt-breakpoint-${t.slice(1)}`));else if(isNaN(t))return t;return t&&C(t)?`(min-width: ${t}px)`:""}(this.media,this.$el);if(this.matchMedia=!0,t){this.mediaObj=window.matchMedia(t);const e=()=>{this.matchMedia=this.mediaObj.matches,Zt(this.$el,Kt("mediachange",!1,!0,[this.mediaObj]))};this.offMediaObj=Xt(this.mediaObj,"change",()=>{e(),this.$emit("resize")}),e()}},disconnected(){var t;null==(t=this.offMediaObj)||t.call(this)}};function ao(t){return xt(t)?Math.ceil(Math.max(0,...Oe("[stroke]",t).map(t=>{var e;return(null==(e=t.getTotalLength)?void 0:e.call(t))||0}))):0}const lo={x:uo,y:uo,rotate:uo,scale:uo,color:fo,backgroundColor:fo,borderColor:fo,blur:po,hue:po,fopacity:po,grayscale:po,invert:po,saturate:po,sepia:po,opacity:function(t,e,i){return 1===i.length&&i.unshift(Co(e,t,"")),i=xo(i),(e,n)=>{e[t]=So(i,n)}},stroke:function(t,e,i){1===i.length&&i.unshift(0);const n=ko(i),s=ao(e);return(i=xo(i.reverse(),t=>(t=_(t),"%"===n?t*s/100:t))).some(([t])=>t)?(re(e,"strokeDasharray",s),(t,e)=>{t.strokeDashoffset=So(i,e)}):V},bgx:go,bgy:go},{keys:ho}=Object;var co={mixins:[ro],props:To(ho(lo),"list"),data:To(ho(lo),void 0),computed:{props(t,e){const i={};for(const e in t)e in lo&&!E(t[e])&&(i[e]=t[e].slice());const n={};for(const t in i)n[t]=lo[t](t,e,i[t],i);return n}},events:{load(){this.$emit()}},methods:{reset(){for(const t in this.getCss(0))re(this.$el,t,"")},getCss(t){const e={};for(const i in this.props)this.props[i](e,q(t));return e.willChange=Object.keys(e).map(ae).join(","),e}}};function uo(t,e,i){let n,s=ko(i)||{x:"px",y:"px",rotate:"deg"}[t]||"";return"x"===t||"y"===t?(t=`translate${a(t)}`,n=t=>_(_(t).toFixed("px"===s?0:6))):"scale"===t&&(s="",n=t=>{var i;return ko([t])?Ue(t,"width",e,!0)/e["offset"+(null!=(i=t.endsWith)&&i.call(t,"vh")?"Height":"Width")]:_(t)}),1===i.length&&i.unshift("scale"===t?1:0),i=xo(i,n),(e,n)=>{e.transform=`${e.transform||""} ${t}(${So(i,n)}${s})`}}function fo(t,e,i){return 1===i.length&&i.unshift(Co(e,t,"")),i=xo(i,t=>function(t,e){return Co(t,"color",e).split(/[(),]/g).slice(1,-1).concat(1).slice(0,4).map(_)}(e,t)),(e,n)=>{const[s,o,r]=yo(i,n),a=s.map((t,e)=>(t+=r*(o[e]-t),3===e?_(t):parseInt(t,10))).join(",");e[t]=`rgba(${a})`}}function po(t,e,i){1===i.length&&i.unshift(0);const n=ko(i)||{blur:"px",hue:"deg"}[t]||"%";return t={fopacity:"opacity",hue:"hue-rotate"}[t]||t,i=xo(i),(e,s)=>{const o=So(i,s);e.filter=`${e.filter||""} ${t}(${o+n})`}}function go(t,e,i,n){1===i.length&&i.unshift(0);const s="bgy"===t?"height":"width";n[t]=xo(i,t=>Ue(t,s,e));const o=["bgx","bgy"].filter(t=>t in n);if(2===o.length&&"bgx"===t)return V;if("cover"===Co(e,"backgroundSize",""))return function(t,e,i,n){const s=function(t){const e=re(t,"backgroundImage").replace(/^none|url\(["']?(.+?)["']?\)$/,"$1");if(wo[e])return wo[e];const i=new Image;return!e||(i.src=e,i.naturalWidth||bo[e])?wo[e]=$o(i):(Gt(i,"error load",()=>{wo[e]=$o(i),Zt(t,Kt("load",!1))}),bo[e]=!0,$o(i))}(e);if(!s.width)return V;const o={width:e.offsetWidth,height:e.offsetHeight},r=["bgx","bgy"].filter(t=>t in n),a={};for(const t of r){const e=n[t].map(([t])=>t),i=Math.min(...e),s=Math.max(...e),r=e.indexOf(i)<e.indexOf(s),l=s-i;a[t]=(r?-l:0)-(r?i:s)+"px",o["bgy"===t?"height":"width"]+=l}const l=J.cover(s,o);for(const t of r){const i="bgy"===t?"height":"width",n=l[i]-o[i];a[t]=`max(${mo(e,t)},-${n}px) + ${a[t]}`}const h=vo(r,a,n);return(t,e)=>{h(t,e),t.backgroundSize=`${l.width}px ${l.height}px`,t.backgroundRepeat="no-repeat"}}(0,e,0,n);const r={};for(const t of o)r[t]=mo(e,t);return vo(o,r,n)}function mo(t,e){return Co(t,`background-position-${e.slice(-1)}`,"")}function vo(t,e,i){return function(n,s){for(const o of t){const t=So(i[o],s);n[`background-position-${o.slice(-1)}`]=`calc(${e[o]} + ${t}px)`}}}const bo={},wo={};function $o(t){return{width:t.naturalWidth,height:t.naturalHeight}}function xo(t,e=_){const i=[],{length:n}=t;let s=0;for(let o=0;o<n;o++){let[r,a]=I(t[o])?t[o].trim().split(/ (?![^(]*\))/):[t[o]];if(r=e(r),a=a?_(a)/100:null,0===o?null===a?a=0:a&&i.push([r,0]):o===n-1&&(null===a?a=1:1!==a&&(i.push([r,a]),a=1)),i.push([r,a]),null===a)s++;else if(s){const t=i[o-s-1][1],e=(a-t)/(s+1);for(let n=s;n>0;n--)i[o-n][1]=t+e*(s-n+1);s=0}}return i}function yo(t,e){const i=d(t.slice(1),([,t])=>e<=t)+1;return[t[i-1][0],t[i][0],(e-t[i-1][1])/(t[i][1]-t[i-1][1])]}function So(t,e){const[i,n,s]=yo(t,e);return i+Math.abs(i-n)*s*(i<n?1:-1)}const Io=/^-?\d+(?:\.\d+)?(\S+)?/;function ko(t,e){var i;for(const e of t){const t=null==(i=e.match)?void 0:i.call(e,Io);if(t)return t[1]}return e}function Co(t,e,i){const n=t.style[e],s=re(re(t,e,i),e);return t.style[e]=n,s}function To(t,e){return t.reduce((t,i)=>(t[i]=e,t),{})}function Eo(t,e){return e>=0?Math.pow(t,e+1):1-Math.pow(1-t,1-e)}var Ao={mixins:[co],props:{target:String,viewport:Number,easing:Number,start:String,end:String},data:{target:!1,viewport:1,easing:1,start:0,end:0},computed:{target:({target:t},e)=>Do(t&&Ot(t,e)||e),start({start:t}){return Ue(t,"height",this.target,!0)},end({end:t,viewport:e}){return Ue(t||(e=100*(1-e))&&`${e}vh+${e}%`,"height",this.target,!0)}},observe:[mn(),vn({target:({target:t})=>t}),un({target:({$el:t,target:e})=>[t,e,Ai(e,!0)]})],update:{read({percent:t},e){if(e.has("scroll")||(t=!1),!xt(this.$el))return!1;if(!this.matchMedia)return;const i=t;return{percent:t=Eo(Ti(this.target,this.start,this.end),this.easing),style:i!==t&&this.getCss(t)}},write({style:t}){this.matchMedia?t&&re(this.$el,t):this.reset()},events:["scroll","resize"]}};function Do(t){return t?"offsetTop"in t?t:Do(Ct(t)):document.documentElement}var _o={props:{parallax:Boolean,parallaxTarget:Boolean,parallaxStart:String,parallaxEnd:String,parallaxEasing:Number},data:{parallax:!1,parallaxTarget:!1,parallaxStart:0,parallaxEnd:0,parallaxEasing:0},observe:[un({target:({$el:t,parallaxTarget:e})=>[t,e],filter:({parallax:t})=>t}),vn({filter:({parallax:t})=>t})],computed:{parallaxTarget({parallaxTarget:t},e){return t&&Ot(t,e)||this.list}},update:{read(){if(!this.parallax)return!1;const t=this.parallaxTarget;if(!t)return!1;const e=Eo(Ti(t,Ue(this.parallaxStart,"height",t,!0),Ue(this.parallaxEnd,"height",t,!0)),this.parallaxEasing);return{parallax:this.getIndexAt(e)}},write({parallax:t}){const[e,i]=t,n=this.getValidIndex(e+Math.ceil(i)),s=this.slides[e],o=this.slides[n],{triggerShow:r,triggerShown:a,triggerHide:l,triggerHidden:h}=function(t){const{clsSlideActive:e,clsEnter:i,clsLeave:n}=t;return{triggerShow:s,triggerShown:o,triggerHide:r,triggerHidden:a};function s(i){et(i,n)&&(r(i),a(i)),et(i,e)||(Zt(i,"beforeitemshow",[t]),Zt(i,"itemshow",[t]))}function o(e){et(e,i)&&Zt(e,"itemshown",[t])}function r(r){et(r,e)||s(r),et(r,i)&&o(r),et(r,n)||(Zt(r,"beforeitemhide",[t]),Zt(r,"itemhide",[t]))}function a(e){et(e,n)&&Zt(e,"itemhidden",[t])}}(this);if(~this.prevIndex)for(const t of new Set([this.index,this.prevIndex]))c([n,e],t)||(l(this.slides[t]),h(this.slides[t]));const d=this.prevIndex!==e||this.index!==n;this.dir=1,this.prevIndex=e,this.index=n,s!==o&&l(s),r(o),d&&a(s),this._translate(s===o?1:i,s,o)},events:["scroll","resize"]},methods:{getIndexAt(t){const e=t*(this.length-1);return[Math.floor(e),e%1]}}};var Mo={update:{write(){if(this.stack.length||this.dragging||this.parallax)return;const t=this.getValidIndex();~this.prevIndex&&this.index===t?this._translate(1):this.show(t)},events:["resize"]}},Po={observe:gn({target:({slides:t})=>t,targets:t=>t.getAdjacentSlides()}),methods:{getAdjacentSlides(){return[1,-1].map(t=>this.slides[this.getIndex(this.index+t)])}}};function Oo(t,e,i){const n=zo(t,e);return i?n-function(t,e){return ze(e).width/2-ze(t).width/2}(t,e):Math.min(n,Bo(e))}function Bo(t){return Math.max(0,No(t)-ze(t).width)}function No(t,e){return j(Dt(t).slice(0,e),t=>ze(t).width)}function zo(t,e){return t&&(Fe(t).left+(ht?ze(t).width-ze(e).width:0))*(ht?-1:1)||0}function Ho(t,e){e-=1;const i=ze(t).width,n=e+i+2;return Dt(t).filter(s=>{const o=zo(s,t),r=o+Math.min(ze(s).width,i);return o>=e&&r<=n})}var Fo={mixins:[Qi,Zs,Mo,_o,Po],props:{center:Boolean,sets:Boolean,active:String},data:{center:!1,sets:!1,attrItem:"bdt-slider-item",selList:".bdt-slider-items",selNav:".bdt-slider-nav",clsContainer:"bdt-slider-container",active:"all",Transitioner:function(t,e,i,{center:n,easing:s,list:o}){const r=t?Oo(t,o,n):Oo(e,o,n)+ze(e).width*i,a=e?Oo(e,o,n):r+ze(t).width*i*(ht?-1:1),{promise:l,resolve:h}=fs();return{dir:i,show(e,n=0,r){const c=r?"linear":s;return e-=Math.round(e*q(n,-1,1)),re(o,"transitionProperty","none"),this.translate(n),re(o,"transitionProperty",""),n=t?n:q(n,0,1),us(this.getItemIn(),"itemin",{percent:n,duration:e,timing:c,dir:i}),t&&us(this.getItemIn(!0),"itemout",{percent:1-n,duration:e,timing:c,dir:i}),de.start(o,{transform:cs(-a*(ht?-1:1),"px")},e,c).then(h,V),l},cancel:()=>de.cancel(o),reset(){re(o,"transform","")},async forward(t,e=this.percent()){return await this.cancel(),this.show(t,e,!0)},translate(n){if(n===this.percent())return;const s=this.getDistance()*i*(ht?-1:1);re(o,"transform",cs(q(s-s*n-a,-No(o),ze(o).width)*(ht?-1:1),"px"));const r=this.getActives(),l=this.getItemIn(),h=this.getItemIn(!0);n=t?q(n,-1,1):0;for(const s of Dt(o)){const a=c(r,s),d=s===l,u=s===h;us(s,"itemtranslate"+(d||!u&&(a||i*(ht?-1:1)==-1^zo(s,o)>zo(t||e))?"in":"out"),{dir:i,percent:u?1-n:d?n:a?1:0})}},percent:()=>Math.abs((new DOMMatrix(re(o,"transform")).m41*(ht?-1:1)+r)/(a-r)),getDistance:()=>Math.abs(a-r),getItemIn(i=!1){let s=this.getActives(),r=Ho(o,Oo(e||t,o,n));if(i){const t=s;s=r,r=t}return r[d(r,t=>!c(s,t))]},getActives:()=>Ho(o,Oo(t||e,o,n))}}},computed:{finite({finite:t}){return t||function(t,e){if(!t||t.length<2)return!0;const{width:i}=ze(t);if(!e)return Math.ceil(No(t))<Math.trunc(i+function(t){return Math.max(0,...Dt(t).map(t=>ze(t).width))}(t));const n=Dt(t),s=Math.trunc(i/2);for(const t in n){const e=n[t],i=ze(e).width,o=new Set([e]);let r=0;for(const e of[-1,1]){let a=i/2,l=0;for(;a<s;){const i=n[G(+t+e+l++*e,n)];if(o.has(i))return!0;a+=ze(i).width,o.add(i)}r=Math.max(r,i/2+ze(n[G(+t+e,n)]).width/2-(a-s))}if(Math.trunc(r)>j(n.filter(t=>!o.has(t)),t=>ze(t).width))return!0}return!1}(this.list,this.center)},maxIndex(){if(!this.finite||this.center&&!this.sets)return this.length-1;if(this.center)return z(this.sets);let t=0;const e=Bo(this.list),i=d(this.slides,i=>{if(t>=e)return!0;t+=ze(i).width});return~i?i:this.length-1},sets({sets:t}){if(!t||this.parallax)return;let e=0;const i=[],n=ze(this.list).width;for(let t=0;t<this.length;t++){const s=ze(this.slides[t]).width;e+s>n&&(e=0),this.center?e<n/2&&e+s+ze(this.slides[G(t+1,this.slides)]).width/2>n/2&&(i.push(t),e=n/2-s/2):0===e&&i.push(Math.min(t,this.maxIndex)),e+=s}return i.length?i:void 0},transitionOptions(){return{center:this.center,list:this.list}},slides(){return Dt(this.list).filter(xt)}},connected(){it(this.$el,this.clsContainer,!Pe(`.${this.clsContainer}`,this.$el))},observe:un({target:({slides:t,$el:e})=>[e,...t]}),update:{write(){for(const t of this.navItems){const e=D(at(t,this.attrItem));!1!==e&&(t.hidden=!this.maxIndex||e>this.maxIndex||this.sets&&!c(this.sets,e))}this.reorder(),this.parallax||this._translate(1),this.updateActiveClasses()},events:["resize"]},events:{beforeitemshow(t){!this.dragging&&this.sets&&this.stack.length<2&&!c(this.sets,this.index)&&(this.index=this.getValidIndex());const e=Math.abs(this.index-this.prevIndex+(this.dir>0&&this.index<this.prevIndex||this.dir<0&&this.index>this.prevIndex?(this.maxIndex+1)*this.dir:0));if(!this.dragging&&e>1){for(let t=0;t<e;t++)this.stack.splice(1,0,this.dir>0?"next":"previous");return void t.preventDefault()}const i=this.dir<0||!this.slides[this.prevIndex]?this.index:this.prevIndex,n=No(this.list)/this.length;this.duration=Ks(n/this.velocity)*(ze(this.slides[i]).width/n),this.reorder()},itemshow(){~this.prevIndex&&K(this._getTransitioner().getItemIn(),this.clsActive),this.updateActiveClasses(this.prevIndex)},itemshown(){this.updateActiveClasses()}},methods:{reorder(){if(this.finite)return void re(this.slides,"order","");const t=this.dir>0&&this.slides[this.prevIndex]?this.prevIndex:this.index;if(this.slides.forEach((e,i)=>re(e,"order",this.dir>0&&i<t?1:this.dir<0&&i>=this.index?-1:"")),!this.center||!this.length)return;const e=this.slides[t];let i=ze(this.list).width/2-ze(e).width/2,n=0;for(;i>0;){const e=this.getIndex(--n+t,t),s=this.slides[e];re(s,"order",e>t?-2:-1),i-=ze(s).width}},updateActiveClasses(t=this.index){let e=this._getTransitioner(t).getActives();"all"!==this.active&&(e=[this.slides[this.getValidIndex(t)]]);const n=[this.clsActive,!this.sets||c(this.sets,_(this.index))?this.clsActivated:""];for(const t of this.slides){const s=c(e,t);it(t,n,s),st(t,"aria-hidden",!s);for(const e of Oe(It,t))i(e,"_tabindex")||(e._tabindex=st(e,"tabindex")),st(e,"tabindex",s?e._tabindex:-1)}},getValidIndex(t=this.index,e=this.prevIndex){if(t=this.getIndex(t,e),!this.sets)return t;let i;do{if(c(this.sets,t))return t;i=t,t=this.getIndex(t+this.dir,e)}while(t!==i);return t},getAdjacentSlides(){const{width:t}=ze(this.list),e=-t,i=2*t,n=ze(this.slides[this.index]).width,s=this.center?t/2-n/2:0,o=new Set;for(const t of[-1,1]){let r=s+(t>0?n:0),a=0;do{const e=this.slides[this.getIndex(this.index+t+a++*t)];r+=ze(e).width*t,o.add(e)}while(this.length>a&&r>e&&r<i)}return Array.from(o)},getIndexAt(t){let e=-1;let i=t*(this.center?No(this.list)-(ze(this.slides[0]).width/2+ze(z(this.slides)).width/2):No(this.list,this.maxIndex)),n=0;do{const t=ze(this.slides[++e]).width,s=this.center?t/2+ze(this.slides[e+1]).width/2:t;n=i/s%1,i-=s}while(i>=0&&e<this.maxIndex);return[e,n]}}};var jo={mixins:[co],beforeConnect(){this.item=this.$el.closest(`.${this.$options.id.replace("parallax","items")} > *`)},disconnected(){this.item=null},events:[{name:"itemin itemout",self:!0,el:({item:t})=>t,handler({type:t,detail:{percent:e,duration:i,timing:n,dir:s}}){Qe.read(()=>{if(!this.matchMedia)return;const o=this.getCss(Wo(t,s,e)),r=this.getCss(Lo(t)?.5:s>0?1:0);Qe.write(()=>{re(this.$el,o),de.start(this.$el,r,i,n).catch(V)})})}},{name:"transitioncanceled transitionend",self:!0,el:({item:t})=>t,handler(){de.cancel(this.$el)}},{name:"itemtranslatein itemtranslateout",self:!0,el:({item:t})=>t,handler({type:t,detail:{percent:e,dir:i}}){Qe.read(()=>{if(!this.matchMedia)return void this.reset();const n=this.getCss(Wo(t,i,e));Qe.write(()=>re(this.$el,n))})}}]};function Lo(t){return h(t,"in")}function Wo(t,e,i){return i/=2,Lo(t)^e<0?i:1-i}var qo={...ls,fade:{show:()=>[{opacity:0,zIndex:0},{zIndex:-1}],percent:t=>1-re(t,"opacity"),translate:t=>[{opacity:1-t,zIndex:0},{zIndex:-1}]},scale:{show:()=>[{opacity:0,transform:ds(1.5),zIndex:0},{zIndex:-1}],percent:t=>1-re(t,"opacity"),translate:t=>[{opacity:1-t,transform:ds(1+.5*t),zIndex:0},{zIndex:-1}]},pull:{show:t=>t<0?[{transform:cs(30),zIndex:-1},{transform:cs(),zIndex:0}]:[{transform:cs(-100),zIndex:0},{transform:cs(),zIndex:-1}],percent:(t,e,i)=>i<0?1-hs(e):hs(t),translate:(t,e)=>e<0?[{transform:cs(30*t),zIndex:-1},{transform:cs(-100*(1-t)),zIndex:0}]:[{transform:cs(100*-t),zIndex:0},{transform:cs(30*(1-t)),zIndex:-1}]},push:{show:t=>t<0?[{transform:cs(100),zIndex:0},{transform:cs(),zIndex:-1}]:[{transform:cs(-30),zIndex:-1},{transform:cs(),zIndex:0}],percent:(t,e,i)=>i>0?1-hs(e):hs(t),translate:(t,e)=>e<0?[{transform:cs(100*t),zIndex:0},{transform:cs(-30*(1-t)),zIndex:-1}]:[{transform:cs(-30*t),zIndex:-1},{transform:cs(100*(1-t)),zIndex:0}]}},Vo={mixins:[Qi,Qs,Mo,_o,Po],props:{ratio:String,minHeight:String,maxHeight:String},data:{ratio:"16:9",minHeight:void 0,maxHeight:void 0,selList:".bdt-slideshow-items",attrItem:"bdt-slideshow-item",selNav:".bdt-slideshow-nav",Animations:qo},watch:{list(t){re(t,{aspectRatio:this.ratio?this.ratio.replace(":","/"):void 0,minHeight:this.minHeight,maxHeight:this.maxHeight,minWidth:"100%",maxWidth:"100%"})}},methods:{getAdjacentSlides(){return[1,-1].map(t=>this.slides[this.getIndex(this.index+t)])}}},Ro={mixins:[Qi,On],props:{group:String,threshold:Number,clsItem:String,clsPlaceholder:String,clsDrag:String,clsDragState:String,clsBase:String,clsNoDrag:String,clsEmpty:String,clsCustom:String,handle:String},data:{group:!1,threshold:5,clsItem:"bdt-sortable-item",clsPlaceholder:"bdt-sortable-placeholder",clsDrag:"bdt-sortable-drag",clsDragState:"bdt-drag",clsBase:"bdt-sortable",clsNoDrag:"bdt-sortable-nodrag",clsEmpty:"bdt-sortable-empty",clsCustom:"",handle:!1,pos:{}},events:{name:ut,passive:!1,handler:"init"},computed:{target:(t,e)=>(e.tBodies||[e])[0],items(){return Dt(this.target)},isEmpty(){return!this.items.length},handles({handle:t},e){return t?Oe(t,e):this.items}},watch:{isEmpty(t){it(this.target,this.clsEmpty,t)},handles(t,e){re(e,{touchAction:"",userSelect:""}),re(t,{touchAction:"none",userSelect:"none"})}},update:{write(t){if(!this.drag||!Ct(this.placeholder))return;const{pos:{x:e,y:i},origin:{offsetTop:n,offsetLeft:s},placeholder:o}=this;re(this.drag,{top:i-n,left:e-s});const r=this.getSortable(document.elementFromPoint(e,i));if(!r)return;const{items:a}=r;if(a.some(de.inProgress))return;const l=function(t,e){return t[d(t,t=>U(e,ze(t)))]}(a,{x:e,y:i});if(a.length&&(!l||l===o))return;const h=this.getSortable(o),c=function(t,e,i,n,s,o){if(!Dt(t).length)return;const r=ze(e);if(!o)return function(t,e){const i=1===Dt(t).length;i&&xe(t,e);const n=Dt(t),s=n.some((t,e)=>{const i=ze(t);return n.slice(e+1).some(t=>{const e=ze(t);return!Yo([i.left,i.right],[e.left,e.right])})});return i&&ke(e),s}(t,i)||s<r.top+r.height/2?e:e.nextElementSibling;const a=ze(i),l=Yo([r.top,r.bottom],[a.top,a.bottom]),[h,c,d,u]=l?[n,"width","left","right"]:[s,"height","top","bottom"],f=a[c]<r[c]?r[c]-a[c]:0;return a[d]<r[d]?!(f&&h<r[d]+f)&&e.nextElementSibling:!(f&&h>r[u]-f)&&e}(r.target,l,o,e,i,r===h&&t.moved!==l);!1!==c&&(c&&o===c||(r!==h?(h.remove(o),t.moved=l):delete t.moved,r.insert(o,c),this.touched.add(r)))},events:["move"]},methods:{init(t){const{target:e,button:i,defaultPrevented:n}=t,[s]=this.items.filter(t=>t.contains(e));!s||n||i>0||St(e)||e.closest(`.${this.clsNoDrag}`)||this.handle&&!e.closest(this.handle)||(t.preventDefault(),this.pos=se(t),this.touched=new Set([this]),this.placeholder=s,this.origin={target:e,index:_t(s),...this.pos},Xt(document,ft,this.move),Xt(document,pt,this.end),this.threshold||this.start(t))},start(t){this.drag=function(t,e){let i;if(ve(e,"li","tr")){i=Pe("<div>"),xe(i,e.cloneNode(!0).children);for(const t of e.getAttributeNames())st(i,t,e.getAttribute(t))}else i=e.cloneNode(!0);return xe(t,i),re(i,"margin","0","important"),re(i,{boxSizing:"border-box",width:e.offsetWidth,height:e.offsetHeight,padding:re(e,"padding")}),Le(i.firstElementChild,Le(e.firstElementChild)),i}(this.$container,this.placeholder);const{left:e,top:i}=ze(this.placeholder);p(this.origin,{offsetLeft:this.pos.x-e,offsetTop:this.pos.y-i}),K(this.drag,this.clsDrag,this.clsCustom),K(this.placeholder,this.clsPlaceholder),K(this.items,this.clsItem),K(document.documentElement,this.clsDragState),Zt(this.$el,"start",[this,this.placeholder]),function(t){let e=Date.now();Uo=setInterval(()=>{let{x:i,y:n}=t;n+=document.scrollingElement.scrollTop;const s=.3*(Date.now()-e);e=Date.now(),Ei(document.elementFromPoint(i,t.y)).reverse().some(t=>{let{scrollTop:e,scrollHeight:i}=t;const{top:o,bottom:r,height:a}=_i(t);if(o<n&&o+35>n)e-=s;else{if(!(r>n&&r-35<n))return;e+=s}if(e>0&&e<i-a)return t.scrollTop=e,!0})},15)}(this.pos),this.move(t)},move:function(t){let e;return function(...i){e||(e=!0,t.call(this,...i),requestAnimationFrame(()=>e=!1))}}(function(t){p(this.pos,se(t)),!this.drag&&(Math.abs(this.pos.x-this.origin.x)>this.threshold||Math.abs(this.pos.y-this.origin.y)>this.threshold)&&this.start(t),this.$emit("move")}),end(){if(Jt(document,ft,this.move),Jt(document,pt,this.end),!this.drag)return;clearInterval(Uo);const t=this.getSortable(this.placeholder);this===t?this.origin.index!==_t(this.placeholder)&&Zt(this.$el,"moved",[this,this.placeholder]):(Zt(t.$el,"added",[t,this.placeholder]),Zt(this.$el,"removed",[this,this.placeholder])),Zt(this.$el,"stop",[this,this.placeholder]),ke(this.drag),this.drag=null;for(const{clsPlaceholder:t,clsItem:e}of this.touched)for(const i of this.touched)Q(i.items,t,e);this.touched=null,Q(document.documentElement,this.clsDragState)},insert(t,e){K(this.items,this.clsItem),e&&e.previousElementSibling!==t?this.animate(()=>ye(e,t)):!e&&this.target.lastElementChild!==t&&this.animate(()=>xe(this.target,t))},remove(t){this.target.contains(t)&&this.animate(()=>ke(t))},getSortable(t){do{const e=this.$getComponent(t,"sortable");if(e&&(e===this||!1!==this.group&&e.group===this.group))return e}while(t=Ct(t))}}};let Uo;function Yo(t,e){return t[1]>e[0]&&e[1]>t[0]}var Xo={props:{pos:String,offset:Boolean,flip:Boolean,shift:Boolean,inset:Boolean},data:{pos:"bottom-"+(ht?"right":"left"),offset:!1,flip:!0,shift:!0,inset:!1},connected(){this.pos=this.$props.pos.split("-").concat("center").slice(0,2),[this.dir,this.align]=this.pos,this.axis=c(["top","bottom"],this.dir)?"y":"x"},methods:{positionAt(t,e,i){let n=[this.getPositionOffset(t),this.getShiftOffset(t)];const s=[this.flip&&"flip",this.shift&&"shift"],o={element:[this.inset?this.dir:Re(this.dir),this.align],target:[this.dir,this.align]};if("y"===this.axis){for(const t in o)o[t].reverse();n.reverse(),s.reverse()}const r=Jo(t),a=ze(t);re(t,{top:-a.height,left:-a.width}),zi(t,e,{attach:o,offset:n,boundary:i,placement:s,viewportOffset:this.getViewportOffset(t)}),r()},getPositionOffset(t=this.$el){return Ue(!1===this.offset?re(t,"--bdt-position-offset"):this.offset,"x"===this.axis?"width":"height",t)*(c(["left","top"],this.dir)?-1:1)*(this.inset?-1:1)},getShiftOffset(t=this.$el){return"center"===this.align?0:Ue(re(t,"--bdt-position-shift-offset"),"y"===this.axis?"width":"height",t)*(c(["left","top"],this.align)?1:-1)},getViewportOffset:t=>Ue(re(t,"--bdt-position-viewport-offset"))}};function Jo(t){const e=Ai(t),{scrollTop:i}=e;return()=>{i!==e.scrollTop&&(e.scrollTop=i)}}var Go={mixins:[Zn,Kn,Xo],data:{pos:"top",animation:["bdt-animation-scale-up"],duration:100,cls:"bdt-active"},connected(){var t;kt(t=this.$el)||st(t,"tabindex","0")},disconnected(){this.hide()},methods:{show(){if(this.isToggled(this.tooltip||null))return;const{delay:t=0,title:e}=function(t){const{el:e,id:i,data:n}=t;return["delay","title"].reduce((t,i)=>({[i]:at(e,i),...t}),{...ln(at(e,i),["title"]),...n})}(this.$options);if(!e)return;const i=st(this.$el,"title"),n=Xt(this.$el,["blur",mt],t=>!ne(t)&&this.hide());this.reset=()=>{st(this.$el,{title:i,"aria-describedby":null}),n()};const s=Js(this);st(this.$el,{title:null,"aria-describedby":s}),clearTimeout(this.showTimer),this.showTimer=setTimeout(()=>this._show(e,s),t)},async hide(){var t;Et(this.$el,"input:focus")||(clearTimeout(this.showTimer),this.isToggled(this.tooltip||null)&&await this.toggleElement(this.tooltip,!1,!1),null==(t=this.reset)||t.call(this),ke(this.tooltip),this.tooltip=null)},async _show(t,e){this.tooltip=xe(this.container,`<div id="${e}" class="bdt-${this.$options.name}" role="tooltip"> <div class="bdt-${this.$options.name}-inner">${t}</div> </div>`),Xt(this.tooltip,"toggled",(t,e)=>{if(!e)return;const i=()=>this.positionAt(this.tooltip,this.$el);i();const[n,s]=function(t,e,[i,n]){const s=He(t),o=He(e),r=[["left","right"],["top","bottom"]];for(const t of r){if(s[t[0]]>=o[t[1]]){i=t[1];break}if(s[t[1]]<=o[t[0]]){i=t[0];break}}return n=(c(r[0],i)?r[1]:r[0]).find(t=>s[t]===o[t])||"center",[i,n]}(this.tooltip,this.$el,this.pos);this.origin="y"===this.axis?`${Re(n)}-${s}`:`${s}-${Re(n)}`;const o=[Gt(document,`keydown ${ut}`,this.hide,!1,t=>t.type===ut&&!this.$el.contains(t.target)||"keydown"===t.type&&t.keyCode===Nn),Xt([document,...Di(this.$el)],"scroll",i,{passive:!0})];Gt(this.tooltip,"hide",()=>o.forEach(t=>t()),{self:!0})}),await this.toggleElement(this.tooltip,!0)||this.hide()}},events:{[`focus ${gt} ${ut}`](t){(!ne(t)||t.type===ut)&&this.show()}}};var Zo={mixins:[ps],i18n:{invalidMime:"Invalid File Type: %s",invalidName:"Invalid File Name: %s",invalidSize:"Invalid File Size: %s Kilobytes Max"},props:{allow:String,clsDragover:String,concurrent:Number,maxSize:Number,method:String,mime:String,multiple:Boolean,name:String,params:Object,type:String,url:String},data:{allow:!1,clsDragover:"bdt-dragover",concurrent:1,maxSize:0,method:"POST",mime:!1,multiple:!1,name:"files[]",params:{},type:"",url:"",abort:V,beforeAll:V,beforeSend:V,complete:V,completeAll:V,error:V,fail:V,load:V,loadEnd:V,loadStart:V,progress:V},events:{change(t){Et(t.target,'input[type="file"]')&&(t.preventDefault(),t.target.files&&this.upload(t.target.files),t.target.value="")},drop(t){Qo(t);const e=t.dataTransfer;null!=e&&e.files&&(Q(this.$el,this.clsDragover),this.upload(e.files))},dragenter(t){Qo(t)},dragover(t){Qo(t),K(this.$el,this.clsDragover)},dragleave(t){Qo(t),Q(this.$el,this.clsDragover)}},methods:{async upload(t){if(!(t=f(t)).length)return;Zt(this.$el,"upload",[t]);for(const e of t){if(this.maxSize&&1e3*this.maxSize<e.size)return void this.fail(this.t("invalidSize",this.maxSize));if(this.allow&&!Ko(this.allow,e.name))return void this.fail(this.t("invalidName",this.allow));if(this.mime&&!Ko(this.mime,e.type))return void this.fail(this.t("invalidMime",this.mime))}this.multiple||(t=t.slice(0,1)),this.beforeAll(this,t);const e=function(t,e){const i=[];for(let n=0;n<t.length;n+=e)i.push(t.slice(n,n+e));return i}(t,this.concurrent),i=async t=>{const n=new FormData;t.forEach(t=>n.append(this.name,t));for(const t in this.params)n.append(t,this.params[t]);try{const t=await async function(t,e){const i={data:null,method:"GET",headers:{},xhr:new XMLHttpRequest,beforeSend:V,responseType:"",...e};return await i.beforeSend(i),function(t,e){return new Promise((i,n)=>{const{xhr:s}=e;for(const t in e)if(t in s)try{s[t]=e[t]}catch{}s.open(e.method.toUpperCase(),t);for(const t in e.headers)s.setRequestHeader(t,e.headers[t]);Xt(s,"load",()=>{0===s.status||s.status>=200&&s.status<300||304===s.status?i(s):n(p(Error(s.statusText),{xhr:s,status:s.status}))}),Xt(s,"error",()=>n(p(Error("Network Error"),{xhr:s}))),Xt(s,"timeout",()=>n(p(Error("Network Timeout"),{xhr:s}))),s.send(e.data)})}(t,i)}(this.url,{data:n,method:this.method,responseType:this.type,beforeSend:t=>{const{xhr:e}=t;Xt(e.upload,"progress",this.progress);for(const t of["loadStart","load","loadEnd","abort"])Xt(e,t.toLowerCase(),this[t]);return this.beforeSend(t)}});this.complete(t),e.length?await i(e.shift()):this.completeAll(t)}catch(t){this.error(t)}};await i(e.shift())}}};function Ko(t,e){return e.match(new RegExp(`^${t.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")}$`,"i"))}function Qo(t){t.preventDefault(),t.stopPropagation()}var tr,er=Object.freeze({__proto__:null,Countdown:en,Filter:Vn,Lightbox:no,LightboxPanel:eo,Notification:oo,Parallax:Ao,Slider:Fo,SliderParallax:jo,Slideshow:Vo,SlideshowParallax:jo,Sortable:Ro,Tooltip:Go,Upload:Zo});function ir(t){Zt(document,"uikit:init",t),document.body&&Me(document.body,or),new MutationObserver(t=>t.forEach(nr)).observe(document,{subtree:!0,childList:!0}),new MutationObserver(t=>t.forEach(sr)).observe(document,{subtree:!0,attributes:!0}),t._initialized=!0}function nr({addedNodes:t,removedNodes:e}){for(const e of t)Me(e,or);for(const t of e)Me(t,rr)}function sr({target:t,attributeName:e}){var i;const n=ar(e);n&&(ot(t,e)?qs(n,t):null==(i=Rs(t,n))||i.$destroy())}function or(t){const e=Vs(t);for(const t in e)Bs(e[t]);for(const e of t.getAttributeNames()){const i=ar(e);i&&qs(i,t)}}function rr(t){const e=Vs(t);for(const t in e)Ns(e[t])}function ar(t){l(t,"data-")&&(t=t.slice(5));const e=Ls[t];return e&&(e.options||e).name}(function(t){let e;t.component=Ws,t.getComponents=Vs,t.getComponent=Rs,t.update=Us,t.use=function(t){if(!t.installed)return t.call(null,this),t.installed=!0,this},t.mixin=function(t,e){(e=(I(e)?this.component(e):e)||this).options=an(e.options,t)},t.extend=function(t){t||(t={});const e=this,i=function(t){Hs(this,t)};return(i.prototype=Object.create(e.prototype)).constructor=i,i.options=an(e.options,t),i.super=e,i.extend=e.extend,i},Object.defineProperty(t,"container",{get:()=>e||document.body,set(t){e=Pe(t)}})})(Fs),(tr=Fs).prototype.$mount=function(t){const e=this;(function(t,e){t[js]||(t[js]={}),t[js][e.$options.name]=e})(t,e),e.$options.el=t,document.contains(t)&&Bs(e)},tr.prototype.$destroy=function(t=!1){const e=this,{el:i}=e.$options;i&&Ns(e),Os(e,"destroy"),function(t,e){var i;null==(i=t[js])||delete i[e.$options.name],T(t[js])&&delete t[js]}(i,e),t&&ke(e.$el)},tr.prototype.$create=qs,tr.prototype.$emit=function(t){dn(this,t)},tr.prototype.$update=function(t=this.$el,e){Us(t,e)},tr.prototype.$reset=function(){Ns(this),Bs(this)},tr.prototype.$getComponent=Rs,Object.defineProperties(tr.prototype,{$el:{get(){return this.$options.el}},$container:Object.getOwnPropertyDescriptor(tr,"container")});var lr={mixins:[Qi,Kn],props:{animation:Boolean,targets:String,active:null,collapsible:Boolean,multiple:Boolean,toggle:String,content:String,offset:Number},data:{targets:"> *",active:!1,animation:!0,collapsible:!0,multiple:!1,clsOpen:"bdt-open",toggle:"> .bdt-accordion-title",content:"> .bdt-accordion-content",offset:0},computed:{items:({targets:t},e)=>Oe(t,e),toggles({toggle:t}){return this.items.map(e=>Pe(t,e))},contents({content:t}){return this.items.map(e=>{var i;return(null==(i=e._wrapper)?void 0:i.firstElementChild)||Pe(t,e)})}},watch:{items(t,e){if(e||et(t,this.clsOpen))return;const i=!1!==this.active&&t[Number(this.active)]||!this.collapsible&&t[0];i&&this.toggle(i,!1)},toggles(){this.$emit()},contents(t){for(const e of t){const t=et(this.items.find(t=>t.contains(e)),this.clsOpen);hr(e,!t)}this.$emit()}},observe:gn(),events:[{name:"click keydown",delegate:({targets:t,$props:e})=>`${t} ${e.toggle}`,async handler(t){var e;"keydown"===t.type&&t.keyCode!==zn||(t.preventDefault(),null==(e=this._off)||e.call(this),this._off=function(t){const e=Ai(t,!0);let i;return function n(){i=requestAnimationFrame(()=>{const{top:i}=ze(t);i<0&&(e.scrollTop+=i),n()})}(),()=>requestAnimationFrame(()=>cancelAnimationFrame(i))}(t.target),await this.toggle(_t(this.toggles,t.current)),this._off())}},{name:"shown hidden",self:!0,delegate:({targets:t})=>t,handler(){this.$emit()}}],update(){const t=Tt(this.items,`.${this.clsOpen}`);for(const e in this.items){const i=this.toggles[e],n=this.contents[e];if(!i||!n)continue;i.id=Js(this,i),n.id=Js(this,n);const s=c(t,this.items[e]);st(i,{role:ve(i,"a")?"button":null,"aria-controls":n.id,"aria-expanded":s,"aria-disabled":!this.collapsible&&t.length<2&&s}),st(n,{role:"region","aria-labelledby":i.id}),ve(n,"ul")&&st(Dt(n),"role","presentation")}},methods:{toggle(t,e){let i=[t=this.items[G(t,this.items)]];const n=Tt(this.items,`.${this.clsOpen}`);if(!this.multiple&&!c(n,i[0])&&(i=i.concat(n)),!(!this.collapsible&&n.length<2&&c(n,t)))return Promise.all(i.map(t=>this.toggleElement(t,!c(n,t),(t,i)=>{if(it(t,this.clsOpen,i),!1!==e&&this.animation)return async function(t,e,{content:i,duration:n,velocity:s,transition:o}){var r;i=(null==(r=t._wrapper)?void 0:r.firstElementChild)||Pe(i,t),t._wrapper||(t._wrapper=Ce(i,"<div>"));const a=t._wrapper;re(a,"overflow","hidden");const l=_(re(a,"height"));await de.cancel(a),hr(i,!1);const h=j(["marginTop","marginBottom"],t=>re(i,t))+ze(i).height,c=l/h;n=(s*h+n)*(e?1-c:c),re(a,"height",l),await de.start(a,{height:e?h:0},n,o),Ee(i),delete t._wrapper,e||hr(i,!0)}(t,i,this);hr(Pe(this.content,t),!i)})))}}};function hr(t,e){t&&(t.hidden=e)}var cr={mixins:[Qi,Kn],args:"animation",props:{animation:Boolean,close:String},data:{animation:!0,selClose:".bdt-alert-close",duration:150},events:{name:"click",delegate:({selClose:t})=>t,handler(t){t.preventDefault(),this.close()}},methods:{async close(){await this.toggleElement(this.$el,!1,dr),this.$destroy(!0)}}};function dr(t,e,{duration:i,transition:n,velocity:s}){const o=_(re(t,"height"));return re(t,"height",o),de.start(t,{height:0,marginTop:0,marginBottom:0,paddingTop:0,paddingBottom:0,borderTop:0,borderBottom:0,opacity:0},s*o+i,n)}var ur={args:"autoplay",props:{automute:Boolean,autoplay:Boolean},data:{automute:!1,autoplay:!0},beforeConnect(){"inview"===this.autoplay&&!ot(this.$el,"preload")&&(this.$el.preload="none"),ve(this.$el,"iframe")&&!ot(this.$el,"allow")&&(this.$el.allow="autoplay"),"hover"===this.autoplay&&(ve(this.$el,"video")?this.$el.tabindex=0:this.autoplay=!0),this.automute&&mi(this.$el)},events:[{name:`${gt} focusin`,filter:({autoplay:t})=>c(t,"hover"),handler(t){ne(t)&&function(t){return!t.paused&&!t.ended}(this.$el)?gi(this.$el):pi(this.$el)}},{name:`${mt} focusout`,filter:({autoplay:t})=>c(t,"hover"),handler(t){ne(t)||gi(this.$el)}}],observe:[fn({filter:({$el:t,autoplay:e})=>e&&"hover"!==e&&vi(t),handler([{isIntersecting:t}]){document.fullscreenElement||(t?pi(this.$el):gi(this.$el))},args:{intersecting:!1},options:({$el:t,autoplay:e})=>({root:"inview"===e?null:Ct(t)})})]};var fr={mixins:[ur],props:{width:Number,height:Number},data:{automute:!0},created(){this.useObjectFit=ve(this.$el,"img","video")},observe:un({target:({$el:t})=>pr(t)||Ct(t),filter:({useObjectFit:t})=>!t}),update:{read(){if(this.useObjectFit)return!1;const{ratio:t,cover:e}=J,{$el:i,width:n,height:s}=this;let o={width:n,height:s};if(!n||!s){const e={width:i.naturalWidth||i.videoWidth||i.clientWidth,height:i.naturalHeight||i.videoHeight||i.clientHeight};o=n?t(e,"width",n):s?t(e,"height",s):e}const{offsetHeight:r,offsetWidth:a}=pr(i)||Ct(i),l=e(o,{width:a,height:r});return!(!l.width||!l.height)&&l},write({height:t,width:e}){re(this.$el,{height:t,width:e})},events:["resize"]}};function pr(t){for(;t=Ct(t);)if("static"!==re(t,"position"))return t}let gr;var mr={mixins:[Zn,Xo,Kn],args:"pos",props:{mode:"list",toggle:Boolean,boundary:Boolean,boundaryX:Boolean,boundaryY:Boolean,target:Boolean,targetX:Boolean,targetY:Boolean,stretch:Boolean,delayShow:Number,delayHide:Number,autoUpdate:Boolean,clsDrop:String,animateOut:Boolean,bgScroll:Boolean,closeOnScroll:Boolean},data:{mode:["click","hover"],toggle:"- *",boundary:!1,boundaryX:!1,boundaryY:!1,target:!1,targetX:!1,targetY:!1,stretch:!1,delayShow:0,delayHide:800,autoUpdate:!0,clsDrop:!1,animateOut:!1,bgScroll:!0,animation:["bdt-animation-fade"],cls:"bdt-open",container:!1,closeOnScroll:!1},computed:{boundary:({boundary:t,boundaryX:e,boundaryY:i},n)=>[Ot(e||t,n)||window,Ot(i||t,n)||window],target({target:t,targetX:e,targetY:i},n){return e||(e=t||this.targetEl),i||(i=t||this.targetEl),[!0===e?window:Ot(e,n),!0===i?window:Ot(i,n)]}},created(){this.tracker=new ai},beforeConnect(){this.clsDrop=this.$props.clsDrop||this.$options.id},connected(){K(this.$el,"bdt-drop",this.clsDrop),this.toggle&&!this.targetEl&&(this.targetEl=function(t){const{$el:e}=t.$create("toggle",Ot(t.toggle,t.$el),{target:t.$el,mode:t.mode});return st(e,"aria-haspopup",!0),e}(this)),this._style=W(this.$el.style,["width","height"])},disconnected(){this.isActive()&&(this.hide(!1),gr=null),re(this.$el,this._style)},events:[{name:"click",delegate:()=>".bdt-drop-close",handler(t){t.preventDefault(),this.hide(!1)}},{name:"click",delegate:()=>'a[href*="#"]',handler({defaultPrevented:t,current:e}){const{hash:i}=e;!t&&i&&Mt(e)&&!this.$el.contains(Pe(i))&&this.hide(!1)}},{name:"beforescroll",handler(){this.hide(!1)}},{name:"toggle",self:!0,handler(t,e){t.preventDefault(),this.isToggled()?this.hide(!1):this.show(null==e?void 0:e.$el,!1)}},{name:"toggleshow",self:!0,handler(t,e){t.preventDefault(),this.show(null==e?void 0:e.$el)}},{name:"togglehide",self:!0,handler(t){t.preventDefault(),Et(this.$el,":focus,:hover")||this.hide()}},{name:`${gt} focusin`,filter:({mode:t})=>c(t,"hover"),handler(t){ne(t)||this.clearTimers()}},{name:`${mt} focusout`,filter:({mode:t})=>c(t,"hover"),handler(t){!ne(t)&&t.relatedTarget&&this.hide()}},{name:"toggled",self:!0,handler(t,e){e&&(this.clearTimers(),this.position())}},{name:"show",self:!0,handler(){gr=this,this.tracker.init(),st(this.targetEl,"aria-expanded",!0);const t=[vr(this),wr(this),xr(this),this.autoUpdate&&br(this),this.closeOnScroll&&$r(this)];Gt(this.$el,"hide",()=>t.forEach(t=>t&&t()),{self:!0}),this.bgScroll||Gt(this.$el,"hidden",Gn(this.$el),{self:!0})}},{name:"beforehide",self:!0,handler:"clearTimers"},{name:"hide",handler({target:t}){this.$el===t?(gr=this.isActive()?null:gr,this.tracker.cancel(),st(this.targetEl,"aria-expanded",null)):gr=null===gr&&this.$el.contains(t)&&this.isToggled()?this:gr}}],update:{write(){this.isToggled()&&!et(this.$el,this.clsEnter)&&this.position()}},methods:{show(t=this.targetEl,e=!0){if(this.isToggled()&&t&&this.targetEl&&t!==this.targetEl&&this.hide(!1,!1),this.targetEl=t,this.clearTimers(),!this.isActive()){if(gr){if(e&&gr.isDelaying())return void(this.showTimer=setTimeout(()=>Et(t,":hover")&&this.show(),10));let i;for(;gr&&i!==gr&&!gr.$el.contains(this.$el);)i=gr,gr.hide(!1,!1)}this.container&&Ct(this.$el)!==this.container&&xe(this.container,this.$el),this.showTimer=setTimeout(()=>this.toggleElement(this.$el,!0),e&&this.delayShow||0)}},hide(t=!0,e=!0){const i=()=>this.toggleElement(this.$el,!1,this.animateOut&&e);this.clearTimers(),this.isDelayedHide=t,t&&this.isDelaying()?this.hideTimer=setTimeout(this.hide,50):t&&this.delayHide?this.hideTimer=setTimeout(i,this.delayHide):i()},clearTimers(){clearTimeout(this.showTimer),clearTimeout(this.hideTimer),this.showTimer=null,this.hideTimer=null},isActive(){return gr===this},isDelaying(){return[this.$el,...Oe(".bdt-drop",this.$el)].some(t=>this.tracker.movesTo(t))},position(){const t=Jo(this.$el);Q(this.$el,"bdt-drop-stack"),re(this.$el,this._style),this.$el.hidden=!0;const e=this.target.map(t=>function(t,e){return _i(Di(e).find(e=>e.contains(t)))}(this.$el,t)),i=this.getViewportOffset(this.$el),n=[[0,["x","width","left","right"]],[1,["y","height","top","bottom"]]];for(const[t,[s,o]]of n)this.axis!==s&&c([s,!0],this.stretch)&&re(this.$el,{[o]:Math.min(He(this.boundary[t])[o],e[t][o]-2*i),[`overflow-${s}`]:"auto"});const s=e[0].width-2*i;this.$el.hidden=!1,re(this.$el,"maxWidth",""),this.$el.offsetWidth>s&&K(this.$el,"bdt-drop-stack"),re(this.$el,"maxWidth",s),this.positionAt(this.$el,this.target,this.boundary);for(const[t,[s,o,r,a]]of n)if(this.axis===s&&c([s,!0],this.stretch)){const n=Math.abs(this.getPositionOffset()),l=He(this.target[t]),h=He(this.$el);re(this.$el,{[o]:(l[r]>h[r]?l[this.inset?a:r]-Math.max(He(this.boundary[t])[r],e[t][r]+i):Math.min(He(this.boundary[t])[a],e[t][a]-i)-l[this.inset?r:a])-n,[`overflow-${s}`]:"auto"}),this.positionAt(this.$el,this.target,this.boundary)}t()}}};function vr(t){const e=()=>t.$emit(),i=[di(e),ci(Di(t.$el).concat(t.target),e)];return()=>i.map(t=>t.disconnect())}function br(t,e=()=>t.$emit()){return Xt([document,...Di(t.$el)],"scroll",e,{passive:!0})}function wr(t){return Xt(document,"keydown",e=>{e.keyCode===Nn&&t.hide(!1)})}function $r(t){return br(t,()=>t.hide(!1))}function xr(t){return Xt(document,ut,({target:e})=>{t.$el.contains(e)||Gt(document,`${pt} ${vt} scroll`,({defaultPrevented:i,type:n,target:s})=>{var o;!i&&n===pt&&e===s&&(null==(o=t.targetEl)||!o.contains(e))&&t.hide(!1)},!0)})}var yr={mixins:[Qi,Zn],props:{align:String,clsDrop:String,boundary:Boolean,dropbar:Boolean,dropbarAnchor:Boolean,duration:Number,mode:Boolean,offset:Boolean,stretch:Boolean,delayShow:Boolean,delayHide:Boolean,target:Boolean,targetX:Boolean,targetY:Boolean,animation:Boolean,animateOut:Boolean,closeOnScroll:Boolean},data:{align:ht?"right":"left",clsDrop:"bdt-dropdown",clsDropbar:"bdt-dropnav-dropbar",boundary:!0,dropbar:!1,dropbarAnchor:!1,duration:200,container:!1,selNavItem:"> li > a, > ul > li > a"},computed:{dropbarAnchor:({dropbarAnchor:t},e)=>Ot(t,e)||e,dropbar({dropbar:t}){return t?(t=this._dropbar||Ot(t,this.$el)||Pe(`+ .${this.clsDropbar}`,this.$el))||(this._dropbar=Pe("<div></div>")):null},dropContainer(t,e){return this.container||e},dropdowns({clsDrop:t},e){var i;const n=Oe(`.${t}`,e);if(this.dropContainer!==e)for(const e of Oe(`.${t}`,this.dropContainer)){const t=null==(i=this.getDropdown(e))?void 0:i.targetEl;!c(n,e)&&t&&this.$el.contains(t)&&n.push(e)}return n},items:({selNavItem:t},e)=>Oe(t,e)},watch:{dropbar(t){K(t,"bdt-dropbar","bdt-dropbar-top",this.clsDropbar,`bdt-${this.$options.name}-dropbar`)},dropdowns(){this.initializeDropdowns()}},connected(){this.initializeDropdowns()},disconnected(){ke(this._dropbar),delete this._dropbar},events:[{name:"mouseover focusin",delegate:({selNavItem:t})=>t,handler({current:t}){const e=this.getActive();e&&c(e.mode,"hover")&&e.targetEl&&!t.contains(e.targetEl)&&!e.isDelaying()&&e.hide(!1)}},{name:"keydown",self:!0,delegate:({selNavItem:t})=>t,handler(t){var e;const{current:i,keyCode:n}=t,s=this.getActive();n===qn&&(null==s?void 0:s.targetEl)===i&&(t.preventDefault(),null==(e=Pe(It,s.$el))||e.focus()),Sr(t,this.items,s)}},{name:"keydown",el:({dropContainer:t})=>t,delegate:({clsDrop:t})=>`.${t}`,handler(t){var e;const{current:i,keyCode:n,target:s}=t;if(St(s)||!c(this.dropdowns,i))return;const o=this.getActive();let r=-1;if(n===Fn?r=0:n===Hn?r="last":n===Ln?r="previous":n===qn?r="next":n===Nn&&(null==(e=o.targetEl)||e.focus()),~r){t.preventDefault();const e=Oe(It,i);e[G(r,e,d(e,t=>Et(t,":focus")))].focus()}Sr(t,this.items,o)}},{name:"mouseleave",el:({dropbar:t})=>t,filter:({dropbar:t})=>t,handler(){const t=this.getActive();t&&c(t.mode,"hover")&&!this.dropdowns.some(t=>Et(t,":hover"))&&t.hide()}},{name:"beforeshow",el:({dropContainer:t})=>t,filter:({dropbar:t})=>t,handler({target:t}){this.isDropbarDrop(t)&&(this.dropbar.previousElementSibling!==this.dropbarAnchor&&Se(this.dropbarAnchor,this.dropbar),K(t,`${this.clsDrop}-dropbar`))}},{name:"show",el:({dropContainer:t})=>t,filter:({dropbar:t})=>t,handler({target:t}){if(!this.isDropbarDrop(t))return;const e=this.getDropdown(t),i=()=>{const i=Math.max(...At(t,`.${this.clsDrop}`).concat(t).map(t=>He(t).bottom));He(this.dropbar,{left:He(this.dropbar).left,top:this.getDropbarOffset(e.getPositionOffset())}),this.transitionTo(i-He(this.dropbar).top+_(re(t,"marginBottom")),t)};this._observer=ci([e.$el,...e.target],i),i()}},{name:"beforehide",el:({dropContainer:t})=>t,filter:({dropbar:t})=>t,handler(t){const e=this.getActive();Et(this.dropbar,":hover")&&e.$el===t.target&&this.isDropbarDrop(e.$el)&&c(e.mode,"hover")&&e.isDelayedHide&&!this.items.some(t=>e.targetEl!==t&&Et(t,":focus"))&&t.preventDefault()}},{name:"hide",el:({dropContainer:t})=>t,filter:({dropbar:t})=>t,handler({target:t}){var e;if(!this.isDropbarDrop(t))return;null==(e=this._observer)||e.disconnect();const i=this.getActive();(!i||i.$el===t)&&this.transitionTo(0)}}],methods:{getActive(){var t;return c(this.dropdowns,null==(t=gr)?void 0:t.$el)&&gr},async transitionTo(t,e){const{dropbar:i}=this,n=Le(i);if(e=n<t&&e,await de.cancel([e,i]),e){const s=He(e).top-He(i).top-n;s>0&&re(e,"transitionDelay",s/t*this.duration+"ms")}re(e,"clipPath",`polygon(0 0,100% 0,100% ${n}px,0 ${n}px)`),Le(i,n),await Promise.all([de.start(i,{height:t},this.duration),de.start(e,{clipPath:`polygon(0 0,100% 0,100% ${t}px,0 ${t}px)`},this.duration).finally(()=>re(e,{clipPath:"",transitionDelay:""}))]).catch(V)},getDropdown(t){return this.$getComponent(t,"drop")||this.$getComponent(t,"dropdown")},isDropbarDrop(t){return c(this.dropdowns,t)&&et(t,this.clsDrop)},getDropbarOffset(t){const{$el:e,target:i,targetY:n}=this,{top:s,height:o}=He(Ot(n||i||e,e));return s+o+t},initializeDropdowns(){this.$create("drop",this.dropdowns.filter(t=>!this.getDropdown(t)),{...this.$props,flip:!1,shift:!0,pos:`bottom-${this.align}`,boundary:!0===this.boundary?this.$el:this.boundary})}}};function Sr(t,e,i){var n,s,o;const{current:r,keyCode:a}=t;let l=-1;a===Fn?l=0:a===Hn?l="last":a===jn?l="previous":a===Wn?l="next":a===Bn&&(null==(n=i.targetEl)||n.focus(),null==(s=i.hide)||s.call(i,!1)),~l&&(t.preventDefault(),null==(o=i.hide)||o.call(i,!1),e[G(l,e,e.indexOf(i.targetEl||r))].focus())}var Ir={mixins:[Qi],args:"target",props:{target:Boolean},data:{target:!1},computed:{input:(t,e)=>Pe(yt,e),state(){return this.input.nextElementSibling},target({target:t},e){return t&&(!0===t&&Ct(this.input)===e&&this.input.nextElementSibling||Pe(t,e))}},update(){var t;const{target:e,input:i}=this;if(!e)return;let n;const s=St(e)?"value":"textContent",o=e[s],r=null!=(t=i.files)&&t[0]?i.files[0].name:Et(i,"select")&&(n=Oe("option",i).filter(t=>t.selected)[0])?n.textContent:i.value;o!==r&&(e[s]=r)},events:[{name:"change",handler(){this.$emit()}},{name:"reset",el:({$el:t})=>t.closest("form"),handler(){this.$emit()}}]},kr={extends:xn,mixins:[Qi],name:"grid",props:{masonry:Boolean,parallax:String,parallaxStart:String,parallaxEnd:String,parallaxJustify:Boolean},data:{margin:"bdt-grid-margin",clsStack:"bdt-grid-stack",masonry:!1,parallax:0,parallaxStart:0,parallaxEnd:0,parallaxJustify:!1},connected(){this.masonry&&K(this.$el,"bdt-flex-top","bdt-flex-wrap-top")},observe:vn({filter:({parallax:t,parallaxJustify:e})=>t||e}),update:[{write({rows:t}){it(this.$el,this.clsStack,!t.some(t=>t.length>1))},events:["resize"]},{read(t){const{rows:e}=t;let{masonry:i,parallax:n,parallaxJustify:s,margin:o}=this;if(n=Math.max(0,Ue(n)),!(i||n||s)||Cr(e)||e[0].some((t,i)=>e.some(e=>e[i]&&e[i].offsetWidth!==t.offsetWidth)))return t.translates=t.scrollColumns=!1;let r,a,l=function(t,e){const i=t.flat().find(t=>et(t,e));return _(i?re(i,"marginTop"):re(t[0][0],"paddingLeft"))}(e,o);i?[r,a]=function(t,e,i){const n=[],s=[],o=Array(t[0].length).fill(0);let r=0;for(let a of t){ht&&(a=a.reverse());let t=0;for(const l in a){const{offsetWidth:h,offsetHeight:c}=a[l],d=i?l:o.indexOf(Math.min(...o));Tr(n,d,a[l]),Tr(s,d,[(d-l)*h*(ht?-1:1),o[d]-r]),o[d]+=c+e,t=Math.max(t,c)}r+=t+e}return[n,s]}(e,l,"next"===i):r=function(t){const e=[];for(const i of t)for(const t in i)Tr(e,t,i[t]);return e}(e);const h=r.map(t=>j(t,"offsetHeight")+l*(t.length-1)),c=Math.max(0,...h);let d,u,f;return(n||s)&&(d=h.map((t,e)=>s?c-t+n:n/(e%2||8)),s||(n=Math.max(...h.map((t,e)=>t+d[e]-c))),u=Ue(this.parallaxStart,"height",this.$el,!0),f=Ue(this.parallaxEnd,"height",this.$el,!0)),{columns:r,translates:a,scrollColumns:d,parallaxStart:u,parallaxEnd:f,padding:n,height:a?c:""}},write({height:t,padding:e}){re(this.$el,"paddingBottom",e||""),!1!==t&&re(this.$el,"height",t)},events:["resize"]},{read({rows:t,scrollColumns:e,parallaxStart:i,parallaxEnd:n}){return{scrolled:!(!e||Cr(t))&&Ti(this.$el,i,n)}},write({columns:t,scrolled:e,scrollColumns:i,translates:n}){!e&&!n||t.forEach((t,s)=>t.forEach((t,o)=>{let[r,a]=n&&n[s][o]||[0,0];e&&(a+=e*i[s]),re(t,"transform",`translate(${r}px, ${a}px)`)}))},events:["scroll","resize"]}]};function Cr(t){return t.flat().some(t=>"absolute"===re(t,"position"))}function Tr(t,e,i){t[e]||(t[e]=[]),t[e].push(i)}var Er={args:"target",props:{target:String,row:Boolean},data:{target:"> *",row:!0},computed:{elements:({target:t},e)=>Oe(t,e)},observe:un({target:({$el:t,elements:e})=>e.reduce((t,e)=>t.concat(e,...e.children),[t])}),events:{name:"loadingdone",el:()=>document.fonts,handler(){this.$emit("resize")}},update:{read(){return{rows:(this.row?yn(this.elements):[this.elements]).map(Ar)}},write({rows:t}){for(const{heights:e,elements:i}of t)i.forEach((t,i)=>re(t,"minHeight",e[i]))},events:["resize"]}};function Ar(t){if(t.length<2)return{heights:[""],elements:t};let e=t.map(Dr);const i=Math.max(...e);return{heights:t.map((t,n)=>e[n].toFixed(2)===i.toFixed(2)?"":i),elements:t}}function Dr(t){const e=W(t.style,["display","minHeight"]);xt(t)||re(t,"display","block","important"),re(t,"minHeight","");const i=ze(t).height-Ve(t,"height","content-box");return re(t,e),i}var _r={args:"target",props:{target:String},data:{target:""},computed:{target:{get:({target:t},e)=>Ot(t,e),observe:({target:t})=>t}},observe:un({target:({target:t})=>t}),update:{read(){return!!this.target&&{height:this.target.offsetHeight}},write({height:t}){re(this.$el,{minHeight:t})},events:["resize"]}},Mr={props:{expand:Boolean,offsetTop:Boolean,offsetBottom:Boolean,minHeight:Number},data:{expand:!1,offsetTop:!1,offsetBottom:!1,minHeight:0},observe:[mn({filter:({expand:t})=>t}),un({target:({$el:t})=>Ei(t)})],update:{read(){if(!xt(this.$el))return!1;let t="";const e=Ve(this.$el,"height","content-box"),{body:i,scrollingElement:n}=document,s=Ai(this.$el),{height:o}=_i(s===i?n:s),r=n===s||i===s;if(t="calc("+(r?"100vh":`${o}px`),this.expand){t+=` - ${ze(s).height-ze(this.$el).height}px`}else{if(this.offsetTop)if(r){const e=!0===this.offsetTop?this.$el:Ot(this.offsetTop,this.$el),{top:i}=He(e);t+=i>0&&i<o/2?` - ${i}px`:""}else t+=` - ${Ve(s,"height",re(s,"boxSizing"))}px`;!0===this.offsetBottom?t+=` - ${ze(this.$el.nextElementSibling).height}px`:C(this.offsetBottom)?t+=` - ${this.offsetBottom}vh`:this.offsetBottom&&h(this.offsetBottom,"px")?t+=` - ${_(this.offsetBottom)}px`:I(this.offsetBottom)&&(t+=` - ${ze(Ot(this.offsetBottom,this.$el)).height}px`)}return t+=(e?` - ${e}px`:"")+")",{minHeight:t}},write({minHeight:t}){re(this.$el,"minHeight",`max(${this.minHeight||0}px, ${t})`)},events:["resize"]}},Pr='<svg width="20" height="20" viewBox="0 0 20 20"><circle fill="none" stroke="#000" stroke-width="1.1" cx="9" cy="9" r="7"/><path fill="none" stroke="#000" stroke-width="1.1" d="M14,14 L18,18 L14,14 Z"/></svg>',Or={args:"src",props:{width:Number,height:Number,ratio:Number},data:{ratio:1},connected(){this.svg=this.getSvg().then(t=>{if(!this._connected)return;const e=function(t,e){if(wt(e)||ve(e,"canvas")){e.hidden=!0;const i=e.nextElementSibling;return Br(t,i)?i:Se(e,t)}const i=e.lastElementChild;return Br(t,i)?i:xe(e,t)}(t,this.$el);return this.svgEl&&e!==this.svgEl&&ke(this.svgEl),Nr.call(this,e,t),this.svgEl=e},V)},disconnected(){this.svg.then(t=>{this._connected||(wt(this.$el)&&(this.$el.hidden=!1),ke(t),this.svgEl=null)}),this.svg=null},methods:{async getSvg(){}}};function Br(t,e){return ve(t,"svg")&&ve(e,"svg")&&t.innerHTML===e.innerHTML}function Nr(t,e){const i=["width","height"];let n=i.map(t=>this[t]);n.some(t=>t)||(n=i.map(t=>st(e,t)));const s=st(e,"viewBox");s&&!n.some(t=>t)&&(n=s.split(" ").slice(2)),n.forEach((e,n)=>st(t,i[n],_(e)*this.ratio||null))}var zr={mixins:[Or],args:"src",props:{src:String,icon:String,attributes:"list",strokeAnimation:Boolean},data:{strokeAnimation:!1},observe:[pn({async handler(){const t=await this.svg;t&&Hr.call(this,t)},options:{attributes:!0,attributeFilter:["id","class","style"]}})],async connected(){c(this.src,"#")&&([this.src,this.icon]=this.src.split("#"));const t=await this.svg;t&&(Hr.call(this,t),this.strokeAnimation&&function(t){const e=ao(t);e&&re(t,"--bdt-animation-stroke",e)}(t))},methods:{async getSvg(){return ve(this.$el,"img")&&!this.$el.complete&&"lazy"===this.$el.loading&&await new Promise(t=>Gt(this.$el,"load",t)),function(t,e){return e&&c(t,"<symbol")&&(t=Lr(t)[e]||t),Wr(t)}(await Fr(this.src),this.icon)||Promise.reject("SVG not found.")}}};function Hr(t){const{$el:e}=this;K(t,st(e,"class"),"bdt-svg");for(let i=0;i<e.style.length;i++){const n=e.style[i];re(t,n,re(e,n))}for(const e in this.attributes){const[i,n]=this.attributes[e].split(":",2);st(t,i,n)}this.$el.id||rt(t,"id")}const Fr=Z(async t=>t?l(t,"data:")?decodeURIComponent(t.split(",")[1]):(await fetch(t)).text():Promise.reject());const jr=/<symbol([^]*?id=(['"])(.+?)\2[^]*?<\/)symbol>/g,Lr=Z(function(t){const e={};let i;for(jr.lastIndex=0;i=jr.exec(t);)e[i[3]]=`<svg ${i[1]}svg>`;return e});function Wr(t){const e=document.createElement("template");return e.innerHTML=t,e.content.firstElementChild}const qr={spinner:'<svg width="30" height="30" viewBox="0 0 30 30"><circle fill="none" stroke="#000" cx="15" cy="15" r="14"/></svg>',totop:'<svg width="18" height="10" viewBox="0 0 18 10"><polyline fill="none" stroke="#000" stroke-width="1.2" points="1 9 9 1 17 9"/></svg>',marker:'<svg width="20" height="20" viewBox="0 0 20 20"><rect width="1" height="11" x="9" y="4"/><rect width="11" height="1" x="4" y="9"/></svg>',"close-icon":'<svg width="14" height="14" viewBox="0 0 14 14"><line fill="none" stroke="#000" stroke-width="1.1" x1="1" y1="1" x2="13" y2="13"/><line fill="none" stroke="#000" stroke-width="1.1" x1="13" y1="1" x2="1" y2="13"/></svg>',"close-large":'<svg width="20" height="20" viewBox="0 0 20 20"><line fill="none" stroke="#000" stroke-width="1.4" x1="1" y1="1" x2="19" y2="19"/><line fill="none" stroke="#000" stroke-width="1.4" x1="19" y1="1" x2="1" y2="19"/></svg>',"drop-parent-icon":'<svg width="12" height="12" viewBox="0 0 12 12"><polyline fill="none" stroke="#000" stroke-width="1.1" points="1 3.5 6 8.5 11 3.5"/></svg>',"nav-parent-icon":'<svg width="12" height="12" viewBox="0 0 12 12"><polyline fill="none" stroke="#000" stroke-width="1.1" points="1 3.5 6 8.5 11 3.5"/></svg>',"nav-parent-icon-large":'<svg width="14" height="14" viewBox="0 0 14 14"><polyline fill="none" stroke="#000" stroke-width="1.1" points="1 4 7 10 13 4"/></svg>',"navbar-parent-icon":'<svg width="12" height="12" viewBox="0 0 12 12"><polyline fill="none" stroke="#000" stroke-width="1.1" points="1 3.5 6 8.5 11 3.5"/></svg>',"navbar-toggle-icon":'<svg width="20" height="20" viewBox="0 0 20 20"><style>.bdt-navbar-toggle-icon svg&gt;[class*=&quot;line-&quot;]{transition:0.2s ease-in-out;transition-property:transform, opacity;transform-origin:center;opacity:1}.bdt-navbar-toggle-icon svg&gt;.line-3{opacity:0}.bdt-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-3{opacity:1}.bdt-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-2{transform:rotate(45deg)}.bdt-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-3{transform:rotate(-45deg)}.bdt-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-1,.bdt-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-4{opacity:0}.bdt-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-1{transform:translateY(6px) scaleX(0)}.bdt-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-4{transform:translateY(-6px) scaleX(0)}</style><rect width="20" height="2" y="3" class="line-1"/><rect width="20" height="2" y="9" class="line-2"/><rect width="20" height="2" y="9" class="line-3"/><rect width="20" height="2" y="15" class="line-4"/></svg>',"overlay-icon":'<svg width="40" height="40" viewBox="0 0 40 40"><rect width="1" height="40" x="19" y="0"/><rect width="40" height="1" x="0" y="19"/></svg>',"pagination-next":'<svg width="7" height="12" viewBox="0 0 7 12"><polyline fill="none" stroke="#000" stroke-width="1.2" points="1 1 6 6 1 11"/></svg>',"pagination-previous":'<svg width="7" height="12" viewBox="0 0 7 12"><polyline fill="none" stroke="#000" stroke-width="1.2" points="6 1 1 6 6 11"/></svg>',"search-icon":Pr,"search-medium":'<svg width="24" height="24" viewBox="0 0 24 24"><circle fill="none" stroke="#000" stroke-width="1.1" cx="10.5" cy="10.5" r="9.5"/><line fill="none" stroke="#000" stroke-width="1.1" x1="23" y1="23" x2="17" y2="17"/></svg>',"search-large":'<svg width="40" height="40" viewBox="0 0 40 40"><circle fill="none" stroke="#000" stroke-width="1.8" cx="17.5" cy="17.5" r="16.5"/><line fill="none" stroke="#000" stroke-width="1.8" x1="38" y1="39" x2="29" y2="30"/></svg>',"search-toggle-icon":Pr,"slidenav-next":'<svg width="14" height="24" viewBox="0 0 14 24"><polyline fill="none" stroke="#000" stroke-width="1.4" points="1.225,23 12.775,12 1.225,1"/></svg>',"slidenav-next-large":'<svg width="25" height="40" viewBox="0 0 25 40"><polyline fill="none" stroke="#000" stroke-width="2" points="4.002,38.547 22.527,20.024 4,1.5"/></svg>',"slidenav-previous":'<svg width="14" height="24" viewBox="0 0 14 24"><polyline fill="none" stroke="#000" stroke-width="1.4" points="12.775,1 1.225,12 12.775,23"/></svg>',"slidenav-previous-large":'<svg width="25" height="40" viewBox="0 0 25 40"><polyline fill="none" stroke="#000" stroke-width="2" points="20.527,1.5 2,20.024 20.525,38.547"/></svg>'},Vr={install:function(t){t.icon.add=(e,i)=>{const n=I(e)?{[e]:i}:e;H(n,(t,e)=>{qr[e]=t,delete na[e]}),t._initialized&&Me(document.body,e=>H(t.getComponents(e),t=>{t.$options.isIcon&&t.icon in n&&t.$reset()}))}},mixins:[Or],args:"icon",props:{icon:String},isIcon:!0,beforeConnect(){K(this.$el,"bdt-icon")},methods:{async getSvg(){const t=function(t){return t=sa[t]||t,qr[t]?(na[t]||(na[t]=Wr(qr[function(t){return ht?N(N(t,"left","right"),"previous","next"):t}(t)]||qr[t])),na[t].cloneNode(!0)):null}(this.icon);if(!t)throw"Icon not found.";return t}}},Rr={args:!1,extends:Vr,data:t=>({icon:s(t.constructor.options.name)}),beforeConnect(){K(this.$el,this.$options.id)}},Ur={extends:Rr,beforeConnect(){const t=this.$props.icon;this.icon=this.$el.closest(".bdt-nav-primary")?`${t}-large`:t}},Yr={extends:Rr,mixins:[ps],i18n:{toggle:"Open Search",submit:"Submit Search"},beforeConnect(){const t=et(this.$el,"bdt-search-toggle")||et(this.$el,"bdt-navbar-toggle");if(this.icon=t?"search-toggle-icon":et(this.$el,"bdt-search-icon")&&this.$el.closest(".bdt-search-large")?"search-large":this.$el.closest(".bdt-search-medium")?"search-medium":this.$props.icon,!ot(this.$el,"aria-label"))if(t){const t=this.t("toggle");st(this.$el,"aria-label",t)}else{const t=this.$el.closest("a,button");if(t){st(t,"aria-label",this.t("submit"))}}}},Xr={extends:Rr,beforeConnect(){st(this.$el,"role","status")},methods:{async getSvg(){const t=await Vr.methods.getSvg.call(this);return 1!==this.ratio&&re(Pe("circle",t),"strokeWidth",1/this.ratio),t}}},Jr={extends:Rr,mixins:[ps],beforeConnect(){const t=this.$el.closest("a,button");st(t,"role",null!==this.role&&ve(t,"a")?"button":this.role);const e=this.t("label");e&&!ot(t,"aria-label")&&st(t,"aria-label",e)}},Gr={extends:Jr,beforeConnect(){K(this.$el,"bdt-slidenav");const t=this.$props.icon;this.icon=et(this.$el,"bdt-slidenav-large")?`${t}-large`:t}},Zr={extends:Jr,i18n:{label:"Open menu"}},Kr={extends:Jr,i18n:{label:"Close"},beforeConnect(){this.icon="close-"+(et(this.$el,"bdt-close-large")?"large":"icon")}},Qr={extends:Jr,i18n:{label:"Open"}},ta={extends:Jr,i18n:{label:"Back to top"}},ea={extends:Jr,i18n:{label:"Next page"},data:{role:null}},ia={extends:Jr,i18n:{label:"Previous page"},data:{role:null}},na={};const sa={twitter:"x"};var oa={args:"dataSrc",props:{dataSrc:String,sources:String,margin:String,target:String,loading:String},data:{dataSrc:"",sources:!1,margin:"50%",target:!1,loading:"lazy"},connected(){"lazy"!==this.loading?this.load():ha(this.$el)&&(this.$el.loading="lazy",ra(this.$el))},disconnected(){this.img&&(this.img.onload=""),delete this.img},observe:fn({handler(t,e){this.load(),e.disconnect()},options:({margin:t})=>({rootMargin:t}),filter:({loading:t})=>"lazy"===t,target:({$el:t,$props:e})=>e.target?[t,...Bt(e.target,t)]:t}),methods:{load(){if(this.img)return this.img;const t=ha(this.$el)?this.$el:function(t,e,i){const n=new Image;return function(t,e){if(e=function(t){if(!t)return[];if(l(t,"["))try{t=JSON.parse(t)}catch{t=[]}else t=ln(t);return u(t)||(t=[t]),t.filter(t=>!T(t))}(e),e.length){const i=De("<picture>");for(const t of e){const e=De("<source>");st(e,t),xe(i,e)}xe(i,t)}}(n,i),la(t,n),n.onload=()=>{ra(t,n.currentSrc)},st(n,"src",e),n}(this.$el,this.dataSrc,this.sources);return rt(t,"loading"),ra(this.$el,t.currentSrc),this.img=t}}};function ra(t,e){if(ha(t)){const e=Ct(t);(ve(e,"picture")?Dt(e):[t]).forEach(t=>la(t,t))}else e&&!c(t.style.backgroundImage,e)&&(re(t,"backgroundImage",`url(${Yt(e)})`),Zt(t,Kt("load",!1)))}const aa=["data-src","data-srcset","sizes"];function la(t,e){for(const i of aa){const n=at(t,i);n&&st(e,i.replace(/^(data-)+/,""),n)}}function ha(t){return ve(t,"img")}var ca={props:{target:String,selActive:String},data:{target:!1,selActive:!1},computed:{target:({target:t},e)=>t?Oe(t,e):e},observe:[fn({handler(t){this.isIntersecting=t.some(({isIntersecting:t})=>t),this.$emit()},target:({target:t})=>t,args:{intersecting:!1}}),pn({target:({target:t})=>t,options:{attributes:!0,attributeFilter:["class"],attributeOldValue:!0}}),{target:({target:t})=>t,observe:(t,e)=>{const i=ci([...P(t),document.documentElement],e),n=[Xt(document,"scroll itemshown itemhidden",e,{passive:!0,capture:!0}),Xt(document,"show hide transitionstart",t=>(e(),i.observe(t.target))),Xt(document,"shown hidden transitionend transitioncancel",t=>(e(),i.unobserve(t.target)))];return{observe:i.observe.bind(i),unobserve:i.unobserve.bind(i),disconnect(){i.disconnect(),n.map(t=>t())}}},handler(){this.$emit()}}],update:{read(){if(!this.isIntersecting)return!1;for(const t of P(this.target)){let e=!this.selActive||Et(t,this.selActive)?da(t):"";!1!==e&&tt(t,"bdt-light bdt-dark",e)}}}};function da(t){const e=ze(t),i=ze(window);if(!R(e,i))return!1;const{left:n,top:s,height:o,width:r}=e;let a;for(const e of[.25,.5,.75]){const l=t.ownerDocument.elementsFromPoint(Math.max(0,Math.min(n+r*e,i.width-1)),Math.max(0,Math.min(s+o/2,i.height-1)));for(const e of l){if(t.contains(e)||!ua(e)||e.closest('[class*="-leave"]')&&l.some(t=>e!==t&&Et(t,'[class*="-enter"]')))continue;const i=re(e,"--bdt-inverse");if(i){if(i===a)return`bdt-${i}`;a=i;break}}}return a?`bdt-${a}`:""}function ua(t){if("visible"!==re(t,"visibility"))return!1;for(;t;){if("0"===re(t,"opacity"))return!1;t=Ct(t)}return!0}var fa={mixins:[Qi,ro],props:{fill:String},data:{fill:"",clsWrapper:"bdt-leader-fill",clsHide:"bdt-leader-hide",attrFill:"data-fill"},computed:{fill:({fill:t},e)=>t||re(e,"--bdt-leader-fill-content")},connected(){[this.wrapper]=Te(this.$el,`<span class="${this.clsWrapper}">`)},disconnected(){Ee(this.wrapper.childNodes)},observe:un(),update:{read(){return{width:Math.trunc(this.$el.offsetWidth/2),fill:this.fill,hide:!this.matchMedia}},write({width:t,fill:e,hide:i}){it(this.wrapper,this.clsHide,i),st(this.wrapper,this.attrFill,new Array(t).join(e))},events:["resize"]}},pa={install:function({modal:t}){function e(e,i,n=V,s=V){i={bgClose:!1,escClose:!0,...i,i18n:{...t.i18n,...null==i?void 0:i.i18n}};const o=t.dialog(e(i),i);return p(new Promise(t=>{const e=Xt(o.$el,"hide",()=>t(n()));Xt(o.$el,"submit","form",i=>{i.preventDefault(),t(s(o)),e(),o.hide()})}),{dialog:o})}t.dialog=function(e,i){const n=t(Pe(`<div><div class="bdt-modal-dialog">${e}</div></div>`),{stack:!0,role:"alertdialog",...i});return n.show(),Xt(n.$el,"hidden",async()=>{await Promise.resolve(),n.$destroy(!0)},{self:!0}),n},t.alert=function(t,i){return e(({i18n:e})=>`<div class="bdt-modal-body">${I(t)?t:we(t)}</div> <div class="bdt-modal-footer bdt-text-right"> <button class="bdt-button bdt-button-primary bdt-modal-close" autofocus>${e.ok}</button> </div>`,i)},t.confirm=function(t,i){return e(({i18n:e})=>`<form> <div class="bdt-modal-body">${I(t)?t:we(t)}</div> <div class="bdt-modal-footer bdt-text-right"> <button class="bdt-button bdt-button-default bdt-modal-close" type="button">${e.cancel}</button> <button class="bdt-button bdt-button-primary" autofocus>${e.ok}</button> </div> </form>`,i,()=>Promise.reject())},t.prompt=function(t,i,n){const s=e(({i18n:e})=>`<form class="bdt-form-stacked"> <div class="bdt-modal-body"> <label>${I(t)?t:we(t)}</label> <input class="bdt-input" autofocus> </div> <div class="bdt-modal-footer bdt-text-right"> <button class="bdt-button bdt-button-default bdt-modal-close" type="button">${e.cancel}</button> <button class="bdt-button bdt-button-primary">${e.ok}</button> </div> </form>`,n,()=>null,()=>r.value),{$el:o}=s.dialog,r=Pe("input",o);return r.value=i||"",Xt(o,"show",()=>r.select()),s},t.i18n={ok:"Ok",cancel:"Cancel"}},mixins:[ns],data:{clsPage:"bdt-modal-page",selPanel:".bdt-modal-dialog",selClose:'[class*="bdt-modal-close"]'},events:[{name:"fullscreenchange webkitendfullscreen",capture:!0,handler(t){ve(t.target,"video")&&this.isToggled()&&!document.fullscreenElement&&this.hide()}},{name:"show",self:!0,handler(){et(this.panel,"bdt-margin-auto-vertical")?K(this.$el,"bdt-flex"):re(this.$el,"display","block"),Le(this.$el)}},{name:"hidden",self:!0,handler(){re(this.$el,"display",""),Q(this.$el,"bdt-flex")}}]};var ga={extends:lr,data:{targets:"> .bdt-parent",toggle:"> a",content:"> ul"}};const ma="bdt-navbar-transparent";var va={extends:yr,props:{dropbarTransparentMode:Boolean},data:{clsDrop:"bdt-navbar-dropdown",selNavItem:".bdt-navbar-nav > li > a,a.bdt-navbar-item,button.bdt-navbar-item,.bdt-navbar-item a,.bdt-navbar-item button,.bdt-navbar-toggle",dropbarTransparentMode:!1},computed:{navbarContainer:(t,e)=>e.closest(".bdt-navbar-container")},watch:{items(){const t=et(this.$el,"bdt-navbar-justify"),e=Oe(".bdt-navbar-nav, .bdt-navbar-left, .bdt-navbar-right",this.$el);for(const i of e){re(i,"flexGrow",t?Oe(".bdt-navbar-nav > li > a, .bdt-navbar-item, .bdt-navbar-toggle",i).length:"")}}},events:[{name:"show",el:({dropContainer:t})=>t,handler({target:t}){"remove"===this.getTransparentMode(t)&&et(this.navbarContainer,ma)&&(Q(this.navbarContainer,ma),this._transparent=!0)}},{name:"hide",el:({dropContainer:t})=>t,async handler(){await new Promise(t=>setTimeout(t)),!this.getActive()&&this._transparent&&(K(this.navbarContainer,ma),this._transparent=null)}}],methods:{getTransparentMode(t){if(!this.navbarContainer)return;if(this.dropbar&&this.isDropbarDrop(t))return this.dropbarTransparentMode;const e=this.getDropdown(t);return e&&et(t,"bdt-dropbar")?e.inset?"behind":"remove":void 0},getDropbarOffset(t){const{top:e,height:i}=He(this.navbarContainer);return e+("behind"===this.dropbarTransparentMode?0:i+t)}}};var ba={mixins:[ns],args:"mode",props:{mode:String,flip:Boolean,overlay:Boolean,swiping:Boolean},data:{mode:"slide",flip:!1,overlay:!1,clsPage:"bdt-offcanvas-page",clsContainer:"bdt-offcanvas-container",selPanel:".bdt-offcanvas-bar",clsFlip:"bdt-offcanvas-flip",clsContainerAnimation:"bdt-offcanvas-container-animation",clsSidebarAnimation:"bdt-offcanvas-bar-animation",clsMode:"bdt-offcanvas",clsOverlay:"bdt-offcanvas-overlay",selClose:".bdt-offcanvas-close",container:!1,swiping:!0},computed:{clsFlip:({flip:t,clsFlip:e})=>t?e:"",clsOverlay:({overlay:t,clsOverlay:e})=>t?e:"",clsMode:({mode:t,clsMode:e})=>`${e}-${t}`,clsSidebarAnimation:({mode:t,clsSidebarAnimation:e})=>"none"===t||"reveal"===t?"":e,clsContainerAnimation:({mode:t,clsContainerAnimation:e})=>"push"!==t&&"reveal"!==t?"":e,transitionElement({mode:t}){return"reveal"===t?Ct(this.panel):this.panel}},observe:bn({filter:({swiping:t})=>t}),update:{read(){this.isToggled()&&!xt(this.$el)&&this.hide()},events:["resize"]},events:[{name:"touchmove",self:!0,passive:!1,filter:({overlay:t})=>t,handler(t){t.cancelable&&t.preventDefault()}},{name:"show",self:!0,handler(){"reveal"===this.mode&&!et(Ct(this.panel),this.clsMode)&&(Ce(this.panel,"<div>"),K(Ct(this.panel),this.clsMode));const{body:t,scrollingElement:e}=document;K(t,this.clsContainer,this.clsFlip),re(t,"touch-action","pan-y pinch-zoom"),re(this.$el,"display","block"),re(this.panel,"maxWidth",e.clientWidth),K(this.$el,this.clsOverlay),K(this.panel,this.clsSidebarAnimation,"reveal"===this.mode?"":this.clsMode),Le(t),K(t,this.clsContainerAnimation),this.clsContainerAnimation&&(wa().content+=",user-scalable=0")}},{name:"hide",self:!0,handler(){Q(document.body,this.clsContainerAnimation),re(document.body,"touch-action","")}},{name:"hidden",self:!0,handler(){this.clsContainerAnimation&&function(){const t=wa();t.content=t.content.replace(/,user-scalable=0$/,"")}(),"reveal"===this.mode&&Ee(this.panel),Q(this.panel,this.clsSidebarAnimation,this.clsMode),Q(this.$el,this.clsOverlay),re(this.$el,"display",""),re(this.panel,"maxWidth",""),Q(document.body,this.clsContainer,this.clsFlip)}},{name:"swipeLeft swipeRight",handler(t){this.isToggled()&&h(t.type,"Left")^this.flip&&this.hide()}}]};function wa(){return Pe('meta[name="viewport"]',document.head)||xe(document.head,'<meta name="viewport">')}var $a={mixins:[Qi],props:{selContainer:String,selContent:String,minHeight:Number},data:{selContainer:".bdt-modal",selContent:".bdt-modal-dialog",minHeight:150},computed:{container:({selContainer:t},e)=>e.closest(t),content:({selContent:t},e)=>e.closest(t)},observe:un({target:({container:t,content:e})=>[t,e]}),update:{read(){return!!(this.content&&this.container&&xt(this.$el))&&{max:Math.max(this.minHeight,Le(this.container)-(ze(this.content).height-Le(this.$el)))}},write({max:t}){re(this.$el,{minHeight:this.minHeight,maxHeight:t})},events:["resize"]}},xa={props:["width","height"],connected(){K(this.$el,"bdt-responsive-width"),re(this.$el,"aspectRatio",`${this.width}/${this.height}`)}},ya={props:{offset:Number},data:{offset:0},connected(){!function(t){Sa.size||Xt(document,"click",Ia),Sa.add(t)}(this)},disconnected(){!function(t){Sa.delete(t),Sa.size||Jt(document,"click",Ia)}(this)},methods:{async scrollTo(t){t=t&&Pe(t)||document.body,Zt(this.$el,"beforescroll",[this,t])&&(await Ci(t,{offset:this.offset}),Zt(this.$el,"scrolled",[this,t]))}}};const Sa=new Set;function Ia(t){if(!t.defaultPrevented)for(const e of Sa)e.$el.contains(t.target)&&Mt(e.$el)&&(t.preventDefault(),window.location.href!==e.$el.href&&window.history.pushState({},"",e.$el.href),e.scrollTo(Pt(e.$el)))}const ka="bdt-scrollspy-inview";var Ca={args:"cls",props:{cls:String,target:String,hidden:Boolean,margin:String,repeat:Boolean,delay:Number},data:()=>({cls:"",target:!1,hidden:!0,margin:"-1px",repeat:!1,delay:0}),computed:{elements:({target:t},e)=>t?Oe(t,e):[e]},watch:{elements(t){this.hidden&&re(Tt(t,`:not(.${ka})`),"opacity",0)}},connected(){this.elementData=new Map},disconnected(){for(const[t,e]of this.elementData.entries())Q(t,ka,(null==e?void 0:e.cls)||"");delete this.elementData},observe:fn({target:({elements:t})=>t,handler(t){const e=this.elementData;for(const{target:i,isIntersecting:n}of t){e.has(i)||e.set(i,{cls:at(i,"bdt-scrollspy-class")||this.cls});const t=e.get(i);!this.repeat&&t.show||(t.show=n)}this.$emit()},options:({margin:t})=>({rootMargin:t}),args:{intersecting:!1}}),update:[{write(t){for(const[e,i]of this.elementData.entries())!i.show||i.inview||i.queued?!i.show&&i.inview&&!i.queued&&this.repeat&&this.toggle(e,!1):(i.queued=!0,t.promise=(t.promise||Promise.resolve()).then(()=>new Promise(t=>setTimeout(t,this.delay))).then(()=>{this.toggle(e,!0),setTimeout(()=>{i.queued=!1,this.$emit()},300)}))}}],methods:{toggle(t,e){var i,n;const s=null==(i=this.elementData)?void 0:i.get(t);if(!s)return;let o;if(null==(n=s.off)||n.call(s),re(t,"opacity",!e&&this.hidden?0:""),it(t,ka,e),it(t,s.cls),o=s.cls.match(/\bbdt-animation-[\w-]+/g)){const i=()=>Q(t,o);e?s.off=Gt(t,"animationcancel animationend",i,{self:!0}):i()}Zt(t,e?"inview":"outview"),s.inview=e}}},Ta={props:{cls:String,closest:Boolean,scroll:Boolean,target:String,offset:Number},data:{cls:"bdt-active",closest:!1,scroll:!1,target:'a[href]:not([role="button"])',offset:0},computed:{links:({target:t},e)=>Oe(t,e).filter(t=>Mt(t)),elements({closest:t}){return this.links.map(e=>e.closest(t||"*"))}},watch:{links(t){this.scroll&&this.$create("scroll",t,{offset:this.offset})}},observe:[fn(),vn()],update:[{read(){const t=this.links.map(t=>Pt(t)||t.ownerDocument),{length:e}=t;if(!e||!xt(this.$el))return!1;const i=Ai(t,!0),{scrollTop:n,scrollHeight:s}=i,o=_i(i);let r=!1;if(n>=s-o.height)r=e-1;else{const e=this.offset+ze(Mi()).height+.1*o.height;for(let i=0;i<t.length&&!(He(t[i]).top-o.top-e>0);i++)r=+i}return{active:r}},write({active:t}){const e=!1!==t&&!et(this.elements[t],this.cls);this.links.forEach(t=>t.blur());for(let e=0;e<this.elements.length;e++)it(this.elements[e],this.cls,+e===t);e&&Zt(this.$el,"active",[t,this.elements[t]])},events:["scroll","resize"]}]},Ea={mixins:[Qi,ro],props:{position:String,top:null,bottom:null,start:null,end:null,offset:String,overflowFlip:Boolean,animation:String,clsActive:String,clsInactive:String,clsFixed:String,clsBelow:String,selTarget:String,showOnUp:Boolean,targetOffset:Number},data:{position:"top",top:!1,bottom:!1,start:!1,end:!1,offset:0,overflowFlip:!1,animation:"",clsActive:"bdt-active",clsInactive:"",clsFixed:"bdt-sticky-fixed",clsBelow:"bdt-sticky-below",selTarget:"",showOnUp:!1,targetOffset:!1},computed:{target:({selTarget:t},e)=>t&&Pe(t,e)||e},connected(){this.start=Da(this.start||this.top),this.end=Da(this.end||this.bottom),this.placeholder=Pe("+ .bdt-sticky-placeholder",this.$el)||Pe('<div class="bdt-sticky-placeholder"></div>'),this.isFixed=!1,this.setActive(!1)},beforeDisconnect(){this.isFixed&&(this.hide(),Q(this.target,this.clsInactive)),_a(this.$el),ke(this.placeholder),this.placeholder=null},observe:[mn(),vn({target:()=>document.scrollingElement}),un({target:({$el:t})=>[t,Oa(t),document.scrollingElement],handler(t){this.$emit(this._data.resized&&t.some(({target:t})=>t===Oa(this.$el))?"update":"resize"),this._data.resized=!0}})],events:[{name:"load hashchange popstate",el:()=>window,filter:({targetOffset:t})=>!1!==t,handler(){const{scrollingElement:t}=document;!location.hash||0===t.scrollTop||setTimeout(()=>{const e=He(Pe(location.hash)),i=He(this.$el);this.isFixed&&R(e,i)&&(t.scrollTop=Math.ceil(e.top-i.height-Ue(this.targetOffset,"height",this.placeholder)-Ue(this.offset,"height",this.placeholder)))})}}],update:[{read({height:t,width:e,margin:i,sticky:n},s){if(this.inactive=!this.matchMedia||!xt(this.$el)||!this.$el.offsetHeight,this.inactive)return;const o=this.isFixed&&s.has("update");o&&(Pa(this.target),this.hide()),this.active||(({height:t,width:e}=ze(this.$el)),i=re(this.$el,"margin")),o&&this.show();const r=Ue("100vh","height"),a=Le(window),l=Math.max(0,document.scrollingElement.scrollHeight-r);let h=this.position;this.overflowFlip&&t>r&&(h="top"===h?"bottom":"top");const c=this.isFixed?this.placeholder:this.$el;let d=Ue(this.offset,"height",n?this.$el:c);"bottom"===h&&(t<a||this.overflowFlip)&&(d+=a-t);const u=this.overflowFlip?0:Math.max(0,t+d-r),f=He(c).top,p=ze(this.$el).height,g=(!1===this.start?f:Aa(this.start,this.$el,f))-d,m=!1===this.end?l:Math.min(l,Aa(this.end,this.$el,f+t,!0)-p-d+u);return n=l&&!this.showOnUp&&g+d===f&&m===Math.min(l,Aa(!0,this.$el,0,!0)-p-d+u)&&"visible"===re(Oa(this.$el),"overflowY"),{start:g,end:m,offset:d,overflow:u,height:t,elHeight:p,width:e,margin:i,top:je(c)[0],sticky:n,viewport:r,maxScrollHeight:l}},write({height:t,width:e,margin:i,offset:n,sticky:s}){if((this.inactive||s||!this.isFixed)&&_a(this.$el),this.inactive)return;s&&(t=e=i=0,re(this.$el,{position:"sticky",top:n}));const{placeholder:o}=this;re(o,{height:t,width:e,margin:i}),(Ct(o)!==Ct(this.$el)||s^_t(o)<_t(this.$el))&&((s?ye:Se)(this.$el,o),o.hidden=!0)},events:["resize"]},{read({scroll:t=0,dir:e="down",overflow:i,overflowScroll:n=0,start:s,end:o,elHeight:r,height:a,sticky:l,maxScrollHeight:h}){const c=Math.min(document.scrollingElement.scrollTop,h),d=t<=c?"down":"up",u=this.isFixed?this.placeholder:this.$el;return{dir:d,prevDir:e,scroll:c,prevScroll:t,below:c>He(u).top+(l?Math.min(a,r):a),offsetParentTop:He(u.offsetParent).top,overflowScroll:q(n+q(c,s,o)-q(t,s,o),0,i)}},write(t,e){const i=e.has("scroll"),{initTimestamp:n=0,dir:s,prevDir:o,scroll:r,prevScroll:a=0,top:l,start:h,below:c}=t;if(r<0||r===a&&i||this.showOnUp&&!i&&!this.isFixed)return;const d=Date.now();if((d-n>300||s!==o)&&(t.initScroll=r,t.initTimestamp=d),!(this.showOnUp&&!this.isFixed&&Math.abs(t.initScroll-r)<=30&&Math.abs(a-r)<=10))if(this.inactive||r<h||this.showOnUp&&(r<=h||"down"===s&&i||"up"===s&&!this.isFixed&&!c)){if(!this.isFixed)return void(me.inProgress(this.$el)&&l>r&&(me.cancel(this.$el),this.hide()));if(this.animation&&c){if(et(this.$el,"bdt-animation-leave"))return;me.out(this.$el,this.animation).then(()=>this.hide(),V)}else this.hide()}else this.isFixed?this.update():this.animation&&c?(this.show(),me.in(this.$el,this.animation).catch(V)):(Pa(this.target),this.show())},events:["resize","resizeViewport","scroll"]}],methods:{show(){this.isFixed=!0,this.update(),this.placeholder.hidden=!1},hide(){const{offset:t,sticky:e}=this._data;this.setActive(!1),Q(this.$el,this.clsFixed,this.clsBelow),e?re(this.$el,"top",t):re(this.$el,{position:"",top:"",width:"",marginTop:""}),this.placeholder.hidden=!0,this.isFixed=!1},update(){let{width:t,scroll:e=0,overflow:i,overflowScroll:n=0,start:s,end:o,offset:r,offsetParentTop:a,sticky:l,below:h}=this._data;const c=0!==s||e>s;if(!l){let s="fixed";e>o&&(r+=o-a+n-i,s="absolute"),re(this.$el,{position:s,width:t,marginTop:0},"important")}re(this.$el,"top",r-n),this.setActive(c),it(this.$el,this.clsBelow,h),K(this.$el,this.clsFixed)},setActive(t){const e=this.active;this.active=t,t?(tt(this.target,this.clsInactive,this.clsActive),e!==t&&Zt(this.$el,"active")):(tt(this.target,this.clsActive,this.clsInactive),e!==t&&(Pa(this.target),Zt(this.$el,"inactive")))}}};function Aa(t,e,i,n){if(!t)return 0;if(C(t)||I(t)&&t.match(/^-?\d/))return i+Ue(t,"height",e,!0);{const i=!0===t?Oa(e):Ot(t,e);return He(i).bottom-(n&&null!=i&&i.contains(e)?_(re(i,"paddingBottom")):0)}}function Da(t){return"true"===t||"false"!==t&&t}function _a(t){re(t,{position:"",top:"",marginTop:"",width:""})}const Ma="bdt-transition-disable";function Pa(t){et(t,Ma)||(K(t,Ma),requestAnimationFrame(()=>Q(t,Ma)))}function Oa(t){for(;t=Ct(t);)if(xt(t))return t}const Ba=".bdt-disabled *, .bdt-disabled, [disabled]";var Na={mixins:[Kn],args:"connect",props:{connect:String,toggle:String,itemNav:String,active:Number,followFocus:Boolean,swiping:Boolean},data:{connect:"~.bdt-switcher",toggle:"> * > :first-child",itemNav:!1,active:0,cls:"bdt-active",attrItem:"bdt-switcher-item",selVertical:".bdt-nav",followFocus:!1,swiping:!0},computed:{connects:{get:({connect:t},e)=>Bt(t,e),observe:({connect:t})=>t},connectChildren(){return this.connects.map(t=>Dt(t)).flat()},toggles:({toggle:t},e)=>Oe(t,e),children(t,e){return Dt(e).filter(t=>this.toggles.some(e=>t.contains(e)))}},watch:{connects(t){this.swiping&&re(t,"touchAction","pan-y pinch-zoom"),this.$emit()},connectChildren(){let t=Math.max(0,this.index());for(const e of this.connects)Dt(e).forEach((e,i)=>it(e,this.cls,i===t));this.$emit()},toggles(t){this.$emit();const e=this.index();this.show(~e?e:t[this.active]||t[0])}},connected(){st(this.$el,"role","tablist")},observe:[gn({targets:({connectChildren:t})=>t}),bn({target:({connects:t})=>t,filter:({swiping:t})=>t})],events:[{name:"click keydown",delegate:({toggle:t})=>t,handler(t){!Et(t.current,Ba)&&("click"===t.type||t.keyCode===zn)&&(t.preventDefault(),this.show(t.current))}},{name:"keydown",delegate:({toggle:t})=>t,handler(t){const{current:e,keyCode:i}=t,n=Et(this.$el,this.selVertical);let s=i===Fn?0:i===Hn?"last":i===jn&&!n||i===Ln&&n?"previous":i===Wn&&!n||i===qn&&n?"next":-1;if(~s){t.preventDefault();const i=this.toggles.filter(t=>!Et(t,Ba)),n=i[G(s,i,i.indexOf(e))];n.focus(),this.followFocus&&this.show(n)}}},{name:"click",el:({$el:t,connects:e,itemNav:i})=>e.concat(i?Bt(i,t):[]),delegate:({attrItem:t})=>`[${t}],[data-${t}]`,handler(t){t.target.closest("a,button")&&(t.preventDefault(),this.show(at(t.current,this.attrItem)))}},{name:"swipeRight swipeLeft",filter:({swiping:t})=>t,el:({connects:t})=>t,handler({type:t}){this.show(h(t,"Left")?"next":"previous")}}],update(){var t;for(const t of this.connects)ve(t,"ul")&&st(t,"role","presentation");st(Dt(this.$el),"role","presentation");for(const e in this.toggles){const i=this.toggles[e],n=null==(t=this.connects[0])?void 0:t.children[e];st(i,"role","tab"),n&&(i.id=Js(this,i),n.id=Js(this,n),st(i,"aria-controls",n.id),st(n,{role:"tabpanel","aria-labelledby":i.id}))}st(this.$el,"aria-orientation",Et(this.$el,this.selVertical)?"vertical":null)},methods:{index(){return d(this.children,t=>et(t,this.cls))},show(t){const e=this.toggles.filter(t=>!Et(t,Ba)),i=this.index(),n=G(!$(t)||c(e,t)?t:0,e,G(this.toggles[i],e)),s=G(e[n],this.toggles);this.children.forEach((t,e)=>{it(t,this.cls,s===e),st(this.toggles[e],{"aria-selected":s===e,tabindex:s===e?null:-1})});const o=i>=0&&i!==n;this.connects.forEach(async({children:t})=>{const e=f(t).filter((t,e)=>e!==s&&et(t,this.cls));await this.toggleElement(e,!1,o)&&await this.toggleElement(t[s],!0,o)})}}},za={mixins:[Qi],extends:Na,props:{media:Boolean},data:{media:960,attrItem:"bdt-tab-item",selVertical:".bdt-tab-left,.bdt-tab-right"},connected(){const t=et(this.$el,"bdt-tab-left")?"bdt-tab-left":!!et(this.$el,"bdt-tab-right")&&"bdt-tab-right";t&&this.$create("toggle",this.$el,{cls:t,mode:"media",media:this.media})}};var Ha={mixins:[ro,Kn],args:"target",props:{href:String,target:null,mode:"list",queued:Boolean},data:{href:!1,target:!1,mode:"click",queued:!0},computed:{target:{get:({target:t},e)=>(t=Bt(t||e.hash,e)).length?t:[e],observe:({target:t})=>t}},connected(){c(this.mode,"media")||(kt(this.$el)||st(this.$el,"tabindex","0"),!this.cls&&ve(this.$el,"a")&&st(this.$el,"role","button"))},observe:gn({targets:({target:t})=>t}),events:[{name:ut,filter:({mode:t})=>c(t,"hover"),handler(t){this._preventClick=null,ne(t)&&!S(this._showState)&&!this.$el.disabled&&(Zt(this.$el,"focus"),Gt(document,ut,()=>Zt(this.$el,"blur"),!0,t=>!this.$el.contains(t.target)),c(this.mode,"click")&&(this._preventClick=!0))}},{name:`mouseenter mouseleave ${gt} ${mt} focus blur`,filter:({mode:t})=>c(t,"hover"),handler(t){if(ne(t)||this.$el.disabled)return;const e=c(["mouseenter",gt,"focus"],t.type),i=this.isToggled(this.target);e||!(!S(this._showState)||"blur"!==t.type&&Et(this.$el,":focus")||"blur"===t.type&&Et(this.$el,":hover"))?e&&S(this._showState)&&i!==this._showState||(this._showState=e?i:null,this.toggle("toggle"+(e?"show":"hide"))):i===this._showState&&(this._showState=null)}},{name:"keydown",filter:({$el:t,mode:e})=>c(e,"click")&&!ve(t,"input"),handler(t){32===t.keyCode&&(t.preventDefault(),this.$el.click())}},{name:"click",filter:({mode:t})=>["click","hover"].some(e=>c(t,e)),handler(t){let e;(this._preventClick||t.target.closest('a[href="#"], a[href=""]')||(e=t.target.closest("a[href]"))&&(!this.isToggled(this.target)||e.hash&&Et(this.target,e.hash)))&&t.preventDefault(),!this._preventClick&&c(this.mode,"click")&&this.toggle()}},{name:"mediachange",filter:({mode:t})=>c(t,"media"),el:({target:t})=>t,handler(t,e){e.matches^this.isToggled(this.target)&&this.toggle()}}],methods:{async toggle(t){if(!Zt(this.target,t||"toggle",[this]))return;if(ot(this.$el,"aria-expanded")&&st(this.$el,"aria-expanded",!this.isToggled(this.target)),!this.queued)return this.toggleElement(this.target);const e=this.target.filter(t=>et(t,this.clsLeave));if(e.length){for(const t of this.target){const i=c(e,t);this.toggleElement(t,i,i)}return}const i=this.target.filter(this.isToggled);await this.toggleElement(i,!1)&&await this.toggleElement(this.target.filter(t=>!c(i,t)),!0)}}};return H(Object.freeze({__proto__:null,Accordion:lr,Alert:cr,Close:Kr,Cover:fr,Drop:mr,DropParentIcon:Rr,Dropdown:mr,Dropnav:yr,FormCustom:Ir,Grid:kr,HeightMatch:Er,HeightPlaceholder:_r,HeightViewport:Mr,Icon:Vr,Img:oa,Inverse:ca,Leader:fa,Margin:xn,Marker:Qr,Modal:pa,Nav:ga,NavParentIcon:Ur,Navbar:va,NavbarParentIcon:Rr,NavbarToggleIcon:Zr,Offcanvas:ba,OverflowAuto:$a,OverlayIcon:Rr,PaginationNext:ea,PaginationPrevious:ia,Responsive:xa,Scroll:ya,Scrollspy:Ca,ScrollspyNav:Ta,SearchIcon:Yr,SlidenavNext:Gr,SlidenavPrevious:Gr,Spinner:Xr,Sticky:Ea,Svg:zr,Switcher:Na,Tab:za,Toggle:Ha,Totop:ta,Video:ur}),(t,e)=>Fs.component(e,t)),function(t){lt&&window.MutationObserver&&(document.body?requestAnimationFrame(()=>ir(t)):new MutationObserver((e,i)=>{document.body&&(ir(t),i.disconnect())}).observe(document.documentElement,{childList:!0}))}(Fs),H(er,(t,e)=>Fs.component(e,t)),Fs});
// source --> https://www.christianmetalgroup.com/wp-content/themes/aasta/assets/js/bootstrap.js?ver=1760884934 
/*!
  * Bootstrap v4.0.0 (https://getbootstrap.com)
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  */
(function (global, factory) {
	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
	typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
	(factory((global.bootstrap = {}),global.jQuery,global.Popper));
}(this, (function (exports,$,Popper) { 'use strict';

$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;

function _defineProperties(target, props) {
  for (var i = 0; i < props.length; i++) {
    var descriptor = props[i];
    descriptor.enumerable = descriptor.enumerable || false;
    descriptor.configurable = true;
    if ("value" in descriptor) descriptor.writable = true;
    Object.defineProperty(target, descriptor.key, descriptor);
  }
}

function _createClass(Constructor, protoProps, staticProps) {
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
  if (staticProps) _defineProperties(Constructor, staticProps);
  return Constructor;
}

function _extends() {
  _extends = Object.assign || function (target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = arguments[i];

      for (var key in source) {
        if (Object.prototype.hasOwnProperty.call(source, key)) {
          target[key] = source[key];
        }
      }
    }

    return target;
  };

  return _extends.apply(this, arguments);
}

function _inheritsLoose(subClass, superClass) {
  subClass.prototype = Object.create(superClass.prototype);
  subClass.prototype.constructor = subClass;
  subClass.__proto__ = superClass;
}

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): util.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Util = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Private TransitionEnd Helpers
   * ------------------------------------------------------------------------
   */
  var transition = false;
  var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)

  function toType(obj) {
    return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
  }

  function getSpecialTransitionEndEvent() {
    return {
      bindType: transition.end,
      delegateType: transition.end,
      handle: function handle(event) {
        if ($$$1(event.target).is(this)) {
          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
        }

        return undefined; // eslint-disable-line no-undefined
      }
    };
  }

  function transitionEndTest() {
    if (typeof window !== 'undefined' && window.QUnit) {
      return false;
    }

    return {
      end: 'transitionend'
    };
  }

  function transitionEndEmulator(duration) {
    var _this = this;

    var called = false;
    $$$1(this).one(Util.TRANSITION_END, function () {
      called = true;
    });
    setTimeout(function () {
      if (!called) {
        Util.triggerTransitionEnd(_this);
      }
    }, duration);
    return this;
  }

  function setTransitionEndSupport() {
    transition = transitionEndTest();
    $$$1.fn.emulateTransitionEnd = transitionEndEmulator;

    if (Util.supportsTransitionEnd()) {
      $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
    }
  }

  function escapeId(selector) {
    // We escape IDs in case of special selectors (selector = '#myId:something')
    // $.escapeSelector does not exist in jQuery < 3
    selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
    return selector;
  }
  /**
   * --------------------------------------------------------------------------
   * Public Util Api
   * --------------------------------------------------------------------------
   */


  var Util = {
    TRANSITION_END: 'bsTransitionEnd',
    getUID: function getUID(prefix) {
      do {
        // eslint-disable-next-line no-bitwise
        prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
      } while (document.getElementById(prefix));

      return prefix;
    },
    getSelectorFromElement: function getSelectorFromElement(element) {
      var selector = element.getAttribute('data-target');

      if (!selector || selector === '#') {
        selector = element.getAttribute('href') || '';
      } // If it's an ID


      if (selector.charAt(0) === '#') {
        selector = escapeId(selector);
      }

      try {
        var $selector = $$$1(document).find(selector);
        return $selector.length > 0 ? selector : null;
      } catch (err) {
        return null;
      }
    },
    reflow: function reflow(element) {
      return element.offsetHeight;
    },
    triggerTransitionEnd: function triggerTransitionEnd(element) {
      $$$1(element).trigger(transition.end);
    },
    supportsTransitionEnd: function supportsTransitionEnd() {
      return Boolean(transition);
    },
    isElement: function isElement(obj) {
      return (obj[0] || obj).nodeType;
    },
    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
      for (var property in configTypes) {
        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
          var expectedTypes = configTypes[property];
          var value = config[property];
          var valueType = value && Util.isElement(value) ? 'element' : toType(value);

          if (!new RegExp(expectedTypes).test(valueType)) {
            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
          }
        }
      }
    }
  };
  setTransitionEndSupport();
  return Util;
}($);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): alert.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Alert = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'alert';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.alert';
  var EVENT_KEY = "." + DATA_KEY;
  var DATA_API_KEY = '.data-api';
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var TRANSITION_DURATION = 150;
  var Selector = {
    DISMISS: '[data-dismiss="alert"]'
  };
  var Event = {
    CLOSE: "close" + EVENT_KEY,
    CLOSED: "closed" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
  };
  var ClassName = {
    ALERT: 'alert',
    FADE: 'fade',
    SHOW: 'show'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var Alert =
  /*#__PURE__*/
  function () {
    function Alert(element) {
      this._element = element;
    } // Getters


    var _proto = Alert.prototype;

    // Public
    _proto.close = function close(element) {
      element = element || this._element;

      var rootElement = this._getRootElement(element);

      var customEvent = this._triggerCloseEvent(rootElement);

      if (customEvent.isDefaultPrevented()) {
        return;
      }

      this._removeElement(rootElement);
    };

    _proto.dispose = function dispose() {
      $$$1.removeData(this._element, DATA_KEY);
      this._element = null;
    }; // Private


    _proto._getRootElement = function _getRootElement(element) {
      var selector = Util.getSelectorFromElement(element);
      var parent = false;

      if (selector) {
        parent = $$$1(selector)[0];
      }

      if (!parent) {
        parent = $$$1(element).closest("." + ClassName.ALERT)[0];
      }

      return parent;
    };

    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
      var closeEvent = $$$1.Event(Event.CLOSE);
      $$$1(element).trigger(closeEvent);
      return closeEvent;
    };

    _proto._removeElement = function _removeElement(element) {
      var _this = this;

      $$$1(element).removeClass(ClassName.SHOW);

      if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
        this._destroyElement(element);

        return;
      }

      $$$1(element).one(Util.TRANSITION_END, function (event) {
        return _this._destroyElement(element, event);
      }).emulateTransitionEnd(TRANSITION_DURATION);
    };

    _proto._destroyElement = function _destroyElement(element) {
      $$$1(element).detach().trigger(Event.CLOSED).remove();
    }; // Static


    Alert._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var $element = $$$1(this);
        var data = $element.data(DATA_KEY);

        if (!data) {
          data = new Alert(this);
          $element.data(DATA_KEY, data);
        }

        if (config === 'close') {
          data[config](this);
        }
      });
    };

    Alert._handleDismiss = function _handleDismiss(alertInstance) {
      return function (event) {
        if (event) {
          event.preventDefault();
        }

        alertInstance.close(this);
      };
    };

    _createClass(Alert, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION;
      }
    }]);
    return Alert;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


  $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $$$1.fn[NAME] = Alert._jQueryInterface;
  $$$1.fn[NAME].Constructor = Alert;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return Alert._jQueryInterface;
  };

  return Alert;
}($);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): button.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Button = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'button';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.button';
  var EVENT_KEY = "." + DATA_KEY;
  var DATA_API_KEY = '.data-api';
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var ClassName = {
    ACTIVE: 'active',
    BUTTON: 'btn',
    FOCUS: 'focus'
  };
  var Selector = {
    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
    DATA_TOGGLE: '[data-toggle="buttons"]',
    INPUT: 'input',
    ACTIVE: '.active',
    BUTTON: '.btn'
  };
  var Event = {
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
    FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var Button =
  /*#__PURE__*/
  function () {
    function Button(element) {
      this._element = element;
    } // Getters


    var _proto = Button.prototype;

    // Public
    _proto.toggle = function toggle() {
      var triggerChangeEvent = true;
      var addAriaPressed = true;
      var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];

      if (rootElement) {
        var input = $$$1(this._element).find(Selector.INPUT)[0];

        if (input) {
          if (input.type === 'radio') {
            if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
              triggerChangeEvent = false;
            } else {
              var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];

              if (activeElement) {
                $$$1(activeElement).removeClass(ClassName.ACTIVE);
              }
            }
          }

          if (triggerChangeEvent) {
            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
              return;
            }

            input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
            $$$1(input).trigger('change');
          }

          input.focus();
          addAriaPressed = false;
        }
      }

      if (addAriaPressed) {
        this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
      }

      if (triggerChangeEvent) {
        $$$1(this._element).toggleClass(ClassName.ACTIVE);
      }
    };

    _proto.dispose = function dispose() {
      $$$1.removeData(this._element, DATA_KEY);
      this._element = null;
    }; // Static


    Button._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var data = $$$1(this).data(DATA_KEY);

        if (!data) {
          data = new Button(this);
          $$$1(this).data(DATA_KEY, data);
        }

        if (config === 'toggle') {
          data[config]();
        }
      });
    };

    _createClass(Button, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION;
      }
    }]);
    return Button;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
    event.preventDefault();
    var button = event.target;

    if (!$$$1(button).hasClass(ClassName.BUTTON)) {
      button = $$$1(button).closest(Selector.BUTTON);
    }

    Button._jQueryInterface.call($$$1(button), 'toggle');
  }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
    var button = $$$1(event.target).closest(Selector.BUTTON)[0];
    $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $$$1.fn[NAME] = Button._jQueryInterface;
  $$$1.fn[NAME].Constructor = Button;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return Button._jQueryInterface;
  };

  return Button;
}($);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): carousel.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Carousel = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'carousel';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.carousel';
  var EVENT_KEY = "." + DATA_KEY;
  var DATA_API_KEY = '.data-api';
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var TRANSITION_DURATION = 600;
  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key

  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key

  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch

  var Default = {
    interval: 5000,
    keyboard: true,
    slide: false,
    pause: 'hover',
    wrap: true
  };
  var DefaultType = {
    interval: '(number|boolean)',
    keyboard: 'boolean',
    slide: '(boolean|string)',
    pause: '(string|boolean)',
    wrap: 'boolean'
  };
  var Direction = {
    NEXT: 'next',
    PREV: 'prev',
    LEFT: 'left',
    RIGHT: 'right'
  };
  var Event = {
    SLIDE: "slide" + EVENT_KEY,
    SLID: "slid" + EVENT_KEY,
    KEYDOWN: "keydown" + EVENT_KEY,
    MOUSEENTER: "mouseenter" + EVENT_KEY,
    MOUSELEAVE: "mouseleave" + EVENT_KEY,
    TOUCHEND: "touchend" + EVENT_KEY,
    LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
  };
  var ClassName = {
    CAROUSEL: 'carousel',
    ACTIVE: 'active',
    SLIDE: 'slide',
    RIGHT: 'carousel-item-right',
    LEFT: 'carousel-item-left',
    NEXT: 'carousel-item-next',
    PREV: 'carousel-item-prev',
    ITEM: 'carousel-item'
  };
  var Selector = {
    ACTIVE: '.active',
    ACTIVE_ITEM: '.active.carousel-item',
    ITEM: '.carousel-item',
    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
    INDICATORS: '.carousel-indicators',
    DATA_SLIDE: '[data-slide], [data-slide-to]',
    DATA_RIDE: '[data-ride="carousel"]'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var Carousel =
  /*#__PURE__*/
  function () {
    function Carousel(element, config) {
      this._items = null;
      this._interval = null;
      this._activeElement = null;
      this._isPaused = false;
      this._isSliding = false;
      this.touchTimeout = null;
      this._config = this._getConfig(config);
      this._element = $$$1(element)[0];
      this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];

      this._addEventListeners();
    } // Getters


    var _proto = Carousel.prototype;

    // Public
    _proto.next = function next() {
      if (!this._isSliding) {
        this._slide(Direction.NEXT);
      }
    };

    _proto.nextWhenVisible = function nextWhenVisible() {
      // Don't call next when the page isn't visible
      // or the carousel or its parent isn't visible
      if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
        this.next();
      }
    };

    _proto.prev = function prev() {
      if (!this._isSliding) {
        this._slide(Direction.PREV);
      }
    };

    _proto.pause = function pause(event) {
      if (!event) {
        this._isPaused = true;
      }

      if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
        Util.triggerTransitionEnd(this._element);
        this.cycle(true);
      }

      clearInterval(this._interval);
      this._interval = null;
    };

    _proto.cycle = function cycle(event) {
      if (!event) {
        this._isPaused = false;
      }

      if (this._interval) {
        clearInterval(this._interval);
        this._interval = null;
      }

      if (this._config.interval && !this._isPaused) {
        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
      }
    };

    _proto.to = function to(index) {
      var _this = this;

      this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];

      var activeIndex = this._getItemIndex(this._activeElement);

      if (index > this._items.length - 1 || index < 0) {
        return;
      }

      if (this._isSliding) {
        $$$1(this._element).one(Event.SLID, function () {
          return _this.to(index);
        });
        return;
      }

      if (activeIndex === index) {
        this.pause();
        this.cycle();
        return;
      }

      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;

      this._slide(direction, this._items[index]);
    };

    _proto.dispose = function dispose() {
      $$$1(this._element).off(EVENT_KEY);
      $$$1.removeData(this._element, DATA_KEY);
      this._items = null;
      this._config = null;
      this._element = null;
      this._interval = null;
      this._isPaused = null;
      this._isSliding = null;
      this._activeElement = null;
      this._indicatorsElement = null;
    }; // Private


    _proto._getConfig = function _getConfig(config) {
      config = _extends({}, Default, config);
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };

    _proto._addEventListeners = function _addEventListeners() {
      var _this2 = this;

      if (this._config.keyboard) {
        $$$1(this._element).on(Event.KEYDOWN, function (event) {
          return _this2._keydown(event);
        });
      }

      if (this._config.pause === 'hover') {
        $$$1(this._element).on(Event.MOUSEENTER, function (event) {
          return _this2.pause(event);
        }).on(Event.MOUSELEAVE, function (event) {
          return _this2.cycle(event);
        });

        if ('ontouchstart' in document.documentElement) {
          // If it's a touch-enabled device, mouseenter/leave are fired as
          // part of the mouse compatibility events on first tap - the carousel
          // would stop cycling until user tapped out of it;
          // here, we listen for touchend, explicitly pause the carousel
          // (as if it's the second time we tap on it, mouseenter compat event
          // is NOT fired) and after a timeout (to allow for mouse compatibility
          // events to fire) we explicitly restart cycling
          $$$1(this._element).on(Event.TOUCHEND, function () {
            _this2.pause();

            if (_this2.touchTimeout) {
              clearTimeout(_this2.touchTimeout);
            }

            _this2.touchTimeout = setTimeout(function (event) {
              return _this2.cycle(event);
            }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
          });
        }
      }
    };

    _proto._keydown = function _keydown(event) {
      if (/input|textarea/i.test(event.target.tagName)) {
        return;
      }

      switch (event.which) {
        case ARROW_LEFT_KEYCODE:
          event.preventDefault();
          this.prev();
          break;

        case ARROW_RIGHT_KEYCODE:
          event.preventDefault();
          this.next();
          break;

        default:
      }
    };

    _proto._getItemIndex = function _getItemIndex(element) {
      this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
      return this._items.indexOf(element);
    };

    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
      var isNextDirection = direction === Direction.NEXT;
      var isPrevDirection = direction === Direction.PREV;

      var activeIndex = this._getItemIndex(activeElement);

      var lastItemIndex = this._items.length - 1;
      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;

      if (isGoingToWrap && !this._config.wrap) {
        return activeElement;
      }

      var delta = direction === Direction.PREV ? -1 : 1;
      var itemIndex = (activeIndex + delta) % this._items.length;
      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
    };

    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
      var targetIndex = this._getItemIndex(relatedTarget);

      var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);

      var slideEvent = $$$1.Event(Event.SLIDE, {
        relatedTarget: relatedTarget,
        direction: eventDirectionName,
        from: fromIndex,
        to: targetIndex
      });
      $$$1(this._element).trigger(slideEvent);
      return slideEvent;
    };

    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
      if (this._indicatorsElement) {
        $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);

        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];

        if (nextIndicator) {
          $$$1(nextIndicator).addClass(ClassName.ACTIVE);
        }
      }
    };

    _proto._slide = function _slide(direction, element) {
      var _this3 = this;

      var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];

      var activeElementIndex = this._getItemIndex(activeElement);

      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);

      var nextElementIndex = this._getItemIndex(nextElement);

      var isCycling = Boolean(this._interval);
      var directionalClassName;
      var orderClassName;
      var eventDirectionName;

      if (direction === Direction.NEXT) {
        directionalClassName = ClassName.LEFT;
        orderClassName = ClassName.NEXT;
        eventDirectionName = Direction.LEFT;
      } else {
        directionalClassName = ClassName.RIGHT;
        orderClassName = ClassName.PREV;
        eventDirectionName = Direction.RIGHT;
      }

      if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
        this._isSliding = false;
        return;
      }

      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);

      if (slideEvent.isDefaultPrevented()) {
        return;
      }

      if (!activeElement || !nextElement) {
        // Some weirdness is happening, so we bail
        return;
      }

      this._isSliding = true;

      if (isCycling) {
        this.pause();
      }

      this._setActiveIndicatorElement(nextElement);

      var slidEvent = $$$1.Event(Event.SLID, {
        relatedTarget: nextElement,
        direction: eventDirectionName,
        from: activeElementIndex,
        to: nextElementIndex
      });

      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
        $$$1(nextElement).addClass(orderClassName);
        Util.reflow(nextElement);
        $$$1(activeElement).addClass(directionalClassName);
        $$$1(nextElement).addClass(directionalClassName);
        $$$1(activeElement).one(Util.TRANSITION_END, function () {
          $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
          $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
          _this3._isSliding = false;
          setTimeout(function () {
            return $$$1(_this3._element).trigger(slidEvent);
          }, 0);
        }).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
        $$$1(activeElement).removeClass(ClassName.ACTIVE);
        $$$1(nextElement).addClass(ClassName.ACTIVE);
        this._isSliding = false;
        $$$1(this._element).trigger(slidEvent);
      }

      if (isCycling) {
        this.cycle();
      }
    }; // Static


    Carousel._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var data = $$$1(this).data(DATA_KEY);

        var _config = _extends({}, Default, $$$1(this).data());

        if (typeof config === 'object') {
          _config = _extends({}, _config, config);
        }

        var action = typeof config === 'string' ? config : _config.slide;

        if (!data) {
          data = new Carousel(this, _config);
          $$$1(this).data(DATA_KEY, data);
        }

        if (typeof config === 'number') {
          data.to(config);
        } else if (typeof action === 'string') {
          if (typeof data[action] === 'undefined') {
            throw new TypeError("No method named \"" + action + "\"");
          }

          data[action]();
        } else if (_config.interval) {
          data.pause();
          data.cycle();
        }
      });
    };

    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
      var selector = Util.getSelectorFromElement(this);

      if (!selector) {
        return;
      }

      var target = $$$1(selector)[0];

      if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
        return;
      }

      var config = _extends({}, $$$1(target).data(), $$$1(this).data());
      var slideIndex = this.getAttribute('data-slide-to');

      if (slideIndex) {
        config.interval = false;
      }

      Carousel._jQueryInterface.call($$$1(target), config);

      if (slideIndex) {
        $$$1(target).data(DATA_KEY).to(slideIndex);
      }

      event.preventDefault();
    };

    _createClass(Carousel, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default;
      }
    }]);
    return Carousel;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
  $$$1(window).on(Event.LOAD_DATA_API, function () {
    $$$1(Selector.DATA_RIDE).each(function () {
      var $carousel = $$$1(this);

      Carousel._jQueryInterface.call($carousel, $carousel.data());
    });
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $$$1.fn[NAME] = Carousel._jQueryInterface;
  $$$1.fn[NAME].Constructor = Carousel;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return Carousel._jQueryInterface;
  };

  return Carousel;
}($);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): collapse.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Collapse = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'collapse';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.collapse';
  var EVENT_KEY = "." + DATA_KEY;
  var DATA_API_KEY = '.data-api';
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var TRANSITION_DURATION = 600;
  var Default = {
    toggle: true,
    parent: ''
  };
  var DefaultType = {
    toggle: 'boolean',
    parent: '(string|element)'
  };
  var Event = {
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
  };
  var ClassName = {
    SHOW: 'show',
    COLLAPSE: 'collapse',
    COLLAPSING: 'collapsing',
    COLLAPSED: 'collapsed'
  };
  var Dimension = {
    WIDTH: 'width',
    HEIGHT: 'height'
  };
  var Selector = {
    ACTIVES: '.show, .collapsing',
    DATA_TOGGLE: '[data-toggle="collapse"]'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var Collapse =
  /*#__PURE__*/
  function () {
    function Collapse(element, config) {
      this._isTransitioning = false;
      this._element = element;
      this._config = this._getConfig(config);
      this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
      var tabToggles = $$$1(Selector.DATA_TOGGLE);

      for (var i = 0; i < tabToggles.length; i++) {
        var elem = tabToggles[i];
        var selector = Util.getSelectorFromElement(elem);

        if (selector !== null && $$$1(selector).filter(element).length > 0) {
          this._selector = selector;

          this._triggerArray.push(elem);
        }
      }

      this._parent = this._config.parent ? this._getParent() : null;

      if (!this._config.parent) {
        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
      }

      if (this._config.toggle) {
        this.toggle();
      }
    } // Getters


    var _proto = Collapse.prototype;

    // Public
    _proto.toggle = function toggle() {
      if ($$$1(this._element).hasClass(ClassName.SHOW)) {
        this.hide();
      } else {
        this.show();
      }
    };

    _proto.show = function show() {
      var _this = this;

      if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
        return;
      }

      var actives;
      var activesData;

      if (this._parent) {
        actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));

        if (actives.length === 0) {
          actives = null;
        }
      }

      if (actives) {
        activesData = $$$1(actives).not(this._selector).data(DATA_KEY);

        if (activesData && activesData._isTransitioning) {
          return;
        }
      }

      var startEvent = $$$1.Event(Event.SHOW);
      $$$1(this._element).trigger(startEvent);

      if (startEvent.isDefaultPrevented()) {
        return;
      }

      if (actives) {
        Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');

        if (!activesData) {
          $$$1(actives).data(DATA_KEY, null);
        }
      }

      var dimension = this._getDimension();

      $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
      this._element.style[dimension] = 0;

      if (this._triggerArray.length > 0) {
        $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
      }

      this.setTransitioning(true);

      var complete = function complete() {
        $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
        _this._element.style[dimension] = '';

        _this.setTransitioning(false);

        $$$1(_this._element).trigger(Event.SHOWN);
      };

      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
      }

      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
      var scrollSize = "scroll" + capitalizedDimension;
      $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
      this._element.style[dimension] = this._element[scrollSize] + "px";
    };

    _proto.hide = function hide() {
      var _this2 = this;

      if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
        return;
      }

      var startEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(startEvent);

      if (startEvent.isDefaultPrevented()) {
        return;
      }

      var dimension = this._getDimension();

      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
      Util.reflow(this._element);
      $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);

      if (this._triggerArray.length > 0) {
        for (var i = 0; i < this._triggerArray.length; i++) {
          var trigger = this._triggerArray[i];
          var selector = Util.getSelectorFromElement(trigger);

          if (selector !== null) {
            var $elem = $$$1(selector);

            if (!$elem.hasClass(ClassName.SHOW)) {
              $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
            }
          }
        }
      }

      this.setTransitioning(true);

      var complete = function complete() {
        _this2.setTransitioning(false);

        $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
      };

      this._element.style[dimension] = '';

      if (!Util.supportsTransitionEnd()) {
        complete();
        return;
      }

      $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
    };

    _proto.setTransitioning = function setTransitioning(isTransitioning) {
      this._isTransitioning = isTransitioning;
    };

    _proto.dispose = function dispose() {
      $$$1.removeData(this._element, DATA_KEY);
      this._config = null;
      this._parent = null;
      this._element = null;
      this._triggerArray = null;
      this._isTransitioning = null;
    }; // Private


    _proto._getConfig = function _getConfig(config) {
      config = _extends({}, Default, config);
      config.toggle = Boolean(config.toggle); // Coerce string values

      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };

    _proto._getDimension = function _getDimension() {
      var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
    };

    _proto._getParent = function _getParent() {
      var _this3 = this;

      var parent = null;

      if (Util.isElement(this._config.parent)) {
        parent = this._config.parent; // It's a jQuery object

        if (typeof this._config.parent.jquery !== 'undefined') {
          parent = this._config.parent[0];
        }
      } else {
        parent = $$$1(this._config.parent)[0];
      }

      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
      $$$1(parent).find(selector).each(function (i, element) {
        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
      });
      return parent;
    };

    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
      if (element) {
        var isOpen = $$$1(element).hasClass(ClassName.SHOW);

        if (triggerArray.length > 0) {
          $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
        }
      }
    }; // Static


    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
      var selector = Util.getSelectorFromElement(element);
      return selector ? $$$1(selector)[0] : null;
    };

    Collapse._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var $this = $$$1(this);
        var data = $this.data(DATA_KEY);

        var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);

        if (!data && _config.toggle && /show|hide/.test(config)) {
          _config.toggle = false;
        }

        if (!data) {
          data = new Collapse(this, _config);
          $this.data(DATA_KEY, data);
        }

        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
            throw new TypeError("No method named \"" + config + "\"");
          }

          data[config]();
        }
      });
    };

    _createClass(Collapse, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default;
      }
    }]);
    return Collapse;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
    if (event.currentTarget.tagName === 'A') {
      event.preventDefault();
    }

    var $trigger = $$$1(this);
    var selector = Util.getSelectorFromElement(this);
    $$$1(selector).each(function () {
      var $target = $$$1(this);
      var data = $target.data(DATA_KEY);
      var config = data ? 'toggle' : $trigger.data();

      Collapse._jQueryInterface.call($target, config);
    });
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $$$1.fn[NAME] = Collapse._jQueryInterface;
  $$$1.fn[NAME].Constructor = Collapse;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return Collapse._jQueryInterface;
  };

  return Collapse;
}($);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): dropdown.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Dropdown = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'dropdown';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.dropdown';
  var EVENT_KEY = "." + DATA_KEY;
  var DATA_API_KEY = '.data-api';
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key

  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key

  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key

  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key

  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key

  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)

  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
  var Event = {
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    CLICK: "click" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
    KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
    KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
  };
  var ClassName = {
    DISABLED: 'disabled',
    SHOW: 'show',
    DROPUP: 'dropup',
    DROPRIGHT: 'dropright',
    DROPLEFT: 'dropleft',
    MENURIGHT: 'dropdown-menu-right',
    MENULEFT: 'dropdown-menu-left',
    POSITION_STATIC: 'position-static'
  };
  var Selector = {
    DATA_TOGGLE: '[data-toggle="dropdown"]',
    FORM_CHILD: '.dropdown form',
    MENU: '.dropdown-menu',
    NAVBAR_NAV: '.navbar-nav',
    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
  };
  var AttachmentMap = {
    TOP: 'top-start',
    TOPEND: 'top-end',
    BOTTOM: 'bottom-start',
    BOTTOMEND: 'bottom-end',
    RIGHT: 'right-start',
    RIGHTEND: 'right-end',
    LEFT: 'left-start',
    LEFTEND: 'left-end'
  };
  var Default = {
    offset: 0,
    flip: true,
    boundary: 'scrollParent'
  };
  var DefaultType = {
    offset: '(number|string|function)',
    flip: 'boolean',
    boundary: '(string|element)'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var Dropdown =
  /*#__PURE__*/
  function () {
    function Dropdown(element, config) {
      this._element = element;
      this._popper = null;
      this._config = this._getConfig(config);
      this._menu = this._getMenuElement();
      this._inNavbar = this._detectNavbar();

      this._addEventListeners();
    } // Getters


    var _proto = Dropdown.prototype;

    // Public
    _proto.toggle = function toggle() {
      if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
        return;
      }

      var parent = Dropdown._getParentFromElement(this._element);

      var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);

      Dropdown._clearMenus();

      if (isActive) {
        return;
      }

      var relatedTarget = {
        relatedTarget: this._element
      };
      var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
      $$$1(parent).trigger(showEvent);

      if (showEvent.isDefaultPrevented()) {
        return;
      } // Disable totally Popper.js for Dropdown in Navbar


      if (!this._inNavbar) {
        /**
         * Check for Popper dependency
         * Popper - https://popper.js.org
         */
        if (typeof Popper === 'undefined') {
          throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
        }

        var element = this._element; // For dropup with alignment we use the parent as popper container

        if ($$$1(parent).hasClass(ClassName.DROPUP)) {
          if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
            element = parent;
          }
        } // If boundary is not `scrollParent`, then set position to `static`
        // to allow the menu to "escape" the scroll parent's boundaries
        // https://github.com/twbs/bootstrap/issues/24251


        if (this._config.boundary !== 'scrollParent') {
          $$$1(parent).addClass(ClassName.POSITION_STATIC);
        }

        this._popper = new Popper(element, this._menu, this._getPopperConfig());
      } // If this is a touch-enabled device we add extra
      // empty mouseover listeners to the body's immediate children;
      // only needed because of broken event delegation on iOS
      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html


      if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
        $$$1('body').children().on('mouseover', null, $$$1.noop);
      }

      this._element.focus();

      this._element.setAttribute('aria-expanded', true);

      $$$1(this._menu).toggleClass(ClassName.SHOW);
      $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
    };

    _proto.dispose = function dispose() {
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._element).off(EVENT_KEY);
      this._element = null;
      this._menu = null;

      if (this._popper !== null) {
        this._popper.destroy();

        this._popper = null;
      }
    };

    _proto.update = function update() {
      this._inNavbar = this._detectNavbar();

      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
    }; // Private


    _proto._addEventListeners = function _addEventListeners() {
      var _this = this;

      $$$1(this._element).on(Event.CLICK, function (event) {
        event.preventDefault();
        event.stopPropagation();

        _this.toggle();
      });
    };

    _proto._getConfig = function _getConfig(config) {
      config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

    _proto._getMenuElement = function _getMenuElement() {
      if (!this._menu) {
        var parent = Dropdown._getParentFromElement(this._element);

        this._menu = $$$1(parent).find(Selector.MENU)[0];
      }

      return this._menu;
    };

    _proto._getPlacement = function _getPlacement() {
      var $parentDropdown = $$$1(this._element).parent();
      var placement = AttachmentMap.BOTTOM; // Handle dropup

      if ($parentDropdown.hasClass(ClassName.DROPUP)) {
        placement = AttachmentMap.TOP;

        if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
          placement = AttachmentMap.TOPEND;
        }
      } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
        placement = AttachmentMap.RIGHT;
      } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
        placement = AttachmentMap.LEFT;
      } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
        placement = AttachmentMap.BOTTOMEND;
      }

      return placement;
    };

    _proto._detectNavbar = function _detectNavbar() {
      return $$$1(this._element).closest('.navbar').length > 0;
    };

    _proto._getPopperConfig = function _getPopperConfig() {
      var _this2 = this;

      var offsetConf = {};

      if (typeof this._config.offset === 'function') {
        offsetConf.fn = function (data) {
          data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
          return data;
        };
      } else {
        offsetConf.offset = this._config.offset;
      }

      var popperConfig = {
        placement: this._getPlacement(),
        modifiers: {
          offset: offsetConf,
          flip: {
            enabled: this._config.flip
          },
          preventOverflow: {
            boundariesElement: this._config.boundary
          }
        }
      };
      return popperConfig;
    }; // Static


    Dropdown._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var data = $$$1(this).data(DATA_KEY);

        var _config = typeof config === 'object' ? config : null;

        if (!data) {
          data = new Dropdown(this, _config);
          $$$1(this).data(DATA_KEY, data);
        }

        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
            throw new TypeError("No method named \"" + config + "\"");
          }

          data[config]();
        }
      });
    };

    Dropdown._clearMenus = function _clearMenus(event) {
      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
        return;
      }

      var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));

      for (var i = 0; i < toggles.length; i++) {
        var parent = Dropdown._getParentFromElement(toggles[i]);

        var context = $$$1(toggles[i]).data(DATA_KEY);
        var relatedTarget = {
          relatedTarget: toggles[i]
        };

        if (!context) {
          continue;
        }

        var dropdownMenu = context._menu;

        if (!$$$1(parent).hasClass(ClassName.SHOW)) {
          continue;
        }

        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
          continue;
        }

        var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
        $$$1(parent).trigger(hideEvent);

        if (hideEvent.isDefaultPrevented()) {
          continue;
        } // If this is a touch-enabled device we remove the extra
        // empty mouseover listeners we added for iOS support


        if ('ontouchstart' in document.documentElement) {
          $$$1('body').children().off('mouseover', null, $$$1.noop);
        }

        toggles[i].setAttribute('aria-expanded', 'false');
        $$$1(dropdownMenu).removeClass(ClassName.SHOW);
        $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
      }
    };

    Dropdown._getParentFromElement = function _getParentFromElement(element) {
      var parent;
      var selector = Util.getSelectorFromElement(element);

      if (selector) {
        parent = $$$1(selector)[0];
      }

      return parent || element.parentNode;
    }; // eslint-disable-next-line complexity


    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
      // If not input/textarea:
      //  - And not a key in REGEXP_KEYDOWN => not a dropdown command
      // If input/textarea:
      //  - If space key => not a dropdown command
      //  - If key is other than escape
      //    - If key is not up or down => not a dropdown command
      //    - If trigger inside the menu => not a dropdown command
      if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
        return;
      }

      event.preventDefault();
      event.stopPropagation();

      if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
        return;
      }

      var parent = Dropdown._getParentFromElement(this);

      var isActive = $$$1(parent).hasClass(ClassName.SHOW);

      if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
        if (event.which === ESCAPE_KEYCODE) {
          var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
          $$$1(toggle).trigger('focus');
        }

        $$$1(this).trigger('click');
        return;
      }

      var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();

      if (items.length === 0) {
        return;
      }

      var index = items.indexOf(event.target);

      if (event.which === ARROW_UP_KEYCODE && index > 0) {
        // Up
        index--;
      }

      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
        // Down
        index++;
      }

      if (index < 0) {
        index = 0;
      }

      items[index].focus();
    };

    _createClass(Dropdown, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default;
      }
    }, {
      key: "DefaultType",
      get: function get() {
        return DefaultType;
      }
    }]);
    return Dropdown;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


  $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
    event.preventDefault();
    event.stopPropagation();

    Dropdown._jQueryInterface.call($$$1(this), 'toggle');
  }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
    e.stopPropagation();
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $$$1.fn[NAME] = Dropdown._jQueryInterface;
  $$$1.fn[NAME].Constructor = Dropdown;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return Dropdown._jQueryInterface;
  };

  return Dropdown;
}($, Popper);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): modal.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Modal = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'modal';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.modal';
  var EVENT_KEY = "." + DATA_KEY;
  var DATA_API_KEY = '.data-api';
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var TRANSITION_DURATION = 300;
  var BACKDROP_TRANSITION_DURATION = 150;
  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key

  var Default = {
    backdrop: true,
    keyboard: true,
    focus: true,
    show: true
  };
  var DefaultType = {
    backdrop: '(boolean|string)',
    keyboard: 'boolean',
    focus: 'boolean',
    show: 'boolean'
  };
  var Event = {
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    FOCUSIN: "focusin" + EVENT_KEY,
    RESIZE: "resize" + EVENT_KEY,
    CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
    KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
    MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
    MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
  };
  var ClassName = {
    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
    BACKDROP: 'modal-backdrop',
    OPEN: 'modal-open',
    FADE: 'fade',
    SHOW: 'show'
  };
  var Selector = {
    DIALOG: '.modal-dialog',
    DATA_TOGGLE: '[data-toggle="modal"]',
    DATA_DISMISS: '[data-dismiss="modal"]',
    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
    STICKY_CONTENT: '.sticky-top',
    NAVBAR_TOGGLER: '.navbar-toggler'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var Modal =
  /*#__PURE__*/
  function () {
    function Modal(element, config) {
      this._config = this._getConfig(config);
      this._element = element;
      this._dialog = $$$1(element).find(Selector.DIALOG)[0];
      this._backdrop = null;
      this._isShown = false;
      this._isBodyOverflowing = false;
      this._ignoreBackdropClick = false;
      this._originalBodyPadding = 0;
      this._scrollbarWidth = 0;
    } // Getters


    var _proto = Modal.prototype;

    // Public
    _proto.toggle = function toggle(relatedTarget) {
      return this._isShown ? this.hide() : this.show(relatedTarget);
    };

    _proto.show = function show(relatedTarget) {
      var _this = this;

      if (this._isTransitioning || this._isShown) {
        return;
      }

      if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
        this._isTransitioning = true;
      }

      var showEvent = $$$1.Event(Event.SHOW, {
        relatedTarget: relatedTarget
      });
      $$$1(this._element).trigger(showEvent);

      if (this._isShown || showEvent.isDefaultPrevented()) {
        return;
      }

      this._isShown = true;

      this._checkScrollbar();

      this._setScrollbar();

      this._adjustDialog();

      $$$1(document.body).addClass(ClassName.OPEN);

      this._setEscapeEvent();

      this._setResizeEvent();

      $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
        return _this.hide(event);
      });
      $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
        $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
          if ($$$1(event.target).is(_this._element)) {
            _this._ignoreBackdropClick = true;
          }
        });
      });

      this._showBackdrop(function () {
        return _this._showElement(relatedTarget);
      });
    };

    _proto.hide = function hide(event) {
      var _this2 = this;

      if (event) {
        event.preventDefault();
      }

      if (this._isTransitioning || !this._isShown) {
        return;
      }

      var hideEvent = $$$1.Event(Event.HIDE);
      $$$1(this._element).trigger(hideEvent);

      if (!this._isShown || hideEvent.isDefaultPrevented()) {
        return;
      }

      this._isShown = false;
      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);

      if (transition) {
        this._isTransitioning = true;
      }

      this._setEscapeEvent();

      this._setResizeEvent();

      $$$1(document).off(Event.FOCUSIN);
      $$$1(this._element).removeClass(ClassName.SHOW);
      $$$1(this._element).off(Event.CLICK_DISMISS);
      $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);

      if (transition) {
        $$$1(this._element).one(Util.TRANSITION_END, function (event) {
          return _this2._hideModal(event);
        }).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
        this._hideModal();
      }
    };

    _proto.dispose = function dispose() {
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
      this._config = null;
      this._element = null;
      this._dialog = null;
      this._backdrop = null;
      this._isShown = null;
      this._isBodyOverflowing = null;
      this._ignoreBackdropClick = null;
      this._scrollbarWidth = null;
    };

    _proto.handleUpdate = function handleUpdate() {
      this._adjustDialog();
    }; // Private


    _proto._getConfig = function _getConfig(config) {
      config = _extends({}, Default, config);
      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };

    _proto._showElement = function _showElement(relatedTarget) {
      var _this3 = this;

      var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);

      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
        // Don't move modal's DOM position
        document.body.appendChild(this._element);
      }

      this._element.style.display = 'block';

      this._element.removeAttribute('aria-hidden');

      this._element.scrollTop = 0;

      if (transition) {
        Util.reflow(this._element);
      }

      $$$1(this._element).addClass(ClassName.SHOW);

      if (this._config.focus) {
        this._enforceFocus();
      }

      var shownEvent = $$$1.Event(Event.SHOWN, {
        relatedTarget: relatedTarget
      });

      var transitionComplete = function transitionComplete() {
        if (_this3._config.focus) {
          _this3._element.focus();
        }

        _this3._isTransitioning = false;
        $$$1(_this3._element).trigger(shownEvent);
      };

      if (transition) {
        $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
        transitionComplete();
      }
    };

    _proto._enforceFocus = function _enforceFocus() {
      var _this4 = this;

      $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
      .on(Event.FOCUSIN, function (event) {
        if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
          _this4._element.focus();
        }
      });
    };

    _proto._setEscapeEvent = function _setEscapeEvent() {
      var _this5 = this;

      if (this._isShown && this._config.keyboard) {
        $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
          if (event.which === ESCAPE_KEYCODE) {
            event.preventDefault();

            _this5.hide();
          }
        });
      } else if (!this._isShown) {
        $$$1(this._element).off(Event.KEYDOWN_DISMISS);
      }
    };

    _proto._setResizeEvent = function _setResizeEvent() {
      var _this6 = this;

      if (this._isShown) {
        $$$1(window).on(Event.RESIZE, function (event) {
          return _this6.handleUpdate(event);
        });
      } else {
        $$$1(window).off(Event.RESIZE);
      }
    };

    _proto._hideModal = function _hideModal() {
      var _this7 = this;

      this._element.style.display = 'none';

      this._element.setAttribute('aria-hidden', true);

      this._isTransitioning = false;

      this._showBackdrop(function () {
        $$$1(document.body).removeClass(ClassName.OPEN);

        _this7._resetAdjustments();

        _this7._resetScrollbar();

        $$$1(_this7._element).trigger(Event.HIDDEN);
      });
    };

    _proto._removeBackdrop = function _removeBackdrop() {
      if (this._backdrop) {
        $$$1(this._backdrop).remove();
        this._backdrop = null;
      }
    };

    _proto._showBackdrop = function _showBackdrop(callback) {
      var _this8 = this;

      var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';

      if (this._isShown && this._config.backdrop) {
        var doAnimate = Util.supportsTransitionEnd() && animate;
        this._backdrop = document.createElement('div');
        this._backdrop.className = ClassName.BACKDROP;

        if (animate) {
          $$$1(this._backdrop).addClass(animate);
        }

        $$$1(this._backdrop).appendTo(document.body);
        $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
          if (_this8._ignoreBackdropClick) {
            _this8._ignoreBackdropClick = false;
            return;
          }

          if (event.target !== event.currentTarget) {
            return;
          }

          if (_this8._config.backdrop === 'static') {
            _this8._element.focus();
          } else {
            _this8.hide();
          }
        });

        if (doAnimate) {
          Util.reflow(this._backdrop);
        }

        $$$1(this._backdrop).addClass(ClassName.SHOW);

        if (!callback) {
          return;
        }

        if (!doAnimate) {
          callback();
          return;
        }

        $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
      } else if (!this._isShown && this._backdrop) {
        $$$1(this._backdrop).removeClass(ClassName.SHOW);

        var callbackRemove = function callbackRemove() {
          _this8._removeBackdrop();

          if (callback) {
            callback();
          }
        };

        if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
          $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
        } else {
          callbackRemove();
        }
      } else if (callback) {
        callback();
      }
    }; // ----------------------------------------------------------------------
    // the following methods are used to handle overflowing modals
    // todo (fat): these should probably be refactored out of modal.js
    // ----------------------------------------------------------------------


    _proto._adjustDialog = function _adjustDialog() {
      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;

      if (!this._isBodyOverflowing && isModalOverflowing) {
        this._element.style.paddingLeft = this._scrollbarWidth + "px";
      }

      if (this._isBodyOverflowing && !isModalOverflowing) {
        this._element.style.paddingRight = this._scrollbarWidth + "px";
      }
    };

    _proto._resetAdjustments = function _resetAdjustments() {
      this._element.style.paddingLeft = '';
      this._element.style.paddingRight = '';
    };

    _proto._checkScrollbar = function _checkScrollbar() {
      var rect = document.body.getBoundingClientRect();
      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
      this._scrollbarWidth = this._getScrollbarWidth();
    };

    _proto._setScrollbar = function _setScrollbar() {
      var _this9 = this;

      if (this._isBodyOverflowing) {
        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
        // Adjust fixed content padding
        $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
          var actualPadding = $$$1(element)[0].style.paddingRight;
          var calculatedPadding = $$$1(element).css('padding-right');
          $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
        }); // Adjust sticky content margin

        $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
          var actualMargin = $$$1(element)[0].style.marginRight;
          var calculatedMargin = $$$1(element).css('margin-right');
          $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
        }); // Adjust navbar-toggler margin

        $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
          var actualMargin = $$$1(element)[0].style.marginRight;
          var calculatedMargin = $$$1(element).css('margin-right');
          $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
        }); // Adjust body padding

        var actualPadding = document.body.style.paddingRight;
        var calculatedPadding = $$$1('body').css('padding-right');
        $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
      }
    };

    _proto._resetScrollbar = function _resetScrollbar() {
      // Restore fixed content padding
      $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
        var padding = $$$1(element).data('padding-right');

        if (typeof padding !== 'undefined') {
          $$$1(element).css('padding-right', padding).removeData('padding-right');
        }
      }); // Restore sticky content and navbar-toggler margin

      $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
        var margin = $$$1(element).data('margin-right');

        if (typeof margin !== 'undefined') {
          $$$1(element).css('margin-right', margin).removeData('margin-right');
        }
      }); // Restore body padding

      var padding = $$$1('body').data('padding-right');

      if (typeof padding !== 'undefined') {
        $$$1('body').css('padding-right', padding).removeData('padding-right');
      }
    };

    _proto._getScrollbarWidth = function _getScrollbarWidth() {
      // thx d.walsh
      var scrollDiv = document.createElement('div');
      scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
      document.body.appendChild(scrollDiv);
      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
      document.body.removeChild(scrollDiv);
      return scrollbarWidth;
    }; // Static


    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
      return this.each(function () {
        var data = $$$1(this).data(DATA_KEY);

        var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);

        if (!data) {
          data = new Modal(this, _config);
          $$$1(this).data(DATA_KEY, data);
        }

        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
            throw new TypeError("No method named \"" + config + "\"");
          }

          data[config](relatedTarget);
        } else if (_config.show) {
          data.show(relatedTarget);
        }
      });
    };

    _createClass(Modal, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default;
      }
    }]);
    return Modal;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
    var _this10 = this;

    var target;
    var selector = Util.getSelectorFromElement(this);

    if (selector) {
      target = $$$1(selector)[0];
    }

    var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());

    if (this.tagName === 'A' || this.tagName === 'AREA') {
      event.preventDefault();
    }

    var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
      if (showEvent.isDefaultPrevented()) {
        // Only register focus restorer if modal will actually get shown
        return;
      }

      $target.one(Event.HIDDEN, function () {
        if ($$$1(_this10).is(':visible')) {
          _this10.focus();
        }
      });
    });

    Modal._jQueryInterface.call($$$1(target), config, this);
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $$$1.fn[NAME] = Modal._jQueryInterface;
  $$$1.fn[NAME].Constructor = Modal;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return Modal._jQueryInterface;
  };

  return Modal;
}($);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): tooltip.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Tooltip = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'tooltip';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.tooltip';
  var EVENT_KEY = "." + DATA_KEY;
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var TRANSITION_DURATION = 150;
  var CLASS_PREFIX = 'bs-tooltip';
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
  var DefaultType = {
    animation: 'boolean',
    template: 'string',
    title: '(string|element|function)',
    trigger: 'string',
    delay: '(number|object)',
    html: 'boolean',
    selector: '(string|boolean)',
    placement: '(string|function)',
    offset: '(number|string)',
    container: '(string|element|boolean)',
    fallbackPlacement: '(string|array)',
    boundary: '(string|element)'
  };
  var AttachmentMap = {
    AUTO: 'auto',
    TOP: 'top',
    RIGHT: 'right',
    BOTTOM: 'bottom',
    LEFT: 'left'
  };
  var Default = {
    animation: true,
    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
    trigger: 'hover focus',
    title: '',
    delay: 0,
    html: false,
    selector: false,
    placement: 'top',
    offset: 0,
    container: false,
    fallbackPlacement: 'flip',
    boundary: 'scrollParent'
  };
  var HoverState = {
    SHOW: 'show',
    OUT: 'out'
  };
  var Event = {
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    INSERTED: "inserted" + EVENT_KEY,
    CLICK: "click" + EVENT_KEY,
    FOCUSIN: "focusin" + EVENT_KEY,
    FOCUSOUT: "focusout" + EVENT_KEY,
    MOUSEENTER: "mouseenter" + EVENT_KEY,
    MOUSELEAVE: "mouseleave" + EVENT_KEY
  };
  var ClassName = {
    FADE: 'fade',
    SHOW: 'show'
  };
  var Selector = {
    TOOLTIP: '.tooltip',
    TOOLTIP_INNER: '.tooltip-inner',
    ARROW: '.arrow'
  };
  var Trigger = {
    HOVER: 'hover',
    FOCUS: 'focus',
    CLICK: 'click',
    MANUAL: 'manual'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var Tooltip =
  /*#__PURE__*/
  function () {
    function Tooltip(element, config) {
      /**
       * Check for Popper dependency
       * Popper - https://popper.js.org
       */
      if (typeof Popper === 'undefined') {
        throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
      } // private


      this._isEnabled = true;
      this._timeout = 0;
      this._hoverState = '';
      this._activeTrigger = {};
      this._popper = null; // Protected

      this.element = element;
      this.config = this._getConfig(config);
      this.tip = null;

      this._setListeners();
    } // Getters


    var _proto = Tooltip.prototype;

    // Public
    _proto.enable = function enable() {
      this._isEnabled = true;
    };

    _proto.disable = function disable() {
      this._isEnabled = false;
    };

    _proto.toggleEnabled = function toggleEnabled() {
      this._isEnabled = !this._isEnabled;
    };

    _proto.toggle = function toggle(event) {
      if (!this._isEnabled) {
        return;
      }

      if (event) {
        var dataKey = this.constructor.DATA_KEY;
        var context = $$$1(event.currentTarget).data(dataKey);

        if (!context) {
          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
          $$$1(event.currentTarget).data(dataKey, context);
        }

        context._activeTrigger.click = !context._activeTrigger.click;

        if (context._isWithActiveTrigger()) {
          context._enter(null, context);
        } else {
          context._leave(null, context);
        }
      } else {
        if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
          this._leave(null, this);

          return;
        }

        this._enter(null, this);
      }
    };

    _proto.dispose = function dispose() {
      clearTimeout(this._timeout);
      $$$1.removeData(this.element, this.constructor.DATA_KEY);
      $$$1(this.element).off(this.constructor.EVENT_KEY);
      $$$1(this.element).closest('.modal').off('hide.bs.modal');

      if (this.tip) {
        $$$1(this.tip).remove();
      }

      this._isEnabled = null;
      this._timeout = null;
      this._hoverState = null;
      this._activeTrigger = null;

      if (this._popper !== null) {
        this._popper.destroy();
      }

      this._popper = null;
      this.element = null;
      this.config = null;
      this.tip = null;
    };

    _proto.show = function show() {
      var _this = this;

      if ($$$1(this.element).css('display') === 'none') {
        throw new Error('Please use show on visible elements');
      }

      var showEvent = $$$1.Event(this.constructor.Event.SHOW);

      if (this.isWithContent() && this._isEnabled) {
        $$$1(this.element).trigger(showEvent);
        var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);

        if (showEvent.isDefaultPrevented() || !isInTheDom) {
          return;
        }

        var tip = this.getTipElement();
        var tipId = Util.getUID(this.constructor.NAME);
        tip.setAttribute('id', tipId);
        this.element.setAttribute('aria-describedby', tipId);
        this.setContent();

        if (this.config.animation) {
          $$$1(tip).addClass(ClassName.FADE);
        }

        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;

        var attachment = this._getAttachment(placement);

        this.addAttachmentClass(attachment);
        var container = this.config.container === false ? document.body : $$$1(this.config.container);
        $$$1(tip).data(this.constructor.DATA_KEY, this);

        if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
          $$$1(tip).appendTo(container);
        }

        $$$1(this.element).trigger(this.constructor.Event.INSERTED);
        this._popper = new Popper(this.element, tip, {
          placement: attachment,
          modifiers: {
            offset: {
              offset: this.config.offset
            },
            flip: {
              behavior: this.config.fallbackPlacement
            },
            arrow: {
              element: Selector.ARROW
            },
            preventOverflow: {
              boundariesElement: this.config.boundary
            }
          },
          onCreate: function onCreate(data) {
            if (data.originalPlacement !== data.placement) {
              _this._handlePopperPlacementChange(data);
            }
          },
          onUpdate: function onUpdate(data) {
            _this._handlePopperPlacementChange(data);
          }
        });
        $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
        // empty mouseover listeners to the body's immediate children;
        // only needed because of broken event delegation on iOS
        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html

        if ('ontouchstart' in document.documentElement) {
          $$$1('body').children().on('mouseover', null, $$$1.noop);
        }

        var complete = function complete() {
          if (_this.config.animation) {
            _this._fixTransition();
          }

          var prevHoverState = _this._hoverState;
          _this._hoverState = null;
          $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);

          if (prevHoverState === HoverState.OUT) {
            _this._leave(null, _this);
          }
        };

        if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
          $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
        } else {
          complete();
        }
      }
    };

    _proto.hide = function hide(callback) {
      var _this2 = this;

      var tip = this.getTipElement();
      var hideEvent = $$$1.Event(this.constructor.Event.HIDE);

      var complete = function complete() {
        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
          tip.parentNode.removeChild(tip);
        }

        _this2._cleanTipClass();

        _this2.element.removeAttribute('aria-describedby');

        $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN);

        if (_this2._popper !== null) {
          _this2._popper.destroy();
        }

        if (callback) {
          callback();
        }
      };

      $$$1(this.element).trigger(hideEvent);

      if (hideEvent.isDefaultPrevented()) {
        return;
      }

      $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
      // empty mouseover listeners we added for iOS support

      if ('ontouchstart' in document.documentElement) {
        $$$1('body').children().off('mouseover', null, $$$1.noop);
      }

      this._activeTrigger[Trigger.CLICK] = false;
      this._activeTrigger[Trigger.FOCUS] = false;
      this._activeTrigger[Trigger.HOVER] = false;

      if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
        $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
        complete();
      }

      this._hoverState = '';
    };

    _proto.update = function update() {
      if (this._popper !== null) {
        this._popper.scheduleUpdate();
      }
    }; // Protected


    _proto.isWithContent = function isWithContent() {
      return Boolean(this.getTitle());
    };

    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
      $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
    };

    _proto.getTipElement = function getTipElement() {
      this.tip = this.tip || $$$1(this.config.template)[0];
      return this.tip;
    };

    _proto.setContent = function setContent() {
      var $tip = $$$1(this.getTipElement());
      this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
    };

    _proto.setElementContent = function setElementContent($element, content) {
      var html = this.config.html;

      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
        // Content is a DOM node or a jQuery
        if (html) {
          if (!$$$1(content).parent().is($element)) {
            $element.empty().append(content);
          }
        } else {
          $element.text($$$1(content).text());
        }
      } else {
        $element[html ? 'html' : 'text'](content);
      }
    };

    _proto.getTitle = function getTitle() {
      var title = this.element.getAttribute('data-original-title');

      if (!title) {
        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
      }

      return title;
    }; // Private


    _proto._getAttachment = function _getAttachment(placement) {
      return AttachmentMap[placement.toUpperCase()];
    };

    _proto._setListeners = function _setListeners() {
      var _this3 = this;

      var triggers = this.config.trigger.split(' ');
      triggers.forEach(function (trigger) {
        if (trigger === 'click') {
          $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
            return _this3.toggle(event);
          });
        } else if (trigger !== Trigger.MANUAL) {
          var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
          var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
          $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
            return _this3._enter(event);
          }).on(eventOut, _this3.config.selector, function (event) {
            return _this3._leave(event);
          });
        }

        $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
          return _this3.hide();
        });
      });

      if (this.config.selector) {
        this.config = _extends({}, this.config, {
          trigger: 'manual',
          selector: ''
        });
      } else {
        this._fixTitle();
      }
    };

    _proto._fixTitle = function _fixTitle() {
      var titleType = typeof this.element.getAttribute('data-original-title');

      if (this.element.getAttribute('title') || titleType !== 'string') {
        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
        this.element.setAttribute('title', '');
      }
    };

    _proto._enter = function _enter(event, context) {
      var dataKey = this.constructor.DATA_KEY;
      context = context || $$$1(event.currentTarget).data(dataKey);

      if (!context) {
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
        $$$1(event.currentTarget).data(dataKey, context);
      }

      if (event) {
        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
      }

      if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
        context._hoverState = HoverState.SHOW;
        return;
      }

      clearTimeout(context._timeout);
      context._hoverState = HoverState.SHOW;

      if (!context.config.delay || !context.config.delay.show) {
        context.show();
        return;
      }

      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.SHOW) {
          context.show();
        }
      }, context.config.delay.show);
    };

    _proto._leave = function _leave(event, context) {
      var dataKey = this.constructor.DATA_KEY;
      context = context || $$$1(event.currentTarget).data(dataKey);

      if (!context) {
        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
        $$$1(event.currentTarget).data(dataKey, context);
      }

      if (event) {
        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
      }

      if (context._isWithActiveTrigger()) {
        return;
      }

      clearTimeout(context._timeout);
      context._hoverState = HoverState.OUT;

      if (!context.config.delay || !context.config.delay.hide) {
        context.hide();
        return;
      }

      context._timeout = setTimeout(function () {
        if (context._hoverState === HoverState.OUT) {
          context.hide();
        }
      }, context.config.delay.hide);
    };

    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
      for (var trigger in this._activeTrigger) {
        if (this._activeTrigger[trigger]) {
          return true;
        }
      }

      return false;
    };

    _proto._getConfig = function _getConfig(config) {
      config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);

      if (typeof config.delay === 'number') {
        config.delay = {
          show: config.delay,
          hide: config.delay
        };
      }

      if (typeof config.title === 'number') {
        config.title = config.title.toString();
      }

      if (typeof config.content === 'number') {
        config.content = config.content.toString();
      }

      Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
      return config;
    };

    _proto._getDelegateConfig = function _getDelegateConfig() {
      var config = {};

      if (this.config) {
        for (var key in this.config) {
          if (this.constructor.Default[key] !== this.config[key]) {
            config[key] = this.config[key];
          }
        }
      }

      return config;
    };

    _proto._cleanTipClass = function _cleanTipClass() {
      var $tip = $$$1(this.getTipElement());
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);

      if (tabClass !== null && tabClass.length > 0) {
        $tip.removeClass(tabClass.join(''));
      }
    };

    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
      this._cleanTipClass();

      this.addAttachmentClass(this._getAttachment(data.placement));
    };

    _proto._fixTransition = function _fixTransition() {
      var tip = this.getTipElement();
      var initConfigAnimation = this.config.animation;

      if (tip.getAttribute('x-placement') !== null) {
        return;
      }

      $$$1(tip).removeClass(ClassName.FADE);
      this.config.animation = false;
      this.hide();
      this.show();
      this.config.animation = initConfigAnimation;
    }; // Static


    Tooltip._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var data = $$$1(this).data(DATA_KEY);

        var _config = typeof config === 'object' && config;

        if (!data && /dispose|hide/.test(config)) {
          return;
        }

        if (!data) {
          data = new Tooltip(this, _config);
          $$$1(this).data(DATA_KEY, data);
        }

        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
            throw new TypeError("No method named \"" + config + "\"");
          }

          data[config]();
        }
      });
    };

    _createClass(Tooltip, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default;
      }
    }, {
      key: "NAME",
      get: function get() {
        return NAME;
      }
    }, {
      key: "DATA_KEY",
      get: function get() {
        return DATA_KEY;
      }
    }, {
      key: "Event",
      get: function get() {
        return Event;
      }
    }, {
      key: "EVENT_KEY",
      get: function get() {
        return EVENT_KEY;
      }
    }, {
      key: "DefaultType",
      get: function get() {
        return DefaultType;
      }
    }]);
    return Tooltip;
  }();
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */


  $$$1.fn[NAME] = Tooltip._jQueryInterface;
  $$$1.fn[NAME].Constructor = Tooltip;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return Tooltip._jQueryInterface;
  };

  return Tooltip;
}($, Popper);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): popover.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Popover = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'popover';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.popover';
  var EVENT_KEY = "." + DATA_KEY;
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var CLASS_PREFIX = 'bs-popover';
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
  var Default = _extends({}, Tooltip.Default, {
    placement: 'right',
    trigger: 'click',
    content: '',
    template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
  });
  var DefaultType = _extends({}, Tooltip.DefaultType, {
    content: '(string|element|function)'
  });
  var ClassName = {
    FADE: 'fade',
    SHOW: 'show'
  };
  var Selector = {
    TITLE: '.popover-header',
    CONTENT: '.popover-body'
  };
  var Event = {
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    INSERTED: "inserted" + EVENT_KEY,
    CLICK: "click" + EVENT_KEY,
    FOCUSIN: "focusin" + EVENT_KEY,
    FOCUSOUT: "focusout" + EVENT_KEY,
    MOUSEENTER: "mouseenter" + EVENT_KEY,
    MOUSELEAVE: "mouseleave" + EVENT_KEY
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var Popover =
  /*#__PURE__*/
  function (_Tooltip) {
    _inheritsLoose(Popover, _Tooltip);

    function Popover() {
      return _Tooltip.apply(this, arguments) || this;
    }

    var _proto = Popover.prototype;

    // Overrides
    _proto.isWithContent = function isWithContent() {
      return this.getTitle() || this._getContent();
    };

    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
      $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
    };

    _proto.getTipElement = function getTipElement() {
      this.tip = this.tip || $$$1(this.config.template)[0];
      return this.tip;
    };

    _proto.setContent = function setContent() {
      var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events

      this.setElementContent($tip.find(Selector.TITLE), this.getTitle());

      var content = this._getContent();

      if (typeof content === 'function') {
        content = content.call(this.element);
      }

      this.setElementContent($tip.find(Selector.CONTENT), content);
      $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
    }; // Private


    _proto._getContent = function _getContent() {
      return this.element.getAttribute('data-content') || this.config.content;
    };

    _proto._cleanTipClass = function _cleanTipClass() {
      var $tip = $$$1(this.getTipElement());
      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);

      if (tabClass !== null && tabClass.length > 0) {
        $tip.removeClass(tabClass.join(''));
      }
    }; // Static


    Popover._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var data = $$$1(this).data(DATA_KEY);

        var _config = typeof config === 'object' ? config : null;

        if (!data && /destroy|hide/.test(config)) {
          return;
        }

        if (!data) {
          data = new Popover(this, _config);
          $$$1(this).data(DATA_KEY, data);
        }

        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
            throw new TypeError("No method named \"" + config + "\"");
          }

          data[config]();
        }
      });
    };

    _createClass(Popover, null, [{
      key: "VERSION",
      // Getters
      get: function get() {
        return VERSION;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default;
      }
    }, {
      key: "NAME",
      get: function get() {
        return NAME;
      }
    }, {
      key: "DATA_KEY",
      get: function get() {
        return DATA_KEY;
      }
    }, {
      key: "Event",
      get: function get() {
        return Event;
      }
    }, {
      key: "EVENT_KEY",
      get: function get() {
        return EVENT_KEY;
      }
    }, {
      key: "DefaultType",
      get: function get() {
        return DefaultType;
      }
    }]);
    return Popover;
  }(Tooltip);
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */


  $$$1.fn[NAME] = Popover._jQueryInterface;
  $$$1.fn[NAME].Constructor = Popover;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return Popover._jQueryInterface;
  };

  return Popover;
}($);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): scrollspy.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var ScrollSpy = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'scrollspy';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.scrollspy';
  var EVENT_KEY = "." + DATA_KEY;
  var DATA_API_KEY = '.data-api';
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var Default = {
    offset: 10,
    method: 'auto',
    target: ''
  };
  var DefaultType = {
    offset: 'number',
    method: 'string',
    target: '(string|element)'
  };
  var Event = {
    ACTIVATE: "activate" + EVENT_KEY,
    SCROLL: "scroll" + EVENT_KEY,
    LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
  };
  var ClassName = {
    DROPDOWN_ITEM: 'dropdown-item',
    DROPDOWN_MENU: 'dropdown-menu',
    ACTIVE: 'active'
  };
  var Selector = {
    DATA_SPY: '[data-spy="scroll"]',
    ACTIVE: '.active',
    NAV_LIST_GROUP: '.nav, .list-group',
    NAV_LINKS: '.nav-link',
    NAV_ITEMS: '.nav-item',
    LIST_ITEMS: '.list-group-item',
    DROPDOWN: '.dropdown',
    DROPDOWN_ITEMS: '.dropdown-item',
    DROPDOWN_TOGGLE: '.dropdown-toggle'
  };
  var OffsetMethod = {
    OFFSET: 'offset',
    POSITION: 'position'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var ScrollSpy =
  /*#__PURE__*/
  function () {
    function ScrollSpy(element, config) {
      var _this = this;

      this._element = element;
      this._scrollElement = element.tagName === 'BODY' ? window : element;
      this._config = this._getConfig(config);
      this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
      this._offsets = [];
      this._targets = [];
      this._activeTarget = null;
      this._scrollHeight = 0;
      $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
        return _this._process(event);
      });
      this.refresh();

      this._process();
    } // Getters


    var _proto = ScrollSpy.prototype;

    // Public
    _proto.refresh = function refresh() {
      var _this2 = this;

      var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
      this._offsets = [];
      this._targets = [];
      this._scrollHeight = this._getScrollHeight();
      var targets = $$$1.makeArray($$$1(this._selector));
      targets.map(function (element) {
        var target;
        var targetSelector = Util.getSelectorFromElement(element);

        if (targetSelector) {
          target = $$$1(targetSelector)[0];
        }

        if (target) {
          var targetBCR = target.getBoundingClientRect();

          if (targetBCR.width || targetBCR.height) {
            // TODO (fat): remove sketch reliance on jQuery position/offset
            return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
          }
        }

        return null;
      }).filter(function (item) {
        return item;
      }).sort(function (a, b) {
        return a[0] - b[0];
      }).forEach(function (item) {
        _this2._offsets.push(item[0]);

        _this2._targets.push(item[1]);
      });
    };

    _proto.dispose = function dispose() {
      $$$1.removeData(this._element, DATA_KEY);
      $$$1(this._scrollElement).off(EVENT_KEY);
      this._element = null;
      this._scrollElement = null;
      this._config = null;
      this._selector = null;
      this._offsets = null;
      this._targets = null;
      this._activeTarget = null;
      this._scrollHeight = null;
    }; // Private


    _proto._getConfig = function _getConfig(config) {
      config = _extends({}, Default, config);

      if (typeof config.target !== 'string') {
        var id = $$$1(config.target).attr('id');

        if (!id) {
          id = Util.getUID(NAME);
          $$$1(config.target).attr('id', id);
        }

        config.target = "#" + id;
      }

      Util.typeCheckConfig(NAME, config, DefaultType);
      return config;
    };

    _proto._getScrollTop = function _getScrollTop() {
      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
    };

    _proto._getScrollHeight = function _getScrollHeight() {
      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
    };

    _proto._getOffsetHeight = function _getOffsetHeight() {
      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
    };

    _proto._process = function _process() {
      var scrollTop = this._getScrollTop() + this._config.offset;

      var scrollHeight = this._getScrollHeight();

      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();

      if (this._scrollHeight !== scrollHeight) {
        this.refresh();
      }

      if (scrollTop >= maxScroll) {
        var target = this._targets[this._targets.length - 1];

        if (this._activeTarget !== target) {
          this._activate(target);
        }

        return;
      }

      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
        this._activeTarget = null;

        this._clear();

        return;
      }

      for (var i = this._offsets.length; i--;) {
        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);

        if (isActiveTarget) {
          this._activate(this._targets[i]);
        }
      }
    };

    _proto._activate = function _activate(target) {
      this._activeTarget = target;

      this._clear();

      var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style


      queries = queries.map(function (selector) {
        return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
      });
      var $link = $$$1(queries.join(','));

      if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
        $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
        $link.addClass(ClassName.ACTIVE);
      } else {
        // Set triggered link as active
        $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor

        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item

        $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
      }

      $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
        relatedTarget: target
      });
    };

    _proto._clear = function _clear() {
      $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
    }; // Static


    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var data = $$$1(this).data(DATA_KEY);

        var _config = typeof config === 'object' && config;

        if (!data) {
          data = new ScrollSpy(this, _config);
          $$$1(this).data(DATA_KEY, data);
        }

        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
            throw new TypeError("No method named \"" + config + "\"");
          }

          data[config]();
        }
      });
    };

    _createClass(ScrollSpy, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION;
      }
    }, {
      key: "Default",
      get: function get() {
        return Default;
      }
    }]);
    return ScrollSpy;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


  $$$1(window).on(Event.LOAD_DATA_API, function () {
    var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));

    for (var i = scrollSpys.length; i--;) {
      var $spy = $$$1(scrollSpys[i]);

      ScrollSpy._jQueryInterface.call($spy, $spy.data());
    }
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
  $$$1.fn[NAME].Constructor = ScrollSpy;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return ScrollSpy._jQueryInterface;
  };

  return ScrollSpy;
}($);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0): tab.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

var Tab = function ($$$1) {
  /**
   * ------------------------------------------------------------------------
   * Constants
   * ------------------------------------------------------------------------
   */
  var NAME = 'tab';
  var VERSION = '4.0.0';
  var DATA_KEY = 'bs.tab';
  var EVENT_KEY = "." + DATA_KEY;
  var DATA_API_KEY = '.data-api';
  var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
  var TRANSITION_DURATION = 150;
  var Event = {
    HIDE: "hide" + EVENT_KEY,
    HIDDEN: "hidden" + EVENT_KEY,
    SHOW: "show" + EVENT_KEY,
    SHOWN: "shown" + EVENT_KEY,
    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
  };
  var ClassName = {
    DROPDOWN_MENU: 'dropdown-menu',
    ACTIVE: 'active',
    DISABLED: 'disabled',
    FADE: 'fade',
    SHOW: 'show'
  };
  var Selector = {
    DROPDOWN: '.dropdown',
    NAV_LIST_GROUP: '.nav, .list-group',
    ACTIVE: '.active',
    ACTIVE_UL: '> li > .active',
    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
    DROPDOWN_TOGGLE: '.dropdown-toggle',
    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */

  };

  var Tab =
  /*#__PURE__*/
  function () {
    function Tab(element) {
      this._element = element;
    } // Getters


    var _proto = Tab.prototype;

    // Public
    _proto.show = function show() {
      var _this = this;

      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $$$1(this._element).hasClass(ClassName.ACTIVE) || $$$1(this._element).hasClass(ClassName.DISABLED)) {
        return;
      }

      var target;
      var previous;
      var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
      var selector = Util.getSelectorFromElement(this._element);

      if (listElement) {
        var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
        previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
        previous = previous[previous.length - 1];
      }

      var hideEvent = $$$1.Event(Event.HIDE, {
        relatedTarget: this._element
      });
      var showEvent = $$$1.Event(Event.SHOW, {
        relatedTarget: previous
      });

      if (previous) {
        $$$1(previous).trigger(hideEvent);
      }

      $$$1(this._element).trigger(showEvent);

      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
        return;
      }

      if (selector) {
        target = $$$1(selector)[0];
      }

      this._activate(this._element, listElement);

      var complete = function complete() {
        var hiddenEvent = $$$1.Event(Event.HIDDEN, {
          relatedTarget: _this._element
        });
        var shownEvent = $$$1.Event(Event.SHOWN, {
          relatedTarget: previous
        });
        $$$1(previous).trigger(hiddenEvent);
        $$$1(_this._element).trigger(shownEvent);
      };

      if (target) {
        this._activate(target, target.parentNode, complete);
      } else {
        complete();
      }
    };

    _proto.dispose = function dispose() {
      $$$1.removeData(this._element, DATA_KEY);
      this._element = null;
    }; // Private


    _proto._activate = function _activate(element, container, callback) {
      var _this2 = this;

      var activeElements;

      if (container.nodeName === 'UL') {
        activeElements = $$$1(container).find(Selector.ACTIVE_UL);
      } else {
        activeElements = $$$1(container).children(Selector.ACTIVE);
      }

      var active = activeElements[0];
      var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);

      var complete = function complete() {
        return _this2._transitionComplete(element, active, callback);
      };

      if (active && isTransitioning) {
        $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
      } else {
        complete();
      }
    };

    _proto._transitionComplete = function _transitionComplete(element, active, callback) {
      if (active) {
        $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
        var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];

        if (dropdownChild) {
          $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
        }

        if (active.getAttribute('role') === 'tab') {
          active.setAttribute('aria-selected', false);
        }
      }

      $$$1(element).addClass(ClassName.ACTIVE);

      if (element.getAttribute('role') === 'tab') {
        element.setAttribute('aria-selected', true);
      }

      Util.reflow(element);
      $$$1(element).addClass(ClassName.SHOW);

      if (element.parentNode && $$$1(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
        var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];

        if (dropdownElement) {
          $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
        }

        element.setAttribute('aria-expanded', true);
      }

      if (callback) {
        callback();
      }
    }; // Static


    Tab._jQueryInterface = function _jQueryInterface(config) {
      return this.each(function () {
        var $this = $$$1(this);
        var data = $this.data(DATA_KEY);

        if (!data) {
          data = new Tab(this);
          $this.data(DATA_KEY, data);
        }

        if (typeof config === 'string') {
          if (typeof data[config] === 'undefined') {
            throw new TypeError("No method named \"" + config + "\"");
          }

          data[config]();
        }
      });
    };

    _createClass(Tab, null, [{
      key: "VERSION",
      get: function get() {
        return VERSION;
      }
    }]);
    return Tab;
  }();
  /**
   * ------------------------------------------------------------------------
   * Data Api implementation
   * ------------------------------------------------------------------------
   */


  $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
    event.preventDefault();

    Tab._jQueryInterface.call($$$1(this), 'show');
  });
  /**
   * ------------------------------------------------------------------------
   * jQuery
   * ------------------------------------------------------------------------
   */

  $$$1.fn[NAME] = Tab._jQueryInterface;
  $$$1.fn[NAME].Constructor = Tab;

  $$$1.fn[NAME].noConflict = function () {
    $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
    return Tab._jQueryInterface;
  };

  return Tab;
}($);

/**
 * --------------------------------------------------------------------------
 * Bootstrap (v4.0.0-alpha.6): index.js
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 */

(function ($$$1) {
  if (typeof $$$1 === 'undefined') {
    throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
  }

  var version = $$$1.fn.jquery.split(' ')[0].split('.');
  var minMajor = 1;
  var ltMajor = 2;
  var minMinor = 9;
  var minPatch = 1;
  var maxMajor = 4;

  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
    throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
  }
})($);

exports.Util = Util;
exports.Alert = Alert;
exports.Button = Button;
exports.Carousel = Carousel;
exports.Collapse = Collapse;
exports.Dropdown = Dropdown;
exports.Modal = Modal;
exports.Popover = Popover;
exports.Scrollspy = ScrollSpy;
exports.Tab = Tab;
exports.Tooltip = Tooltip;

Object.defineProperty(exports, '__esModule', { value: true });

})));
//# sourceMappingURL=bootstrap.js.map;
// source --> https://www.christianmetalgroup.com/wp-content/themes/aasta/assets/js/smartmenus/jquery.smartmenus.js?ver=1760884934 
/*!
 * SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
 * http://www.smartmenus.org/
 *
 * Copyright Vasil Dinkov, Vadikom Web Ltd.
 * http://vadikom.com
 *
 * Licensed MIT
 */

(function(factory) {
	if (typeof define === 'function' && define.amd) {
		// AMD
		define(['jquery'], factory);
	} else if (typeof module === 'object' && typeof module.exports === 'object') {
		// CommonJS
		module.exports = factory(require('jquery'));
	} else {
		// Global jQuery
		factory(jQuery);
	}
} (function($) {

	var menuTrees = [],
		mouse = false, // optimize for touch by default - we will detect for mouse input
		touchEvents = 'ontouchstart' in window, // we use this just to choose between toucn and pointer events, not for touch screen detection
		mouseDetectionEnabled = false,
		requestAnimationFrame = window.requestAnimationFrame || function(callback) { return setTimeout(callback, 1000 / 60); },
		cancelAnimationFrame = window.cancelAnimationFrame || function(id) { clearTimeout(id); },
		canAnimate = !!$.fn.animate;

	// Handle detection for mouse input (i.e. desktop browsers, tablets with a mouse, etc.)
	function initMouseDetection(disable) {
		var eNS = '.smartmenus_mouse';
		if (!mouseDetectionEnabled && !disable) {
			// if we get two consecutive mousemoves within 2 pixels from each other and within 300ms, we assume a real mouse/cursor is present
			// in practice, this seems like impossible to trick unintentianally with a real mouse and a pretty safe detection on touch devices (even with older browsers that do not support touch events)
			var firstTime = true,
				lastMove = null,
				events = {
					'mousemove': function(e) {
						var thisMove = { x: e.pageX, y: e.pageY, timeStamp: new Date().getTime() };
						if (lastMove) {
							var deltaX = Math.abs(lastMove.x - thisMove.x),
								deltaY = Math.abs(lastMove.y - thisMove.y);
		 					if ((deltaX > 0 || deltaY > 0) && deltaX <= 2 && deltaY <= 2 && thisMove.timeStamp - lastMove.timeStamp <= 300) {
								mouse = true;
								// if this is the first check after page load, check if we are not over some item by chance and call the mouseenter handler if yes
								if (firstTime) {
									var $a = $(e.target).closest('a');
									if ($a.is('a')) {
										$.each(menuTrees, function() {
											if ($.contains(this.$root[0], $a[0])) {
												this.itemEnter({ currentTarget: $a[0] });
												return false;
											}
										});
									}
									firstTime = false;
								}
							}
						}
						lastMove = thisMove;
					}
				};
			events[touchEvents ? 'touchstart' : 'pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut'] = function(e) {
				if (isTouchEvent(e.originalEvent)) {
					mouse = false;
				}
			};
			$(document).on(getEventsNS(events, eNS));
			mouseDetectionEnabled = true;
		} else if (mouseDetectionEnabled && disable) {
			$(document).off(eNS);
			mouseDetectionEnabled = false;
		}
	}

	function isTouchEvent(e) {
		return !/^(4|mouse)$/.test(e.pointerType);
	}

	// returns a jQuery on() ready object
	function getEventsNS(events, eNS) {
		if (!eNS) {
			eNS = '';
		}
		var eventsNS = {};
		for (var i in events) {
			eventsNS[i.split(' ').join(eNS + ' ') + eNS] = events[i];
		}
		return eventsNS;
	}

	$.SmartMenus = function(elm, options) {
		this.$root = $(elm);
		this.opts = options;
		this.rootId = ''; // internal
		this.accessIdPrefix = '';
		this.$subArrow = null;
		this.activatedItems = []; // stores last activated A's for each level
		this.visibleSubMenus = []; // stores visible sub menus UL's (might be in no particular order)
		this.showTimeout = 0;
		this.hideTimeout = 0;
		this.scrollTimeout = 0;
		this.clickActivated = false;
		this.focusActivated = true;
		this.zIndexInc = 0;
		this.idInc = 0;
		this.$firstLink = null; // we'll use these for some tests
		this.$firstSub = null; // at runtime so we'll cache them
		this.disabled = false;
		this.$disableOverlay = null;
		this.$touchScrollingSub = null;
		this.cssTransforms3d = 'perspective' in elm.style || 'webkitPerspective' in elm.style;
		this.wasCollapsible = false;
		this.init();
	};

	$.extend($.SmartMenus, {
		hideAll: function() {
			$.each(menuTrees, function() {
				this.menuHideAll();
			});
		},
		destroy: function() {
			while (menuTrees.length) {
				menuTrees[0].destroy();
			}
			initMouseDetection(true);
		},
		prototype: {
			init: function(refresh) {
				var self = this;

				if (!refresh) {
					menuTrees.push(this);

					this.rootId = (new Date().getTime() + Math.random() + '').replace(/\D/g, '');
					this.accessIdPrefix = 'sm-' + this.rootId + '-';

					if (this.$root.hasClass('sm-rtl')) {
						this.opts.rightToLeftSubMenus = true;
					}

					// init root (main menu)
					var eNS = '.smartmenus';
					this.$root
						.data('smartmenus', this)
						.attr('data-smartmenus-id', this.rootId)
						.dataSM('level', 1)
						.on(getEventsNS({
							'mouseover focusin': $.proxy(this.rootOver, this),
							'mouseout focusout': $.proxy(this.rootOut, this),
							'keydown': $.proxy(this.rootKeyDown, this)
						}, eNS))
						.on(getEventsNS({
							'mouseenter': $.proxy(this.itemEnter, this),
							'mouseleave': $.proxy(this.itemLeave, this),
							'mousedown': $.proxy(this.itemDown, this),
							'focus': $.proxy(this.itemFocus, this),
							'blur': $.proxy(this.itemBlur, this),
							'click': $.proxy(this.itemClick, this)
						}, eNS), 'a');

					// hide menus on tap or click outside the root UL
					eNS += this.rootId;
					if (this.opts.hideOnClick) {
						$(document).on(getEventsNS({
							'touchstart': $.proxy(this.docTouchStart, this),
							'touchmove': $.proxy(this.docTouchMove, this),
							'touchend': $.proxy(this.docTouchEnd, this),
							// for Opera Mobile < 11.5, webOS browser, etc. we'll check click too
							'click': $.proxy(this.docClick, this)
						}, eNS));
					}
					// hide sub menus on resize
					$(window).on(getEventsNS({ 'resize orientationchange': $.proxy(this.winResize, this) }, eNS));

					if (this.opts.subIndicators) {
						this.$subArrow = $('<span/>').addClass('sub-arrow');
						if (this.opts.subIndicatorsText) {
							this.$subArrow.html(this.opts.subIndicatorsText);
						}
					}

					// make sure mouse detection is enabled
					initMouseDetection();
				}

				// init sub menus
				this.$firstSub = this.$root.find('ul').each(function() { self.menuInit($(this)); }).eq(0);

				this.$firstLink = this.$root.find('a').eq(0);

				// find current item
				if (this.opts.markCurrentItem) {
					var reDefaultDoc = /(index|default)\.[^#\?\/]*/i,
						reHash = /#.*/,
						locHref = window.location.href.replace(reDefaultDoc, ''),
						locHrefNoHash = locHref.replace(reHash, '');
					this.$root.find('a').each(function() {
						var href = this.href.replace(reDefaultDoc, ''),
							$this = $(this);
						if (href == locHref || href == locHrefNoHash) {
							$this.addClass('current');
							if (self.opts.markCurrentTree) {
								$this.parentsUntil('[data-smartmenus-id]', 'ul').each(function() {
									$(this).dataSM('parent-a').addClass('current');
								});
							}
						}
					});
				}

				// save initial state
				this.wasCollapsible = this.isCollapsible();
			},
			destroy: function(refresh) {
				if (!refresh) {
					var eNS = '.smartmenus';
					this.$root
						.removeData('smartmenus')
						.removeAttr('data-smartmenus-id')
						.removeDataSM('level')
						.off(eNS);
					eNS += this.rootId;
					$(document).off(eNS);
					$(window).off(eNS);
					if (this.opts.subIndicators) {
						this.$subArrow = null;
					}
				}
				this.menuHideAll();
				var self = this;
				this.$root.find('ul').each(function() {
						var $this = $(this);
						if ($this.dataSM('scroll-arrows')) {
							$this.dataSM('scroll-arrows').remove();
						}
						if ($this.dataSM('shown-before')) {
							if (self.opts.subMenusMinWidth || self.opts.subMenusMaxWidth) {
								$this.css({ width: '', minWidth: '', maxWidth: '' }).removeClass('sm-nowrap');
							}
							if ($this.dataSM('scroll-arrows')) {
								$this.dataSM('scroll-arrows').remove();
							}
							$this.css({ zIndex: '', top: '', left: '', marginLeft: '', marginTop: '', display: '' });
						}
						if (($this.attr('id') || '').indexOf(self.accessIdPrefix) == 0) {
							$this.removeAttr('id');
						}
					})
					.removeDataSM('in-mega')
					.removeDataSM('shown-before')
					.removeDataSM('scroll-arrows')
					.removeDataSM('parent-a')
					.removeDataSM('level')
					.removeDataSM('beforefirstshowfired')
					.removeAttr('role')
					.removeAttr('aria-hidden')
					.removeAttr('aria-labelledby')
					.removeAttr('aria-expanded');
				this.$root.find('a.has-submenu').each(function() {
						var $this = $(this);
						if ($this.attr('id').indexOf(self.accessIdPrefix) == 0) {
							$this.removeAttr('id');
						}
					})
					.removeClass('has-submenu')
					.removeDataSM('sub')
					.removeAttr('aria-haspopup')
					.removeAttr('aria-controls')
					.removeAttr('aria-expanded')
					.closest('li').removeDataSM('sub');
				if (this.opts.subIndicators) {
					this.$root.find('span.sub-arrow').remove();
				}
				if (this.opts.markCurrentItem) {
					this.$root.find('a.current').removeClass('current');
				}
				if (!refresh) {
					this.$root = null;
					this.$firstLink = null;
					this.$firstSub = null;
					if (this.$disableOverlay) {
						this.$disableOverlay.remove();
						this.$disableOverlay = null;
					}
					menuTrees.splice($.inArray(this, menuTrees), 1);
				}
			},
			disable: function(noOverlay) {
				if (!this.disabled) {
					this.menuHideAll();
					// display overlay over the menu to prevent interaction
					if (!noOverlay && !this.opts.isPopup && this.$root.is(':visible')) {
						var pos = this.$root.offset();
						this.$disableOverlay = $('<div class="sm-jquery-disable-overlay"/>').css({
							position: 'absolute',
							top: pos.top,
							left: pos.left,
							width: this.$root.outerWidth(),
							height: this.$root.outerHeight(),
							zIndex: this.getStartZIndex(true),
							opacity: 0
						}).appendTo(document.body);
					}
					this.disabled = true;
				}
			},
			docClick: function(e) {
				if (this.$touchScrollingSub) {
					this.$touchScrollingSub = null;
					return;
				}
				// hide on any click outside the menu or on a menu link
				if (this.visibleSubMenus.length && !$.contains(this.$root[0], e.target) || $(e.target).closest('a').length) {
					this.menuHideAll();
				}
			},
			docTouchEnd: function(e) {
				if (!this.lastTouch) {
					return;
				}
				if (this.visibleSubMenus.length && (this.lastTouch.x2 === undefined || this.lastTouch.x1 == this.lastTouch.x2) && (this.lastTouch.y2 === undefined || this.lastTouch.y1 == this.lastTouch.y2) && (!this.lastTouch.target || !$.contains(this.$root[0], this.lastTouch.target))) {
					if (this.hideTimeout) {
						clearTimeout(this.hideTimeout);
						this.hideTimeout = 0;
					}
					// hide with a delay to prevent triggering accidental unwanted click on some page element
					var self = this;
					this.hideTimeout = setTimeout(function() { self.menuHideAll(); }, 350);
				}
				this.lastTouch = null;
			},
			docTouchMove: function(e) {
				if (!this.lastTouch) {
					return;
				}
				var touchPoint = e.originalEvent.touches[0];
				this.lastTouch.x2 = touchPoint.pageX;
				this.lastTouch.y2 = touchPoint.pageY;
			},
			docTouchStart: function(e) {
				var touchPoint = e.originalEvent.touches[0];
				this.lastTouch = { x1: touchPoint.pageX, y1: touchPoint.pageY, target: touchPoint.target };
			},
			enable: function() {
				if (this.disabled) {
					if (this.$disableOverlay) {
						this.$disableOverlay.remove();
						this.$disableOverlay = null;
					}
					this.disabled = false;
				}
			},
			getClosestMenu: function(elm) {
				var $closestMenu = $(elm).closest('ul');
				while ($closestMenu.dataSM('in-mega')) {
					$closestMenu = $closestMenu.parent().closest('ul');
				}
				return $closestMenu[0] || null;
			},
			getHeight: function($elm) {
				return this.getOffset($elm, true);
			},
			// returns precise width/height float values
			getOffset: function($elm, height) {
				var old;
				if ($elm.css('display') == 'none') {
					old = { position: $elm[0].style.position, visibility: $elm[0].style.visibility };
					$elm.css({ position: 'absolute', visibility: 'hidden' }).show();
				}
				var box = $elm[0].getBoundingClientRect && $elm[0].getBoundingClientRect(),
					val = box && (height ? box.height || box.bottom - box.top : box.width || box.right - box.left);
				if (!val && val !== 0) {
					val = height ? $elm[0].offsetHeight : $elm[0].offsetWidth;
				}
				if (old) {
					$elm.hide().css(old);
				}
				return val;
			},
			getStartZIndex: function(root) {
				var zIndex = parseInt(this[root ? '$root' : '$firstSub'].css('z-index'));
				if (!root && isNaN(zIndex)) {
					zIndex = parseInt(this.$root.css('z-index'));
				}
				return !isNaN(zIndex) ? zIndex : 1;
			},
			getTouchPoint: function(e) {
				return e.touches && e.touches[0] || e.changedTouches && e.changedTouches[0] || e;
			},
			getViewport: function(height) {
				var name = height ? 'Height' : 'Width',
					val = document.documentElement['client' + name],
					val2 = window['inner' + name];
				if (val2) {
					val = Math.min(val, val2);
				}
				return val;
			},
			getViewportHeight: function() {
				return this.getViewport(true);
			},
			getViewportWidth: function() {
				return this.getViewport();
			},
			getWidth: function($elm) {
				return this.getOffset($elm);
			},
			handleEvents: function() {
				return !this.disabled && this.isCSSOn();
			},
			handleItemEvents: function($a) {
				return this.handleEvents() && !this.isLinkInMegaMenu($a);
			},
			isCollapsible: function() {
				return this.$firstSub.css('position') == 'static';
			},
			isCSSOn: function() {
				return this.$firstLink.css('display') != 'inline';
			},
			isFixed: function() {
				var isFixed = this.$root.css('position') == 'fixed';
				if (!isFixed) {
					this.$root.parentsUntil('body').each(function() {
						if ($(this).css('position') == 'fixed') {
							isFixed = true;
							return false;
						}
					});
				}
				return isFixed;
			},
			isLinkInMegaMenu: function($a) {
				return $(this.getClosestMenu($a[0])).hasClass('mega-menu');
			},
			isTouchMode: function() {
				return !mouse || this.opts.noMouseOver || this.isCollapsible();
			},
			itemActivate: function($a, hideDeeperSubs) {
				var $ul = $a.closest('ul'),
					level = $ul.dataSM('level');
				// if for some reason the parent item is not activated (e.g. this is an API call to activate the item), activate all parent items first
				if (level > 1 && (!this.activatedItems[level - 2] || this.activatedItems[level - 2][0] != $ul.dataSM('parent-a')[0])) {
					var self = this;
					$($ul.parentsUntil('[data-smartmenus-id]', 'ul').get().reverse()).add($ul).each(function() {
						self.itemActivate($(this).dataSM('parent-a'));
					});
				}
				// hide any visible deeper level sub menus
				if (!this.isCollapsible() || hideDeeperSubs) {
					this.menuHideSubMenus(!this.activatedItems[level - 1] || this.activatedItems[level - 1][0] != $a[0] ? level - 1 : level);
				}
				// save new active item for this level
				this.activatedItems[level - 1] = $a;
				if (this.$root.triggerHandler('activate.smapi', $a[0]) === false) {
					return;
				}
				// show the sub menu if this item has one
				var $sub = $a.dataSM('sub');
				if ($sub && (this.isTouchMode() || (!this.opts.showOnClick || this.clickActivated))) {
					this.menuShow($sub);
				}
			},
			itemBlur: function(e) {
				var $a = $(e.currentTarget);
				if (!this.handleItemEvents($a)) {
					return;
				}
				this.$root.triggerHandler('blur.smapi', $a[0]);
			},
			itemClick: function(e) {
				var $a = $(e.currentTarget);
				if (!this.handleItemEvents($a)) {
					return;
				}
				if (this.$touchScrollingSub && this.$touchScrollingSub[0] == $a.closest('ul')[0]) {
					this.$touchScrollingSub = null;
					e.stopPropagation();
					return false;
				}
				if (this.$root.triggerHandler('click.smapi', $a[0]) === false) {
					return false;
				}
				var subArrowClicked = $(e.target).is('.sub-arrow'),
					$sub = $a.dataSM('sub'),
					firstLevelSub = $sub ? $sub.dataSM('level') == 2 : false,
					collapsible = this.isCollapsible(),
					behaviorToggle = /toggle$/.test(this.opts.collapsibleBehavior),
					behaviorLink = /link$/.test(this.opts.collapsibleBehavior),
					behaviorAccordion = /^accordion/.test(this.opts.collapsibleBehavior);
				// if the sub is hidden, try to show it
				if ($sub && !$sub.is(':visible')) {
					if (!behaviorLink || !collapsible || subArrowClicked) {
						if (this.opts.showOnClick && firstLevelSub) {
							this.clickActivated = true;
						}
						// try to activate the item and show the sub
						this.itemActivate($a, behaviorAccordion);
						// if "itemActivate" showed the sub, prevent the click so that the link is not loaded
						// if it couldn't show it, then the sub menus are disabled with an !important declaration (e.g. via mobile styles) so let the link get loaded
						if ($sub.is(':visible')) {
							this.focusActivated = true;
							return false;
						}
					}
				// if the sub is visible and we are in collapsible mode
				} else if (collapsible && (behaviorToggle || subArrowClicked)) {
					this.itemActivate($a, behaviorAccordion);
					this.menuHide($sub);
					if (behaviorToggle) {
						this.focusActivated = false;
					}
					return false;
				}
				if (this.opts.showOnClick && firstLevelSub || $a.hasClass('disabled') || this.$root.triggerHandler('select.smapi', $a[0]) === false) {
					return false;
				}
			},
			itemDown: function(e) {
				var $a = $(e.currentTarget);
				if (!this.handleItemEvents($a)) {
					return;
				}
				$a.dataSM('mousedown', true);
			},
			itemEnter: function(e) {
				var $a = $(e.currentTarget);
				if (!this.handleItemEvents($a)) {
					return;
				}
				if (!this.isTouchMode()) {
					if (this.showTimeout) {
						clearTimeout(this.showTimeout);
						this.showTimeout = 0;
					}
					var self = this;
					this.showTimeout = setTimeout(function() { self.itemActivate($a); }, this.opts.showOnClick && $a.closest('ul').dataSM('level') == 1 ? 1 : this.opts.showTimeout);
				}
				this.$root.triggerHandler('mouseenter.smapi', $a[0]);
			},
			itemFocus: function(e) {
				var $a = $(e.currentTarget);
				if (!this.handleItemEvents($a)) {
					return;
				}
				// fix (the mousedown check): in some browsers a tap/click produces consecutive focus + click events so we don't need to activate the item on focus
				if (this.focusActivated && (!this.isTouchMode() || !$a.dataSM('mousedown')) && (!this.activatedItems.length || this.activatedItems[this.activatedItems.length - 1][0] != $a[0])) {
					this.itemActivate($a, true);
				}
				this.$root.triggerHandler('focus.smapi', $a[0]);
			},
			itemLeave: function(e) {
				var $a = $(e.currentTarget);
				if (!this.handleItemEvents($a)) {
					return;
				}
				if (!this.isTouchMode()) {
					$a[0].blur();
					if (this.showTimeout) {
						clearTimeout(this.showTimeout);
						this.showTimeout = 0;
					}
				}
				$a.removeDataSM('mousedown');
				this.$root.triggerHandler('mouseleave.smapi', $a[0]);
			},
			menuHide: function($sub) {
				if (this.$root.triggerHandler('beforehide.smapi', $sub[0]) === false) {
					return;
				}
				if (canAnimate) {
					$sub.stop(true, true);
				}
				if ($sub.css('display') != 'none') {
					var complete = function() {
						// unset z-index
						$sub.css('z-index', '');
					};
					// if sub is collapsible (mobile view)
					if (this.isCollapsible()) {
						if (canAnimate && this.opts.collapsibleHideFunction) {
							this.opts.collapsibleHideFunction.call(this, $sub, complete);
						} else {
							$sub.hide(this.opts.collapsibleHideDuration, complete);
						}
					} else {
						if (canAnimate && this.opts.hideFunction) {
							this.opts.hideFunction.call(this, $sub, complete);
						} else {
							$sub.hide(this.opts.hideDuration, complete);
						}
					}
					// deactivate scrolling if it is activated for this sub
					if ($sub.dataSM('scroll')) {
						this.menuScrollStop($sub);
						$sub.css({ 'touch-action': '', '-ms-touch-action': '', '-webkit-transform': '', transform: '' })
							.off('.smartmenus_scroll').removeDataSM('scroll').dataSM('scroll-arrows').hide();
					}
					// unhighlight parent item + accessibility
					$sub.dataSM('parent-a').removeClass('highlighted').attr('aria-expanded', 'false');
					$sub.attr({
						'aria-expanded': 'false',
						'aria-hidden': 'true'
					});
					var level = $sub.dataSM('level');
					this.activatedItems.splice(level - 1, 1);
					this.visibleSubMenus.splice($.inArray($sub, this.visibleSubMenus), 1);
					this.$root.triggerHandler('hide.smapi', $sub[0]);
				}
			},
			menuHideAll: function() {
				if (this.showTimeout) {
					clearTimeout(this.showTimeout);
					this.showTimeout = 0;
				}
				// hide all subs
				// if it's a popup, this.visibleSubMenus[0] is the root UL
				var level = this.opts.isPopup ? 1 : 0;
				for (var i = this.visibleSubMenus.length - 1; i >= level; i--) {
					this.menuHide(this.visibleSubMenus[i]);
				}
				// hide root if it's popup
				if (this.opts.isPopup) {
					if (canAnimate) {
						this.$root.stop(true, true);
					}
					if (this.$root.is(':visible')) {
						if (canAnimate && this.opts.hideFunction) {
							this.opts.hideFunction.call(this, this.$root);
						} else {
							this.$root.hide(this.opts.hideDuration);
						}
					}
				}
				this.activatedItems = [];
				this.visibleSubMenus = [];
				this.clickActivated = false;
				this.focusActivated = false;
				// reset z-index increment
				this.zIndexInc = 0;
				this.$root.triggerHandler('hideAll.smapi');
			},
			menuHideSubMenus: function(level) {
				for (var i = this.activatedItems.length - 1; i >= level; i--) {
					var $sub = this.activatedItems[i].dataSM('sub');
					if ($sub) {
						this.menuHide($sub);
					}
				}
			},
			menuInit: function($ul) {
				if (!$ul.dataSM('in-mega')) {
					// mark UL's in mega drop downs (if any) so we can neglect them
					if ($ul.hasClass('mega-menu')) {
						$ul.find('ul').dataSM('in-mega', true);
					}
					// get level (much faster than, for example, using parentsUntil)
					var level = 2,
						par = $ul[0];
					while ((par = par.parentNode.parentNode) != this.$root[0]) {
						level++;
					}
					// cache stuff for quick access
					var $a = $ul.prevAll('a').eq(-1);
					// if the link is nested (e.g. in a heading)
					if (!$a.length) {
						$a = $ul.prevAll().find('a').eq(-1);
					}
					$a.addClass('has-submenu').dataSM('sub', $ul);
					$ul.dataSM('parent-a', $a)
						.dataSM('level', level)
						.parent().dataSM('sub', $ul);
					// accessibility
					var aId = $a.attr('id') || this.accessIdPrefix + (++this.idInc),
						ulId = $ul.attr('id') || this.accessIdPrefix + (++this.idInc);
					$a.attr({
						id: aId,
						'aria-haspopup': 'true',
						'aria-controls': ulId,
						'aria-expanded': 'false'
					});
					$ul.attr({
						id: ulId,
						'role': 'group',
						'aria-hidden': 'true',
						'aria-labelledby': aId,
						'aria-expanded': 'false'
					});
					// add sub indicator to parent item
					if (this.opts.subIndicators) {
						$a[this.opts.subIndicatorsPos](this.$subArrow.clone());
					}
				}
			},
			menuPosition: function($sub) {
				var $a = $sub.dataSM('parent-a'),
					$li = $a.closest('li'),
					$ul = $li.parent(),
					level = $sub.dataSM('level'),
					subW = this.getWidth($sub),
					subH = this.getHeight($sub),
					itemOffset = $a.offset(),
					itemX = itemOffset.left,
					itemY = itemOffset.top,
					itemW = this.getWidth($a),
					itemH = this.getHeight($a),
					$win = $(window),
					winX = $win.scrollLeft(),
					winY = $win.scrollTop(),
					winW = this.getViewportWidth(),
					winH = this.getViewportHeight(),
					horizontalParent = $ul.parent().is('[data-sm-horizontal-sub]') || level == 2 && !$ul.hasClass('sm-vertical'),
					rightToLeft = this.opts.rightToLeftSubMenus && !$li.is('[data-sm-reverse]') || !this.opts.rightToLeftSubMenus && $li.is('[data-sm-reverse]'),
					subOffsetX = level == 2 ? this.opts.mainMenuSubOffsetX : this.opts.subMenusSubOffsetX,
					subOffsetY = level == 2 ? this.opts.mainMenuSubOffsetY : this.opts.subMenusSubOffsetY,
					x, y;
				if (horizontalParent) {
					x = rightToLeft ? itemW - subW - subOffsetX : subOffsetX;
					y = this.opts.bottomToTopSubMenus ? -subH - subOffsetY : itemH + subOffsetY;
				} else {
					x = rightToLeft ? subOffsetX - subW : itemW - subOffsetX;
					y = this.opts.bottomToTopSubMenus ? itemH - subOffsetY - subH : subOffsetY;
				}
				if (this.opts.keepInViewport) {
					var absX = itemX + x,
						absY = itemY + y;
					if (rightToLeft && absX < winX) {
						x = horizontalParent ? winX - absX + x : itemW - subOffsetX;
					} else if (!rightToLeft && absX + subW > winX + winW) {
						x = horizontalParent ? winX + winW - subW - absX + x : subOffsetX - subW;
					}
					if (!horizontalParent) {
						if (subH < winH && absY + subH > winY + winH) {
							y += winY + winH - subH - absY;
						} else if (subH >= winH || absY < winY) {
							y += winY - absY;
						}
					}
					// do we need scrolling?
					// 0.49 used for better precision when dealing with float values
					if (horizontalParent && (absY + subH > winY + winH + 0.49 || absY < winY) || !horizontalParent && subH > winH + 0.49) {
						var self = this;
						if (!$sub.dataSM('scroll-arrows')) {
							$sub.dataSM('scroll-arrows', $([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0], $('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]])
								.on({
									mouseenter: function() {
										$sub.dataSM('scroll').up = $(this).hasClass('scroll-up');
										self.menuScroll($sub);
									},
									mouseleave: function(e) {
										self.menuScrollStop($sub);
										self.menuScrollOut($sub, e);
									},
									'mousewheel DOMMouseScroll': function(e) { e.preventDefault(); }
								})
								.insertAfter($sub)
							);
						}
						// bind scroll events and save scroll data for this sub
						var eNS = '.smartmenus_scroll';
						$sub.dataSM('scroll', {
								y: this.cssTransforms3d ? 0 : y - itemH,
								step: 1,
								// cache stuff for faster recalcs later
								itemH: itemH,
								subH: subH,
								arrowDownH: this.getHeight($sub.dataSM('scroll-arrows').eq(1))
							})
							.on(getEventsNS({
								'mouseover': function(e) { self.menuScrollOver($sub, e); },
								'mouseout': function(e) { self.menuScrollOut($sub, e); },
								'mousewheel DOMMouseScroll': function(e) { self.menuScrollMousewheel($sub, e); }
							}, eNS))
							.dataSM('scroll-arrows').css({ top: 'auto', left: '0', marginLeft: x + (parseInt($sub.css('border-left-width')) || 0), width: subW - (parseInt($sub.css('border-left-width')) || 0) - (parseInt($sub.css('border-right-width')) || 0), zIndex: $sub.css('z-index') })
								.eq(horizontalParent && this.opts.bottomToTopSubMenus ? 0 : 1).show();
						// when a menu tree is fixed positioned we allow scrolling via touch too
						// since there is no other way to access such long sub menus if no mouse is present
						if (this.isFixed()) {
							var events = {};
							events[touchEvents ? 'touchstart touchmove touchend' : 'pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp'] = function(e) {
								self.menuScrollTouch($sub, e);
							};
							$sub.css({ 'touch-action': 'none', '-ms-touch-action': 'none' }).on(getEventsNS(events, eNS));
						}
					}
				}
				$sub.css({ top: 'auto', left: '0', marginLeft: x, marginTop: y - itemH });
			},
			menuScroll: function($sub, once, step) {
				var data = $sub.dataSM('scroll'),
					$arrows = $sub.dataSM('scroll-arrows'),
					end = data.up ? data.upEnd : data.downEnd,
					diff;
				if (!once && data.momentum) {
					data.momentum *= 0.92;
					diff = data.momentum;
					if (diff < 0.5) {
						this.menuScrollStop($sub);
						return;
					}
				} else {
					diff = step || (once || !this.opts.scrollAccelerate ? this.opts.scrollStep : Math.floor(data.step));
				}
				// hide any visible deeper level sub menus
				var level = $sub.dataSM('level');
				if (this.activatedItems[level - 1] && this.activatedItems[level - 1].dataSM('sub') && this.activatedItems[level - 1].dataSM('sub').is(':visible')) {
					this.menuHideSubMenus(level - 1);
				}
				data.y = data.up && end <= data.y || !data.up && end >= data.y ? data.y : (Math.abs(end - data.y) > diff ? data.y + (data.up ? diff : -diff) : end);
				$sub.css(this.cssTransforms3d ? { '-webkit-transform': 'translate3d(0, ' + data.y + 'px, 0)', transform: 'translate3d(0, ' + data.y + 'px, 0)' } : { marginTop: data.y });
				// show opposite arrow if appropriate
				if (mouse && (data.up && data.y > data.downEnd || !data.up && data.y < data.upEnd)) {
					$arrows.eq(data.up ? 1 : 0).show();
				}
				// if we've reached the end
				if (data.y == end) {
					if (mouse) {
						$arrows.eq(data.up ? 0 : 1).hide();
					}
					this.menuScrollStop($sub);
				} else if (!once) {
					if (this.opts.scrollAccelerate && data.step < this.opts.scrollStep) {
						data.step += 0.2;
					}
					var self = this;
					this.scrollTimeout = requestAnimationFrame(function() { self.menuScroll($sub); });
				}
			},
			menuScrollMousewheel: function($sub, e) {
				if (this.getClosestMenu(e.target) == $sub[0]) {
					e = e.originalEvent;
					var up = (e.wheelDelta || -e.detail) > 0;
					if ($sub.dataSM('scroll-arrows').eq(up ? 0 : 1).is(':visible')) {
						$sub.dataSM('scroll').up = up;
						this.menuScroll($sub, true);
					}
				}
				e.preventDefault();
			},
			menuScrollOut: function($sub, e) {
				if (mouse) {
					if (!/^scroll-(up|down)/.test((e.relatedTarget || '').className) && ($sub[0] != e.relatedTarget && !$.contains($sub[0], e.relatedTarget) || this.getClosestMenu(e.relatedTarget) != $sub[0])) {
						$sub.dataSM('scroll-arrows').css('visibility', 'hidden');
					}
				}
			},
			menuScrollOver: function($sub, e) {
				if (mouse) {
					if (!/^scroll-(up|down)/.test(e.target.className) && this.getClosestMenu(e.target) == $sub[0]) {
						this.menuScrollRefreshData($sub);
						var data = $sub.dataSM('scroll'),
							upEnd = $(window).scrollTop() - $sub.dataSM('parent-a').offset().top - data.itemH;
						$sub.dataSM('scroll-arrows').eq(0).css('margin-top', upEnd).end()
							.eq(1).css('margin-top', upEnd + this.getViewportHeight() - data.arrowDownH).end()
							.css('visibility', 'visible');
					}
				}
			},
			menuScrollRefreshData: function($sub) {
				var data = $sub.dataSM('scroll'),
					upEnd = $(window).scrollTop() - $sub.dataSM('parent-a').offset().top - data.itemH;
				if (this.cssTransforms3d) {
					upEnd = -(parseFloat($sub.css('margin-top')) - upEnd);
				}
				$.extend(data, {
					upEnd: upEnd,
					downEnd: upEnd + this.getViewportHeight() - data.subH
				});
			},
			menuScrollStop: function($sub) {
				if (this.scrollTimeout) {
					cancelAnimationFrame(this.scrollTimeout);
					this.scrollTimeout = 0;
					$sub.dataSM('scroll').step = 1;
					return true;
				}
			},
			menuScrollTouch: function($sub, e) {
				e = e.originalEvent;
				if (isTouchEvent(e)) {
					var touchPoint = this.getTouchPoint(e);
					// neglect event if we touched a visible deeper level sub menu
					if (this.getClosestMenu(touchPoint.target) == $sub[0]) {
						var data = $sub.dataSM('scroll');
						if (/(start|down)$/i.test(e.type)) {
							if (this.menuScrollStop($sub)) {
								// if we were scrolling, just stop and don't activate any link on the first touch
								e.preventDefault();
								this.$touchScrollingSub = $sub;
							} else {
								this.$touchScrollingSub = null;
							}
							// update scroll data since the user might have zoomed, etc.
							this.menuScrollRefreshData($sub);
							// extend it with the touch properties
							$.extend(data, {
								touchStartY: touchPoint.pageY,
								touchStartTime: e.timeStamp
							});
						} else if (/move$/i.test(e.type)) {
							var prevY = data.touchY !== undefined ? data.touchY : data.touchStartY;
							if (prevY !== undefined && prevY != touchPoint.pageY) {
								this.$touchScrollingSub = $sub;
								var up = prevY < touchPoint.pageY;
								// changed direction? reset...
								if (data.up !== undefined && data.up != up) {
									$.extend(data, {
										touchStartY: touchPoint.pageY,
										touchStartTime: e.timeStamp
									});
								}
								$.extend(data, {
									up: up,
									touchY: touchPoint.pageY
								});
								this.menuScroll($sub, true, Math.abs(touchPoint.pageY - prevY));
							}
							e.preventDefault();
						} else { // touchend/pointerup
							if (data.touchY !== undefined) {
								if (data.momentum = Math.pow(Math.abs(touchPoint.pageY - data.touchStartY) / (e.timeStamp - data.touchStartTime), 2) * 15) {
									this.menuScrollStop($sub);
									this.menuScroll($sub);
									e.preventDefault();
								}
								delete data.touchY;
							}
						}
					}
				}
			},
			menuShow: function($sub) {
				if (!$sub.dataSM('beforefirstshowfired')) {
					$sub.dataSM('beforefirstshowfired', true);
					if (this.$root.triggerHandler('beforefirstshow.smapi', $sub[0]) === false) {
						return;
					}
				}
				if (this.$root.triggerHandler('beforeshow.smapi', $sub[0]) === false) {
					return;
				}
				$sub.dataSM('shown-before', true);
				if (canAnimate) {
					$sub.stop(true, true);
				}
				if (!$sub.is(':visible')) {
					// highlight parent item
					var $a = $sub.dataSM('parent-a'),
						collapsible = this.isCollapsible();
					if (this.opts.keepHighlighted || collapsible) {
						$a.addClass('highlighted');
					}
					if (collapsible) {
						$sub.removeClass('sm-nowrap').css({ zIndex: '', width: 'auto', minWidth: '', maxWidth: '', top: '', left: '', marginLeft: '', marginTop: '' });
					} else {
						// set z-index
						$sub.css('z-index', this.zIndexInc = (this.zIndexInc || this.getStartZIndex()) + 1);
						// min/max-width fix - no way to rely purely on CSS as all UL's are nested
						if (this.opts.subMenusMinWidth || this.opts.subMenusMaxWidth) {
							$sub.css({ width: 'auto', minWidth: '', maxWidth: '' }).addClass('sm-nowrap');
							if (this.opts.subMenusMinWidth) {
							 	$sub.css('min-width', this.opts.subMenusMinWidth);
							}
							if (this.opts.subMenusMaxWidth) {
							 	var noMaxWidth = this.getWidth($sub);
							 	$sub.css('max-width', this.opts.subMenusMaxWidth);
								if (noMaxWidth > this.getWidth($sub)) {
									$sub.removeClass('sm-nowrap').css('width', this.opts.subMenusMaxWidth);
								}
							}
						}
						this.menuPosition($sub);
					}
					var complete = function() {
						// fix: "overflow: hidden;" is not reset on animation complete in jQuery < 1.9.0 in Chrome when global "box-sizing: border-box;" is used
						$sub.css('overflow', '');
					};
					// if sub is collapsible (mobile view)
					if (collapsible) {
						if (canAnimate && this.opts.collapsibleShowFunction) {
							this.opts.collapsibleShowFunction.call(this, $sub, complete);
						} else {
							$sub.show(this.opts.collapsibleShowDuration, complete);
						}
					} else {
						if (canAnimate && this.opts.showFunction) {
							this.opts.showFunction.call(this, $sub, complete);
						} else {
							$sub.show(this.opts.showDuration, complete);
						}
					}
					// accessibility
					$a.attr('aria-expanded', 'true');
					$sub.attr({
						'aria-expanded': 'true',
						'aria-hidden': 'false'
					});
					// store sub menu in visible array
					this.visibleSubMenus.push($sub);
					this.$root.triggerHandler('show.smapi', $sub[0]);
				}
			},
			popupHide: function(noHideTimeout) {
				if (this.hideTimeout) {
					clearTimeout(this.hideTimeout);
					this.hideTimeout = 0;
				}
				var self = this;
				this.hideTimeout = setTimeout(function() {
					self.menuHideAll();
				}, noHideTimeout ? 1 : this.opts.hideTimeout);
			},
			popupShow: function(left, top) {
				if (!this.opts.isPopup) {
					alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.');
					return;
				}
				if (this.hideTimeout) {
					clearTimeout(this.hideTimeout);
					this.hideTimeout = 0;
				}
				this.$root.dataSM('shown-before', true);
				if (canAnimate) {
					this.$root.stop(true, true);
				}
				if (!this.$root.is(':visible')) {
					this.$root.css({ left: left, top: top });
					// show menu
					var self = this,
						complete = function() {
							self.$root.css('overflow', '');
						};
					if (canAnimate && this.opts.showFunction) {
						this.opts.showFunction.call(this, this.$root, complete);
					} else {
						this.$root.show(this.opts.showDuration, complete);
					}
					this.visibleSubMenus[0] = this.$root;
				}
			},
			refresh: function() {
				this.destroy(true);
				this.init(true);
			},
			rootKeyDown: function(e) {
				if (!this.handleEvents()) {
					return;
				}
				switch (e.keyCode) {
					case 27: // reset on Esc
						var $activeTopItem = this.activatedItems[0];
						if ($activeTopItem) {
							this.menuHideAll();
							$activeTopItem[0].focus();
							var $sub = $activeTopItem.dataSM('sub');
							if ($sub) {
								this.menuHide($sub);
							}
						}
						break;
					case 32: // activate item's sub on Space
						var $target = $(e.target);
						if ($target.is('a') && this.handleItemEvents($target)) {
							var $sub = $target.dataSM('sub');
							if ($sub && !$sub.is(':visible')) {
								this.itemClick({ currentTarget: e.target });
								e.preventDefault();
							}
						}
						break;
				}
			},
			rootOut: function(e) {
				if (!this.handleEvents() || this.isTouchMode() || e.target == this.$root[0]) {
					return;
				}
				if (this.hideTimeout) {
					clearTimeout(this.hideTimeout);
					this.hideTimeout = 0;
				}
				if (!this.opts.showOnClick || !this.opts.hideOnClick) {
					var self = this;
					this.hideTimeout = setTimeout(function() { self.menuHideAll(); }, this.opts.hideTimeout);
				}
			},
			rootOver: function(e) {
				if (!this.handleEvents() || this.isTouchMode() || e.target == this.$root[0]) {
					return;
				}
				if (this.hideTimeout) {
					clearTimeout(this.hideTimeout);
					this.hideTimeout = 0;
				}
			},
			winResize: function(e) {
				if (!this.handleEvents()) {
					// we still need to resize the disable overlay if it's visible
					if (this.$disableOverlay) {
						var pos = this.$root.offset();
	 					this.$disableOverlay.css({
							top: pos.top,
							left: pos.left,
							width: this.$root.outerWidth(),
							height: this.$root.outerHeight()
						});
					}
					return;
				}
				// hide sub menus on resize - on mobile do it only on orientation change
				if (!('onorientationchange' in window) || e.type == 'orientationchange') {
					var collapsible = this.isCollapsible();
					// if it was collapsible before resize and still is, don't do it
					if (!(this.wasCollapsible && collapsible)) { 
						if (this.activatedItems.length) {
							this.activatedItems[this.activatedItems.length - 1][0].blur();
						}
						this.menuHideAll();
					}
					this.wasCollapsible = collapsible;
				}
			}
		}
	});

	$.fn.dataSM = function(key, val) {
		if (val) {
			return this.data(key + '_smartmenus', val);
		}
		return this.data(key + '_smartmenus');
	};

	$.fn.removeDataSM = function(key) {
		return this.removeData(key + '_smartmenus');
	};

	$.fn.smartmenus = function(options) {
		if (typeof options == 'string') {
			var args = arguments,
				method = options;
			Array.prototype.shift.call(args);
			return this.each(function() {
				var smartmenus = $(this).data('smartmenus');
				if (smartmenus && smartmenus[method]) {
					smartmenus[method].apply(smartmenus, args);
				}
			});
		}
		return this.each(function() {
			// [data-sm-options] attribute on the root UL
			var dataOpts = $(this).data('sm-options') || null;
			if (dataOpts) {
				try {
					dataOpts = eval('(' + dataOpts + ')');
				} catch(e) {
					dataOpts = null;
					alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.');
				};
			}
			new $.SmartMenus(this, $.extend({}, $.fn.smartmenus.defaults, options, dataOpts));
		});
	};

	// default settings
	$.fn.smartmenus.defaults = {
		isPopup:		false,		// is this a popup menu (can be shown via the popupShow/popupHide methods) or a permanent menu bar
		mainMenuSubOffsetX:	0,		// pixels offset from default position
		mainMenuSubOffsetY:	0,		// pixels offset from default position
		subMenusSubOffsetX:	0,		// pixels offset from default position
		subMenusSubOffsetY:	0,		// pixels offset from default position
		subMenusMinWidth:	'10em',		// min-width for the sub menus (any CSS unit) - if set, the fixed width set in CSS will be ignored
		subMenusMaxWidth:	'20em',		// max-width for the sub menus (any CSS unit) - if set, the fixed width set in CSS will be ignored
		subIndicators: 		true,		// create sub menu indicators - creates a SPAN and inserts it in the A
		subIndicatorsPos: 	'append',	// position of the SPAN relative to the menu item content ('append', 'prepend')
		subIndicatorsText:	'',		// [optionally] add text in the SPAN (e.g. '+') (you may want to check the CSS for the sub indicators too)
		scrollStep: 		30,		// pixels step when scrolling long sub menus that do not fit in the viewport height
		scrollAccelerate:	true,		// accelerate scrolling or use a fixed step
		showTimeout:		250,		// timeout before showing the sub menus
		hideTimeout:		500,		// timeout before hiding the sub menus
		showDuration:		0,		// duration for show animation - set to 0 for no animation - matters only if showFunction:null
		showFunction:		null,		// custom function to use when showing a sub menu (the default is the jQuery 'show')
							// don't forget to call complete() at the end of whatever you do
							// e.g.: function($ul, complete) { $ul.fadeIn(250, complete); }
		hideDuration:		0,		// duration for hide animation - set to 0 for no animation - matters only if hideFunction:null
		hideFunction:		function($ul, complete) { $ul.fadeOut(200, complete); },	// custom function to use when hiding a sub menu (the default is the jQuery 'hide')
							// don't forget to call complete() at the end of whatever you do
							// e.g.: function($ul, complete) { $ul.fadeOut(250, complete); }
		collapsibleShowDuration:0,		// duration for show animation for collapsible sub menus - matters only if collapsibleShowFunction:null
		collapsibleShowFunction:function($ul, complete) { $ul.slideDown(200, complete); },	// custom function to use when showing a collapsible sub menu
							// (i.e. when mobile styles are used to make the sub menus collapsible)
		collapsibleHideDuration:0,		// duration for hide animation for collapsible sub menus - matters only if collapsibleHideFunction:null
		collapsibleHideFunction:function($ul, complete) { $ul.slideUp(200, complete); },	// custom function to use when hiding a collapsible sub menu
							// (i.e. when mobile styles are used to make the sub menus collapsible)
		showOnClick:		false,		// show the first-level sub menus onclick instead of onmouseover (i.e. mimic desktop app menus) (matters only for mouse input)
		hideOnClick:		true,		// hide the sub menus on click/tap anywhere on the page
		noMouseOver:		false,		// disable sub menus activation onmouseover (i.e. behave like in touch mode - use just mouse clicks) (matters only for mouse input)
		keepInViewport:		true,		// reposition the sub menus if needed to make sure they always appear inside the viewport
		keepHighlighted:	true,		// keep all ancestor items of the current sub menu highlighted (adds the 'highlighted' class to the A's)
		markCurrentItem:	false,		// automatically add the 'current' class to the A element of the item linking to the current URL
		markCurrentTree:	true,		// add the 'current' class also to the A elements of all ancestor items of the current item
		rightToLeftSubMenus:	false,		// right to left display of the sub menus (check the CSS for the sub indicators' position)
		bottomToTopSubMenus:	false,		// bottom to top display of the sub menus
		collapsibleBehavior:	'default'	// parent items behavior in collapsible (mobile) view ('default', 'toggle', 'link', 'accordion', 'accordion-toggle', 'accordion-link')
							// 'default' - first tap on parent item expands sub, second tap loads its link
							// 'toggle' - the whole parent item acts just as a toggle button for its sub menu (expands/collapses on each tap)
							// 'link' - the parent item acts as a regular item (first tap loads its link), the sub menu can be expanded only via the +/- button
							// 'accordion' - like 'default' but on expand also resets any visible sub menus from deeper levels or other branches
							// 'accordion-toggle' - like 'toggle' but on expand also resets any visible sub menus from deeper levels or other branches
							// 'accordion-link' - like 'link' but on expand also resets any visible sub menus from deeper levels or other branches
	};

	return $;
}));
// source --> https://www.christianmetalgroup.com/wp-content/themes/aasta/assets/js/custom.js?ver=1760884934 
	// OWL SLIDER CUSTOM JS

	jQuery(document).ready(function() {	
				
         /* ---------------------------------------------- /*
         * Header Sticky
         /* ---------------------------------------------- */
        
        jQuery(window).scroll(function(){
            if (jQuery(window).scrollTop() >= 100) {
                jQuery('.header-sticky').addClass('header-fixed-top');
				jQuery('.header-sticky').removeClass('not-sticky');
            }
            else {
                jQuery('.header-sticky').removeClass('header-fixed-top');
				jQuery('.header-sticky').addClass('not-sticky');
            }
        });
		
		/* ---------------------------------------------- /*
         * Scroll top
         /* ---------------------------------------------- */

        jQuery(window).scroll(function() {
            if (jQuery(this).scrollTop() > 100) {
                jQuery('.page-scroll-up').fadeIn();
            } else {
                jQuery('.page-scroll-up').fadeOut();
            }
        });

        jQuery('a[href="#totop"]').click(function() {
            jQuery('html, body').animate({ scrollTop: 0 }, 'slow');
            return false;
        });
		
	
		// Accodian Js
		function toggleIcon(e) {
			jQuery(e.target)
			.prev('.panel-heading')
			.find(".more-less")
			.toggleClass('fa-plus-square-o fa-minus-square-o');
		}
		jQuery('.panel-group').on('hidden.bs.collapse', toggleIcon);
		jQuery('.panel-group').on('shown.bs.collapse', toggleIcon);
		
		
		jQuery("#theme-main-slider").owlCarousel({
			navigation : true, // Show next and prev buttons
			slideSpeed : 300,
			autoplay : 7000,
			autoplayTimeout: 6000,
			smartSpeed: 600,
			autoplayHoverPause:true,
			singleItem:true,
			mouseDrag: true,
			loop:true, // loop is true up to 1199px screen.
			nav:true, // is true across all sizes
			margin:0, // margin 10px till 960 breakpoint
			autoHeight: true,
			responsiveClass:true, // Optional helper class. Add 'owl-reponsive-' + 'breakpoint' class to main element.
			items: 1,
			dots: false,
			navText: ["<i class='fa fa-angle-left'></i>","<i class='fa fa-angle-right'></i>"]	
        });
		
		 
	});
// source --> https://www.christianmetalgroup.com/wp-content/themes/aasta/assets/js/smartmenus/bootstrap-smartmenus.js?ver=1760884934 
/*!
 * SmartMenus jQuery Plugin Bootstrap 4 Addon - v0.1.0 - September 17, 2017
 * http://www.smartmenus.org/
 *
 * Copyright Vasil Dinkov, Vadikom Web Ltd.
 * http://vadikom.com
 *
 * Licensed MIT
 */

(function(factory) {
	if (typeof define === 'function' && define.amd) {
		// AMD
		define(['jquery', 'smartmenus'], factory);
	} else if (typeof module === 'object' && typeof module.exports === 'object') {
		// CommonJS
		module.exports = factory(require('jquery'));
	} else {
		// Global jQuery
		factory(jQuery);
	}
} (function($) {

	$.extend($.SmartMenus.Bootstrap = {}, {
		keydownFix: false,
		init: function() {
			// init all navbars that don't have the "data-sm-skip" attribute set
			var $navbars = $('ul.navbar-nav:not([data-sm-skip])');
			$navbars.each(function() {
				var $this = $(this),
					obj = $this.data('smartmenus');
				// if this navbar is not initialized
				if (!obj) {
					var skipBehavior = $this.is('[data-sm-skip-collapsible-behavior]'),
						rightAligned = $this.hasClass('ml-auto') || $this.prevAll('.mr-auto').length > 0;

					$this.smartmenus({
							// these are some good default options that should work for all
							subMenusSubOffsetX: 2,
							subMenusSubOffsetY: -9,
							subIndicators: !skipBehavior,
							collapsibleShowFunction: null,
							collapsibleHideFunction: null,
							rightToLeftSubMenus: rightAligned,
							bottomToTopSubMenus: $this.closest('.fixed-bottom').length > 0
							// custom option(s) for the Bootstrap 4 addon
							//bootstrapHighlightClasses: 'text-dark bg-light'
						})
						.on({
							// set/unset proper Bootstrap classes for some menu elements
							'show.smapi': function(e, menu) {
								var $menu = $(menu),
									$scrollArrows = $menu.dataSM('scroll-arrows');
								if ($scrollArrows) {
									$scrollArrows.css('background-color', $menu.css('background-color'));
								}
								$menu.parent().addClass('show');
								if (obj.opts.keepHighlighted && $menu.dataSM('level') > 2) {
									$menu.prevAll('a').addClass(obj.opts.bootstrapHighlightClasses);
								}
							},
							'hide.smapi': function(e, menu) {
								var $menu = $(menu);
								$menu.parent().removeClass('show');
								if (obj.opts.keepHighlighted && $menu.dataSM('level') > 2) {
									$menu.prevAll('a').removeClass(obj.opts.bootstrapHighlightClasses);
								}
							}
						});

					obj = $this.data('smartmenus');

					function onInit() {
						// set Bootstrap's "active" class to SmartMenus "current" items (should someone decide to enable markCurrentItem: true)
						$this.find('a.current').each(function() {
							var $this = $(this);
							// dropdown items require the class to be set to the A's while for nav items it should be set to the parent LI's
							($this.hasClass('dropdown-item') ? $this : $this.parent()).addClass('active');
						});
						// parent items fixes
						$this.find('a.has-submenu').each(function() {
							var $this = $(this);
							// remove Bootstrap required attributes that might cause conflicting issues with the SmartMenus script
							if ($this.is('[data-toggle="dropdown"]')) {
								$this.dataSM('bs-data-toggle-dropdown', true).removeAttr('data-toggle');
							}
							// remove Bootstrap's carets generating class
							if (!skipBehavior && $this.hasClass('dropdown-toggle')) {
								$this.dataSM('bs-dropdown-toggle', true).removeClass('dropdown-toggle');
							}
						});
					}

					onInit();

					function onBeforeDestroy() {
						$this.find('a.current').each(function() {
							var $this = $(this);
							($this.hasClass('active') ? $this : $this.parent()).removeClass('active');
						});
						$this.find('a.has-submenu').each(function() {
							var $this = $(this);
							if ($this.dataSM('bs-dropdown-toggle')) {
								$this.addClass('dropdown-toggle').removeDataSM('bs-dropdown-toggle');
							}
							if ($this.dataSM('bs-data-toggle-dropdown')) {
								$this.attr('data-toggle', 'dropdown').removeDataSM('bs-data-toggle-dropdown');
							}
						});
					}

					// custom "refresh" method for Bootstrap
					obj.refresh = function() {
						$.SmartMenus.prototype.refresh.call(this);
						onInit();
						// update collapsible detection
						detectCollapsible(true);
					};

					// custom "destroy" method for Bootstrap
					obj.destroy = function(refresh) {
						onBeforeDestroy();
						$.SmartMenus.prototype.destroy.call(this, refresh);
					};

					// keep Bootstrap's default behavior (i.e. use the whole item area just as a sub menu toggle)
					if (skipBehavior) {
						obj.opts.collapsibleBehavior = 'toggle';
					}

					// onresize detect when the navbar becomes collapsible and add it the "sm-collapsible" class
					var winW;
					function detectCollapsible(force) {
						var newW = obj.getViewportWidth();
						if (newW != winW || force) {
							if (obj.isCollapsible()) {
								$this.addClass('sm-collapsible');
							} else {
								$this.removeClass('sm-collapsible');
							}
							winW = newW;
						}
					}
					detectCollapsible();
					$(window).on('resize.smartmenus' + obj.rootId, detectCollapsible);
				}
			});
			// keydown fix for Bootstrap 4 conflict
			if ($navbars.length && !$.SmartMenus.Bootstrap.keydownFix) {
				// unhook BS keydown handler for all dropdowns
				$(document).off('keydown.bs.dropdown.data-api', '.dropdown-menu');
				// restore BS keydown handler for dropdowns that are not inside SmartMenus navbars
				// SmartMenus won't add the "show" class so it's handy here
				if ($.fn.dropdown && $.fn.dropdown.Constructor) {
					$(document).on('keydown.bs.dropdown.data-api', '.dropdown-menu.show', $.fn.dropdown.Constructor._dataApiKeydownHandler);
				}
				$.SmartMenus.Bootstrap.keydownFix = true;
			}
		}
	});

	// init ondomready
	$($.SmartMenus.Bootstrap.init);

	return $;
}));
// source --> https://www.christianmetalgroup.com/wp-content/themes/aasta/assets/js/owl.carousel.min.js?ver=1760884934 
/**
 * 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);
// source --> https://www.christianmetalgroup.com/wp-content/themes/aasta/assets/js/animation/animate.js?ver=1760884934 
jQuery(function($) {'use strict';

	//Initiat WOW JS
	new WOW().init();
	//smoothScroll
	//smoothScroll.init();

});
// source --> https://www.christianmetalgroup.com/wp-content/themes/aasta/assets/js/wow.js?ver=1760884934 
(function() {
  var MutationObserver, Util, WeakMap, getComputedStyle, getComputedStyleRX,
    bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
    indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };

  Util = (function() {
    function Util() {}

    Util.prototype.extend = function(custom, defaults) {
      var key, value;
      for (key in defaults) {
        value = defaults[key];
        if (custom[key] == null) {
          custom[key] = value;
        }
      }
      return custom;
    };

    Util.prototype.isMobile = function(agent) {
      return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(agent);
    };

    Util.prototype.createEvent = function(event, bubble, cancel, detail) {
      var customEvent;
      if (bubble == null) {
        bubble = false;
      }
      if (cancel == null) {
        cancel = false;
      }
      if (detail == null) {
        detail = null;
      }
      if (document.createEvent != null) {
        customEvent = document.createEvent('CustomEvent');
        customEvent.initCustomEvent(event, bubble, cancel, detail);
      } else if (document.createEventObject != null) {
        customEvent = document.createEventObject();
        customEvent.eventType = event;
      } else {
        customEvent.eventName = event;
      }
      return customEvent;
    };

    Util.prototype.emitEvent = function(elem, event) {
      if (elem.dispatchEvent != null) {
        return elem.dispatchEvent(event);
      } else if (event in (elem != null)) {
        return elem[event]();
      } else if (("on" + event) in (elem != null)) {
        return elem["on" + event]();
      }
    };

    Util.prototype.addEvent = function(elem, event, fn) {
      if (elem.addEventListener != null) {
        return elem.addEventListener(event, fn, false);
      } else if (elem.attachEvent != null) {
        return elem.attachEvent("on" + event, fn);
      } else {
        return elem[event] = fn;
      }
    };

    Util.prototype.removeEvent = function(elem, event, fn) {
      if (elem.removeEventListener != null) {
        return elem.removeEventListener(event, fn, false);
      } else if (elem.detachEvent != null) {
        return elem.detachEvent("on" + event, fn);
      } else {
        return delete elem[event];
      }
    };

    Util.prototype.innerHeight = function() {
      if ('innerHeight' in window) {
        return window.innerHeight;
      } else {
        return document.documentElement.clientHeight;
      }
    };

    return Util;

  })();

  WeakMap = this.WeakMap || this.MozWeakMap || (WeakMap = (function() {
    function WeakMap() {
      this.keys = [];
      this.values = [];
    }

    WeakMap.prototype.get = function(key) {
      var i, item, j, len, ref;
      ref = this.keys;
      for (i = j = 0, len = ref.length; j < len; i = ++j) {
        item = ref[i];
        if (item === key) {
          return this.values[i];
        }
      }
    };

    WeakMap.prototype.set = function(key, value) {
      var i, item, j, len, ref;
      ref = this.keys;
      for (i = j = 0, len = ref.length; j < len; i = ++j) {
        item = ref[i];
        if (item === key) {
          this.values[i] = value;
          return;
        }
      }
      this.keys.push(key);
      return this.values.push(value);
    };

    return WeakMap;

  })());

  MutationObserver = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (MutationObserver = (function() {
    function MutationObserver() {
      if (typeof console !== "undefined" && console !== null) {
        console.warn('MutationObserver is not supported by your browser.');
      }
      if (typeof console !== "undefined" && console !== null) {
        console.warn('WOW.js cannot detect dom mutations, please call .sync() after loading new content.');
      }
    }

    MutationObserver.notSupported = true;

    MutationObserver.prototype.observe = function() {};

    return MutationObserver;

  })());

  getComputedStyle = this.getComputedStyle || function(el, pseudo) {
    this.getPropertyValue = function(prop) {
      var ref;
      if (prop === 'float') {
        prop = 'styleFloat';
      }
      if (getComputedStyleRX.test(prop)) {
        prop.replace(getComputedStyleRX, function(_, _char) {
          return _char.toUpperCase();
        });
      }
      return ((ref = el.currentStyle) != null ? ref[prop] : void 0) || null;
    };
    return this;
  };

  getComputedStyleRX = /(\-([a-z]){1})/g;

  this.WOW = (function() {
    WOW.prototype.defaults = {
      boxClass: 'wow',
      animateClass: 'animated',
      offset: 0,
      mobile: true,
      live: true,
      callback: null
    };

    function WOW(options) {
      if (options == null) {
        options = {};
      }
      this.scrollCallback = bind(this.scrollCallback, this);
      this.scrollHandler = bind(this.scrollHandler, this);
      this.resetAnimation = bind(this.resetAnimation, this);
      this.start = bind(this.start, this);
      this.scrolled = true;
      this.config = this.util().extend(options, this.defaults);
      this.animationNameCache = new WeakMap();
      this.wowEvent = this.util().createEvent(this.config.boxClass);
    }

    WOW.prototype.init = function() {
      var ref;
      this.element = window.document.documentElement;
      if ((ref = document.readyState) === "interactive" || ref === "complete") {
        this.start();
      } else {
        this.util().addEvent(document, 'DOMContentLoaded', this.start);
      }
      return this.finished = [];
    };

    WOW.prototype.start = function() {
      var box, j, len, ref;
      this.stopped = false;
      this.boxes = (function() {
        var j, len, ref, results;
        ref = this.element.querySelectorAll("." + this.config.boxClass);
        results = [];
        for (j = 0, len = ref.length; j < len; j++) {
          box = ref[j];
          results.push(box);
        }
        return results;
      }).call(this);
      this.all = (function() {
        var j, len, ref, results;
        ref = this.boxes;
        results = [];
        for (j = 0, len = ref.length; j < len; j++) {
          box = ref[j];
          results.push(box);
        }
        return results;
      }).call(this);
      if (this.boxes.length) {
        if (this.disabled()) {
          this.resetStyle();
        } else {
          ref = this.boxes;
          for (j = 0, len = ref.length; j < len; j++) {
            box = ref[j];
            this.applyStyle(box, true);
          }
        }
      }
      if (!this.disabled()) {
        this.util().addEvent(window, 'scroll', this.scrollHandler);
        this.util().addEvent(window, 'resize', this.scrollHandler);
        this.interval = setInterval(this.scrollCallback, 50);
      }
      if (this.config.live) {
        return new MutationObserver((function(_this) {
          return function(records) {
            var k, len1, node, record, results;
            results = [];
            for (k = 0, len1 = records.length; k < len1; k++) {
              record = records[k];
              results.push((function() {
                var l, len2, ref1, results1;
                ref1 = record.addedNodes || [];
                results1 = [];
                for (l = 0, len2 = ref1.length; l < len2; l++) {
                  node = ref1[l];
                  results1.push(this.doSync(node));
                }
                return results1;
              }).call(_this));
            }
            return results;
          };
        })(this)).observe(document.body, {
          childList: true,
          subtree: true
        });
      }
    };

    WOW.prototype.stop = function() {
      this.stopped = true;
      this.util().removeEvent(window, 'scroll', this.scrollHandler);
      this.util().removeEvent(window, 'resize', this.scrollHandler);
      if (this.interval != null) {
        return clearInterval(this.interval);
      }
    };

    WOW.prototype.sync = function(element) {
      if (MutationObserver.notSupported) {
        return this.doSync(this.element);
      }
    };

    WOW.prototype.doSync = function(element) {
      var box, j, len, ref, results;
      if (element == null) {
        element = this.element;
      }
      if (element.nodeType !== 1) {
        return;
      }
      element = element.parentNode || element;
      ref = element.querySelectorAll("." + this.config.boxClass);
      results = [];
      for (j = 0, len = ref.length; j < len; j++) {
        box = ref[j];
        if (indexOf.call(this.all, box) < 0) {
          this.boxes.push(box);
          this.all.push(box);
          if (this.stopped || this.disabled()) {
            this.resetStyle();
          } else {
            this.applyStyle(box, true);
          }
          results.push(this.scrolled = true);
        } else {
          results.push(void 0);
        }
      }
      return results;
    };

    WOW.prototype.show = function(box) {
      this.applyStyle(box);
      box.className = box.className + " " + this.config.animateClass;
      if (this.config.callback != null) {
        this.config.callback(box);
      }
      this.util().emitEvent(box, this.wowEvent);
      this.util().addEvent(box, 'animationend', this.resetAnimation);
      this.util().addEvent(box, 'oanimationend', this.resetAnimation);
      this.util().addEvent(box, 'webkitAnimationEnd', this.resetAnimation);
      this.util().addEvent(box, 'MSAnimationEnd', this.resetAnimation);
      return box;
    };

    WOW.prototype.applyStyle = function(box, hidden) {
      var delay, duration, iteration;
      duration = box.getAttribute('data-wow-duration');
      delay = box.getAttribute('data-wow-delay');
      iteration = box.getAttribute('data-wow-iteration');
      return this.animate((function(_this) {
        return function() {
          return _this.customStyle(box, hidden, duration, delay, iteration);
        };
      })(this));
    };

    WOW.prototype.animate = (function() {
      if ('requestAnimationFrame' in window) {
        return function(callback) {
          return window.requestAnimationFrame(callback);
        };
      } else {
        return function(callback) {
          return callback();
        };
      }
    })();

    WOW.prototype.resetStyle = function() {
      var box, j, len, ref, results;
      ref = this.boxes;
      results = [];
      for (j = 0, len = ref.length; j < len; j++) {
        box = ref[j];
        results.push(box.style.visibility = 'visible');
      }
      return results;
    };

    WOW.prototype.resetAnimation = function(event) {
      var target;
      if (event.type.toLowerCase().indexOf('animationend') >= 0) {
        target = event.target || event.srcElement;
        return target.className = target.className.replace(this.config.animateClass, '').trim();
      }
    };

    WOW.prototype.customStyle = function(box, hidden, duration, delay, iteration) {
      if (hidden) {
        this.cacheAnimationName(box);
      }
      box.style.visibility = hidden ? 'hidden' : 'visible';
      if (duration) {
        this.vendorSet(box.style, {
          animationDuration: duration
        });
      }
      if (delay) {
        this.vendorSet(box.style, {
          animationDelay: delay
        });
      }
      if (iteration) {
        this.vendorSet(box.style, {
          animationIterationCount: iteration
        });
      }
      this.vendorSet(box.style, {
        animationName: hidden ? 'none' : this.cachedAnimationName(box)
      });
      return box;
    };

    WOW.prototype.vendors = ["moz", "webkit"];

    WOW.prototype.vendorSet = function(elem, properties) {
      var name, results, value, vendor;
      results = [];
      for (name in properties) {
        value = properties[name];
        elem["" + name] = value;
        results.push((function() {
          var j, len, ref, results1;
          ref = this.vendors;
          results1 = [];
          for (j = 0, len = ref.length; j < len; j++) {
            vendor = ref[j];
            results1.push(elem["" + vendor + (name.charAt(0).toUpperCase()) + (name.substr(1))] = value);
          }
          return results1;
        }).call(this));
      }
      return results;
    };

    WOW.prototype.vendorCSS = function(elem, property) {
      var j, len, ref, result, style, vendor;
      style = getComputedStyle(elem);
      result = style.getPropertyCSSValue(property);
      ref = this.vendors;
      for (j = 0, len = ref.length; j < len; j++) {
        vendor = ref[j];
        result = result || style.getPropertyCSSValue("-" + vendor + "-" + property);
      }
      return result;
    };

    WOW.prototype.animationName = function(box) {
      var animationName;
      try {
        animationName = this.vendorCSS(box, 'animation-name').cssText;
      } catch (_error) {
        animationName = getComputedStyle(box).getPropertyValue('animation-name');
      }
      if (animationName === 'none') {
        return '';
      } else {
        return animationName;
      }
    };

    WOW.prototype.cacheAnimationName = function(box) {
      return this.animationNameCache.set(box, this.animationName(box));
    };

    WOW.prototype.cachedAnimationName = function(box) {
      return this.animationNameCache.get(box);
    };

    WOW.prototype.scrollHandler = function() {
      return this.scrolled = true;
    };

    WOW.prototype.scrollCallback = function() {
      var box;
      if (this.scrolled) {
        this.scrolled = false;
        this.boxes = (function() {
          var j, len, ref, results;
          ref = this.boxes;
          results = [];
          for (j = 0, len = ref.length; j < len; j++) {
            box = ref[j];
            if (!(box)) {
              continue;
            }
            if (this.isVisible(box)) {
              this.show(box);
              continue;
            }
            results.push(box);
          }
          return results;
        }).call(this);
        if (!(this.boxes.length || this.config.live)) {
          return this.stop();
        }
      }
    };

    WOW.prototype.offsetTop = function(element) {
      var top;
      while (element.offsetTop === void 0) {
        element = element.parentNode;
      }
      top = element.offsetTop;
      while (element = element.offsetParent) {
        top += element.offsetTop;
      }
      return top;
    };

    WOW.prototype.isVisible = function(box) {
      var bottom, offset, top, viewBottom, viewTop;
      offset = box.getAttribute('data-wow-offset') || this.config.offset;
      viewTop = window.pageYOffset;
      viewBottom = viewTop + Math.min(this.element.clientHeight, this.util().innerHeight()) - offset;
      top = this.offsetTop(box);
      bottom = top + box.clientHeight;
      return top <= viewBottom && bottom >= viewTop;
    };

    WOW.prototype.util = function() {
      return this._util != null ? this._util : this._util = new Util();
    };

    WOW.prototype.disabled = function() {
      return !this.config.mobile && this.util().isMobile(navigator.userAgent);
    };

    return WOW;

  })();

}).call(this);