{"version":3,"sources":["_config.js","_plugins.js","blog-logic.js","community-photos.js","location-search.js","icon-banner-pagination.js","hbt-main.js"],"names":["tablet_break","max_wrap","bank_name","method","noop","methods","length","console","window","n","t","scrolling","vExtend","a","b","key","hasOwnProperty","documentReady","fn","document","readyState","addEventListener","attachEvent","isVisible","el","offsetWidth","offsetHeight","getClientRects","getParents","parentSelector","undefined","parents","p","parentNode","o","push","getParentElementWithTag","tag","parentElement","currentElement","tagName","toUpperCase","parent","getParentElementWithClass","className","classList","contains","isTablockChild","isAnchorLink","isAnchor","hasAttribute","getAttribute","indexOf","vScrollTo","to","duration","callbackFunction","element","scrollingElement","documentElement","start","scrollTop","change","startTs","performance","now","requestAnimationFrame","animateScroll","ts","currentTime","parseInt","c","d","easeInOutQuad","vOuterHeight","height","style","currentStyle","getComputedStyle","marginTop","marginBottom","vSlideUp","target","transitionProperty","transitionDuration","boxSizing","overflow","paddingTop","paddingBottom","setTimeout","display","removeProperty","vSlideDown","displayValue","vSlideToggle","vFadeOut","opacity","fade","vFadeIn","val","parseFloat","vShow","vHide","focusFirst","selectableElements","querySelectorAll","selected","i","focus","focusLast","getFirstSelectableElement","firstElement","tabIndex","getLastSelectableElement","lastElement","speedbump","options","settings","header","message","button_cancel","button_ok","id","confirm_function","cancel_function","ok_link","window_target","clickedElement","speedbumpCode","createElement","add","setAttribute","innerHTML","body","appendChild","currentSpeedbump","querySelector","spb","currentSpeedbumpInner","currentOKButton","currentCancelbutton","event","remove","removeAttribute","windowHeight","pageYOffset","top","getElementsByTagName","position","isCurrentDomain","split","e","f","location","href","r","enumerable","configurable","writable","Object","defineProperty","Jt","prototype","SV","HoverIntent","elements","userConfig","defaultOptions","exitDelay","interval","sensitivity","currX","currY","prevX","prevY","allElems","pollTimer","exitTimer","config","mouseTrack","ev","pageX","pageY","mouseCompare","targetElem","distX","distY","Math","sqrt","clearTimeout","elem","isActive","onExit","onEnter","defaults","userArgs","extend","init","setInterval","jumpNavAnchors","jumpNavAnchorParents","sp","getBoundingClientRect","j","matches","preventDefault","linkboxElement","theLinkElement","theLinkURL","open","onmouseover","la","onmouseout","activeElement","shift","shiftKey","tablockContainer","firstContainerElement","lastContainerElement","cnt","dispatchEvent","Event","log","this","v","CREATED","MOUNTED","IDLE","MOVING","SCROLLING","DRAGGING","DESTROYED","D","Array","slice","call","R","bind","apply","concat","arguments","on","h","u","un","isArray","x","C","en","m","ownerDocument","defaultView","HTMLElement","y","g","forEach","k","A","M","L","O","insertBefore","cn","msMatchesSelector","S","children","filter","firstElementChild","E","keys","w","reverse","an","sn","P","I","String","_","ln","dn","setActive","preventScroll","z","vn","N","T","removeChild","hn","DOMParser","parseFromString","F","stopPropagation","stopImmediatePropagation","pn","gn","X","mn","timeStamp","W","yn","bn","Error","Y","min","wn","max","xn","floor","kn","ceil","U","abs","Sn","En","q","Ln","On","replace","An","_n","zn","removeEventListener","removeListener","addListener","unbind","dispatch","CustomEvent","bubbles","detail","createEvent","initCustomEvent","destroy","B","H","Dn","Mn","J","K","jn","Nn","Tn","V","Gn","Fn","Xn","Wn","Q","bus","createDocumentFragment","join","off","emit","qn","Date","s","l","cancelAnimationFrame","rewind","pause","cancel","set","isPaused","Bn","Hn","Jn","width","left","right","ArrowLeft","ArrowRight","Z","$","Kn","Vn","Qn","nn","Zn","$n","nt","tt","it","rt","ot","ut","et","ct","ft","at","st","lt","dt","vt","ht","pt","gt","mt","yt","bt","wt","tn","xt","kt","St","Et","Lt","Ot","At","_t","zt","Dt","Mt","Pt","It","Ct","jt","passive","capture","Nt","Spacebar","Right","Left","Up","Down","Tt","Gt","Ft","Xt","Wt","Yt","Ut","freeze","__proto__","Media","state","breakpoints","reducedMotion","matchMedia","is","direction","reduce","mount","refresh","getPrototypeOf","setup","mediaQuery","sort","Direction","resolve","toLowerCase","charAt","orient","Elements","root","i18n","arrows","pagination","prev","next","bar","toggle","track","list","slides","role","carousel","label","labelledby","closest","nodeType","type","drag","isNavigation","Slides","Components","updateOnMove","slideFocus","splides","map","splide","getAt","slide","slideX","index","focusableNodes","cloneStatus","slideIndex","container","isClone","slideLabel","update","isWithin","Rt","register","get","getIn","Controller","toIndex","hasFocus","perPage","classes","getLength","isEnough","Layout","gap","autoWidth","fixedWidth","fixedHeight","autoHeight","padding","heightRatio","resize","listSize","slideSize","sliderSize","totalSize","getPadding","isOverflow","Clones","cloneNode","clone","clones","Move","isBusy","Scroll","getEnd","trimSpace","Transition","move","jump","translate","toPosition","getPosition","getLimit","exceededLimit","reposition","omitEnd","perMove","waitForTransition","go","match","scroll","getNext","getPrev","getAdjacent","setIndex","getIndex","toPage","toDest","Arrows","arrow","arrowPath","last","first","disabled","Autoplay","autoplay","resetProgress","pauseOnHover","pauseOnFocus","play","Cover","src","cover","easingFunc","pow","Drag","noDrag","button","cancelable","dragMinThreshold","mouse","touch","flickPower","flickMaxPages","rewindByDrag","snap","changedTouches","TouchEvent","disable","isDragging","Keyboard","keyboard","LazyLoad","lazyLoad","srcset","spinner","preloadPages","check","Pagination","paginationDirection","items","select","class","page","paginationKeyboard","li","Sync","isParent","remount","Wheel","deltaY","wheelMinThreshold","wheelSleep","releaseWheel","wheel","Live","live","textContent","qt","speed","easing","rewindSpeed","Bt","Ht","useScroll","JSON","parse","create","sync","STATES","exports","module","define","amd","globalThis","self","Splide","offBy","rn","autoStart","Extensions","AutoScroll","autoScroll","G","EvEmitter","_events","once","_onceEvents","splice","emitEvent","require","imagesLoaded","getImages","jqDeferred","Deferred","img","url","Image","jQuery","images","addElementImages","nodeName","addImage","background","addElementBackgroundImages","exec","backgroundImage","addBackground","progress","progressedCount","hasAnyBroken","complete","isLoaded","notify","debug","isComplete","getIsImageComplete","confirm","naturalWidth","proxyImage","handleEvent","onload","unbindEvents","onerror","makeJQueryPlugin","promise","filterCommunityPhotos","cat","linkShare","navigator","clipboard","writeText","communityPhotos","photos","limit","count","amountOfImages","handleTransitionEnd","btns","dataset","currentFilter","Number","locationSearchForm","initialize","inp","value","address","google","maps","Geocoder","geocode","async","results","status","GeocoderStatus","OK","coords","geometry","addressLat","lat","addressLon","lng","loc","trim","lon","dist","distance","branchLocations","atmLocations","branchArray","atmArray","resultsDiv","branchResult","atmResult","innerText","nextElementSibling","append","fetchAndSortDistances","addressInput","script","lat1","lon1","lat2","lon2","radlat1","PI","radlat2","theta","radtheta","sin","cos","acos","title","iconBanner","paginateIcons","addMore","icons","moreButton","icon","visibility","shareLink","bell","dropItems","mainNav","navButtons","instance","targetItem","innerWidth","closeLogin","closeSearch","offsetLeft","setProperty","indexInParent","node","childNodes","num","menuHover","outInterval","mel","clearInterval","rates","prods","allProds","btn","pd","prod","getCookie","name","parts","cookie","pop","item","hashElement","hash","click","rate","scrollTo","scrollIntoView","behavior","trs","headers","tds","cook","gridTemplateColumns","mobileSplide","blogSplide","blogSplideHorizontal","blogSplideMobile","scrollObserver","IntersectionObserver","entries","entry","isIntersecting","animateCountUp","timer","innerHeight","threshold","underlineObserver","scrolls","underlineAnimations","openSearch","search","searchBox","innerWidget","openMenu","closeMenu","openLogin","txt","closeAllMenus","menu","observe","vid","content","dropButton","videoTitle","videoGUID","vidBuild","substring","vidModal","div","getElementById","xhr","XMLHttpRequest","send","responseText","alerts","alert","base","ths","eq","updateDots","col","mobileButtonDisplay","compareTable","tabs","tab","moveSlideTrack","filt","ptabs","activeEl","slideEl","tabHeader","rand","random","slideTrack","tabBtns","vids","myVid","controls","history","HISTORY_SUPPORT","pushState","anchorScrolls","ANCHOR_REGEX","OFFSET_HEIGHT_PX","scrollToCurrent","delegateAnchors","getFixedOffset","scrollIfAnchor","pushToHistory","rect","anchorOffset","test","pageXOffset","pathname","cmp","pageTitle","table","th","cellIndex","td","ids","animationDuration","frameDuration","totalFrames","round","easeOutQuad","frame","money","countTo","counter","currentCount","toString","charts","chart","holder","firstChild","jumpObserver","jp","rootMargin","jumps","scrollLeft","scrollWidth","linkHolder","activeColumn","buttonToMove","jumpLinks","lnk","dot","paginationDots","numCols","sideBarObserver","sideNavs","compareCharts","alignRows","columns","numRows","childElementCount","rowHeight","currentRowHeight","mutObserver","MutationObserver","setCompareSize","mutations","draggable","lastSlide","justifyContent","marginRight","attributes","childList","attributeFilter"],"mappings":"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","file":"scripts.js","sourcesContent":["var tablet_break = 980;\r\nvar max_wrap = 1200;\r\nvar bank_name = \"Heritage Bank & Trust\";\r\n","/********************************************************\r\n** INITIALIZATION CODE\r\n********************************************************/\r\n/*\r\n Any code which should run before everything else\r\n*/\r\n\r\n// Normalize console\r\n(function () {\r\n var method;\r\n var noop = function () { };\r\n var methods = [\r\n 'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',\r\n 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',\r\n 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',\r\n 'timeline', 'timelineEnd', 'timeStamp', 'trace', 'warn'\r\n ];\r\n var length = methods.length;\r\n var console = (window.console = window.console || {});\r\n while (length--) {\r\n method = methods[length];\r\n // Only stub undefined methods.\r\n if (!console[method]) {\r\n console[method] = noop;\r\n }\r\n }\r\n}());\r\n\r\n/*\r\n Set this as the master scroll event to keep a lot of code from firing on scroll.\r\n When you want to execute based on scroll behavior, use:\r\n setInterval(function() {\r\n if(scrolling) {\r\n scrolling = false;\r\n CODE();\r\n }\r\n }, 250);\r\n*/\r\nvar scrolling = false;\r\nwindow.addEventListener('scroll', function () {\r\n scrolling = true;\r\n});\r\n\r\n\r\n/*************************************************\r\n * Hover Intent\r\n * *********************************************/\r\n\r\n// load namespace\r\nSV = window.SV || {};\r\n\r\nSV.HoverIntent = (function () {\r\n\r\n // constructor\r\n return function (elements, userConfig) {\r\n\r\n // private members\r\n\r\n const defaultOptions = {\r\n exitDelay: 400,\r\n interval: 100,\r\n sensitivity: 7,\r\n };\r\n let config = {};\r\n\r\n let currX, currY, prevX, prevY;\r\n let allElems, pollTimer, exitTimer;\r\n\r\n // private methods\r\n\r\n // override default options with user config\r\n const extend = function (defaults, userArgs) {\r\n for (let i in userArgs) {\r\n defaults[i] = userArgs[i];\r\n }\r\n\r\n return defaults;\r\n };\r\n\r\n // update mouse position\r\n const mouseTrack = function (ev) {\r\n currX = ev.pageX;\r\n currY = ev.pageY;\r\n };\r\n\r\n // check if mouse movement has slowed enough to trigger active state\r\n const mouseCompare = function (targetElem) {\r\n const distX = prevX - currX, distY = prevY - currY;\r\n const distance = Math.sqrt(distX * distX + distY * distY);\r\n\r\n if (distance < config.sensitivity) {\r\n // if we re-entered an element, cancel delayed exit and clear any active elements immediately\r\n clearTimeout(exitTimer);\r\n for (let elem of allElems) {\r\n if (elem.isActive) {\r\n config.onExit(elem);\r\n elem.isActive = false;\r\n }\r\n }\r\n\r\n // trigger hover\r\n config.onEnter(targetElem);\r\n targetElem.isActive = true;\r\n } else {\r\n // update previous coordinates and try again later\r\n prevX = currX;\r\n prevY = currY;\r\n pollTimer = setTimeout(function () {\r\n mouseCompare(targetElem);\r\n }, config.interval);\r\n }\r\n };\r\n\r\n const init = function (elements, userConfig) {\r\n if (!userConfig || !userConfig.onEnter || !userConfig.onExit) {\r\n throw 'onEnter and onExit callbacks must be provided';\r\n }\r\n config = extend(defaultOptions, userConfig);\r\n allElems = elements;\r\n\r\n for (let elem of allElems) {\r\n // holds current element state\r\n elem.isActive = false;\r\n // keeps track of mouse position\r\n elem.addEventListener('mousemove', mouseTrack);\r\n\r\n elem.addEventListener('mouseenter', function (ev) {\r\n // set initial entry position\r\n prevX = ev.pageX;\r\n prevY = ev.pageY;\r\n // if this element is already active, cancel exit\r\n if (elem.isActive) {\r\n clearTimeout(exitTimer);\r\n return;\r\n }\r\n\r\n // while mouse is over this element, check distance every 100ms\r\n pollTimer = setTimeout(function () {\r\n mouseCompare(elem);\r\n }, config.interval);\r\n });\r\n elem.addEventListener('mouseleave', function (ev) {\r\n clearTimeout(pollTimer);\r\n if (!elem.isActive)\r\n return;\r\n\r\n exitTimer = setTimeout(function () {\r\n config.onExit(elem);\r\n elem.isActive = false;\r\n }, config.exitDelay);\r\n });\r\n }\r\n };\r\n\r\n init(elements, userConfig);\r\n };\r\n\r\n})();\r\n\r\n\r\n/********************************************************\r\n** HELPER FUNCTIONS\r\n********************************************************/\r\n/*\r\n Any functions that have a jQuery equivalent I have tried to prefix with 'v' for vanilla.\r\n*/\r\n\r\n// Takes array 'a' and array 'b'\r\n// Iterates through 'b' and either replaces missing values from 'a' to 'b' or replaces default values in 'a' with the value provided in 'b'\r\n// This function is intedned to mimic the jQuery funtion \"extend\"\r\nfunction vExtend(a, b) {\r\n for (var key in b) {\r\n if (b.hasOwnProperty(key)) {\r\n a[key] = b[key];\r\n }\r\n }\r\n return a;\r\n}\r\n\r\n// Takes a function 'fn'\r\n// Executes 'fn' once the DOM has loaded (but before all assets finish loading)\r\nfunction documentReady(fn) {\r\n if (document.readyState != 'loading') {\r\n fn();\r\n } else if (document.addEventListener) {\r\n document.addEventListener('DOMContentLoaded', fn);\r\n } else {\r\n document.attachEvent('onreadystatechange', function () {\r\n if (document.readyState != 'loading') {\r\n fn();\r\n }\r\n });\r\n }\r\n}\r\n\r\n// Takes an element 'el'\r\n// Return true if an element is visisble and false if it is not\r\nfunction isVisible(el) {\r\n return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\r\n}\r\n\r\n// Takes an element 'el' and an optional selector 'parentSelector'\r\n// Returns an array of parent elements of 'el', up to either document root or 'parentSelector' if it is provided\r\nfunction getParents(el, parentSelector) {\r\n if (parentSelector === undefined) {\r\n parentSelector = document;\r\n }\r\n var parents = [];\r\n var p = el.parentNode;\r\n while (p !== parentSelector && p !== null) {\r\n var o = p;\r\n parents.push(o);\r\n p = o.parentNode;\r\n }\r\n parents.push(parentSelector);\r\n return parents;\r\n}\r\n\r\n// Takes an element 'el' and string 'tag'\r\n// Returns an element that is a parent of 'el' and has the tagName property matching 'tag' or null if no such parent is found\r\n// Please be aware that in javascript, the tagname property is often formatted as all uppercase, so matching div means tag should = DIV\r\nfunction getParentElementWithTag(el, tag) {\r\n if (el.parentElement !== null) {\r\n var currentElement = el;\r\n while (currentElement.tagName !== tag.toUpperCase() && currentElement.parentElement !== null) {\r\n var objectPlaceholder = currentElement;\r\n currentElement = objectPlaceholder.parentElement;\r\n }\r\n if (currentElement.tagName !== tag.toUpperCase()) {\r\n currentElement = null;\r\n }\r\n return parent;\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n// Takes an element 'el'\r\n// Returns an element that is either 'el' or a parent of 'el' and has the passed class, or null if nothing is found\r\nfunction getParentElementWithClass(el, className) {\r\n if (el !== null) {\r\n var currentElement = el;\r\n while (!currentElement.classList.contains(className) && currentElement.parentElement !== null) {\r\n var objectPlaceholder = currentElement;\r\n currentElement = objectPlaceholder.parentElement;\r\n }\r\n if (!currentElement.classList.contains(className)) {\r\n currentElement = null;\r\n }\r\n return currentElement;\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n// Takes an element 'el'\r\n// Returns an true if one of the parents of 'el' has the class tablock or false if not\r\nfunction isTablockChild(el) {\r\n if (el.parentElement !== null) {\r\n var parent = el.parentElement;\r\n while (!parent.classList.contains(\"tablock\") && parent.parentElement !== null) {\r\n var parentObject = parent;\r\n parent = parentObject.parentElement;\r\n }\r\n if (!parent.classList.contains(\"linkbox\")) {\r\n parent = true;\r\n } else {\r\n parent = false;\r\n }\r\n return parent;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\n// Takes an element 'el'\r\n// Returns true or false based on the presence of # in the href attribute of 'el'\r\nfunction isAnchorLink(el) {\r\n isAnchor = false;\r\n if (el.tagName === \"A\" && el.hasAttribute(\"href\") && el.getAttribute(\"href\").indexOf(\"#\") > -1) {\r\n isAnchor = true;\r\n }\r\n return isAnchor;\r\n}\r\n\r\n// Takes target element 'to', number 'duration', and optional function 'callbackFunction'\r\n// Animates the windows to scroll down to 'to' at speed of 'duration'\r\n// If 'callbackFunction' is defined, executes this function when the animation is complete\r\nfunction vScrollTo(to, duration, callbackFunction) {\r\n var element = document.scrollingElement || document.documentElement,\r\n start = element.scrollTop,\r\n change = to - start,\r\n startTs = performance.now();\r\n // t = current time\r\n // b = start value\r\n // c = change in value\r\n // d = duration\r\n function easeInOutQuad(t, b, c, d) {\r\n t /= d / 2;\r\n if (t < 1) return c / 2 * t * t + b;\r\n t--;\r\n return -c / 2 * (t * (t - 2) - 1) + b;\r\n }\r\n function animateScroll(ts) {\r\n var currentTime = ts - startTs;\r\n element.scrollTop = parseInt(easeInOutQuad(currentTime, start, change, duration));\r\n if (currentTime < duration) {\r\n requestAnimationFrame(animateScroll);\r\n } else {\r\n element.scrollTop = to;\r\n if (callbackFunction !== undefined) {\r\n callbackFunction();\r\n }\r\n }\r\n }\r\n requestAnimationFrame(animateScroll);\r\n};\r\n\r\n// Takes element 'el' and returns the height, inlcluding padding and margins, or 'el'\r\nfunction vOuterHeight(el) {\r\n var height = el.offsetHeight;\r\n var style = el.currentStyle || getComputedStyle(el);\r\n height += parseInt(style.marginTop) + parseInt(style.marginBottom);\r\n return height;\r\n}\r\n\r\n// Takes element 'el', optional number 'duration', and optional function 'callbackFunction'\r\n// Slides 'el' open at the speed of 'duration'\r\n// If 'duration' is not provided, uses 500 as the default speed\r\n// If 'callbackFunction' is defined, executes this function when the slide animation is complete\r\nfunction vSlideUp(target, duration, callbackFunction) {\r\n if (duration === undefined) {\r\n duration = 500;\r\n }\r\n target.style.transitionProperty = 'height, margin, padding';\r\n target.style.transitionDuration = duration + 'ms';\r\n target.style.boxSizing = 'border-box';\r\n target.style.height = target.offsetHeight + 'px';\r\n target.offsetHeight;\r\n target.style.overflow = 'hidden';\r\n target.style.height = 0;\r\n target.style.paddingTop = 0;\r\n target.style.paddingBottom = 0;\r\n target.style.marginTop = 0;\r\n target.style.marginBottom = 0;\r\n window.setTimeout(function () {\r\n target.style.display = 'none';\r\n target.style.removeProperty('height');\r\n target.style.removeProperty('padding-top');\r\n target.style.removeProperty('padding-bottom');\r\n target.style.removeProperty('margin-top');\r\n target.style.removeProperty('margin-bottom');\r\n target.style.removeProperty('overflow');\r\n target.style.removeProperty('transition-duration');\r\n target.style.removeProperty('transition-property');\r\n if (callbackFunction !== undefined) {\r\n callbackFunction();\r\n }\r\n }, duration);\r\n}\r\n\r\n// Takes element 'el', number 'duration', optional string 'display', and optional function 'callbackFunction'\r\n// Slides 'el' open at the speed of 'duration' if 'el' display is set to \"none\"\r\n// If 'duration' is not provided, uses 500 as the default speed\r\n// Will set the CSS property \"display\" of 'el' to 'display' or to \"block\" if 'display' is not set\r\n// If 'callbackFunction' is defined, executes this function when the slide animation is complete\r\nfunction vSlideDown(target, duration, display, callbackFunction) {\r\n if (duration === undefined) {\r\n duration = 500;\r\n }\r\n target.style.removeProperty('display');\r\n var displayValue = window.getComputedStyle(target).display;\r\n if (displayValue === 'none' && display === undefined) {\r\n displayValue = 'block';\r\n } else if (displayValue === 'none') {\r\n displayValue = display;\r\n }\r\n target.style.display = displayValue;\r\n var height = target.offsetHeight;\r\n target.style.overflow = 'hidden';\r\n target.style.height = 0;\r\n target.style.paddingTop = 0;\r\n target.style.paddingBottom = 0;\r\n target.style.marginTop = 0;\r\n target.style.marginBottom = 0;\r\n target.offsetHeight;\r\n target.style.boxSizing = 'border-box';\r\n target.style.transitionProperty = \"height, margin, padding\";\r\n target.style.transitionDuration = duration + 'ms';\r\n target.style.height = height + 'px';\r\n target.style.removeProperty('padding-top');\r\n target.style.removeProperty('padding-bottom');\r\n target.style.removeProperty('margin-top');\r\n target.style.removeProperty('margin-bottom');\r\n window.setTimeout(function () {\r\n target.style.removeProperty('height');\r\n target.style.removeProperty('overflow');\r\n target.style.removeProperty('transition-duration');\r\n target.style.removeProperty('transition-property');\r\n if (callbackFunction !== undefined) {\r\n callbackFunction();\r\n }\r\n }, duration);\r\n}\r\n\r\n// Takes an element 'el' a number 'duration' and a string 'display'\r\n// Slides 'el' open at the speed of 'duration' if 'el' display is set to none\r\n// Slides 'el' closed at the speed of 'duration' if 'el' display is set to anything other than none\r\n// Optional attribute 'display' can be used to set what the CSS display property of 'el' is set to when the slideDOwn animation is complete\r\nfunction vSlideToggle(target, duration, display) {\r\n if (duration === undefined) {\r\n duration = 500;\r\n }\r\n if (window.getComputedStyle(target).display === 'none') {\r\n if (display === undefined) {\r\n return vSlideDown(target, duration);\r\n } else {\r\n return vSlideDown(target, duration, display);\r\n }\r\n } else {\r\n return vSlideUp(target, duration);\r\n }\r\n}\r\n\r\n// Takes an element 'el' and fades 'el' out, and then sets the display CSS property of 'el' to 'none' once the fade animaton is complete\r\nfunction vFadeOut(target) {\r\n target.style.opacity = 1;\r\n (function fade() {\r\n if ((target.style.opacity -= .1) < 0) {\r\n target.style.display = \"none\";\r\n } else {\r\n requestAnimationFrame(fade);\r\n }\r\n })();\r\n};\r\n\r\n// Takes an element 'el' and an optional string 'display' and fades 'el' in, and then sets the display CSS property of 'el' to 'display' once the fade animaton is complete\r\n// Will set CSS display proerty to 'block' as a fallback if none is provided\r\nfunction vFadeIn(el, display) {\r\n el.style.opacity = 0;\r\n el.style.display = display || \"block\";\r\n (function fade() {\r\n var val = parseFloat(el.style.opacity);\r\n if (!((val += .1) > 1)) {\r\n el.style.opacity = val;\r\n requestAnimationFrame(fade);\r\n }\r\n })();\r\n};\r\n\r\n// Takes an element 'el' and an optional string 'display' and sets the display CSS property of 'el' to 'display'\r\n// Will set CSS display proerty to 'block' as a fallback if none is provided\r\nfunction vShow(el, display) {\r\n el.style.display = display || \"block\";\r\n}\r\n\r\n// Takes an element 'el' and sets the display CSS property of 'el' to 'none'\r\nfunction vHide(el) {\r\n el.style.display = \"none\";\r\n}\r\n\r\n// Takes an element 'el' and focuses the first selectable element within it\r\n// Return null if no selectable element is found\r\nfunction focusFirst(el) {\r\n if (el !== null) {\r\n var selectableElements = el.querySelectorAll(\"a, input, textarea, button\");\r\n var selected = false;\r\n for (var i = 0; i < selectableElements.length; i++) {\r\n if (selectableElements[i].style.display !== \"none\" && selected === false) {\r\n selectableElements[i].focus();\r\n selected = true;\r\n }\r\n }\r\n return false;\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n// Takes an element 'el' and focuses the last selectable element within it\r\n// Return null if no selectable element is found\r\nfunction focusLast(el) {\r\n if (el !== null) {\r\n var selectableElements = el.querySelectorAll(\"a, input, textarea, button\");\r\n var selected = false;\r\n for (var i = (selectableElements.length - 1); i > -1; i--) {\r\n if (selectableElements[i].style.display !== \"none\" && selected === false) {\r\n selectableElements[i].focus();\r\n selected = true;\r\n }\r\n }\r\n return false;\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n// Takes an element 'el' and returns the first selectable and visible element within 'el' or null if none is found\r\nfunction getFirstSelectableElement(el) {\r\n var selectableElements = el.querySelectorAll(\"button, a, input, select, textarea\");\r\n var firstElement = null;\r\n if (selectableElements !== null && selectableElements.length) {\r\n for (i = 0; i < selectableElements.length; i++) {\r\n if (selectableElements[i].tabIndex === 0 && selectableElements[i].style.display !== \"none\" && !selectableElements[i].classList.contains(\"visuallyhidden\") && isVisible(selectableElements[i]) && firstElement === null) {\r\n firstElement = selectableElements[i];\r\n }\r\n }\r\n }\r\n return firstElement;\r\n}\r\n\r\n// Takes an element as 'el' returns the last selectable and visible element within 'el' or null if none is found\r\nfunction getLastSelectableElement(el) {\r\n var selectableElements = el.querySelectorAll(\"button, a, input, select, textarea\");\r\n var lastElement = null;\r\n if (selectableElements !== null && selectableElements.length) {\r\n for (i = (selectableElements.length - 1); i > -1; i--) {\r\n if (selectableElements[i].tabIndex === 0 && selectableElements[i].style.display !== \"none\" && !selectableElements[i].classList.contains(\"visuallyhidden\") && isVisible(selectableElements[i]) && lastElement === null) {\r\n lastElement = selectableElements[i];\r\n }\r\n }\r\n }\r\n return lastElement;\r\n}\r\n\r\n\r\n\r\n/********************************************************\r\n** JUMPNAV CONDITIONAL HIGHLIGHTING\r\n********************************************************/\r\n/*\r\n Used to detect when the target of a jumplink scrolls into view so we can format those items as the currently displayed area\r\n*/\r\nsetInterval(function () {\r\n if (scrolling) {\r\n scrolling = false;\r\n var jumpNavAnchors = document.querySelectorAll(\".jump-nav a\");\r\n var jumpNavAnchorParents = document.querySelectorAll(\".jump-nav li\");\r\n if (jumpNavAnchors !== null && jumpNavAnchors.length && jumpNavAnchorParents !== null && jumpNavAnchorParents.length) {\r\n for (i = 0; i < jumpNavAnchors.length; i++) {\r\n var sp = jumpNavAnchors[i].getAttribute(\"href\").split(\"#\");\r\n if (document.querySelector(\"[data-jn='\" + sp[1] + \"']\").length && document.querySelector(\"[data-jn='\" + sp[1] + \"']\").getBoundingClientRect().top - 100 < window.pageYOffset) {\r\n for (j = 0; j < jumpNavAnchorParents.length; j++) {\r\n jumpNavAnchorParents[i].classList.remove(\"current\");\r\n }\r\n jumpNavAnchors[i].parentElement.classList.add(\"current\");\r\n }\r\n }\r\n }\r\n }\r\n}, 250);\r\n\r\n\r\n/********************************************************\r\n** SPEEDBUMP\r\n********************************************************/\r\n/*\r\n Displays a dialog when users click on certain links that have the speedbump class and that will navigate them away from the current site\r\n*/\r\nfunction speedbump(options) {\r\n // Options\r\n var settings = vExtend({\r\n // These are the defaults\r\n\r\n // Speedbump box title text\r\n header: \"You are continuing to another website.\",\r\n\r\n // Speedbump box message text\r\n message: `You have selected an external link and are now leaving the secure website of ${bank_name}. We do not control external sites and cannot be held responsible for the content contained therein. We encourage you to review their privacy and security policies as they may differ from ${bank_name}’s.`,\r\n\r\n\r\n\r\n // Speedbump box cancel button text\r\n button_cancel: \"Return to \" + bank_name,\r\n\r\n // Speedbump box OK button text\r\n button_ok: \"OK\",\r\n\r\n // Speedbump box element ID\r\n id: \"default\",\r\n\r\n // Optional: speedbump box function code to execute when the OK button is clicked\r\n // Will not execute if target=\"_self\"\r\n confirm_function: null,\r\n\r\n // Optional: speedbump box function code to execute when the cancel button is clicked. Also executed on ESC\r\n cancel_function: null,\r\n\r\n // Speedbump box URL for the OK button. If left blank, automatically pulled from clicked element\r\n ok_link: \"\",\r\n\r\n // Spedbump box target (_self, _blank) for the OK button\r\n window_target: \"_self\"\r\n\r\n // 'clickedElement' is also passed, but isn't overwritten because it should never be provided as a default\r\n }, options);\r\n\r\n // If no link is provided to override, source it from the clicked element\r\n if (settings.ok_link === \"\") {\r\n settings.ok_link = settings.clickedElement.getAttribute(\"href\");\r\n }\r\n\r\n // If the clicked element has no target, set as self, otherwise, set as the clicked element's target\r\n if (settings.clickedElement.hasAttribute(\"target\") && settings.clickedElement.getAttribute(\"target\") !== \"\") {\r\n settings.window_target = settings.clickedElement.getAttribute(\"target\");\r\n }\r\n\r\n // If an ID exists, assign it\r\n if (settings.id != \"\") {\r\n settings.id = \"_\" + settings.id;\r\n }\r\n\r\n // Check to see if the markup for this speedbump has already been appended and if not append it\r\n if (\r\n document.querySelectorAll(\".js-speedbump_pop\" + settings.id).length ===\r\n 0\r\n ) {\r\n const speedbumpCode = document.createElement(\"section\");\r\n speedbumpCode.classList.add(\"js-speedbump_pop\" + settings.id);\r\n speedbumpCode.classList.add(\"speedbump_back\");\r\n speedbumpCode.setAttribute(\"aria-label\", \"Speedbump - Please review\");\r\n speedbumpCode.style.display = \"none\";\r\n speedbumpCode.innerHTML =\r\n \"
\";\r\n body.appendChild(speedbumpCode);\r\n }\r\n\r\n // Assign a variable to refer to the speedbump we just added to the DOM\r\n var currentSpeedbump = document.querySelector(\".js-speedbump_pop\" + settings.id);\r\n\r\n // Build the speedbump inner HTML based on the values passed to settings and then set it\r\n var valid = true;\r\n var spb = \"\";\r\n if (settings.header != \"\") {\r\n spb += \"
\" + settings.header + \"
\";\r\n }\r\n spb += \"
\" + settings.message + \"
\" +\r\n \"
\" +\r\n \"\" +\r\n \"\" + settings.button_ok + \"\" + \r\n \"
\";\r\n currentSpeedbump.querySelector(\".speedbump_pop_content\").innerHTML = spb;\r\n\r\n // Now that the markup is complete, set reference variables to the current speedbump for the rest of the code\r\n var currentSpeedbumpInner = currentSpeedbump.querySelector(\".speedbump_pop_inner\");\r\n var currentOKButton = currentSpeedbump.querySelector(\".js-speedbump_btn_ok\" + settings.id);\r\n var currentCancelbutton = currentSpeedbump.querySelector(\".js-speedbump_btn_cancel\" + settings.id);\r\n\r\n // ESC key behavior\r\n if (!currentSpeedbump.classList.contains(\"esc-bound\")) {\r\n currentSpeedbump.addEventListener(\"keyup\", function (event) {\r\n if (event.key === \"Esc\" && currentSpeedbump.style.display !== \"none\") {\r\n vHide(currentSpeedbump);\r\n currentSpeedbump.classList.remove(\"sb-active\");\r\n currentSpeedbump.removeAttribute(\"role\");\r\n valid = false;\r\n if (settings.cancel_function !== null) {\r\n settings.cancel_function();\r\n }\r\n settings.clickedElement.focus();\r\n return false;\r\n }\r\n });\r\n currentSpeedbump.classList.add(\"esc-bound\");\r\n }\r\n\r\n // OK button click event\r\n if (!currentOKButton.classList.contains(\"bound\")) {\r\n currentOKButton.addEventListener(\"click\", function (event) {\r\n vHide(currentSpeedbump);\r\n currentSpeedbump.classList.remove(\"sb-active\");\r\n currentSpeedbump.removeAttribute(\"role\");\r\n if (settings.confirm_function !== null) {\r\n settings.confirm_function();\r\n }\r\n });\r\n currentOKButton.classList.add(\"bound\");\r\n }\r\n\r\n // Cancel button click event\r\n if (!currentCancelbutton.classList.contains(\"bound\")) {\r\n currentCancelbutton.addEventListener(\"click\", function (event) {\r\n vHide(currentSpeedbump);\r\n currentSpeedbump.classList.remove(\"sb-active\");\r\n currentSpeedbump.removeAttribute(\"role\");\r\n valid = false;\r\n if (settings.cancel_function !== null) {\r\n settings.cancel_function();\r\n }\r\n settings.clickedElement.focus();\r\n return false;\r\n });\r\n currentCancelbutton.classList.add(\"bound\");\r\n }\r\n\r\n //Move any tracking from link to confirm ok button\r\n currentOKButton.removeAttribute(\"data-track\");\r\n currentOKButton.removeAttribute(\"data-event\");\r\n currentOKButton.removeAttribute(\"data-track-category\");\r\n currentOKButton.removeAttribute(\"data-track-action\");\r\n currentOKButton.removeAttribute(\"data-track-value\");\r\n\r\n if (settings.clickedElement.hasAttribute(\"data-track\") && settings.clickedElement.getAttribute(\"data-track\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-track\", settings.clickedElement.getAttribute(\"data-track\"));\r\n }\r\n if (settings.clickedElement.hasAttribute(\"data-event\") && settings.clickedElement.getAttribute(\"data-event\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-event\", settings.clickedElement.getAttribute(\"data-event\"));\r\n }\r\n if (settings.clickedElement.hasAttribute(\"data-track-category\") && settings.clickedElement.getAttribute(\"data-track-category\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-track-category\", settings.clickedElement.getAttribute(\"data-track-category\"));\r\n }\r\n if (settings.clickedElement.hasAttribute(\"data-track-action\") && settings.clickedElement.getAttribute(\"data-track-action\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-track-action\", settings.clickedElement.getAttribute(\"data-track-action\"));\r\n }\r\n if (settings.clickedElement.hasAttribute(\"data-track-value\") && settings.clickedElement.getAttribute(\"data-track-value\") !== \"\") {\r\n currentOKButton.setAttribute(\"data-track-value\", settings.clickedElement.getAttribute(\"data-track-value\"));\r\n }\r\n\r\n // The code to display the speedbump\r\n //vShow(currentSpeedbump);\r\n currentSpeedbump.style.display = \"flex\";\r\n currentSpeedbump.setAttribute(\"role\", \"alert\");\r\n setTimeout(function () {\r\n currentOKButton.focus();\r\n }, \"600\");\r\n var windowHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n if (windowHeight < vOuterHeight(currentSpeedbumpInner)) {\r\n currentSpeedbumpInner.style.top = windowHeight;\r\n //currentSpeedbump.style.position = \"absolute\";\r\n currentSpeedbump.classList.remove(\"fixed\");\r\n currentSpeedbump.style.height = vOuterHeight(document.getElementsByTagName(\"html\")[0]);\r\n } else {\r\n currentSpeedbump.style.position = \"fixed\";\r\n currentSpeedbump.classList.add(\"fixed\");\r\n }\r\n currentSpeedbump.classList.add(\"sb-active\");\r\n currentSpeedbump.setAttribute(\"data-url\", settings.ok_link);\r\n\r\n return false;\r\n}\r\n\r\n// Helper to determine if a string which would be a URL references the domain of the current site or a different one\r\nfunction isCurrentDomain(a) { var b, c = \"\"; a.indexOf(\"://\") > -1 ? (b = a.split(\"/\")[2], c = a.split(\"/\")[0]) : b = a.split(\"/\")[0]; var e, f, d = window.location.href; return a.indexOf(\"://\") > -1 ? (e = d.split(\"/\")[2], f = d.split(\"/\")[0]) : e = d.split(\"/\")[0], e = e.split(\":\")[0], \"\" == c || c == f && b == e }\r\n\r\n// Normal link speedbumps\r\ndocument.addEventListener(\"click\", function (event) {\r\n\r\n if (event.target.matches(\"a\")) {\r\n if (!document.documentElement.classList.contains('hydrated') && !(event.target.classList.contains(\"speedbump_pop_btn_ok\")) &&\r\n (event.target.classList.contains(\"speedbump\") || event.target.getAttribute(\"data-speedbump\") == \"speedbump\" || \r\n (!isCurrentDomain(event.target.getAttribute(\"href\")) && event.target.getAttribute(\"target\") == \"_blank\"))) {\r\n\r\n if (!event.target.hasAttribute(\"data-no-speedbump\") && !event.target.classList.contains(\"no-sb\")) {\r\n\r\n event.preventDefault();\r\n speedbump({\r\n id: \"default_link\",\r\n clickedElement: event.target,\r\n button_cancel = \"Stay Here\",\r\n button_ok = \"Continue\"\r\n });\r\n }\r\n\r\n }\r\n else if (!document.documentElement.classList.contains('hydrated') && event.target.getAttribute(\"href\").indexOf(\"mailto\") != -1 && !(event.target.classList.contains(\"speedbump_pop_btn_ok\"))) {\r\n event.preventDefault();\r\n speedbump({\r\n id: 'default_email',\r\n header: 'Email Disclaimer',\r\n message: 'Email is not a secure transmission route. Thus we ask that you never send sensitive personal information like Social Security numbers, Account numbers, Credit Card numbers or any type of password via email to ' + bank_name + ' or anyone else. Please call us when submitting this information. Please click Send an Email to continue ...',\r\n button_cancel: 'Stay Here',\r\n button_ok: 'Send an Email',\r\n clickedElement: event.target\r\n });\r\n }\r\n }\r\n});\r\n\r\n/* Email link Speedbumps\r\ndocument.addEventListener(\"click\", function (event) {\r\n var emailbumpElement = getParentElementWithClass(event.target, \"email_bump\");\r\n if (!document.documentElement.classList.contains('hydrated') && emailbumpElement !== null && !emailbumpElement.hasAttribute(\"data-no-speedbump\") && emailbumpElement.hasAttribute(\"href\") && emailbumpElement.getAttribute(\"href\") !== \"\") {\r\n event.preventDefault();\r\n speedbump({\r\n id: 'default_email',\r\n header: 'Email Disclaimer',\r\n message: 'Email is not a secure transmission route. Thus we ask that you never send sensitive personal information like Social Security numbers, Account numbers, Credit Card numbers or any type of password via email to ' + bank_name + ' or anyone else. Please call us when submitting this information. Please click Send an Email to continue ...',\r\n button_cancel: 'Return to ' + bank_name,\r\n button_ok: 'Send an Email',\r\n clickedElement: speedbumpElement\r\n });\r\n }\r\n});\r\n*/\r\n\r\n/********************************************************\r\n** LINKBOX\r\n********************************************************/\r\n/*\r\n Makes an element's entire area a clickable link. Uses the href of the first link in the element as the link address\r\n*/\r\n// Event handler for linkbox links, including dynamic elements: Part 1, Click Events (with line to Disable in Kentico Admin)\r\nif (!document.documentElement.classList.contains('hydrated')) {\r\n document.addEventListener(\"click\", function (event) {\r\n \r\n var linkboxElement = getParentElementWithClass(event.target, \"linkbox\");\r\n if (linkboxElement !== null && !document.documentElement.classList.contains('hydrated')) {\r\n event.preventDefault();\r\n var theLinkElement = linkboxElement.querySelector(\"a\");\r\n var theLinkURL = theLinkElement.getAttribute(\"href\");\r\n if ((theLinkElement.classList.contains(\"speedbump\") || theLinkElement.getAttribute(\"data-speedbump\") == \"speedbump\") && !document.documentElement.classList.contains('hydrated')) {\r\n event.preventDefault();\r\n speedbump({\r\n id: \"default_link\",\r\n clickedElement: theLinkElement,\r\n button_cancel = \"Stay Here\",\r\n button_ok = \"Continue\"\r\n });\r\n } else {\r\n if (theLinkElement.hasAttribute(\"target\") && theLinkElement.getAttribute(\"target\") === \"_blank\") {\r\n window.open(theLinkURL);\r\n } else {\r\n window.location.href = theLinkURL;\r\n }\r\n }\r\n }\r\n });\r\n // Part 2, Hover Events\r\n document.onmouseover = function (event) {\r\n var linkboxElement = getParentElementWithClass(event.target, \"linkbox\");\r\n if (linkboxElement !== null) {\r\n var la = linkboxElement.querySelector(\"a\");\r\n if (la != null) {\r\n la.classList.add(\"hovered\");\r\n }\r\n }\r\n }\r\n document.onmouseout = function (event) {\r\n var linkboxElement = getParentElementWithClass(event.target, \"linkbox\");\r\n if (linkboxElement !== null) {\r\n var la = linkboxElement.querySelector(\"a\");\r\n if (la != null) {\r\n la.classList.remove(\"hovered\");\r\n }\r\n }\r\n }\r\n}\r\n\r\n/********************************************************\r\n** SKIP LINK\r\n********************************************************/\r\n/*\r\n Behavior for when users on a screen reader click on the \"skip to main content\" link\r\n*/\r\ndocument.addEventListener(\"click\", function (event) {\r\n if (event.target.classList.contains(\"js-skip-link\")) {\r\n if (event.target.hasAttribute(\"href\") && document.querySelector(\"main\" + event.target.getAttribute(\"href\")) !== null) {\r\n vScrollTo(document.querySelector(\"main\" + event.target.getAttribute(\"href\")), 1000, function () {\r\n document.querySelector(\"main a\").focus();\r\n });\r\n }\r\n }\r\n});\r\n\r\n\r\n/********************************************************\r\n** TABLOCK\r\n********************************************************/\r\n/*\r\n Prevents users from tabbing out of an area, such as a modal. Automatic based on the deepest container with class \"tablock.\"\r\n*/\r\ndocument.addEventListener(\"keydown\", function (event) {\r\n var activeElement = document.activeElement;\r\n if (event.key === \"Tab\" && isTablockChild(activeElement)) {\r\n var shift = event.shiftKey;\r\n tablockContainer = getParentElementWithClass(activeElement, \"tablock\");\r\n // Check to see if the container index has changed, which means the element is inside of a tablock.\r\n if (tablockContainer !== null) {\r\n var firstContainerElement = getFirstSelectableElement(tablockContainer);\r\n var lastContainerElement = getLastSelectableElement(tablockContainer);\r\n if (firstContainerElement !== null && lastContainerElement !== null) {\r\n if (firstContainerElement === activeElement && shift === true) {\r\n event.preventDefault();\r\n lastContainerElement.focus();\r\n return false;\r\n } else if (lastContainerElement === activeElement && shift === false) {\r\n event.preventDefault();\r\n firstContainerElement.focus();\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n});\r\n\r\n\r\n\r\n\r\n/*****************************************************\r\n * ACCORDIONS\r\n * **************************************************/\r\n//document.addEventListener(\"click\", function (e) {\r\n// if (e.target.matches(\".js-accordion-button\") && !e.target.parentNode.classList.contains('js-card-accordion')) {\r\n// var pnt = getParentElementWithClass(e.target, \"js-accordion\");\r\n// var cnt = pnt.querySelector(\".js-accordion-content\");\r\n\r\n// if ((cnt.style.display == \"none\") || (cnt.style.display == '')) {\r\n// vSlideDown(cnt);\r\n// pnt.classList.add(\"active\");\r\n// e.target.setAttribute(\"aria-expanded\", true);\r\n// }\r\n// else {\r\n// vSlideUp(cnt);\r\n// pnt.classList.remove(\"active\");\r\n// e.target.setAttribute(\"aria-expanded\", true);\r\n// }\r\n// }\r\n//});\r\ndocument.addEventListener(\"click\", function (e) {\r\n if (e.target.matches(\".js-accordion-button\")) {\r\n var cnt = e.target.parentNode.querySelector(\".js-accordion-content\");\r\n\r\n if ((cnt.style.display == \"none\") || (cnt.style.display == '')) {\r\n vSlideDown(cnt);\r\n setTimeout(function () {\r\n //for splides inside accordions\r\n window.dispatchEvent(new Event('resize'));\r\n console.log(\"RESIZE\");\r\n }, 500);\r\n e.target.parentNode.classList.add(\"active\");\r\n e.target.setAttribute(\"aria-expanded\", true);\r\n }\r\n else {\r\n vSlideUp(cnt);\r\n e.target.parentNode.classList.remove(\"active\");\r\n e.target.setAttribute(\"aria-expanded\", true);\r\n }\r\n }\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction r(n, t) { for (var i = 0; i < t.length; i++) { var r = t[i]; r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(n, r.key, r) } } function Jt(n, t, i) { t && r(n.prototype, t), i && r(n, i), Object.defineProperty(n, \"prototype\", { writable: !1 }) }\r\n/*!\r\n * Splide.js\r\n * Version : 4.1.2\r\n * License : MIT\r\n * Copyright: 2022 Naotoshi Fujita\r\n */\r\nvar n, t; n = this, t = function () { \"use strict\"; var v = \"(prefers-reduced-motion: reduce)\", G = 4, rn = 5, r = { CREATED: 1, MOUNTED: 2, IDLE: 3, MOVING: G, SCROLLING: rn, DRAGGING: 6, DESTROYED: 7 }; function D(n) { n.length = 0 } function o(n, t, i) { return Array.prototype.slice.call(n, t, i) } function R(n) { return n.bind.apply(n, [null].concat(o(arguments, 1))) } function on() { } var p = setTimeout; function h(n) { return requestAnimationFrame(n) } function u(n, t) { return typeof t === n } function un(n) { return !c(n) && u(\"object\", n) } var e = Array.isArray, x = R(u, \"function\"), C = R(u, \"string\"), en = R(u, \"undefined\"); function c(n) { return null === n } function m(n) { try { return n instanceof (n.ownerDocument.defaultView || window).HTMLElement } catch (n) { return !1 } } function y(n) { return e(n) ? n : [n] } function g(n, t) { y(n).forEach(t) } function b(n, t) { return -1 < n.indexOf(t) } function k(n, t) { return n.push.apply(n, y(t)), n } function A(t, n, i) { t && g(n, function (n) { n && t.classList[i ? \"add\" : \"remove\"](n) }) } function M(n, t) { A(n, C(t) ? t.split(\" \") : t, !0) } function L(n, t) { g(t, n.appendChild.bind(n)) } function O(n, i) { g(n, function (n) { var t = (i || n).parentNode; t && t.insertBefore(n, i) }) } function cn(n, t) { return m(n) && (n.msMatchesSelector || n.matches).call(n, t) } function S(n, t) { n = n ? o(n.children) : []; return t ? n.filter(function (n) { return cn(n, t) }) : n } function fn(n, t) { return t ? S(n, t)[0] : n.firstElementChild } var E = Object.keys; function w(t, i, n) { t && (n ? E(t).reverse() : E(t)).forEach(function (n) { \"__proto__\" !== n && i(t[n], n) }) } function an(r) { return o(arguments, 1).forEach(function (i) { w(i, function (n, t) { r[t] = i[t] }) }), r } function d(i) { return o(arguments, 1).forEach(function (n) { w(n, function (n, t) { e(n) ? i[t] = n.slice() : un(n) ? i[t] = d({}, un(i[t]) ? i[t] : {}, n) : i[t] = n }) }), i } function sn(t, n) { g(n || E(t), function (n) { delete t[n] }) } function P(n, i) { g(n, function (t) { g(i, function (n) { t && t.removeAttribute(n) }) }) } function I(i, t, r) { un(t) ? w(t, function (n, t) { I(i, t, n) }) : g(i, function (n) { c(r) || \"\" === r ? P(n, t) : n.setAttribute(t, String(r)) }) } function j(n, t, i) { n = document.createElement(n); return t && (C(t) ? M : I)(n, t), i && L(i, n), n } function _(n, t, i) { if (en(i)) return getComputedStyle(n)[t]; c(i) || (n.style[t] = \"\" + i) } function ln(n, t) { _(n, \"display\", t) } function dn(n) { n.setActive && n.setActive() || n.focus({ preventScroll: !0 }) } function z(n, t) { return n.getAttribute(t) } function vn(n, t) { return n && n.classList.contains(t) } function N(n) { return n.getBoundingClientRect() } function T(n) { g(n, function (n) { n && n.parentNode && n.parentNode.removeChild(n) }) } function hn(n) { return fn((new DOMParser).parseFromString(n, \"text/html\").body) } function F(n, t) { n.preventDefault(), t && (n.stopPropagation(), n.stopImmediatePropagation()) } function pn(n, t) { return n && n.querySelector(t) } function gn(n, t) { return t ? o(n.querySelectorAll(t)) : [] } function X(n, t) { A(n, t, !1) } function mn(n) { return n.timeStamp } function W(n) { return C(n) ? n : n ? n + \"px\" : \"\" } var yn = \"splide\", f = \"data-\" + yn; function bn(n, t) { if (!n) throw new Error(\"[\" + yn + \"] \" + (t || \"\")) } var Y = Math.min, wn = Math.max, xn = Math.floor, kn = Math.ceil, U = Math.abs; function Sn(n, t, i) { return U(n - t) < i } function En(n, t, i, r) { var o = Y(t, i), t = wn(t, i); return r ? o < n && n < t : o <= n && n <= t } function q(n, t, i) { var r = Y(t, i), t = wn(t, i); return Y(wn(r, n), t) } function Ln(n) { return (0 < n) - (n < 0) } function On(t, n) { return g(n, function (n) { t = t.replace(\"%s\", \"\" + n) }), t } function An(n) { return n < 10 ? \"0\" + n : \"\" + n } var _n = {}; function zn() { var c = []; function i(n, i, r) { g(n, function (t) { t && g(i, function (n) { n.split(\" \").forEach(function (n) { n = n.split(\".\"); r(t, n[0], n[1]) }) }) }) } return { bind: function (n, t, u, e) { i(n, t, function (n, t, i) { var r = \"addEventListener\" in n, o = r ? n.removeEventListener.bind(n, t, u, e) : n.removeListener.bind(n, u); r ? n.addEventListener(t, u, e) : n.addListener(u), c.push([n, t, i, u, o]) }) }, unbind: function (n, t, o) { i(n, t, function (t, i, r) { c = c.filter(function (n) { return !!(n[0] !== t || n[1] !== i || n[2] !== r || o && n[3] !== o) || (n[4](), !1) }) }) }, dispatch: function (n, t, i) { var r; return \"function\" == typeof CustomEvent ? r = new CustomEvent(t, { bubbles: !0, detail: i }) : (r = document.createEvent(\"CustomEvent\")).initCustomEvent(t, !0, !1, i), n.dispatchEvent(r), r }, destroy: function () { c.forEach(function (n) { n[4]() }), D(c) } } } var B = \"mounted\", H = \"move\", Dn = \"moved\", Mn = \"click\", Pn = \"active\", In = \"inactive\", Rn = \"visible\", Cn = \"hidden\", J = \"refresh\", K = \"updated\", jn = \"resize\", Nn = \"resized\", Tn = \"scroll\", V = \"scrolled\", a = \"destroy\", Gn = \"navigation:mounted\", Fn = \"autoplay:play\", Xn = \"autoplay:pause\", Wn = \"lazyload:loaded\", Yn = \"sk\", Un = \"sh\"; function Q(n) { var i = n ? n.event.bus : document.createDocumentFragment(), r = zn(); return n && n.event.on(a, r.destroy), an(r, { bus: i, on: function (n, t) { r.bind(i, y(n).join(\" \"), function (n) { t.apply(t, e(n.detail) ? n.detail : []) }) }, off: R(r.unbind, i), emit: function (n) { r.dispatch(i, n, o(arguments, 1)) } }) } function qn(t, n, i, r) { var o, u, e = Date.now, c = 0, f = !0, a = 0; function s() { if (!f) { if (c = t ? Y((e() - o) / t, 1) : 1, i && i(c), 1 <= c && (n(), o = e(), r && ++a >= r)) return l(); u = h(s) } } function l() { f = !0 } function d() { u && cancelAnimationFrame(u), f = !(u = c = 0) } return { start: function (n) { n || d(), o = e() - (n ? c * t : 0), f = !1, u = h(s) }, rewind: function () { o = e(), c = 0, i && i(c) }, pause: l, cancel: d, set: function (n) { t = n }, isPaused: function () { return f } } } function s(n) { var t = n; return { set: function (n) { t = n }, is: function (n) { return b(y(n), t) } } } var n = \"Arrow\", Bn = n + \"Left\", Hn = n + \"Right\", t = n + \"Up\", n = n + \"Down\", Jn = \"ttb\", l = { width: [\"height\"], left: [\"top\", \"right\"], right: [\"bottom\", \"left\"], x: [\"y\"], X: [\"Y\"], Y: [\"X\"], ArrowLeft: [t, Hn], ArrowRight: [n, Bn] }; var Z = \"role\", $ = \"tabindex\", i = \"aria-\", Kn = i + \"controls\", Vn = i + \"current\", Qn = i + \"selected\", nn = i + \"label\", Zn = i + \"labelledby\", $n = i + \"hidden\", nt = i + \"orientation\", tt = i + \"roledescription\", it = i + \"live\", rt = i + \"busy\", ot = i + \"atomic\", ut = [Z, $, \"disabled\", Kn, Vn, nn, Zn, $n, nt, tt], i = yn + \"__\", et = yn, ct = i + \"track\", ft = i + \"list\", at = i + \"slide\", st = at + \"--clone\", lt = at + \"__container\", dt = i + \"arrows\", vt = i + \"arrow\", ht = vt + \"--prev\", pt = vt + \"--next\", gt = i + \"pagination\", mt = gt + \"__page\", yt = i + \"progress\" + \"__bar\", bt = i + \"toggle\", wt = i + \"sr\", tn = \"is-active\", xt = \"is-prev\", kt = \"is-next\", St = \"is-visible\", Et = \"is-loading\", Lt = \"is-focus-in\", Ot = \"is-overflow\", At = [tn, St, xt, kt, Et, Lt, Ot]; var _t = \"touchstart mousedown\", zt = \"touchmove mousemove\", Dt = \"touchend touchcancel mouseup click\"; var Mt = \"slide\", Pt = \"loop\", It = \"fade\"; function Rt(o, r, t, u) { var e, n = Q(o), i = n.on, c = n.emit, f = n.bind, a = o.Components, s = o.root, l = o.options, d = l.isNavigation, v = l.updateOnMove, h = l.i18n, p = l.pagination, g = l.slideFocus, m = a.Direction.resolve, y = z(u, \"style\"), b = z(u, nn), w = -1 < t, x = fn(u, \".\" + lt); function k() { var n = o.splides.map(function (n) { n = n.splide.Components.Slides.getAt(r); return n ? n.slide.id : \"\" }).join(\" \"); I(u, nn, On(h.slideX, (w ? t : r) + 1)), I(u, Kn, n), I(u, Z, g ? \"button\" : \"\"), g && P(u, tt) } function S() { e || E() } function E() { var n, t, i; e || (n = o.index, (i = L()) !== vn(u, tn) && (A(u, tn, i), I(u, Vn, d && i || \"\"), c(i ? Pn : In, O)), i = function () { if (o.is(It)) return L(); var n = N(a.Elements.track), t = N(u), i = m(\"left\", !0), r = m(\"right\", !0); return xn(n[i]) <= kn(t[i]) && xn(t[r]) <= kn(n[r]) }(), t = !i && (!L() || w), o.state.is([G, rn]) || I(u, $n, t || \"\"), I(gn(u, l.focusableNodes || \"\"), $, t ? -1 : \"\"), g && I(u, $, t ? -1 : 0), i !== vn(u, St) && (A(u, St, i), c(i ? Rn : Cn, O)), i || document.activeElement !== u || (t = a.Slides.getAt(o.index)) && dn(t.slide), A(u, xt, r === n - 1), A(u, kt, r === n + 1)) } function L() { var n = o.index; return n === r || l.cloneStatus && n === t } var O = { index: r, slideIndex: t, slide: u, container: x, isClone: w, mount: function () { w || (u.id = s.id + \"-slide\" + An(r + 1), I(u, Z, p ? \"tabpanel\" : \"group\"), I(u, tt, h.slide), I(u, nn, b || On(h.slideLabel, [r + 1, o.length]))), f(u, \"click\", R(c, Mn, O)), f(u, \"keydown\", R(c, Yn, O)), i([Dn, Un, V], E), i(Gn, k), v && i(H, S) }, destroy: function () { e = !0, n.destroy(), X(u, At), P(u, ut), I(u, \"style\", y), I(u, nn, b || \"\") }, update: E, style: function (n, t, i) { _(i && x || u, n, t) }, isWithin: function (n, t) { return n = U(n - r), (n = w || !l.rewind && !o.is(Pt) ? n : Y(n, o.length - n)) <= t } }; return O } var Ct = f + \"-interval\"; var jt = { passive: !1, capture: !0 }; var Nt = { Spacebar: \" \", Right: Hn, Left: Bn, Up: t, Down: n }; function Tt(n) { return n = C(n) ? n : n.key, Nt[n] || n } var Gt = \"keydown\"; var Ft = f + \"-lazy\", Xt = Ft + \"-srcset\", Wt = \"[\" + Ft + \"], [\" + Xt + \"]\"; var Yt = [\" \", \"Enter\"]; var Ut = Object.freeze({ __proto__: null, Media: function (r, n, o) { var u = r.state, t = o.breakpoints || {}, e = o.reducedMotion || {}, i = zn(), c = []; function f(n) { n && i.destroy() } function a(n, t) { t = matchMedia(t); i.bind(t, \"change\", s), c.push([n, t]) } function s() { var n = u.is(7), t = o.direction, i = c.reduce(function (n, t) { return d(n, t[1].matches ? t[0] : {}) }, {}); sn(o), l(i), o.destroy ? r.destroy(\"completely\" === o.destroy) : n ? (f(!0), r.mount()) : t !== o.direction && r.refresh() } function l(n, t, i) { d(o, n), t && d(Object.getPrototypeOf(o), n), !i && u.is(1) || r.emit(K, o) } return { setup: function () { var i = \"min\" === o.mediaQuery; E(t).sort(function (n, t) { return i ? +n - +t : +t - +n }).forEach(function (n) { a(t[n], \"(\" + (i ? \"min\" : \"max\") + \"-width:\" + n + \"px)\") }), a(e, v), s() }, destroy: f, reduce: function (n) { matchMedia(v).matches && (n ? d(o, e) : sn(o, E(e))) }, set: l } }, Direction: function (n, t, o) { return { resolve: function (n, t, i) { var r = \"rtl\" !== (i = i || o.direction) || t ? i === Jn ? 0 : -1 : 1; return l[n] && l[n][r] || n.replace(/width|left|right/i, function (n, t) { n = l[n.toLowerCase()][r] || n; return 0 < t ? n.charAt(0).toUpperCase() + n.slice(1) : n }) }, orient: function (n) { return n * (\"rtl\" === o.direction ? 1 : -1) } } }, Elements: function (n, t, i) { var r, o, u, e = Q(n), c = e.on, f = e.bind, a = n.root, s = i.i18n, l = {}, d = [], v = [], h = []; function p() { r = y(\".\" + ct), o = fn(r, \".\" + ft), bn(r && o, \"A track/list element is missing.\"), k(d, S(o, \".\" + at + \":not(.\" + st + \")\")), w({ arrows: dt, pagination: gt, prev: ht, next: pt, bar: yt, toggle: bt }, function (n, t) { l[t] = y(\".\" + n) }), an(l, { root: a, track: r, list: o, slides: d }); var n = a.id || function (n) { return \"\" + n + An(_n[n] = (_n[n] || 0) + 1) }(yn), t = i.role; a.id = n, r.id = r.id || n + \"-track\", o.id = o.id || n + \"-list\", !z(a, Z) && \"SECTION\" !== a.tagName && t && I(a, Z, t), I(a, tt, s.carousel), I(o, Z, \"presentation\"), m() } function g(n) { var t = ut.concat(\"style\"); D(d), X(a, v), X(r, h), P([r, o], t), P(a, n ? t : [\"style\", tt]) } function m() { X(a, v), X(r, h), v = b(et), h = b(ct), M(a, v), M(r, h), I(a, nn, i.label), I(a, Zn, i.labelledby) } function y(n) { n = pn(a, n); return n && function (n, t) { if (x(n.closest)) return n.closest(t); for (var i = n; i && 1 === i.nodeType && !cn(i, t);)i = i.parentElement; return i }(n, \".\" + et) === a ? n : void 0 } function b(n) { return [n + \"--\" + i.type, n + \"--\" + i.direction, i.drag && n + \"--draggable\", i.isNavigation && n + \"--nav\", n === et && tn] } return an(l, { setup: p, mount: function () { c(J, g), c(J, p), c(K, m), f(document, _t + \" keydown\", function (n) { u = \"keydown\" === n.type }, { capture: !0 }), f(a, \"focusin\", function () { A(a, Lt, !!u) }) }, destroy: g }) }, Slides: function (r, o, u) { var n = Q(r), t = n.on, e = n.emit, c = n.bind, f = (n = o.Elements).slides, a = n.list, s = []; function i() { f.forEach(function (n, t) { d(n, t, -1) }) } function l() { h(function (n) { n.destroy() }), D(s) } function d(n, t, i) { t = Rt(r, t, i, n); t.mount(), s.push(t), s.sort(function (n, t) { return n.index - t.index }) } function v(n) { return n ? p(function (n) { return !n.isClone }) : s } function h(n, t) { v(t).forEach(n) } function p(t) { return s.filter(x(t) ? t : function (n) { return C(t) ? cn(n.slide, t) : b(y(t), n.index) }) } return { mount: function () { i(), t(J, l), t(J, i) }, destroy: l, update: function () { h(function (n) { n.update() }) }, register: d, get: v, getIn: function (n) { var t = o.Controller, i = t.toIndex(n), r = t.hasFocus() ? 1 : u.perPage; return p(function (n) { return En(n.index, i, i + r - 1) }) }, getAt: function (n) { return p(n)[0] }, add: function (n, o) { g(n, function (n) { var t, i, r; m(n = C(n) ? hn(n) : n) && ((t = f[o]) ? O(n, t) : L(a, n), M(n, u.classes.slide), t = n, i = R(e, jn), t = gn(t, \"img\"), (r = t.length) ? t.forEach(function (n) { c(n, \"load error\", function () { --r || i() }) }) : i()) }), e(J) }, remove: function (n) { T(p(n).map(function (n) { return n.slide })), e(J) }, forEach: h, filter: p, style: function (t, i, r) { h(function (n) { n.style(t, i, r) }) }, getLength: function (n) { return (n ? f : s).length }, isEnough: function () { return s.length > u.perPage } } }, Layout: function (t, n, i) { var r, o, u, e = (a = Q(t)).on, c = a.bind, f = a.emit, a = n.Slides, s = n.Direction.resolve, l = (n = n.Elements).root, d = n.track, v = n.list, h = a.getAt, p = a.style; function g() { r = i.direction === Jn, _(l, \"maxWidth\", W(i.width)), _(d, s(\"paddingLeft\"), y(!1)), _(d, s(\"paddingRight\"), y(!0)), m(!0) } function m(n) { var t = N(l); !n && o.width === t.width && o.height === t.height || (_(d, \"height\", function () { var n = \"\"; r && (bn(n = b(), \"height or heightRatio is missing.\"), n = \"calc(\" + n + \" - \" + y(!1) + \" - \" + y(!0) + \")\"); return n }()), p(s(\"marginRight\"), W(i.gap)), p(\"width\", i.autoWidth ? null : W(i.fixedWidth) || (r ? \"\" : w())), p(\"height\", W(i.fixedHeight) || (r ? i.autoHeight ? null : w() : b()), !0), o = t, f(Nn), u !== (u = O()) && (A(l, Ot, u), f(\"overflow\", u))) } function y(n) { var t = i.padding, n = s(n ? \"right\" : \"left\"); return t && W(t[n] || (un(t) ? 0 : t)) || \"0px\" } function b() { return W(i.height || N(v).width * i.heightRatio) } function w() { var n = W(i.gap); return \"calc((100%\" + (n && \" + \" + n) + \")/\" + (i.perPage || 1) + (n && \" - \" + n) + \")\" } function x() { return N(v)[s(\"width\")] } function k(n, t) { n = h(n || 0); return n ? N(n.slide)[s(\"width\")] + (t ? 0 : L()) : 0 } function S(n, t) { var i, n = h(n); return n ? (n = N(n.slide)[s(\"right\")], i = N(v)[s(\"left\")], U(n - i) + (t ? 0 : L())) : 0 } function E(n) { return S(t.length - 1) - S(0) + k(0, n) } function L() { var n = h(0); return n && parseFloat(_(n.slide, s(\"marginRight\"))) || 0 } function O() { return t.is(It) || E(!0) > x() } return { mount: function () { var n, t, i; g(), c(window, \"resize load\", (n = R(f, jn), i = qn(t || 0, n, null, 1), function () { i.isPaused() && i.start() })), e([K, J], g), e(jn, m) }, resize: m, listSize: x, slideSize: k, sliderSize: E, totalSize: S, getPadding: function (n) { return parseFloat(_(d, s(\"padding\" + (n ? \"Right\" : \"Left\")))) || 0 }, isOverflow: O } }, Clones: function (c, i, f) { var t, r = Q(c), n = r.on, a = i.Elements, s = i.Slides, o = i.Direction.resolve, l = []; function u() { if (n(J, d), n([K, jn], v), t = h()) { var o = t, u = s.get().slice(), e = u.length; if (e) { for (; u.length < o;)k(u, u); k(u.slice(-o), u.slice(0, o)).forEach(function (n, t) { var i = t < o, r = function (n, t) { n = n.cloneNode(!0); return M(n, f.classes.clone), n.id = c.root.id + \"-clone\" + An(t + 1), n }(n.slide, t); i ? O(r, u[0].slide) : L(a.list, r), k(l, r), s.register(r, t - o + (i ? 0 : e), n.index) }) } i.Layout.resize(!0) } } function d() { e(), u() } function e() { T(l), D(l), r.destroy() } function v() { var n = h(); t !== n && (t < n || !n) && r.emit(J) } function h() { var n, t = f.clones; return c.is(Pt) ? en(t) && (t = (n = f[o(\"fixedWidth\")] && i.Layout.slideSize(0)) && kn(N(a.track)[o(\"width\")] / n) || f[o(\"autoWidth\")] && c.length || 2 * f.perPage) : t = 0, t } return { mount: u, destroy: e } }, Move: function (r, c, o) { var e, n = Q(r), t = n.on, f = n.emit, a = r.state.set, u = (n = c.Layout).slideSize, i = n.getPadding, s = n.totalSize, l = n.listSize, d = n.sliderSize, v = (n = c.Direction).resolve, h = n.orient, p = (n = c.Elements).list, g = n.track; function m() { c.Controller.isBusy() || (c.Scroll.cancel(), y(r.index), c.Slides.update()) } function y(n) { b(S(n, !0)) } function b(n, t) { r.is(It) || (t = t ? n : function (n) { { var t, i; r.is(Pt) && (t = k(n), i = t > c.Controller.getEnd(), (t < 0 || i) && (n = w(n, i))) } return n }(n), _(p, \"transform\", \"translate\" + v(\"X\") + \"(\" + t + \"px)\"), n !== t && f(Un)) } function w(n, t) { var i = n - L(t), r = d(); return n -= h(r * (kn(U(i) / r) || 1)) * (t ? 1 : -1) } function x() { b(E(), !0), e.cancel() } function k(n) { for (var t = c.Slides.get(), i = 0, r = 1 / 0, o = 0; o < t.length; o++) { var u = t[o].index, e = U(S(u, !0) - n); if (!(e <= r)) break; r = e, i = u } return i } function S(n, t) { var i = h(s(n - 1) - (n = n, \"center\" === (i = o.focus) ? (l() - u(n, !0)) / 2 : +i * u(n) || 0)); return t ? (n = i, n = o.trimSpace && r.is(Mt) ? q(n, 0, h(d(!0) - l())) : n) : i } function E() { var n = v(\"left\"); return N(p)[n] - N(g)[n] + h(i(!1)) } function L(n) { return S(n ? c.Controller.getEnd() : 0, !!o.trimSpace) } return { mount: function () { e = c.Transition, t([B, Nn, K, J], m) }, move: function (n, t, i, r) { var o, u; n !== t && (o = i < n, u = h(w(E(), o)), o ? 0 <= u : u <= p[v(\"scrollWidth\")] - N(g)[v(\"width\")]) && (x(), b(w(E(), i < n), !0)), a(G), f(H, t, i, n), e.start(t, function () { a(3), f(Dn, t, i, n), r && r() }) }, jump: y, translate: b, shift: w, cancel: x, toIndex: k, toPosition: S, getPosition: E, getLimit: L, exceededLimit: function (n, t) { t = en(t) ? E() : t; var i = !0 !== n && h(t) < h(L(!1)), n = !1 !== n && h(t) > h(L(!0)); return i || n }, reposition: m } }, Controller: function (o, u, e) { var c, f, a, s, n = Q(o), t = n.on, i = n.emit, l = u.Move, d = l.getPosition, r = l.getLimit, v = l.toPosition, h = (n = u.Slides).isEnough, p = n.getLength, g = e.omitEnd, m = o.is(Pt), y = o.is(Mt), b = R(L, !1), w = R(L, !0), x = e.start || 0, k = x; function S() { f = p(!0), a = e.perMove, s = e.perPage, c = _(); var n = q(x, 0, g ? c : f - 1); n !== x && (x = n, l.reposition()) } function E() { c !== _() && i(\"ei\") } function L(n, t) { var i = a || (P() ? 1 : s), i = O(x + i * (n ? -1 : 1), x, !(a || P())); return -1 === i && y && !Sn(d(), r(!n), 1) ? n ? 0 : c : t ? i : A(i) } function O(n, t, i) { var r; return h() || P() ? ((r = function (n) { if (y && \"move\" === e.trimSpace && n !== x) for (var t = d(); t === v(n, !0) && En(n, 0, o.length - 1, !e.rewind);)n < x ? --n : ++n; return n }(n)) !== n && (t = n, n = r, i = !1), n < 0 || c < n ? n = a || !En(0, n, t, !0) && !En(c, t, n, !0) ? m ? i ? n < 0 ? -(f % s || s) : f : n : e.rewind ? n < 0 ? c : 0 : -1 : z(D(n)) : i && n !== t && (n = z(D(t) + (n < t ? -1 : 1)))) : n = -1, n } function A(n) { return m ? (n + f) % f || 0 : n } function _() { for (var n = f - (P() || m && a ? 1 : s); g && 0 < n--;)if (v(f - 1, !0) !== v(n, !0)) { n++; break } return q(n, 0, f - 1) } function z(n) { return q(P() ? n : s * n, 0, c) } function D(n) { return P() ? Y(n, c) : xn((c <= n ? f - 1 : n) / s) } function M(n) { n !== x && (k = x, x = n) } function P() { return !en(e.focus) || e.isNavigation } function I() { return o.state.is([G, rn]) && !!e.waitForTransition } return { mount: function () { S(), t([K, J, \"ei\"], S), t(Nn, E) }, go: function (n, t, i) { var r; I() || -1 < (r = A(n = function (n) { var t = x; { var i, r; C(n) ? (r = n.match(/([+\\-<>])(\\d+)?/) || [], i = r[1], r = r[2], \"+\" === i || \"-\" === i ? t = O(x + +(\"\" + i + (+r || 1)), x) : \">\" === i ? t = r ? z(+r) : b(!0) : \"<\" === i && (t = w(!0))) : t = m ? n : q(n, 0, c) } return t }(n))) && (t || r !== x) && (M(r), l.move(n, r, k, i)) }, scroll: function (n, t, i, r) { u.Scroll.scroll(n, t, i, function () { var n = A(l.toIndex(d())); M(g ? Y(n, c) : n), r && r() }) }, getNext: b, getPrev: w, getAdjacent: L, getEnd: _, setIndex: M, getIndex: function (n) { return n ? k : x }, toIndex: z, toPage: D, toDest: function (n) { return n = l.toIndex(n), y ? q(n, 0, c) : n }, hasFocus: P, isBusy: I } }, Arrows: function (o, n, t) { var i, r, u = Q(o), e = u.on, c = u.bind, f = u.emit, a = t.classes, s = t.i18n, l = n.Elements, d = n.Controller, v = l.arrows, h = l.track, p = v, g = l.prev, m = l.next, y = {}; function b() { var n = t.arrows; !n || g && m || (p = v || j(\"div\", a.arrows), g = S(!0), m = S(!1), i = !0, L(p, [g, m]), v || O(p, h)), g && m && (an(y, { prev: g, next: m }), ln(p, n ? \"\" : \"none\"), M(p, r = dt + \"--\" + t.direction), n && (e([B, Dn, J, V, \"ei\"], E), c(m, \"click\", R(k, \">\")), c(g, \"click\", R(k, \"<\")), E(), I([g, m], Kn, h.id), f(\"arrows:mounted\", g, m))), e(K, w) } function w() { x(), b() } function x() { u.destroy(), X(p, r), i ? (T(v ? [g, m] : p), g = m = null) : P([g, m], ut) } function k(n) { d.go(n, !0) } function S(n) { return hn('\";\r\n\t\t\t\tif (\r\n\t\t\t\t\te.target.getAttribute(\"data-video\").indexOf(\"vimeo\") != -1\r\n\t\t\t\t) {\r\n\t\t\t\t\tvar vid = e.target\r\n\t\t\t\t\t\t.getAttribute(\"data-video\")\r\n\t\t\t\t\t\t.replace(\"https://vimeo.com/\", \"\");\r\n\t\t\t\t\tif (vid.indexOf(\"/\") != -1) {\r\n\t\t\t\t\t\tvid = vid.substring(0, vid.indexOf(\"/\"));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"
\";\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"

This video uses Vimeo's native closed captioning features to provide a transcript. If closed captioning is unavailable for this video, please contact us and we can provide you with one.

\";\r\n\t\t\t\t} else if (\r\n\t\t\t\t\te.target.getAttribute(\"data-video\").indexOf(\"youtube\") != -1\r\n\t\t\t\t) {\r\n\t\t\t\t\tvar vid = e.target\r\n\t\t\t\t\t\t.getAttribute(\"data-video\")\r\n\t\t\t\t\t\t.replace(\"https://www.youtube.com/watch?v=\", \"\");\r\n\t\t\t\t\tif (vid.indexOf(\"/\") != -1) {\r\n\t\t\t\t\t\tvid = vid.substring(0, vid.indexOf(\"/\"));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"
\";\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"

This video uses YouTube's native closed captioning features to provide a transcript. If closed captioning is unavailable for this video, please contact us and we can provide you with one.

\";\r\n\t\t\t\t} else if (\r\n\t\t\t\t\te.target.getAttribute(\"data-video\").indexOf(\".mp4\")\r\n\t\t\t\t) {\r\n\t\t\t\t\tvideoGUID = e.target\r\n\t\t\t\t\t\t.getAttribute(\"data-video\")\r\n\t\t\t\t\t\t.split(\"/\")[2];\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"\";\r\n\t\t\t\t\t// Since the transcript is queried async, make a holder for it and we'll append the content after the async completes\r\n\t\t\t\t\tvidBuild +=\r\n\t\t\t\t\t\t\"

For a transcript of this video, please contact us.

\";\r\n\t\t\t\t}\r\n\t\t\t\tvidBuild += \"\";\r\n\r\n\t\t\t\tvar vidModal = document.querySelector(\".video-modal\");\r\n\t\t\t\tif (vidModal !== null) {\r\n\t\t\t\t\tvidModal.parentNode.removeChild(vidModal);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar div = document.createElement(\"div\");\r\n\t\t\t\tdiv.classList.add(\"video-modal\");\r\n\t\t\t\tdiv.innerHTML = vidBuild;\r\n\r\n\t\t\t\tdocument.body.appendChild(div);\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tvideoGUID != \"\" &&\r\n\t\t\t\t\tdocument.getElementById(\"transcript-\" + videoGUID) !=\r\n\t\t\t\t\tundefined\r\n\t\t\t\t) {\r\n\t\t\t\t\t// If it's embedded, get the transcript\r\n\t\t\t\t\tlet xhr = new XMLHttpRequest();\r\n\t\t\t\t\txhr.open(\"GET\", \"/transcript/\" + videoGUID);\r\n\t\t\t\t\txhr.send();\r\n\t\t\t\t\txhr.onload = function () {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\txhr.status === 200 &&\r\n\t\t\t\t\t\t\txhr.responseText.replace(/\\\"/gm, \"\") != \"\"\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t// console.log(\"Transcrpt Retrieval Succeeded, Status: \" + xhr.status + \".\");\r\n\t\t\t\t\t\t\tdocument.getElementById(\r\n\t\t\t\t\t\t\t\t\"transcript-\" + videoGUID\r\n\t\t\t\t\t\t\t).innerHTML =\r\n\t\t\t\t\t\t\t\t\"

\" +\r\n\t\t\t\t\t\t\t\txhr.responseText\r\n\t\t\t\t\t\t\t\t\t.replace(/\\\"/gm, \"\")\r\n\t\t\t\t\t\t\t\t\t.replace(/\\\\r\\\\n/gm, \"
\") +\r\n\t\t\t\t\t\t\t\t\"

\";\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// console.log(\"Transcrpt Retrieval Failed, Status: \" + xhr.status + \".\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t\txhr.onerror = function () {\r\n\t\t\t\t\t\t// console.log(\"Transcript Retrieval Error: \" + xhr.status + \".\");\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (e.target.matches(\".video-modal\")) {\r\n\t\t\te.target.parentNode.removeChild(e.target);\r\n\t\t} else if (e.target.matches(\".video-modal-content\")) {\r\n\t\t\te.stopPropagation();\r\n\t\t} else if (e.target.matches(\".video-modal-close\")) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar vidModal = document.querySelector(\".video-modal\");\r\n\t\t\tif (vidModal !== null) {\r\n\t\t\t\tvidModal.parentNode.removeChild(vidModal);\r\n\t\t\t}\r\n\t\t}\r\n\t\t//Footer Nav\r\n\t\telse if (e.target.matches(\".footer-nav > ul > li > a\")) {\r\n\t\t\tif (window.innerWidth < tablet_break) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tvar btn = e.target.parentNode.querySelector(\"ul\");\r\n\t\t\t\tif (btn.style.display != \"block\") {\r\n\t\t\t\t\tvSlideDown(btn); //.style.display = \"block\";\r\n\t\t\t\t\te.target.parentNode.classList.add(\"active\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvSlideUp(btn); //btn.style.display = \"none\";\r\n\t\t\t\t\te.target.parentNode.classList.remove(\"active\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (e.target.matches(\".js-accordion-header\")) {\r\n\t\t\tvar cnt = e.target.parentNode.parentNode.parentNode.querySelector(\r\n\t\t\t\t\".js-accordion-content\"\r\n\t\t\t);\r\n\t\t\te.target.parentNode.parentNode.parentNode.classList.add(\"open\");\r\n\t\t\tvSlideDown(cnt);\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\t//for splides inside accordions\r\n\t\t\t\twindow.dispatchEvent(new Event('resize'));\r\n\t\t\t\t//console.log(\"RESIZE\");\r\n\t\t\t}, 500);\r\n\r\n\t\t} else if (e.target.matches(\".js-accordion-close\")) {\r\n\t\t\tvar cnt = e.target.parentNode.parentNode.parentNode.querySelector(\r\n\t\t\t\t\".js-accordion-content\"\r\n\t\t\t);\r\n\t\t\te.target.parentNode.parentNode.parentNode.classList.remove(\"open\");\r\n\t\t\tvSlideUp(cnt);\r\n\t\t} else if (e.target.matches(\".js-branch-selector\")) {\r\n\t\t\tcloseAllMenus(\"branch\");\r\n\r\n\t\t\tdocument.body.classList.add(\"branch-open\");\r\n\t\t} else if (e.target.matches(\".js-branch-modal-close\")) {\r\n\t\t\tdocument.body.classList.remove(\"branch-open\");\r\n\t\t} else if (e.target.matches(\".js-branch-modal\")) {\r\n\t\t\t//Hide Locations Modal\r\n\t\t\tif (e.target.id == \"locationsModal\") {\r\n\t\t\t\tdocument.body.classList.remove(\"branch-open\");\r\n\t\t\t}\r\n\t\t} else if (e.target.matches(\".js-subscribe\")) {\r\n\t\t\t//Hide Locations Modal\r\n\t\t\tif (e.target.parentNode.classList.contains(\"open\")) {\r\n\t\t\t\te.target.parentNode.classList.remove(\"open\");\r\n\t\t\t\te.target.innerText = e.target.getAttribute(\"data-text\");\r\n\t\t\t} else {\r\n\t\t\t\te.target.parentNode.classList.add(\"open\");\r\n\t\t\t\te.target.setAttribute(\"data-text\", e.target.innerText);\r\n\t\t\t\te.target.innerText = \"Close\";\r\n\t\t\t}\r\n\t\t} else if (e.target.matches(\".js-alert-bell\")) {\r\n\t\t\tvar alerts = document.querySelectorAll(\".hidden-alert\");\r\n\t\t\tdocument.cookie =\r\n\t\t\t\t\"alerts=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;\";\r\n\t\t\talerts.forEach(function (alert) {\r\n\t\t\t\tvSlideDown(alert);\r\n\t\t\t});\r\n\t\t\te.target.disabled = true;\r\n\t\t\te.target.style.opacity = 0;\r\n\t\t\tconst alertBell = document.querySelectorAll('.js-alert-bell')\r\n\t\t\talertBell.forEach((bell) => {\r\n\t\t\t\tbell.disabled = true;\r\n\t\t\t\tbell.style.opacity = 0;\r\n\t\t\t\tif (getParentElementWithClass(bell, 'mobile-secondary-nav')) {\r\n\t\t\t\t\tbell.style.display = \"none\";\r\n\t\t\t\t\tdocument.querySelector('.mobile-secondary-nav').style.gridTemplateColumns = \"1fr 1fr 1fr\";\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} else if (e.target.matches(\".js-bc-video\")) {\r\n\t\t\t//document.querySelector(\".js-bc-video\").parentNode.parentNode.parentNode.querySelector(\"img\").click();\r\n\t\t\te.target.parentNode.parentNode.parentNode\r\n\t\t\t\t.querySelector(\".photo img\")\r\n\t\t\t\t.click();\r\n\t\t} else if (e.target.matches(\".jump-lnk\")) {\r\n\t\t\tconst prods = document.querySelectorAll(\"[data-jumplink]\");\r\n\t\t\tprods.forEach(function (pd) {\r\n\t\t\t\tif (pd.getAttribute(\"data-jumplink\").toLowerCase().replace(/[^a-z]/g, \"\") == e.target.innerText.toLowerCase().replace(/[^a-z]/g, \"\")) {\r\n\t\t\t\t\tpd.scrollIntoView({ behavior: \"smooth\" });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\t// Comparison Chart Mobile Previous\r\n\t\telse if (e.target.matches(\".js-table-prev\")) {\r\n\t\t\tvar base = e.target.parentNode.parentNode; //$(this).parent().parent();\r\n\t\t\tbase.querySelector(\".js-table-next\").classList.remove(\"grayed\");\r\n\t\t\tbase.setAttribute(\r\n\t\t\t\t\"data-col\",\r\n\t\t\t\tNumber(base.getAttribute(\"data-col\")) - 1\r\n\t\t\t);\r\n\t\t\tif (base.getAttribute(\"data-col\") == 1) {\r\n\t\t\t\te.target.classList.add(\"grayed\");\r\n\t\t\t}\r\n\t\t\tvar spot = base.querySelector(\"table tr\");\r\n\t\t\tvar ths = spot.querySelectorAll(\"th\");\r\n\t\t\tbase.querySelector(\".js-rate-head\").innerHTML = eq.call(\r\n\t\t\t\tths,\r\n\t\t\t\tbase.getAttribute(\"data-col\")\r\n\t\t\t).innerHTML;\r\n\t\t\tupdateDots(base, base.dataset.col);\r\n\t\t\tmobileButtonDisplay(base.dataset.col);\r\n\t\t}\r\n\t\t// Comparison Chart Mobile Next\r\n\t\telse if (e.target.matches(\".js-table-next\")) {\r\n\t\t\tvar base = e.target.parentNode.parentNode; //$(this).parent().parent();\r\n\t\t\tbase.querySelector(\".js-table-prev\").classList.remove(\"grayed\");\r\n\t\t\tbase.setAttribute(\r\n\t\t\t\t\"data-col\",\r\n\t\t\t\tNumber(base.getAttribute(\"data-col\")) + 1\r\n\t\t\t);\r\n\t\t\tvar spot = base.querySelector(\"table tr\");\r\n\t\t\tvar ths = spot.querySelectorAll(\"th\");\r\n\r\n\t\t\tif (base.getAttribute(\"data-col\") == ths.length - 1) {\r\n\t\t\t\te.target.classList.add(\"grayed\");\r\n\t\t\t}\r\n\r\n\t\t\tbase.querySelector(\".js-rate-head\").innerHTML = eq.call(\r\n\t\t\t\tths,\r\n\t\t\t\tbase.getAttribute(\"data-col\")\r\n\t\t\t).innerHTML;\r\n\t\t\tupdateDots(base, base.dataset.col);\r\n\t\t\tmobileButtonDisplay(base.dataset.col);\r\n\t\t} else if (e.target.matches(\".pagination-dots .dot\")) {\r\n\t\t\tconst compareTable = e.target.parentNode.parentNode.querySelector('.compare-table');\r\n\t\t\tvar spot = compareTable.querySelector(\"table tr\");\r\n\t\t\tvar ths = spot.querySelectorAll(\"th\");\r\n\t\t\tcompareTable.dataset.col = e.target.dataset.col;\r\n\t\t\tupdateDots(compareTable);\r\n\t\t\tcompareTable.querySelector(\".js-table-prev\").classList.remove(\"grayed\");\r\n\t\t\tcompareTable.querySelector(\".js-table-next\").classList.remove(\"grayed\");\r\n\t\t\tif (compareTable.dataset.col == 1) {\r\n\t\t\t\tcompareTable.querySelector(\".js-table-prev\").classList.add(\"grayed\");\r\n\t\t\t}\r\n\t\t\tif (compareTable.dataset.col == ths.length - 1) {\r\n\t\t\t\tcompareTable.querySelector(\".js-table-next\").classList.add(\"grayed\");\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tcompareTable.querySelector(\".js-rate-head\").innerHTML = eq.call(\r\n\t\t\t\tths,\r\n\t\t\t\tcompareTable.getAttribute(\"data-col\")\r\n\t\t\t).innerHTML;\r\n\r\n\t\t} else if (e.target.matches(\".js-accordion .js-close-btn\")) {\r\n\t\t\tconst parent = getParentElementWithClass(e.target, \"js-accordion\");\r\n\t\t\tparent.querySelector(\".js-accordion-button\").click();\r\n\t\t} else if (e.target.matches(\".js-tab-header\")) {\r\n\t\t\t//change tab\r\n\r\n\t\t\tvar tabs =\r\n\t\t\t\te.target.parentNode.parentNode.parentNode.querySelectorAll(\r\n\t\t\t\t\t\".js-tab\"\r\n\t\t\t\t);\r\n\t\t\tvar activeTab = \"\";\r\n\r\n\t\t\tvar th = document.querySelectorAll(\".js-tab-header\");\r\n\r\n\t\t\tth.forEach(function (tt) {\r\n\t\t\t\ttt.classList.remove(\"active\");\r\n\t\t\t});\r\n\r\n\t\t\ttabs.forEach(function (tab) {\r\n\t\t\t\tif (\r\n\t\t\t\t\ttab.getAttribute(\"data-tab\") ==\r\n\t\t\t\t\te.target.getAttribute(\"data-tab\")\r\n\t\t\t\t) {\r\n\t\t\t\t\tif (tab.classList.contains(\"active\")) {\r\n\t\t\t\t\t\tif (tab.classList.contains(\"js-closable\")) {\r\n\t\t\t\t\t\t\te.target.classList.remove(\"active\");\r\n\t\t\t\t\t\t\ttab.classList.remove(\"active\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\te.target.classList.add(\"active\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\ttab.classList.add(\"active\");\r\n\t\t\t\t\t\te.target.classList.add(\"active\");\r\n\t\t\t\t\t\tmoveSlideTrack(e.target);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttab.classList.remove(\"active\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t/*\r\n\t\t\tvar headers =\r\n\t\t\t\te.target.parentNode.parentNode.parentNode.querySelectorAll(\r\n\t\t\t\t\t\".js-tab-header\"\r\n\t\t\t\t);\r\n\t\t\theaders.forEach(function (tab) {\r\n\t\t\t\tif (\r\n\t\t\t\t\ttab.getAttribute(\"data-tab\") ==\r\n\t\t\t\t\te.target.getAttribute(\"data-tab\")\r\n\t\t\t\t) {\r\n\t\t\t\t\tif (tab.classList.contains(\"active\") && activeTab.classList.contains(\"js-closable\")) {\r\n\t\t\t\t\t\ttab.classList.remove(\"active\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\ttab.classList.add(\"active\");\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttab.classList.remove(\"active\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t*/\r\n\t\t} else if (e.target.matches(\".tab-name\")) {\r\n\t\t\t//change tab\r\n\t\t\te.target.classList.toggle(\"open\");\r\n\t\t\tvar tab = e.target.parentNode.querySelector(\".tab-content\");\r\n\r\n\t\t\tif (tab && tab.classList) {\r\n\t\t\t\tif (tab.classList.contains(\"open\")) {\r\n\t\t\t\t\tvSlideUp(tab);\r\n\t\t\t\t\ttab.classList.remove(\"open\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvSlideDown(tab);\r\n\t\t\t\t\ttab.classList.add(\"open\");\r\n\t\t\t\t}\r\n\t\t\t} \r\n\t\t}\r\n else if (e.target.matches(\".jump-header\")) {\r\n //change tab\r\n e.target.parentNode.classList.toggle(\"open\");\r\n\t\t}\r\n\t\telse if (e.target.matches(\".filter-buttons button\")) {\r\n\t\t\t//change tab\r\n\t\t\tif (!e.target.classList.contains(\"active\")) {\r\n\t\t\t\te.target.parentNode.querySelector(\".active\").classList.remove(\"active\");\r\n\r\n\t\t\t\te.target.classList.add(\"active\");\r\n\r\n\t\t\t\tvar filt = document.querySelector(\".js-product-filter\");\r\n\r\n\t\t\t\tif (e.target.getAttribute(\"data-section\") == \"filter\") {\r\n\t\t\t\t\t\r\n\t\t\t\t\tvSlideDown(filt);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvSlideUp(filt);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tfalse\r\n);\r\n\r\n/** Tabs **/\r\nvar ptabs = document.querySelectorAll(\".tabs\");\r\n\r\nptabs.forEach(function (tab) {\r\n\tvar tabs = tab.querySelectorAll(\".js-tab\");\r\n\t//Create Tab Nav\r\n\tvar tabHeader = document.createElement(\"div\");\r\n\ttabHeader.classList.add(\"tabs-nav\");\r\n\tvar cnt = document.createElement(\"div\");\r\n\tcnt.classList.add(\"content\");\r\n\t\r\n\ttabs.forEach(function (tab) {\r\n\t\tvar rand = Math.floor(Math.random() * 10000000000000);\r\n\t\tvar btn = document.createElement(\"button\");\r\n\t\tbtn.classList.add(\"js-tab-header\");\r\n\t\tbtn.setAttribute(\"data-tab\", rand);\r\n\t\ttab.setAttribute(\"data-tab\", rand);\r\n\t\tbtn.innerHTML = tab.querySelector(\".tab-name\").innerHTML;\r\n\t\ttab.querySelector(\".tab-name\").style.display = \"none\";\r\n\t\tcnt.appendChild(btn);\r\n\t});\r\n\r\n\tconst slideTrack = document.createElement('div');\r\n\tslideTrack.classList.add('js-slide-track');\r\n\tconst slide = document.createElement('div');\r\n\tslide.classList.add('js-slide');\r\n\tslideTrack.appendChild(slide);\r\n\tcnt.appendChild(slideTrack);\r\n\r\n\ttabHeader.appendChild(cnt);\r\n\r\n\tif (tabs.length > 0) {\r\n\t\ttabs[0].parentNode.insertBefore(tabHeader, tabs[0]);\r\n\t}\r\n\r\n\t//Set first as active\r\n\r\n\tvar tabBtns = tab.querySelectorAll(\".js-tab-header\");\r\n\tif (tabBtns.length > 0 && !tabs[0].classList.contains(\"js-closable\")) {\r\n\t\ttabBtns[0].classList.add(\"active\");\r\n\t\ttabs[0].classList.add(\"active\");\r\n\t\ttabs[0].style.opacity = 1;\r\n\t\tmoveSlideTrack(tabBtns[0]);\r\n\t}\r\n});\r\n\r\n//Move Nav Slide Track\r\nfunction moveSlideTrack(activeEl) {\r\n\tconst slideEl = activeEl.parentNode.querySelector('.js-slide-track > .js-slide');\r\n\r\n\tslideEl.style.left = activeEl.offsetLeft + \"px\";\r\n\tslideEl.style.width = activeEl.offsetWidth + \"px\";\r\n\r\n\t}\r\n\r\n\r\n\r\n//Site Videos\r\nvar vids = document.querySelectorAll(\".js-site-video\");\r\nvids.forEach(function (vid) {\r\n\tvar btn = vid.querySelector(\".js-video-play\");\r\n\tvar myVid = vid.querySelector(\"video\");\r\n\r\n\tif (btn && myVid) {\r\n\t\tmyVid.addEventListener(\"play\", function (ev) {\r\n\t\t\tbtn.style.display = \"none\";\r\n\t\t});\r\n\t\tmyVid.addEventListener(\"pause\", function (ev) {\r\n\t\t\tbtn.style.display = \"inline-block\";\r\n\t\t});\r\n\t\tbtn.addEventListener(\"click\", function (e) {\r\n\t\t\te.target.parentElement.querySelector(\"video\").play();\r\n\t\t\te.target.style.display = \"none\";\r\n\t\t\te.target.parentElement.querySelector(\"video\").controls = true;\r\n\t\t});\r\n\t}\r\n});\r\n\r\n\r\n\r\n//Allow setting of tab via location hash\r\n//if (window.location.hash) {\r\n//\tvar hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character\r\n\r\n//\ttabBtns.forEach(function (topic) {\r\n//\t\tif (\r\n//\t\t\ttopic.innerText.toLowerCase().replace(/[^a-zA-Z0-9]+/g, \"\") ==\r\n//\t\t\thash.toLowerCase().replace(/[^a-zA-Z0-9]+/g, \"\")\r\n//\t\t) {\r\n//\t\t\ttopic.click();\r\n//\t\t}\r\n//\t});\r\n//}\r\n\r\n/* Anchor Links Chrome Fix */\r\n(function (document, history, location) {\r\n\tvar HISTORY_SUPPORT = !!(history && history.pushState);\r\n\r\n\tvar anchorScrolls = {\r\n\t\tANCHOR_REGEX: /^#[^ ]+$/,\r\n\t\tOFFSET_HEIGHT_PX: 65,\r\n\r\n\t\t/**\r\n\t\t * Establish events, and fix initial scroll position if a hash is provided.\r\n\t\t */\r\n\t\tinit: function () {\r\n\t\t\tthis.scrollToCurrent();\r\n\t\t\twindow.addEventListener(\r\n\t\t\t\t\"hashchange\",\r\n\t\t\t\tthis.scrollToCurrent.bind(this)\r\n\t\t\t);\r\n\t\t\tdocument.body.addEventListener(\r\n\t\t\t\t\"click\",\r\n\t\t\t\tthis.delegateAnchors.bind(this)\r\n\t\t\t);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Return the offset amount to deduct from the normal scroll position.\r\n\t\t * Modify as appropriate to allow for dynamic calculations\r\n\t\t */\r\n\t\tgetFixedOffset: function () {\r\n\t\t\treturn this.OFFSET_HEIGHT_PX;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * If the provided href is an anchor which resolves to an element on the\r\n\t\t * page, scroll to it.\r\n\t\t * @param {String} href\r\n\t\t * @return {Boolean} - Was the href an anchor.\r\n\t\t */\r\n\t\tscrollIfAnchor: function (href, pushToHistory) {\r\n\t\t\tvar match, rect, anchorOffset;\r\n\r\n\t\t\tif (!this.ANCHOR_REGEX.test(href)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tmatch = document.getElementById(href.slice(1));\r\n\r\n\t\t\tif (match) {\r\n\t\t\t\trect = match.getBoundingClientRect();\r\n\t\t\t\tanchorOffset =\r\n\t\t\t\t\twindow.pageYOffset + rect.top - this.getFixedOffset();\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: anchorOffset,\r\n\t\t\t\t\tleft: window.pageXOffset,\r\n\t\t\t\t\tbehavior: \"smooth\",\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// Add the state to history as-per normal anchor links\r\n\t\t\t\tif (HISTORY_SUPPORT && pushToHistory) {\r\n\t\t\t\t\thistory.pushState(\r\n\t\t\t\t\t\t{},\r\n\t\t\t\t\t\tdocument.title,\r\n\t\t\t\t\t\tlocation.pathname + href\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn !!match;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Attempt to scroll to the current location's hash.\r\n\t\t */\r\n\t\tscrollToCurrent: function () {\r\n\t\t\tthis.scrollIfAnchor(window.location.hash);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * If the click event's target was an anchor, fix the scroll position.\r\n\t\t */\r\n\t\tdelegateAnchors: function (e) {\r\n\t\t\tvar elem = e.target;\r\n\r\n\t\t\tif (\r\n\t\t\t\telem.nodeName === \"A\" &&\r\n\t\t\t\tthis.scrollIfAnchor(elem.getAttribute(\"href\"), true)\r\n\t\t\t) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n\r\n\twindow.addEventListener(\r\n\t\t\"DOMContentLoaded\",\r\n\t\tanchorScrolls.init.bind(anchorScrolls)\r\n\t);\r\n})(window.document, window.history, window.location);\r\n\r\n//Compare Chart Highlight\r\nvar cmp = document.querySelectorAll(\".compare-table\");\r\n\r\nif (cmp.length > 0) {\r\n\tvar pageTitle = document.querySelector(\"h1\");\r\n\tif (pageTitle != null) {\r\n\t\tcmp.forEach(function (table) {\r\n\t\t\tvar ths = table.querySelectorAll(\"th\");\r\n\t\t\tths.forEach(function (th) {\r\n\t\t\t\tif (th.innerText == pageTitle.innerText) {\r\n\t\t\t\t\tvar cellIndex = th.cellIndex;\r\n\r\n\t\t\t\t\tvar tds = table.querySelectorAll(\"th,td\");\r\n\t\t\t\t\ttds.forEach(function (td) {\r\n\t\t\t\t\t\tif (td.cellIndex == cellIndex) {\r\n\t\t\t\t\t\t\ttd.classList.add(\"active\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * ADA - Remove id=pasted\r\n */\r\nvar ids = document.querySelectorAll(\"#isPasted\");\r\nids.forEach(function (item) {\r\n\titem.removeAttribute(\"id\");\r\n});\r\n\r\n/** Comparison Charts\r\n * Add controls on mobile **/\r\nfunction eq(index) {\r\n\tif (index >= 0 && index < this.length) return this[index];\r\n\telse return -1;\r\n}\r\n\r\n/******* COUNTER ON SCROLL **********/\r\n// How long you want the animation to take, in ms\r\nconst animationDuration = 2000;\r\n// Calculate how long each �frame� should last if we want to update the animation 60 times per second\r\nconst frameDuration = 1000 / 60;\r\n// Use that to calculate how many frames we need to complete the animation\r\nconst totalFrames = Math.round(animationDuration / frameDuration);\r\n// An ease-out function that slows the count as it progresses\r\nconst easeOutQuad = (t) => t * (2 - t);\r\n\r\n// The animation function, which takes an Element\r\nconst animateCountUp = (el) => {\r\n\tlet frame = 0;\r\n\tlet money = \"\";\r\n\tif (el.innerHTML.indexOf(\"$\") != -1) {\r\n\t\tmoney = \"$\";\r\n\t}\r\n\t//console.log(\"Count to: \" + el.innerHTML.replace(/\\D/g, \"\"));\r\n\tconst countTo = parseInt(el.innerHTML.replace(/\\D/g, \"\"), 10);\r\n\t// Start the animation running 60 times per second\r\n\tconst counter = setInterval(() => {\r\n\t\tframe++;\r\n\t\t// Calculate our progress as a value between 0 and 1\r\n\t\t// Pass that value to our easing function to get our\r\n\t\t// progress on a curve\r\n\t\tconst progress = easeOutQuad(frame / totalFrames);\r\n\t\t// Use the progress value to calculate the current count\r\n\t\tconst currentCount = Math.round(countTo * progress);\r\n\r\n\t\t// If the current count has changed, update the element\r\n\t\tif (parseInt(el.innerHTML.replace(\",\", \"\"), 10) !== currentCount) {\r\n\t\t\tel.innerHTML =\r\n\t\t\t\tmoney +\r\n\t\t\t\tcurrentCount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n\t\t}\r\n\r\n\t\t// If we�ve reached our last frame, stop the animation\r\n\t\tif (frame === totalFrames) {\r\n\t\t\tclearInterval(counter);\r\n\t\t}\r\n\t}, frameDuration);\r\n};\r\n\r\n\r\nvar charts = document.querySelectorAll(\".compare-block\");\r\n\r\ncharts.forEach(function (chart) {\r\n\tvar tab = chart.querySelector(\"table\");\r\n\r\n\tvar holder = chart.querySelector(\".compare-table\");\r\n\tvar ths = tab.querySelector(\"tr\").querySelectorAll(\"th\");\r\n\tif (ths.length > 1) {\r\n\t\tholder.setAttribute(\"data-col\", \"1\");\r\n\t\tvar controls = document.createElement(\"div\");\r\n\t\tcontrols.classList.add(\"table-controls\");\r\n\t\tcontrols.innerHTML =\r\n\t\t\t\"\" +\r\n\t\t\teq.call(ths, 1).innerHTML +\r\n\t\t\t\"\";\r\n\r\n\t\tholder.insertBefore(controls, holder.firstChild);\r\n\t}\r\n});\r\n\r\n/** JUMP NAVS ***/\r\nvar jumpObserver = new IntersectionObserver(\r\n\tfunction (entries) {\r\n\t\tentries.forEach(function (entry) {\r\n\t\t\tif (entry.target.matches(\"[data-jumplink]\")) {\r\n\t\t\t\tif (entry.isIntersecting) {\r\n\t\t\t\t\tvar jumps = document.querySelectorAll(\r\n\t\t\t\t\t\t\".js-links .jump-lnk\"\r\n\t\t\t\t\t);\r\n\t\t\t\t\tjumps.forEach(function (jp) {\r\n\t\t\t\t\t\tif (jp.innerText.trim() == entry.target.getAttribute(\"data-jumplink\").replace(/_/g, \" \").trim()) {\r\n\t\t\t\t\t\t\tjp.classList.add(\"active\");\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tjp.classList.remove(\"active\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\t{ rootMargin: \"-50px 0px 0px 0px\", threshold: [.00001] }\r\n);\r\n// The element to observe\r\nlet jumps = document.querySelectorAll(\"[data-jumplink]\");\r\n// Attach it to the observer\r\njumps.forEach(function (item) {\r\n\tjumpObserver.observe(item);\r\n});\r\n\r\n\r\n//Horizontal filter scrolling\r\nif (document.querySelector(\".js-horizontalScroll\") != null) {\r\n\tfor (el of document.querySelectorAll(\".js-horizontalScroll\")) {\r\n\t\tif (!el.getAttribute(\"style\")) {\r\n\t\t\tel.setAttribute(\r\n\t\t\t\t\"style\",\r\n\t\t\t\t\"--beforeElementOpacity: 0; --afterElementOpacity: 1\"\r\n\t\t\t);\r\n\t\t}\r\n\t\tel.addEventListener(\"scroll\", (e) => {\r\n\t\t\tif (e.target.scrollLeft == 0) {\r\n\t\t\t\te.target.setAttribute(\r\n\t\t\t\t\t\"style\",\r\n\t\t\t\t\t\"--beforeElementOpacity: 0; --afterElementOpacity: 1\"\r\n\t\t\t\t);\r\n\t\t\t\t//document.documentElement.style.setProperty('--beforeElementOpacity', '1');\r\n\t\t\t} else if (\r\n\t\t\t\te.target.scrollLeft + e.target.offsetWidth ==\r\n\t\t\t\te.target.scrollWidth\r\n\t\t\t) {\r\n\t\t\t\te.target.setAttribute(\r\n\t\t\t\t\t\"style\",\r\n\t\t\t\t\t\"--afterElementOpacity: 0; --beforeElementOpacity: 1;\"\r\n\t\t\t\t);\r\n\t\t\t\t//document.documentElement.style.setProperty('--afterElementOpacity', '0');\r\n\t\t\t} else {\r\n\t\t\t\te.target.setAttribute(\r\n\t\t\t\t\t\"style\",\r\n\t\t\t\t\t\"--afterElementOpacity: 1; --beforeElementOpacity: 1;\"\r\n\t\t\t\t);\r\n\t\t\t\t//document.documentElement.style.setProperty('--afterElementOpacity', '1');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n//Scrolling Nav logic\r\n\r\n//var lastScrollTop = 100;\r\n\r\n//window.addEventListener(\r\n//\t\"scroll\",\r\n//\tfunction () {\r\n//\t\t// or window.addEventListener(\"scroll\"....\r\n//\t\tif (!document.querySelector(\"hydrated\")) {\r\n//\t\t\tvar st = window.pageYOffset || document.documentElement.scrollTop; //\r\n//\t\t\tconst headerDiv = document.querySelector(\".headers\");\r\n//\t\t\tif (st > lastScrollTop) {\r\n//\t\t\t\theaderDiv.classList.add(\"scrolling\");\r\n//\t\t\t\theaderDiv.classList.remove(\"isSticky\");\r\n//\t\t\t} else if (st < lastScrollTop) {\r\n//\t\t\t\theaderDiv.classList.add(\"isSticky\");\r\n//\t\t\t} // else was horizontal scroll\r\n//\t\t\tlastScrollTop = st <= 0 ? 0 : st; // For Mobile or negative scrolling\r\n//\t\t}\r\n//\t},\r\n//\tfalse\r\n//);\r\n\r\n\r\nvar linkHolder = document.querySelector(\".js-jump-links\");\r\n\r\nif(linkHolder) {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n var jumpLinks = document.querySelectorAll(\".js-product\");\r\n\t\tvar linkHolder = document.querySelector(\".js-jump-links\");\r\n\t\tvar first = true;\r\n\r\n jumpLinks.forEach(function (lnk) {\r\n\t\t\t\tvar btn = document.createElement(\"button\");\r\n\t\t\t\tbtn.innerText = lnk.querySelector(\"h2\").innerText;\r\n \r\n\t\t\t\tbtn.classList.add(\"jump-lnk\");\r\n\t\t\t\tif (first) {\r\n\t\t\t\t\tbtn.classList.add(\"active\");\r\n\t\t\t\t\tfirst = false;\r\n\t\t\t\t}\r\n linkHolder.append(btn);\r\n });\r\n\r\n }, false);\r\n}\r\n\r\n//Compare Table CTA logic\r\n\r\nfunction mobileButtonDisplay(activeColumn) {\r\n\tconst compareTable = document.querySelector(\".compare-table\");\r\n\r\n\tif (compareTable) {\r\n\t\tconst buttonToMove = compareTable.querySelector(\r\n\t\t\t`.table > table > tbody > tr:last-of-type td:nth-child(${\r\n\t\t\t\tNumber(activeColumn) + 1\r\n\t\t\t})`\r\n\t\t);\r\n\t\tif (buttonToMove) {\r\n\t\t\tconst MBD = compareTable.querySelector(\".mobileButtonDisplay\");\r\n\t\t\tMBD.innerHTML = buttonToMove.innerHTML;\r\n\t\t}\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tmobileButtonDisplay(1);\r\n});\r\n\r\n\r\n//Comparison Table Pagination Dots Extravaganza\r\n// --Now in Smell-o-vision!\r\n\r\nconst updateDots = (base) => {\r\n\tconst dots = base.parentNode.querySelectorAll('.pagination-dots .dot');\r\n\tdots.forEach((dot) => {\r\n\t\tif (dot.dataset.col == base.dataset.col) {\r\n\t\t\tdot.classList.add('active')\r\n\t\t} else {\r\n\t\t\tdot.classList.remove('active')\r\n\t\t}\r\n\t})\r\n}\r\n\r\nif (charts) {\r\n\tcharts.forEach((chart) => {\r\n\t\tconst paginationDots = chart.querySelector('.pagination-dots');\r\n\t\tif (paginationDots) {\r\n\t\t\tconst numCols = (chart.querySelector('tr').childNodes.length - 1)\r\n\r\n\t\t\tif (numCols > 1) {\r\n\t\t\t\tfor (let index = 0; index < numCols; index++) {\r\n\t\t\t\t\tconst dot = document.createElement('button');\r\n\t\t\t\t\tdot.classList.add('dot');\r\n\t\t\t\t\tdot.dataset.col = (index + 1)\r\n\t\t\t\t\t\r\n\t\t\t\t\tpaginationDots.append(dot);\r\n\t\t\t\t}\t\r\n\t\t\t}\r\n\t\t\tupdateDots(paginationDots.parentNode.querySelector('.compare-table'));\r\n\t\t}\r\n\t})\r\n\t\r\n}\r\n\r\n////add links to main pages on mobile\r\n\r\n//document.addEventListener('DOMContentLoaded', () => {\r\n//\tconst navHeaders = document.querySelectorAll('.mobile-nav .nav-header');\r\n\r\n//\tnavHeaders.forEach((menu) => {\r\n//\t\tconst newEl = document.createElement('li');\r\n//\t\tconst text = menu.innerText.toLowerCase();\r\n//\t\tif (text == \"explore sbsi\") {\r\n//\t\t\tnewEl.innerHTML = `Explore SBSI`;\r\n//\t\t} else {\r\n//\t\t\tnewEl.innerHTML = `Explore ${text}`;\r\n//\t\t}\r\n\t\t\r\n//\t\tmenu.parentNode.querySelector('.main-links').prepend(newEl);\r\n\r\n//\t})\r\n//})\r\n\r\n////Sticky Jump Nav Observer\r\n//const sidebarNav = document.querySelector(\".sidebar\");\r\n\r\n//if (sidebarNav) {\r\n//\tdocument.addEventListener(\"scroll\", (e) => {\r\n//\t\tsidebarNav.classList.toggle(\"is-sticky\", sidebarNav.offsetTop <= window.scrollY);\r\n//\t});\r\n//}\r\n\r\n/*** STICKY JUMP NAV ***/\r\nlet sideBarObserver = new IntersectionObserver(function (entries) {\r\n\tentries.forEach(function (entry) {\r\n\t\tif (entry.target.matches(\".sidebar\")) {\r\n\t\t\tconst rect = entry.target.getBoundingClientRect();\r\n\t\t\tif (!entry.isIntersecting) {\r\n\t\t\t\tif (rect.y < 200) {\r\n\t\t\t\t\tentry.target.classList.add(\"is-sticky\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tentry.target.classList.remove(\"is-sticky\");\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}, { threshold: 1 });\r\nlet sideNavs = document.querySelectorAll(\".sidebar\");\r\nsideNavs.forEach(function (item) {\r\n\tsideBarObserver.observe(item);\r\n});\r\n\r\n\r\n\r\n\r\n\r\n/**** COMPARE CHARTS *****/\r\nconst compareCharts = document.querySelectorAll('.compare-chart');\r\n\r\nfunction alignRows(chart) {\r\n\r\n\tconst headers = chart.querySelectorAll('.headers li');\r\n\tconst columns = chart.querySelectorAll('.column');\r\n\r\n\tconst numRows = columns[0].childElementCount;\r\n\r\n\tlet rowHeight = \"\";\r\n\r\n\tif ((chart.querySelector(\".chart-container\").offsetWidth - 64) < 250) {\r\n\t\tslides = chart.querySelectorAll(\".splide__slide\");\r\n\t\tslides.forEach((el) => {\r\n\t\t\tel.style = `flex: 0 0 ${chart.querySelector(\".chart-container\").offsetWidth - 15}px`;\r\n\t\t});\r\n\t} else {\r\n\t\tslides = chart.querySelectorAll(\".splide__slide\");\r\n\t\tslides.forEach((el) => {\r\n\t\t\tel.style = `flex: 0 0 250px`;\r\n\t\t});\r\n\t}\r\n\r\n\t//go through each row\r\n\tfor (let x = 0; x < numRows; x++) {\r\n\t\t//set rowheight to header row height\r\n\t\tlet rowHeight = headers[x].offsetHeight;\r\n\r\n\t\t//go through each column on that row and check against the rowheight\r\n\t\tfor (let c = 0; c < columns.length; c++) {\r\n\t\t\tconst currentRow = columns[c].querySelectorAll('li')[x];\r\n\t\t\tconst currentRowHeight = currentRow.offsetHeight;\r\n\t\t\t//console.log(currentRowHeight + \" - \" + rowHeight);\r\n\t\t\trowHeight = (currentRowHeight > rowHeight) ? currentRowHeight : rowHeight;\r\n\t\t}\r\n\r\n\t\t//set the header of that row and each row of each column to that height\r\n\t\theaders[x].style.height = rowHeight + \"px\";\r\n\t\tfor (let c = 0; c < columns.length; c++) {\r\n\t\t\tconst currentRow = columns[c].querySelectorAll(\"li\")[x];\r\n\t\t\tcurrentRow.style.height = rowHeight + \"px\";\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nlet mutObserver = new MutationObserver(setCompareSize);\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n\tcompareCharts.forEach((chart) => {\r\n\r\n\t\tvar splide = new Splide(chart.querySelector(\".container\"), {\r\n\t\t\tmediaQuery: \"min\",\r\n\t\t\t//perPage: 1,\r\n\t\t\t// perMove: 1,\r\n\t\t\tfocus: 0,\r\n\t\t\tpagination: true,\r\n\t\t\tarrows: true,\r\n\t\t\tautoWidth: false,\r\n\t\t\ttrimSpace: true,\r\n\t\t\tgap: \"0\",\r\n\t\t\tpadding: '.5em',\r\n\t\t\t// type: \"\",\r\n\t\t\tdraggable: true,\r\n\t\t\tomitEnd: true,\r\n\t\t\tbreakpoints: {\r\n\t\t\t\t900: {\r\n\t\t\t\t\tperPage: 1,\r\n\t\t\t\t\tperMove: 1,\r\n\t\t\t\t\tpadding: '2em',\r\n\t\t\t\t\tdraggable: false,\r\n\t\t\t\t\t//autoWidth: true,\r\n\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tvar Components = splide.Components;\r\n\r\n\t\tsplide.on(\"resized\", function () {\r\n\t\t\tvar isOverflow = Components.Layout.isOverflow();\r\n\t\t\tvar list = Components.Elements.list;\r\n\t\t\tvar lastSlide = Components.Slides.getAt(splide.length - 1);\r\n\r\n\t\t\tif (lastSlide) {\r\n\t\t\t\t// Toggles `justify-content: center`\r\n\t\t\t\tlist.style.justifyContent = isOverflow ? \"\" : \"center\";\r\n\r\n\t\t\t\t// Remove the last margin\r\n\t\t\t\tif (!isOverflow) {\r\n\t\t\t\t\tlastSlide.slide.style.marginRight = \"\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tsplide.mount();\r\n\r\n\r\n\t\twindow.addEventListener(\"resize\", () => {\r\n\r\n\t\t\talignRows(chart);\r\n\t\t});\r\n\t\talignRows(chart);\r\n\r\n\t\tmutObserver.observe(chart, {\r\n\t\t\tattributes: true,\r\n\t\t\tchildList: true,\r\n\t\t\tattributeFilter: ['style', 'class']\r\n\t\t});\r\n\t})\r\n});\r\n\r\nfunction setCompareSize(mutations) {\r\n\t// do something here\r\n\tif (mutations[0].target.style.display != \"none\") {\r\n\t\talignRows(mutations[0].target);\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n//const iconSections = document.querySelectorAll('.icon-section');\r\n\r\n//iconSections.foreach(el => {\r\n//\tadjustGrid(el);\r\n//})\r\n//function adjustGrid(cardSection) {\r\n//\tlet cards = cardSection.querySelector('.icons').children;\r\n//\tif (window.innerWidth < 900) {\r\n//\t\tcards[0].parentNode.style.gridTemplateColumns = \"1fr\";\r\n//\t} else {\r\n//\t\tlet maxWidth = '200px';\r\n//\t\tif (cards[0].classList.contains('max-wrap-small')) {\r\n//\t\t\tmaxWidth = \"315px\";\r\n//\t\t} else if (cards[0].classList.contains('max-wrap-medium')) {\r\n//\t\t\tmaxWidth = \"400px\";\r\n//\t\t} else if (cards[0].classList.contains('max-wrap-large')) {\r\n//\t\t\tmaxWidth = \"525px\";\r\n//\t\t}\r\n//\t\tif (cards.length == 4) {\r\n//\t\t\tif (((cards[0].offsetWidth + 55) * cards.length) > window.innerWidth) {\r\n//\t\t\t\tcards[0].parentNode.style.gridTemplateColumns = `minmax(240px, ${maxWidth}) minmax(320px, min(28vw,${maxWidth}))`\r\n//\t\t\t} else {\r\n//\t\t\t\tcards[0].parentNode.style.gridTemplateColumns = `repeat(auto-fit, minmax(320px, min(28vw,${maxWidth})))`\r\n//\t\t\t}\r\n//\t\t} else {\r\n//\t\t\tcards[0].parentNode.style.gridTemplateColumns = `repeat(auto-fit, minmax(320px, min(28vw,${maxWidth})))`\r\n//\t\t}\r\n//\t}\r\n//}\r\n\r\n\t\t///////////////////////////////////////////////////////////////\r\n\t\t//\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t //\r\n\t\t//\t\t\tMortgage lenders direct link logic\t\t\t\t //\r\n\t\t//\t\t\t\t\t\t\t\tby troy.\t\t\t\t\t //\r\n\t\t///////////////////////////////////////////////////////////////\r\n\r\n//const isDirectoryIndex = document.querySelector('.directory-index');\r\n\r\n//if (isDirectoryIndex) {\r\n//\tdocument.addEventListener('DOMContentLoaded', () => {\r\n//\t\tconst queryString = window.location.search;\r\n//\t\tconst urlParams = new URLSearchParams(queryString);\r\n//\t\tconst category = urlParams.get('category')\r\n\r\n//\t\tif (category) {\r\n//\t\t\tconst filter = document.querySelector('.js-expertise');\r\n//\t\t\tfilter.value = category;\r\n\r\n//\t\t\tconst event = new Event('change');\r\n\r\n//\t\t\t// Dispatch it.\r\n//\t\t\tfilter.dispatchEvent(event);\r\n\r\n//\t\t}\r\n//\t})\r\n//}"]}