// accordion-js library at https://github.com/michu2k/Accordion#readme
// Read ojs-accordion(-min).js in lib folder
Accordion=function e(t,n){var s=this,i=this,r=!1;if(Array.isArray(t))return!!t.length&&t.map((function(t){return new e(t,n)}));var o={init:function(){this.options=Object.assign({duration:600,ariaEnabled:!0,collapse:!0,showMultiple:!1,onlyChildNodes:!0,openOnInit:[],elementClass:"ac",triggerClass:"ac-trigger",panelClass:"ac-panel",activeClass:"is-active",beforeOpen:function(){},onOpen:function(){},beforeClose:function(){},onClose:function(){}},n);var e="string"==typeof t;this.container=e?document.querySelector(t):t,this.createDefinitions(),i.attachEvents()},createDefinitions:function(){var e=this,t=this.options,n=t.elementClass,s=t.openOnInit,i=t.onlyChildNodes?this.container.childNodes:this.container.querySelectorAll(c(n));this.elements=Array.from(i).filter((function(e){return e.classList&&e.classList.contains(n)})),this.firstElement=this.elements[0],this.lastElement=this.elements[this.elements.length-1],this.elements.filter((function(e){return!e.classList.contains("js-enabled")})).forEach((function(t){t.classList.add("js-enabled"),e.generateIDs(t),e.setARIA(t),e.setTransition(t);var n=e.elements.indexOf(t);mutable uniqueId++,s.includes(n)?e.showElement(t,!1):e.closeElement(t,!1)}))},setTransition:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.options,s=n.duration,i=n.panelClass,r=e.querySelector(c(i)),o=a("transitionDuration");r.style[o]=t?null:"".concat(s,"ms")},generateIDs:function(e){var t=this.options,n=t.triggerClass,s=t.panelClass,i=e.querySelector(c(n)),r=e.querySelector(c(s));e.setAttribute("id",e.id||"ac-".concat(mutable uniqueId)),i&&i.setAttribute("id",i.id||"ac-trigger-".concat(mutable uniqueId)),r&&r.setAttribute("id",r.id||"ac-panel-".concat(mutable uniqueId))},removeIDs:function(e){var t=this.options,n=t.triggerClass,s=t.panelClass,i=e.querySelector(c(n)),r=e.querySelector(c(s));e.id.startsWith("ac-")&&e.removeAttribute("id"),i.id.startsWith("ac-")&&i.removeAttribute("id"),r.id.startsWith("ac-")&&r.removeAttribute("id")},setARIA:function(e){var t=this.options,n=t.ariaEnabled,s=t.triggerClass,i=t.panelClass;if(n){var r=e.querySelector(c(s)),o=e.querySelector(c(i));r.setAttribute("role","button"),r.setAttribute("aria-controls",o.id),r.setAttribute("aria-disabled",!1),r.setAttribute("aria-expanded",!1),o.setAttribute("role","region"),o.setAttribute("aria-labelledby",r.id)}},updateARIA:function(e,t){var n=t.ariaExpanded,s=t.ariaDisabled,i=this.options,r=i.ariaEnabled,o=i.triggerClass;if(r){var a=e.querySelector(c(o));a.setAttribute("aria-expanded",n),a.setAttribute("aria-disabled",s)}},removeARIA:function(e){var t=this.options,n=t.ariaEnabled,s=t.triggerClass,i=t.panelClass;if(n){var r=e.querySelector(c(s)),o=e.querySelector(c(i));r.removeAttribute("role"),r.removeAttribute("aria-controls"),r.removeAttribute("aria-disabled"),r.removeAttribute("aria-expanded"),o.removeAttribute("role"),o.removeAttribute("aria-labelledby")}},focus:function(e,t){e.preventDefault();var n=this.options.triggerClass;t.querySelector(c(n)).focus()},focusFirstElement:function(e){this.focus(e,this.firstElement),this.currFocusedIdx=0},focusLastElement:function(e){this.focus(e,this.lastElement),this.currFocusedIdx=this.elements.length-1},focusNextElement:function(e){var t=this.currFocusedIdx+1;if(t>this.elements.length-1)return this.focusFirstElement(e);this.focus(e,this.elements[t]),this.currFocusedIdx=t},focusPrevElement:function(e){var t=this.currFocusedIdx-1;if(t<0)return this.focusLastElement(e);this.focus(e,this.elements[t]),this.currFocusedIdx=t},showElement:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.options,s=n.panelClass,i=n.activeClass,r=n.collapse,o=n.beforeOpen;t&&o(e);var a=e.querySelector(c(s)),l=a.scrollHeight;e.classList.add(i),requestAnimationFrame((function(){requestAnimationFrame((function(){a.style.height=t?"".concat(l,"px"):"auto"}))})),this.updateARIA(e,{ariaExpanded:!0,ariaDisabled:!r})},closeElement:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.options,s=n.panelClass,i=n.activeClass,r=n.beforeClose,o=e.querySelector(c(s)),a=o.scrollHeight;e.classList.remove(i),t?(r(e),requestAnimationFrame((function(){o.style.height="".concat(a,"px"),requestAnimationFrame((function(){o.style.height=0}))}))):o.style.height=0,this.updateARIA(e,{ariaExpanded:!1,ariaDisabled:!1})},toggleElement:function(e){var t=this.options,n=t.activeClass,s=t.collapse,i=e.classList.contains(n);if(!i||s)return i?this.closeElement(e):this.showElement(e)},closeElements:function(){var e=this,t=this.options,n=t.activeClass;t.showMultiple||this.elements.forEach((function(t,s){t.classList.contains(n)&&s!==e.currFocusedIdx&&e.closeElement(t)}))},handleClick:function(e){var t=this,n=e.currentTarget;this.elements.forEach((function(s,i){s.contains(n)&&"A"!==e.target.nodeName&&(t.currFocusedIdx=i,t.closeElements(),t.focus(e,s),t.toggleElement(s))}))},handleKeydown:function(e){switch(e.key){case"ArrowUp":return this.focusPrevElement(e);case"ArrowDown":return this.focusNextElement(e);case"Home":return this.focusFirstElement(e);case"End":return this.focusLastElement(e);default:return null}},handleFocus:function(e){var t=e.currentTarget,n=this.elements.find((function(e){return e.contains(t)}));this.currFocusedIdx=this.elements.indexOf(n)},handleTransitionEnd:function(e){if(e.stopPropagation(),"height"===e.propertyName){var t=this.options,n=t.onOpen,s=t.onClose,i=e.currentTarget,r=parseInt(i.style.height),o=this.elements.find((function(e){return e.contains(i)}));r>0?(i.style.height="auto",n(o)):s(o)}}};this.attachEvents=function(){if(!r){var e=o.options,t=e.triggerClass,n=e.panelClass;o.handleClick=o.handleClick.bind(o),o.handleKeydown=o.handleKeydown.bind(o),o.handleFocus=o.handleFocus.bind(o),o.handleTransitionEnd=o.handleTransitionEnd.bind(o),o.elements.forEach((function(e){var s=e.querySelector(c(t)),i=e.querySelector(c(n));s.addEventListener("click",o.handleClick),s.addEventListener("keydown",o.handleKeydown),s.addEventListener("focus",o.handleFocus),i.addEventListener("webkitTransitionEnd",o.handleTransitionEnd),i.addEventListener("transitionend",o.handleTransitionEnd)})),r=!0}},this.detachEvents=function(){if(r){var e=o.options,t=e.triggerClass,n=e.panelClass;o.elements.forEach((function(e){var s=e.querySelector(c(t)),i=e.querySelector(c(n));s.removeEventListener("click",o.handleClick),s.removeEventListener("keydown",o.handleKeydown),s.removeEventListener("focus",o.handleFocus),i.removeEventListener("webkitTransitionEnd",o.handleTransitionEnd),i.removeEventListener("transitionend",o.handleTransitionEnd)})),r=!1}},this.toggle=function(e){var t=o.elements[e];t&&o.toggleElement(t)},this.open=function(e){var t=o.elements[e];t&&o.showElement(t)},this.openAll=function(){var e=o.options,t=e.activeClass,n=e.onOpen;o.elements.forEach((function(e){e.classList.contains(t)||(o.showElement(e,!1),n(e))}))},this.close=function(e){var t=o.elements[e];t&&o.closeElement(t)},this.closeAll=function(){var e=o.options,t=e.activeClass,n=e.onClose;o.elements.forEach((function(e){e.classList.contains(t)&&(o.closeElement(e,!1),n(e))}))},this.destroy=function(){s.detachEvents(),s.openAll(),o.elements.forEach((function(e){o.removeIDs(e),o.removeARIA(e),o.setTransition(e,!0)})),r=!0},this.update=function(){o.createDefinitions(),s.detachEvents(),s.attachEvents()};var a=function(e){return"string"==typeof document.documentElement.style[e]?e:(e=l(e),e="webkit".concat(e))},l=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},c=function(e){return".".concat(CSS.escape(e))};o.init()};